Есть ли проекты на GitHub?

Ответ

Да, у меня есть несколько проектов на GitHub. Это в основном пет-проекты, которые я создавал для изучения новых технологий или решения конкретных задач.

Примеры проектов:

  • Микросервис для обработки изображений на Go, который интегрируется с S3-хранилищем и предоставляет REST API для ресайза и наложения водяных знаков.
  • CLI-утилита на Python для парсинга логов Nginx и генерации отчетов по трафику.
  • Веб-приложение-дашборд на React и Node.js для визуализации метрик из Prometheus.

Пример кода из CLI-утилиты (парсер логов):

import re
from collections import defaultdict
from datetime import datetime

class NginxLogParser:
    LOG_FORMAT = r'(S+) - - [(.+?)] "(S+) (S+) S+" (d+) (d+)'

    def __init__(self, log_path):
        self.log_path = log_path
        self.requests_by_ip = defaultdict(int)
        self.status_codes = defaultdict(int)

    def parse(self):
        with open(self.log_path, 'r') as f:
            for line in f:
                match = re.match(self.LOG_FORMAT, line)
                if match:
                    ip, timestamp, method, url, status, size = match.groups()
                    self.requests_by_ip[ip] += 1
                    self.status_codes[status] += 1
        return self._generate_report()

    def _generate_report(self):
        return {
            'top_ips': dict(sorted(self.requests_by_ip.items(), key=lambda x: x[1], reverse=True)[:5]),
            'status_distribution': dict(self.status_codes)
        }

Ссылку на профиль могу предоставить.

Ответ 18+ 🔞

А, проекты на GitHub? Ну, бывает, хуй с горы, когда руки чешутся что-то попробовать. В основном это такие пет-проекты, чтобы мозги не закисли, пока учишь какую-нибудь новую технологию или решаешь конкретную задачу, которая в жопу укусила.

Вот, смотри, что было:

  • Микросервис на Go для картинок. Сделал, чтобы разобраться, как эта штука работает. Там S3-хранилище, REST API, чтобы ресайзить и водяные знаки лепить — в общем, стандартная история, но самому написать было интересно.
  • CLI-утилита на Python для логов Nginx. Родилась из конкретной боли: надо было понять, кто там столько трафика сожрал и что вообще происходит. Написал парсер и генератор отчётов, чтобы глаза не вытекали от чтения сырых логов.
  • Веб-дашборд на React и Node.js. Тут просто захотелось визуализировать метрики из Prometheus, чтобы красиво и понятно, а не в консоли тыкаться.

Вот, глянь, кусок кода из того самого парсера логов, чтобы понятно было, о чём речь:

import re
from collections import defaultdict
from datetime import datetime

class NginxLogParser:
    LOG_FORMAT = r'(S+) - - [(.+?)] "(S+) (S+) S+" (d+) (d+)'

    def __init__(self, log_path):
        self.log_path = log_path
        self.requests_by_ip = defaultdict(int)
        self.status_codes = defaultdict(int)

    def parse(self):
        with open(self.log_path, 'r') as f:
            for line in f:
                match = re.match(self.LOG_FORMAT, line)
                if match:
                    ip, timestamp, method, url, status, size = match.groups()
                    self.requests_by_ip[ip] += 1
                    self.status_codes[status] += 1
        return self._generate_report()

    def _generate_report(self):
        return {
            'top_ips': dict(sorted(self.requests_by_ip.items(), key=lambda x: x[1], reverse=True)[:5]),
            'status_distribution': dict(self.status_codes)
        }

Ну и ссылку на профиль, если надо, могу кинуть. Там ничего особенного, конечно, но хоть какая-то активность, ёпта.