|
2026-03-31 23:30:32
|
Основатель Google Сергей Брин в Москве (2008 г.) | О будущем интернета
Один из основателей компании Google, уроженец Москвы Сергей Брин спустя много лет после эмиграции прилетает в Россию, чтобы рассказать, как он видит будущее интернета.
♻️ Сделай репост, чтобы помочь другим.
👉 @itmozg
Основатель Googl…
|
—
|
|
165
|
|
2026-03-31 11:20:13
|
🔥 СВЕЖИЙ АД, ПРЯМО В ТВОЙ МОНИТОР! 💀
Они думали, что ад остался на Марсе…
Они ошибались.
DOOM возвращается — теперь в виде лёгкого, как бензопила в руках Мародёра, и безжалостного, как ракета в лицо кибердемону, порта на Go.
Никаких платформенных цепей. Никакого CGo. Только чистая ярость и кросс-компиляция, рвущая реальность на куски.
🔸 Запускается везде, где бьётся сердце Go
🔸 Минимум балласта — только стандартная библиотека Go
🔸 Полная линейка ада: DOOM, DOOM II, Ultimate DOOM, Final DOOM
🔸 WAD — твой пропуск в бездну: приноси своих демонов
🔸 Память в бронежилете: защита от переполнений буфера (но не от зубов какодемона)
🔸 Оружие массового поражения — кросс-компиляция под любую цель
Подготовься.
Натяни броню.
И перезаряди BFG…
https://github.com/AndreRenaud/gore
♻️ Сделай репост, чтобы помочь другим.
👉 @itmozg
🔥 СВЕЖИЙ АД, ПРЯ…
|
—
|
|
201
|
|
2026-03-30 09:13:44
|
🔐 Путеводитель по аутентификации: от Cookies до OAuth 2.0
Разбираться в способах входа пользователя в систему можно бесконечно, но эта шпаргалка отлично раскладывает всё по полочкам. Давайте разберем эволюцию методов «узнавания» пользователя.
1. WWW-Authenticate (Basic Auth)
Самый древний способ. Браузер запрашивает логин/пароль и отправляет их в каждом заголовке.
• Минус: Невозможно нормально управлять жизненным циклом сессии (сложно разлогиниться).
2. Session-cookie
Классика веба. После входа сервер создает сессию в базе, а браузеру отдает Session ID в куках.
• Проблема: Плохо масштабируется и «не дружит» с мобильными приложениями, которые не всегда умеют работать с куками так же, как браузеры.
3. Token & JWT
Чтобы не дергать базу данных каждый раз, придумали токены.
• Token: Обычная строка, которую проверяет отдельный сервис валидации.
• JWT (JSON Web Token): «Умный» токен. Он содержит внутри хедер, полезную нагрузку (данные пользователя) и подпись. Серверу не нужно лезть в базу, чтобы проверить его валидность - достаточно проверить подпись.
4. SSO (Single Sign-On)
Когда у вас много сайтов (a.com, b.com), а логин один. Центральный сервис аутентификации (CAS) берет на себя проверку личности и перенаправляет пользователя между ресурсами без повторного ввода пароля.
5. OAuth 2.0
Стандарт для предоставления доступа сторонним приложениям (например, «Войти через Google»). Основные сценарии:
• Authorization Code: Самый безопасный (через браузер и сервер).
• Client Credentials: Для общения между двумя серверами.
• Implicit Grant: Упрощенный путь для мобильных и JS-приложений (сейчас считается менее безопасным).
• Password Grant: Прямая передача логина/пароля (используется только в доверенных приложениях).
#backend #security #jwt #oauth #webdev
♻️ Сделай репост, чтобы помочь другим.
👉 @itmozg
🔐 Путеводитель п…
|
—
|
|
306
|
|
2026-03-27 09:56:32
|
📌 10 обязательных алгоритмов для работы с графами
1. Поиск в глубину (DFS)
2. Поиск в ширину (BFS)
3. Топологическая сортировка
4. Алгоритм объединения-поиска (Union Find)
5. Обнаружение циклов
6. Поиск связных компонентов
7. Проверка на двудольность графа
8. Заливка области (Flood Fill)
9. Минимальное остовное дерево
10. Кратчайший путь
♻️ Сделай репост, чтобы помочь другим.
👉 @itmozg
📌 10 обязательны…
|
—
|
|
484
|
|
2026-03-25 15:00:06
|
Параллелизм vs Конкурентность!
♻️ Сделай репост, чтобы помочь другим.
автор: Bookflow
👉 @itmozg
Параллелизм vs К…
|
—
|
|
584
|
|
2026-03-25 10:41:10
|
Git Merge vs Rebase
Одной из самых мощных возможностей Git является работа с ветками.
Однако при работе с ними нам нужно интегрировать изменения из одной ветки в другую, и способов сделать это несколько.
Есть два основных метода:
1. Merge (слияние)
Когда вы сливаете ветку A в ветку B (с помощью git merge), Git создаёт новый merge-коммит.
У этого коммита два родителя — по одному от каждой ветки, что символизирует объединение их истории.
- Это неразрушающая операция, которая сохраняет точную историю проекта.
- Merge особенно полезен в командной работе, когда важно сохранить целостность и хронологию изменений.
Минус: merge-коммиты могут "засорять" историю, усложняя отслеживание конкретных изменений.
2. Rebase (перебазирование)
Когда вы перебазируете ветку A на ветку B (с помощью git rebase), это означает:
"Давайте сделаем вид, что изменения из ветки A были сделаны поверх последних изменений ветки B."
- Rebase переписывает историю проекта, создавая новые коммиты для каждого из исходных коммитов.
- Результат — чистая, линейная история.
Минус: может быть проблематично, если над веткой работают несколько человек, ведь перебазирование переписывает историю, что усложняет совместную работу при уже опубликованных ветках.
Когда что использовать?
- Merge — когда важно сохранить полную историю и вы работаете с общими ветками. Идеально для слияния feature-веток в main или develop.
- Rebase — для личных веток или когда нужна чистая, линейная история для удобства отслеживания изменений.
Важно: не делайте rebase публичной истории. Если ветка уже опубликована и с ней работают другие, переписывание истории приведёт к конфликтам и путанице.
♻️ Сделай репост, чтобы помочь другим.
👉 @itmozg
Git Merge vs Reb…
|
—
|
|
615
|