Skip to content

Instantly share code, notes, and snippets.

View iKunalChhabra's full-sized avatar
🚀
Working on something great !

Kunal Chhabra iKunalChhabra

🚀
Working on something great !
View GitHub Profile
@iKunalChhabra
iKunalChhabra / kotlin_coroutines.kt
Created June 4, 2024 12:15
kotlin_coroutines.kt
package com.kunalchhabra
import kotlinx.coroutines.*
fun main() = runBlocking {
val startTime = System.currentTimeMillis()
// Launch a new coroutine in background and continue
val result1 = async { fetchDataFromSource1() }
val result2 = async { fetchDataFromSource2() }
@iKunalChhabra
iKunalChhabra / GraphQLClient.java
Created October 11, 2023 09:10
GraphQL Client in java
package org.example;
// <dependency>
// <groupId>org.apache.httpcomponents</groupId>
// <artifactId>httpclient</artifactId>
// <version>4.5.14</version>
// </dependency>
// <dependency>
// <groupId>org.json</groupId>
// <artifactId>json</artifactId>
@iKunalChhabra
iKunalChhabra / AES.java
Last active September 25, 2023 17:15
Do AES encryption in java
package org.example;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.spec.KeySpec;
import java.util.Base64;
@iKunalChhabra
iKunalChhabra / java_http_get.java
Created June 9, 2023 14:51
Get request in Java using Apache HTTP Client
package org.example;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
@iKunalChhabra
iKunalChhabra / react-markdown.js
Last active June 5, 2023 06:34
Markdown with React
import ReactMarkdown from "react-markdown";
import { PrismLight as SyntaxHighlighter } from "react-syntax-highlighter";
import { oneDark } from "react-syntax-highlighter/dist/cjs/styles/prism";
import Styled from "styled-components";
const Code = Styled.code`
color: red;
font-size: 0.8rem;
padding: 0.2rem 0.4rem;
background-color: #EDEDEB;
@iKunalChhabra
iKunalChhabra / password_generator.py
Created March 22, 2023 10:02
Generate a random password
import string
import secrets
class PasswordGenerator:
"""
Generate a random password with the following parameters:
:param length: Length of the password
:param min_digits: Minimum number of digits in the password
:param min_uppercase: Minimum number of uppercase letters in the password
@iKunalChhabra
iKunalChhabra / df_to_html_table.py
Created March 17, 2023 15:12
Create excel like table html from pandas dataframe to send in email reports
def df_to_html_table(df):
css = """
<style>
table {
border-collapse: collapse;
width: 50%;
margin: 20px auto;
font-family: Arial, sans-serif;
}
th {
@iKunalChhabra
iKunalChhabra / cron.js
Last active March 13, 2023 16:48
parse cron expression in javascript
const cronstrue = require("cronstrue"); // https://www.npmjs.com/package/cronstrue
const cronparser = require("cron-parser"); // https://www.npmjs.com/package/cron-parser
const timeDiff = require("js-time-diff"); // https://www.npmjs.com/package/js-time-diff
let cronExpression = "5 * * * SUN";
let currentDate = new Date();
try {
let nextDate = cronparser.parseExpression(cronExpression).next().toDate();
let cronMeaning = cronstrue.toString(cronExpression);
@iKunalChhabra
iKunalChhabra / convert_bytes.py
Created February 19, 2023 12:59
Convert bytes to human readable unit and format
def convert_bytes(num):
for x in ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']:
if num < 1024.0:
return f"{num:.2f} {x}"
num /= 1024.0
print(convert_bytes(1000_000_000_000))
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
class Hash {
public static void main(String[] args) throws NoSuchAlgorithmException {
String message = "Hello World";
Hash hash = new Hash();
System.out.println("MD5: " + hash.getMD5(message));
System.out.println("SHA-1: " + hash.getSHA1(message));