Skip to content

Instantly share code, notes, and snippets.

View ivanleoncz's full-sized avatar
🔬
Bjarne Stroustrup is someone to admire.

ivanleoncz ivanleoncz

🔬
Bjarne Stroustrup is someone to admire.
View GitHub Profile
@ivanleoncz
ivanleoncz / 1_generate_keypair.sh
Last active January 13, 2022 02:10
PubkeyAuthentication on SSH
# LOCAL MACHINE
ssh-keygen -t rsa -b 4096 -f /home/ivanleoncz/.ssh/mykey
# Generating public/private rsa key pair.
# Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
# Your identification has been saved in /home/ivanleoncz/.ssh/mykey
# Your public key has been saved in /home/ivanleoncz/.ssh/mykey.pub
# The key fingerprint is:
# SHA256:1ATgW9Ly+FZU+gkX44mHKSYFp+/JAwHQHDpPkKoQRzg ivanleoncz@ilex-an5
# The key's randomart image is:
@ivanleoncz
ivanleoncz / file.txt
Created December 2, 2021 16:08
Audit PyPi Packages with pip-audit
# Release Dec 1st, the stable release: https://pypi.org/project/pip-audit/
# Announced by Dustin Ingram: https://twitter.com/di_codes/status/1466109133711724551
# Output of executing pip-audit
$ pip-audit
WARNING:pip_audit._service.pypi:Warning: pip 20.0.2 doesn't support the `cache dir` subcommand, unable to reuse the `pip` HTTP cache and using "/home/ivanleoncz/.pip-audit-cache" instead
\ Auditing webencodings (0.5.1)
Found 26 known vulnerabilities in 4 packages
Name Version ID Fix Versions
@ivanleoncz
ivanleoncz / postgres_1_date_time_timestamp_cast_and_calculations.sql
Last active November 30, 2021 03:58
Demonstration of calculation and casting of DATE, TIME and TIMESTAMP on Postgresql.
CREATE TABLE ordered_products (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50),
price INTEGER,
weight NUMERIC);
# Let's add some columns with TIMESTAMP data.
ALTER TABLE ordered_products ADD COLUMN created TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE ordered_products ADD COLUMN updated TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP;
@ivanleoncz
ivanleoncz / database.sql
Created July 5, 2021 02:11
Simple database schema for SQL studies on https://pg-sql.com/ (Udemy Course)
-- Database Schema for simple studies of SQL, from Udemy's couse:
-- "SQL and Postgresql: The Developers Complete Developer's Guide"
-- This schema is used on the following website: https://pg-sql.com/
CREATE TABLE users(
id SERIAL PRIMARY KEY,
username VARCHAR(50)
);
CREATE TABLE photos (
@ivanleoncz
ivanleoncz / iterable_custom_loop_limit.py
Last active June 14, 2021 02:28
Custom iterator object examples.
class MyIterator:
def __init__(self, limit):
self.limit = limit
def __iter__(self):
self.a = 1
return self
def __next__(self):
@ivanleoncz
ivanleoncz / jsonschema_flask.py
Last active December 5, 2020 08:00
Demonstrating JSON Schema validation, using multiple examples.
from flask import Flask, jsonify, request
from jsonschema import Draft7Validator
app = Flask(__name__)
app.config["JSONIFY_PRETTYPRINT_REGULAR"] = True
schema = {
"type": "object",
"properties": {
"hospital": {"type": "string"},
@ivanleoncz
ivanleoncz / .env
Last active January 19, 2023 05:58
Postgresql connector, using psycpg2 and environment variables (.env) loaded via python-dotenv.
# Example data, used for Docke Container environment.
DATABASE_USERNAME='postgres'
DATABASE_PASSWORD='postgres'
DATABASE_IP='172.17.0.2'
DATABASE_PORT='5432'
DATABASE_NAME='postgres'
@ivanleoncz
ivanleoncz / .env
Created September 1, 2020 01:54
Mockup Python-baased Google Cloud Function
# On local environemnt: loaded via python-dotenv.
# On Cloug FUnction: defined on Environment Variables section and automatically loaded for the Cloud Function.
DEFAULT_MESSAGE="You haven't provided a message."
import faulthandler
faulthandler.enable()
# Your code starts here
@ivanleoncz
ivanleoncz / threads_writing_same_file.py
Last active July 31, 2020 03:12 — forked from rahulrajaram/.md
Writting to a same file via multiple Threads, using primitive lock.
import threading
import time
global_lock = threading.Lock()
def write_to_file():
while global_lock.locked():
# Give 100ms in order to execute a next loop, if locked.
time.sleep(0.1)
continue