Skip to content

Instantly share code, notes, and snippets.

View ckkz-it's full-sized avatar
Shine

Andrei Laguta ckkz-it

Shine
View GitHub Profile
@ckkz-it
ckkz-it / .env
Last active December 3, 2021 08:14
Python YAML (PyYAML) with environment file support (python-dotenv)
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=p@ssw0rd
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
JWT_SECRET=very secret
JWT_ACCESS_EXP=1800
JWT_REFRESH_EXP=864000
JWT_ALGORITHM=HS256
@ckkz-it
ckkz-it / fields.py
Created April 14, 2020 11:52
EnumField for marshmallow's Schema
from enum import Enum
from marshmallow import fields
class EnumField(fields.Str):
enum: Enum = None
default_error_messages = {
'invalid_string': 'Not a valid string.',
'invalid_enum': 'Not a valid value, has to be one of ({values}).',
@ckkz-it
ckkz-it / usage.ts
Created April 9, 2020 16:53
Get optimized color based on background color (Typescript)
import { getTextColorBasedOnBg } from './utils'
getTextColorBasedOnBg('#00334d'); // -> 'white'
getTextColorBasedOnBg('#fdaaaf'); // -> 'black'
getTextColorBasedOnBg('#fdffaf'); // -> 'black'
@ckkz-it
ckkz-it / main.py
Last active April 9, 2020 10:26
Aiohttp JWTMiddleware (aiohttp_jwt) with CORS support (for preflight OPTIONS requests)
from aiohttp import web
from app.middlewares import jwt_middleware_with_cors
app = web.Application(
middlewares=[
jwt_middleware_with_cors(
secret_or_pub_key='very secret',
algorithms=['HS256'],
request_property='user',
@ckkz-it
ckkz-it / apis\some-api.ts
Last active February 17, 2023 11:13
useFetch React Hook for MobX (v6+ or mobx-react-lite) with "real" project structure and some usage examples
import axios from 'axios';
export class SomeApi {
async getAll(): Promise<any[]> {
const { data } = await axios.get('/items'); // `fetch` could be used here
return data;
}
async update(id: number, itemData: any) {
const { data } = await axios.put(`/items/${id}`, itemData);
@ckkz-it
ckkz-it / db.py
Last active September 11, 2022 16:57
SQL Alchemy Core multiple joins
import datetime
import enum
from uuid import uuid4
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import UUID
user_draw_source_relationship = sa.Table(
'users_draw_sources', meta,
sa.Column('user_id', UUID(as_uuid=True), sa.ForeignKey('users.id'), primary_key=True),
@ckkz-it
ckkz-it / serializers.py
Last active November 28, 2022 13:06
Django Rest Framework serializer benchmark for queries count and time estimation
class UserSerializer(serializers.ModelSerializer):
clients = serializers.ListField(source='client_names') # Model's property to retrieve `clients` names
sales = serializers.IntegerField(source='get_sales_overall_amount') # Model's method
address = serializers.CharField(source='address.street')
manager_name = serializers.CharField(source='manager.full_name')
@staticmethod
def setup_eager_loading(queryset):
""" Perform necessary eager loading of data. """