Skip to content

Instantly share code, notes, and snippets.

@piterskikhsa
piterskikhsa / serializers.py
Created August 12, 2024 21:09 — forked from alexgavrisco/serializers.py
Mixin for creating serializers with configurable fields (for the django rest framework).
"""
Some helper serializer mixins.
Helps to reuse serializers for different purposes.
"""
import logging
from rest_framework import serializers
LOGGER = logging.getLogger(__name__)
@piterskikhsa
piterskikhsa / tokens.md
Created May 30, 2024 19:46 — forked from artemonsh/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@piterskikhsa
piterskikhsa / nginx-tuning.md
Created March 19, 2022 15:29 — forked from denji/nginx-tuning.md
NGINX tuning for best performance

Moved to git repository: https://github.com/denji/nginx-tuning

NGINX Tuning For Best Performance

For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.

Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.

You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.

// Файл "tsconfig.json":
// - устанавливает корневой каталог проекта TypeScript;
// - выполняет настройку параметров компиляции;
// - устанавливает файлы проекта.
// Присутствие файла "tsconfig.json" в папке указывает TypeScript, что это корневая папка проекта.
// Внутри "tsconfig.json" указываются настройки компилятора TypeScript и корневые файлы проекта.
// Программа компилятора "tsc" ищет файл "tsconfig.json" сначала в папке, где она расположена, затем поднимается выше и ищет в родительских папках согласно их вложенности друг в друга.
// Команда "tsc --project C:\path\to\my\project\folder" берет файл "tsconfig.json" из папки, расположенной по данному пути.
// Файл "tsconfig.json" может быть полностью пустым, тогда компилятор скомпилирует все файлы с настройками заданными по умолчанию.
// Опции компилятора, перечисленные в командной строке перезаписывают собой опции, заданные в файле "tsconfig.json".
@piterskikhsa
piterskikhsa / export.md
Last active June 12, 2019 19:55
Необходимо спроектировать фичу кросспостинга в Инстаграм.

Экспорт в Инстаграм

Пользователь фичи:

  • Все наши пользователи, у которых есть Инстаграм и они им постоянно пользуются.

Пользователь хочет:

  • Пользователь хочет иметь возможность автоматически размещать фото с описанием, которое он разместил на нашем сайте.

Фича готова, если:

  • Пользватель успешно авторизуется в Инстаграме через интерфейс сайта./ Пользователь привязывает свой аккаунт инстаграма к нашему сервису.