Skip to content

Instantly share code, notes, and snippets.

View welel's full-sized avatar
:octocat:
Hi

Pavel Loginov welel

:octocat:
Hi
  • Saint-Petersburg
View GitHub Profile
@welel
welel / solid_in_python.md
Last active February 27, 2024 23:29
SOLID принципы с примерами на Python

SOLID с примерами на Python

Примечание: под клиентом подразумевается программные сущности, использующие другие программные сущности;

SOLID — это мнемоническая аббревиатура для набора принципов проектирования, созданных для разработки программного обеспечения при помощи объектно-ориентированных языков. Принципы SOLID направленны на содействие разработки более простого, надежного и обновляемого кода. Каждая буква в аббревиатуре SOLID соответствует одному принципу разработки.

При правильной реализации это делает ваш код более расширяемым, логичным, легко поддерживаемым и легким для чтения.

Для понимания SOLID принципов, вы должны хорошо понимать как, используются интерфейсы.

@welel
welel / Clicker.java
Last active April 4, 2021 13:02
Simple GUI game on Java. The main goal is to hit a target on the screen as faster as you can.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Clicker extends JFrame
implements Runnable, ActionListener {
private Thread th = null;
// Window size
@welel
welel / 1-simple-coder.md
Last active January 31, 2023 20:15
Simple GUI coder.

Краткое описание

Создано демонстрационное приложение с графическим интерфейсом пользователя на основе разработанного/модифицированного лёгкого AWT-компонента и стандартных компонентов AWT. Данное приложение представляет из себя демонстрацию работы шифратора, где нажатие на кнопку имитирует подачу импульса на вход шифратора.

screenshot

@welel
welel / click_dict_type.py
Created June 10, 2023 10:38
Custom dict type for the Python library click.
import click
class DictParamType(click.ParamType):
"""Represents the dictionary type of a CLI parameter.
Validates and converts values from the command line string or Python into
a Python dict.
- All key-value pairs must be separated by one semicolon.
- Key and value must be separated by one equal sign.
@welel
welel / install_docker.sh
Created November 4, 2023 14:21
Install Docker (with Docker Compose) on Ubuntu
#!/bin/bash
# Run the following command to uninstall all conflicting packages:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
@welel
welel / .env
Created March 21, 2024 19:32
Multiple Docker PostgreSQL databases
POSTGRES_USER=db_name_1
POSTGRES_DB=db_name_1
POSTGRES_PASSWORD=pass123
POSTGRES_MULTIPLE_DATABASES=db_name_1,db_name_2
POSTGRES_PASSWORDS=pass123,pass12345