Full stack dev
61 subscribers
356 photos
50 videos
4 files
99 links
"Full Stack Dev & Computer Science" – Канал для разработчиков, которые хотят
расширить свои знания в Full Stack и углубиться в основы и новейшие тренды Computer Science.
Здесь вы найдете материалы по frontend и backend разработке, работе с базами данных,
Download Telegram
Реализация универсальной функции reverse с нуля на Rust

#algorithms #rust
📦Access Proxy

💡Access Proxy это минималистичный, но мощный reverse proxy, написанный на Go, который помогает защищать ваш трафик и контролировать доступ.

📖Возможности:

1.🔗 Проксирование запросов к целевому серверу (target: http://httpbin.org)

2. 🛡 Фильтрация доменов и IP-адресов

3. 🚫 Блокировка опасных HTTP-методов (DELETE, PATCH и др.)

4. ⚡️ Ограничение частоты запросов (rate limit)

5. 🧾 Логирование запросов (в dev-режиме)

📂 Репозиторий: https://github.com/Freyzan2006/access-proxy/tree/v1.0.0

#web #backend
🔥1
CSV Parser CLI мощная утилита для работы с CSV прямо из терминала!

Поддерживает:

🔍 фильтрацию и поиск

🧮 агрегации (sum, avg, min, max, count)

валидацию и проверку типов

📊 сортировку и постраничный вывод

🔁 сравнение файлов

💾 экспорт в CSV / JSON / Excel

📕 логирование и поддержку кодировок (utf-8, windows-1251, и др.)

💡 Примеры:
# Фильтр + сортировка + экспорт
./csv-parser -file=users.csv -filter="Age>30" -sort=Age:desc -out-format=json

# Средний возраст → Excel
./csv-parser -file=users.csv -aggregate=Age:avg -out-format=excel

# Сравнение двух CSV
./csv-parser -file=new.csv -compare=old.csv -log=diff.log


📦Установка:
git clone https://github.com/Freyzan2006/csv-parser-golang.git
cd csv-parser
go build -o csv-parser ./cmd


🌐Репозиторий: https://github.com/Freyzan2006/csv-parser-golang

#soft #golang
This media is not supported in your browser
VIEW IN TELEGRAM
UI-компонентов

📚Это огромная библиотека готовых UI-
компонентов
компонентов для ваших React-проектов

🌐Doc: тут

#frontend #lib
🟢Задача для Rust «Sum digits»:

📚Напишите функцию с именем sum_digits, которая
принимает число в качестве входных данных и возвращает
сумму абсолютных значений каждой из десятичных цифр числа.


👁‍🗨Пример №1:
« 10
» 1

👁‍🗨Пример №2:
« 99
» 18

#task #rust
💡DDD (Domain-Driven Design) — это подход к проектированию сложных систем, где в центре — предметная область а не технологии.

🧱 Основная идея:
Сначала понять бизнес-логику и язык домена, а потом уже строить код вокруг этого.

📦 Ключевые концепции:

✔️Entityобъект с уникальной идентичностью
✔️ Value Object объект без идентичности (значение)
✔️ Aggregateгруппа связанных сущностей
✔️ Repositoryдоступ к данным домена
✔️ Serviceбизнес-операции вне сущностей

🎯 Цель DDD — чтобы код говорил на языке бизнеса и оставался гибким при росте проекта.

#backend #web
📦 air

Устал перезапускать Go-приложение после каждого изменения кода?
air делает это за тебя — автоматический hot reload для Go 🔥

📦 Установка:
go install github.com/air-verse/air@latest


🚀 Запуск:
air

И всё — теперь твой сервер сам перезапускается при изменениях.

🧠 Идеален для разработки REST, gRPC, GraphQL и CLI.

#golang #backend
🤔2🔥1
🔥3👍2
👍2🤯1
📕 Алгоритм BFS (Breadth-First Search)

💡BFSпоиск в ширину — это алгоритм обхода графа, который сначала посещает всех соседей вершины, затем соседей этих соседей, и так далее.

⚙️ Как работает BFS
1. Берём любую стартовую вершину.
2. Добавляем её в очередь.
3. Пока очередь не пуста:
- достаём вершину из очереди,
- посещаем всех её соседей,
- непосещённых соседей добавляем в очередь.

Релизация на python:
from collections import deque

def bfs(graph, start):
visited = set()
queue = deque([start])
order = [] # порядок обхода

while queue:
vertex = queue.popleft()

if vertex not in visited:
visited.add(vertex)
order.append(vertex)

for neighbor in graph[vertex]:
if neighbor not in visited:
queue.append(neighbor)

return order

graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}

print(bfs(graph, 'A'))

#algorithm #python
🔹 DFS (Depth-First Search) — поиск в глубину в графе

💡Идея:

Исследуем граф «вглубь», пока не достигнем конца пути, затем возвращаемся.

Нужно хранить посещённые вершины (visited).

🔧Применение:

Поиск пути, топологическая сортировка, компоненты связности.

⚙️Рекурсивноя реализвация:
graph = {
'A': ['B','C'], 'B': ['D','E'], 'C': ['F'],
'D': [], 'E': ['F'], 'F': []
}

def dfs(graph, start, visited=None):
if visited is None: visited = set()
visited.add(start)
print(start, end=' ')
for neighbor in graph[start]:
if neighbor not in visited:
dfs(graph, neighbor, visited)
dfs(graph, 'A')


⚙️Итеративно через стек:
def dfs_iter(graph, start):
visited, stack = set(), [start]
while stack:
v = stack.pop()
if v not in visited:
print(v, end=' ')
visited.add(v)
stack.extend(reversed(graph[v]))
dfs_iter(graph, 'A')


Вывод:
A B D E F C


#algorithm #python
🌐 Nginx быстрый, лёгкий, мощный

Nginx (engine-x)один из самых популярных веб-серверов в мире.
Создан для высокой нагрузки, он легко обслуживает тысячи одновременных соединений и почти не расходует ресурсы.


🔥 Почему Nginx так любят?

⚡️ Высокая производительность — событийная модель вместо тяжелых потоков.

🧊 Идеален для статики — картинки, файлы, сайты загружаются молниеносно.

🔁 Reverse Proxy — пропускает запросы к backend'ам (Node.js, Python, Go и т.д.).

⚙️ Load Balancer — распределяет нагрузку по нескольким серверам.

🔐 Удобная работа с HTTPS — легко поднимает TLS.

🧱 Гибкая конфигурация — всё через простой nginx.conf.

📌 Где используется?

как фронт сервер для приложений

как API-gateway

в Docker/Kubernetes

на высоконагруженных сайтах, CDN, стримингах

📚Docs: https://nginx.org/en/docs/index.html
🌐GitHub: https://github.com/nginx/nginx

#web
Dokployдеплой без боли и лишней магии

⚙️Dokployэто современная платформа для деплоя приложений, которая делает управление серверами и контейнерами простым, понятным и приятным.

🔧 Что умеет Dokploy?
Деплой приложений через Docker
Удобная Web-панель для управления проектами
Поддержка GitHub / GitLab — деплой по push
Автоматический SSL (Let’s Encrypt)
Простая настройка доменных имен
Управление переменными окружения
Мониторинг и логи в одном месте

🎯 Кому подойдёт?

✔️ Backend и Fullstack-разработчикам
✔️ Стартапам

🌐 Официальный сайт: https://dokploy.com

#web #devops
👍1
gRPC и Go (Golang)

📚Если REST уже стал привычным инструментом, самое время познакомиться с gRPCбыстрым и строгим способом общения сервисов между собой

Что такое gRPC?

gRPCэто RPC-фреймворк от Google, который:

* использует HTTP/2
* передаёт данные через Protocol Buffers
* отлично подходит для микросервисов
* быстрее и компактнее REST + JSON

⚙️Базовый флоу работы с gRPC в Go:
1️⃣Описываем контракт в .proto
2️⃣ Генерируем код:
protoc --go_out=. --go-grpc_out=. service.proto

3️⃣ Реализуем server (структура + методы)
4️⃣ Поднимаем gRPC-сервер
5️⃣ Пишем client и вызываем методы как обычные функции
Пример RPC-метода:
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}

Когда стоит выбирать gRPC?
✔️ микросервисы
✔️ высокая нагрузка
✔️ строгие контракты между сервисами
✔️ внутренняя коммуникация

#web #backend #go
🤔1