Skip to content

Instantly share code, notes, and snippets.

View rajmayank's full-sized avatar
🚀

Mayank Raj rajmayank

🚀
View GitHub Profile
@rajmayank
rajmayank / main.py
Last active February 24, 2022 07:15
Monitor the progress of SQS Queues
import boto3
import glob
import json
import os
import time
from datetime import datetime
from tqdm.notebook import tqdm
@rajmayank
rajmayank / setup.sh
Last active January 15, 2022 12:49
Bash Setup for Kubernetes and Kubectl
#
# Setup in your bash with
# bash <(curl -sL https://gist.githubusercontent.com/rajmayank/eac2d8e58ceb66b4ef5d319dc1207875/raw/447da14b2d914f46caf23df82ce3e39ebb494b70/setup.sh)
# ==== ==== ==== ==== ====
# Setup for Vim
echo "set tabstop=2 softtabstop=2 shiftwidth=2
set expandtab
set number ruler
@rajmayank
rajmayank / Python-Iterators-FibonacciTill20-IV.py
Created June 11, 2021 12:57
Python-Iterators-FibonacciTill20-IV
def FibonacciTill20():
n1, n2 = 0, 1
max_num = 20
while True:
n1, n2 = n2, (n1 + n2)
if n2 <= max_num:
yield n2
else:
raise StopIteration
@rajmayank
rajmayank / Python-Iterators-FibonacciTill20-III.py
Created June 11, 2021 12:56
Python-Iterators-FibonacciTill20-III
for fibNumber in FibonacciTill20():
print(fibNumber)
# 1
# 2
# 3
# 5
# 8
# 13
@rajmayank
rajmayank / Python-Iterators-FibonacciTill20-II.py
Created June 11, 2021 12:56
Python-Iterators-FibonacciTill20-II
fib = FibonacciTill20()
print(next(fib)) # 1
print(next(fib)) # 2
print(next(fib)) # 3
print(next(fib)) # 5
print(next(fib)) # 8
print(next(fib)) # 13
print(next(fib)) # Exception: StopIteration
@rajmayank
rajmayank / Python-Iterators-FibonacciTill20-I.py
Created June 11, 2021 12:55
Python-Iterators-FibonacciTill20-I
class FibonacciTill20:
def __init__(self):
self.n1, self.n2 = 0, 1
self.max = 20
def __iter__(self):
return self
def __next__(self):
@rajmayank
rajmayank / Python-Iterators-Example.py
Last active June 11, 2021 12:54
Python-Iterators-Example
my_list = ["item #1", "item #2", "item #3", "item #4"]
my_list_iter = iter(my_list)
print(type(my_list)) # <class 'list'>
print(my_list) # ['item #1', 'item #2', 'item #3', 'item #4']
print(type(my_list_iter)) # <class 'list_iterator'>
print(my_list_iter) # <list_iterator object at 0x10aa87d60>
print(next(my_list_iter)) # item #1
@rajmayank
rajmayank / Python-Generators-Anitopatterns-II.py
Last active June 10, 2021 01:58
Python-Generators-Anitopatterns-II
Counter: 1; GoalMultiplier: 5; Expected: 5; Actual: 5
Counter: 2; GoalMultiplier: 5; Expected: 10; Actual: 10
Counter: 3; GoalMultiplier: 5; Expected: 15; Actual: 15
Counter: 4; GoalMultiplier: 5; Expected: 20; Actual: 20
Counter: 5; GoalMultiplier: 5; Expected: 25; Actual: 25
Counter: 6; GoalMultiplier: 10; Expected: 30; Actual: 60
Counter: 7; GoalMultiplier: 10; Expected: 35; Actual: 70
Counter: 8; GoalMultiplier: 10; Expected: 40; Actual: 80
Counter: 9; GoalMultiplier: 10; Expected: 45; Actual: 90
@rajmayank
rajmayank / Python-Generators-Anitopatterns.py
Created June 10, 2021 01:57
Python-Generators-Anitopatterns
theGlobalMultiplier = 5
def myMultiplyingGenerator(numbers):
for number in numbers:
yield number * theGlobalMultiplier
for multipliedNumber in myMultiplyingGenerator(range(1,10)):
if multipliedNumber > 25:
theGlobalMultiplier = 10
print(multipliedNumber)
@rajmayank
rajmayank / Python-Generators-Usage-Patterns-II.py
Created June 10, 2021 01:56
Python-Generators-Usage-Patterns-II
import time
def myExpensiveOperations(items):
for item in items:
time.sleep(2) # The expensive operation
yield item ** 2
for item in myExpensiveOperations(range(1,10)):
if item > 20: break # We apply the breaks early
print(item) # 1, 4, 9, 16