Telegram Web Link
Различные стили архитектуры API

👉 @Bookflow
👍12
Регулярные выражения в Linux

👉 @Bookflow
👍81
Как работает Git?

Для начала важно понять, где хранится наш код. Обычно предполагается, что существует только два места: удалённый сервер (например, GitHub) и локальный компьютер. Однако это не совсем так. Git использует три локальных хранилища на нашем компьютере, а значит, наш код может находиться в четырёх местах:
Рабочая директория (Working directory): место, где мы редактируем файлы.
Область подготовки (Staging area): временное место, где файлы находятся перед коммитом.
Локальный репозиторий (Local repository): содержит закоммиченный код.
Удалённый репозиторий (Remote repository): сервер, где хранится код (например, GitHub).

Большинство команд Git в основном перемещают файлы между этими четырьмя локациями.

Теперь вопрос к тебе: знаешь ли ты, с каким хранилищем работает команда git tag?
Эта команда позволяет добавлять аннотации к коммиту.

👉 @Bookflow
11👍10
NewPass

Это бесплатный менеджер паролей с открытым исходным кодом, который позволит вам безопасно генерировать и хранить ваши пароли, сохраняя их локально и шифруя в памяти вашего телефона.

https://github.com/6eero/NewPass

👉 @Bookflow
👍8
Метапрограммирование 2.0: макросы и генерация кода в современном мире

Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки.

В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.

https://habr.com/ru/companies/ruvds/articles/916552/

👉 @Bookflow
👍21🔥1
В чём разница между аутентификацией на сессиях и JWT?

Многие разработчики не знают об этом различии, хотя оно критически важно.

Большинство веб-приложений используют один из двух подходов к аутентификации:
сессии (где состояние хранится на сервере) или JWT (где состояние передаётся вместе с клиентом).

1. Аутентификация на основе сессий

Когда пользователь входит в систему, бэкенд генерирует случайный session ID, сохраняет его в кэше или базе данных и устанавливает этот ID как HttpOnly cookie в браузере. При каждом запросе браузер отправляет cookie, сервер находит соответствующую запись и восстанавливает пользовательский контекст.

Такой подход:
• сохраняет чувствительные данные на сервере;
• позволяет мгновенно завершить сессию удалением записи.

Преимущества сессий:
🔹 Мгновенная деактивация доступа (“выйти отовсюду”) — одной строкой: просто удалить запись из Redis или SQL.
🔹 Секреты никогда не покидают сервер, что снижает риск утечки.
🔹 Отлично подходит для малых и средних систем, где кэш — не узкое место.

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

2. Аутентификация с помощью JWT (JSON Web Token)

После входа сервер подписывает JWT, содержащий:
• заголовок (например, alg, typ),
• полезную нагрузку (claims — sub, role и т.д.),
• цифровую подпись.

JWT — это просто base64-строка (не шифрованная): любой может прочитать данные, но подделать их может только владелец секрета. Сервер не хранит состояние — любой узел может локально проверить подпись и доверять данным.

Преимущества JWT:
🔸 Беспамятный (stateless): не требует общего хранилища, подходит для микросервисов и edge-нод.
🔸 Удобен для SPA и мобильных приложений, напрямую работающих с бэкендами.
🔸 Лёгкий: помещается в заголовок Authorization или cookie.

Минус: JWT нельзя отозвать после выдачи — он действителен до истечения срока, так что «экстренный выход» или блокировка аккаунта требуют дополнительной логики.

Вывод:
• Если главное — возможность немедленно отозвать доступ, выбирай сессии.
• Если нужна масштабируемость без состояния, выбирай JWT, но помни, что токены нельзя «забрать обратно» после их выдачи.

👉 @Bookflow
👍9
🚀 Как улучшить производительность API?
Оптимизация API — ключ к быстрой и стабильной работе приложений. Вот 5 проверенных техник:

1️⃣ Пагинация (Pagination)
Разбиваем большой объем данных на страницы.
🔹 Уменьшает нагрузку
🔹 Позволяет обрабатывать большие выборки

2️⃣ Асинхронное логирование (Async Logging)
Сохраняем логи в буфер, а затем на диск.
🔹 Меньше задержек
🔹 Выше пропускная способность

3️⃣ Кэширование (Caching)
Часто используемые данные храним в кэше, а не в БД.
🔹 Быстрый доступ
🔹 Меньше запросов к базе данных

4️⃣ Сжатие данных (Payload Compression)
Сжимаем запросы и ответы.
🔹 Уменьшение объема трафика
🔹 Быстрая загрузка/выгрузка

5️⃣ Пул соединений (Connection Pool)
Повторно используем открытые соединения с БД.
🔹 Снижение накладных расходов
🔹 Повышение эффективности

📌 Используй эти подходы, чтобы ускорить свой API и улучшить пользовательский опыт.

👉 @Bookflow
🔥6👍52
⚠️ До старта курса «Administrator Linux. Basic» осталось совсем немного. Набор закрывается 27 июня.

👉 Успейте пройти вступительный тест и получить запись двух вебинаров бесплатно:
— «Что нужно знать, когда переходишь с Windows на Linux. Базовые понятия Linux, работа в консоли с базовыми командами»
— «Вся правда о рынке труда или как быть востребованным в современных реалиях»

💪 Курс построен так, чтобы даже без опыта в Linux вы быстро вошли в профессию. В программе только актуальное: Bash, сети, логика работы ОС, файловые системы и автоматизация.

👉 Пройдите бесплатное вступительное тестирование сегодня и получите запись двух вебинаров: https://vk.cc/cN8W0l

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Google представляет Gemini CLI – ваш агент‑ассистент в терминале

Сегодня, 25 июня 2025 года, Google выпустила в превью-режиме открытый исходный код инструмента Gemini CLI — AI‑агента, который интегрируется прямо в терминал и работает от модели Gemini 2.5 Pro.

💡Основное:
🔘Мощная модель Gemini 2.5 Pro с контекстом до 1 000 000 токенов
🔘Бесплатная лицензия Gemini Code Assist (личный аккаунт Google)
🔘Лимит — 60 запросов/мин и 1 000/день

⚙️ Возможности:
🔘Понимание, генерация и правка кода
🔘Выполнение команд в терминале (ReAct loop)
🔘Поиск в Google, подключение через MCP, сценарии, управление файлами
🔘Создание изображений и видео через Veo и Imagen AI прямо из терминала

🌐 Открытый и расширяемый:
🔘Лицензия Apache 2.0
🔘Код доступен на GitHub — можно проверять, улучшать и интегрировать в свои системы

🎯 Зачем это нужно:
🔘Улучшает опыт разработчика — теперь “домом” становится терминал с AI‑помощником
🔘Идеален для кросс‑платформенных сценариев, CI/CD и автоматизации задач
🔘Google явно пытается опередить аналогичные инструменты вроде Anthropic Claude Code или GitHub Copilot за счёт бесплатного и открытого подхода


📥 Как начать:
1. Перейдите в репозиторий на GitHub
2. Установите через команду
3. Авторизуйтесь через личный Google‑аккаунт — и получите полную функциональность

https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/

👉 @Bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Открытая трансляция главного зала! Лучшие эксперты об управлении в IT и не только!

26 и 27 июня на Saint TeamLead Conf 2025 при поддержке Garage Eight пройдет бесплатная онлайн-трансляция главного зала конференции. Вас ждут инсайты от лучших экспертов в области управления командами.

Среди спикеров:

1) Андрей Смирнов (Викенд в IT) с докладом «Как нанимать, чтобы потом не пришлось увольнять»

2) Евгений Антонов (Yandex Infrastructure) с докладом «Тимлид: есть ли свет в конце тоннеля?»

3) Александр Бондаренко (Garage Eight) с докладом «Жизненный цикл процесса: как создавать, внедрять и завершать процессы в команде»

4) Павел Алферов (Школа управления СКОЛКОВО) с докладом «Принятие решений в условиях неопределенности. Инструменты для разных условий»

Подробности и расписание на сайте: https://tglink.io/da3bd6515978?erid=2W5zFK5k4Fr

#реклама
О рекламодателе
👍2🔥1💩1
5 нормальных форм баз данных, которые должен знать каждый разработчик

👉 @Bookflow
👍132🔥2🤮1
Соберите идеальный CI/CD-пайплайн за 8 шагов!

Ваш CI/CD — это фундамент быстрой и надежной разработки. Но как сделать его мощным, безопасным и быстрым без лишней сложности?

💫Мы подготовили чек-лист из 8 ключевых этапов — от MVP до оптимизации скорости и безопасности. С ним вы:

✔️Запустите рабочий пайплайн быстро и без лишнего перфекционизма.
✔️Добавите проверки и тесты, чтобы ловить ошибки до продакшена.
✔️Настроите ветвление и версионирование как в топовых командах.
✔️Оптимизируете хранение артефактов и ускорите сборки
✔️Закроете уязвимости и избавитесь от опасных практик вроде dind.
✔️Упростите поддержку с помощью шаблонов и DRY-принципов.
Сократите время деплоя и увеличите частоту релизов.
✔️Подготовитесь к масштабированию с GitOps и Kubernetes.

Используйте этот чек-лист во время сборки или запуска — и ваш CI/CD станет быстрее, безопаснее и удобнее!
➡️ Забирайте чек-лист в боте и начинайте прямо сейчас
Что такое DevSecOps?

DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.

Диаграмма выше показывает важные концепции в DevSecOps:

1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями

👉 @Bookflow
👍3
💡 Топ-15 строительных блоков системного дизайна, которые стоит знать:

1. Балансировщик нагрузки (Load Balancer): Распределяет входящий трафик между несколькими серверами, предотвращая перегрузку одного из них. Повышает доступность, устойчивость к сбоям и уменьшает время отклика.

2. API-шлюз (API Gateway): Единая точка входа для всех клиентских запросов в архитектуре микросервисов. Обрабатывает маршрутизацию, аутентификацию, ограничение частоты запросов и агрегацию данных.

3. DNS (Система доменных имён): Преобразует читаемые доменные имена в IP-адреса.

4. Кэш (Cache): Хранит часто запрашиваемые данные в памяти. Существенно снижает задержки и нагрузку на базу данных.

5. CDN (Сеть доставки контента): Доставляет статический контент (изображения, CSS, JS и т.п.) с серверов, расположенных ближе к пользователю. Снижает задержки и расход трафика, особенно на глобальном уровне.

6. База данных (Database): Основное хранилище данных. Может быть SQL или NoSQL в зависимости от требований. Поддерживает запросы, индексацию, транзакции и надёжность.

7. API (Программные интерфейсы): Определяют, как сервисы взаимодействуют между собой, часто через HTTP или gRPC. Обеспечивают модульность и чёткое разделение ответственности.

8. Микросервисы (Microservices): Разделяют монолитное приложение на независимо развёртываемые сервисы. Повышают гибкость, изоляцию ошибок и масштабируемость.

9. Ограничитель запросов (Rate Limiter): Контролирует количество запросов от пользователя или сервиса в заданный период. Защищает API от злоупотреблений и обеспечивает справедливость.

10. Объектное хранилище (Object Storage): Хранит большие бинарные объекты (изображения, видео, резервные копии) с высокой доступностью и надёжностью. Примеры — AWS S3, Google Cloud Storage и др.

11. Очередь сообщений (Message Queue): Обеспечивает асинхронную коммуникацию между сервисами через очередь (например, Kafka, RabbitMQ). Позволяет слабо связать компоненты и справляться с пиками нагрузки.

12. Шардинг (Sharding): Разделение больших объёмов данных между несколькими базами или таблицами. Обеспечивает масштабирование и повышение производительности запросов.

13. Репликация (Replication): Копирование данных между узлами базы данных. Повышает отказоустойчивость и производительность чтения.

14. Консистентное хеширование (Consistent Hashing): Метод распределения данных между узлами с минимальными изменениями при масштабировании. Часто используется в кэшировании и распределённых хранилищах.

15. Система мониторинга (Monitoring System): Отслеживает состояние системы, собирает логи и метрики, отправляет оповещения при сбоях или аномалиях. Критически важна для наблюдаемости, отладки и обеспечения доступности.

👉 @Bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥61
Антипаттерн: "Сначала MVP — потом нормальная схема"

Частая ошибка при старте проекта — отложить продумывание структуры базы «на потом»:

«Сейчас сделаем быстро MVP, а потом приведём БД в порядок».


И вот что часто происходит:
– MVP превращается в продакшн без переработки схемы.
– Костыли начинают множиться.
– Появляется технический долг, который сложно погасить: миграции становятся болью, связи — запутанными, а данные — ненадёжными.

Типичные симптомы:
— nullable-поля без нужды
— дублирование данных
— универсальные таблицы вроде entities или attributes
— "магические" значения в enum-полях
— отсутствие внешних ключей и индексов

Как избежать:

1. Минимум нормализации — с самого начала. Даже для MVP важно заложить понятную структуру.
2. Используй миграции сразу. Даже если это скрипт в папке migrations/, а не полноценный tool.
3. Заведи ER-диаграмму. Она не обязана быть идеальной, но уже поможет избежать хаоса.
4. Смотри в будущее. Планируешь рост? Подумай о расширяемости схемы.
5. Не стесняйся рефакторить. Лучше на раннем этапе изменить структуру, чем через год бояться сломать прод.

👉 MVP не должен значить "без архитектуры". Плохая схема — это замедление развития и боль на каждый новый фичереквест.

Сохрани, если строишь новый проект — пригодится.

#db

👉 @Bookflow
👍5💯1
Media is too big
VIEW IN TELEGRAM
Но что же такое коды Хэмминга?

Истоки коррекции ошибок.

👉 @Bookflow
👍6👎1
Как работают цифровые подписи?

👉 @Bookflow
6👍4
Новая вакансия! Стажёр, мечтающий построить карьеру в ИТ

📍 Локация: вся Россия и всемирная сеть Интернет
График: свободный
Опыт: необязателен, но желание и любопытство — строго необходимо.

📝 Задачи:
– листать свежие стажировки и откликаться по ссылкам,
– читать истории других стажёров,
– заглядывать на вебинары, хакатоны и карьерные мероприятия,
– задавать вопросы и учиться.

💡 От нас:
– возможность трудоустройства в атомной отрасли,
– шанс поработать под руководством топовых ИТ-экспертов
– сообщество таких же увлечённых молодых специалистов.

Подписывайтесь на ИТ-стажировки Росатома и следите за обновлениями.
2💩1
2025/07/13 02:13:44
Back to Top
HTML Embed Code: