TGViewer
Channel Public Channel
Программирование {BookFlow}

Программирование {BookFlow}

@bookflow

Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций, новости технологий.

Группа в https://vk.com/bookflow.

По всем вопросам @evgenycarter

РКН https://clck.ru/3KoAbH
Subscribers
15.6K
Photos
1.7K
Videos
514
Links
2.2K

Showing posts older than #4225 · Back to latest

Older Posts 15 shown
Post #4224 1.15K
Сравнение скорости выполнения программы, которая считает до 1 000 000 000, на C++ и Python.

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 9
  • 🤔 3
  • 🔥 1
  • 💯 1
Post #4223 943
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин

Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак

Английский с нуля 🇬🇧
https://max.ru/UchuEnglish

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных

Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
MAX Системный Администратор | Sysadmin Windows & Linux Server. … Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
  • 💩 11
  • ❤ 1
  • 👍 1
  • 👎 1
  • 🤡 1
  • 🖕 1
Post #4222 1.03K
BIOS и UEFI / стадии UEFI / драйвера и протоколы

Сергей Пушкарёв — руководитель отдела разработки BIOS в YADRO.
Сергей начал работу с BIOS и UEFI ещё в университете и может очень много рассказать об этой области.

С Еленой Лепилкиной и Антоном Афанасьевым наш герой во всех подробностях разобрал, что происходит на самом низком уровне софта после того, как пользователь нажимает кнопку включения компьютера. Параллельно осветил разные подходы и типичные проблемы разработки в своей сфере, тонкости взаимодействия драйверов, а также разницу между BIOS и UEFI. А напоследок ответил, к чему приводят баги в BIOS и как стараются их избежать, если цена ошибки слишком высока.

0:00 - Тизер
1:12 - Представление Сергея Пушкарева
2:11 - Карьерный путь Сергея
4:50 - История развития BIOS и UEFI и разница между ними
11:28 - Достоинства UEFI
14:14 - Стадии работы UEFI
15:09 - Что работает до UEFI
18:25 - стадия SEC и режим Cache-Is-RAM
22:58 - стадия PEI
27:54 - переход в 64-битный режим
28:42 - PE-файлы,Terse Executable и вопросы производительности
30:46 - DXE стадия и запуск драйверов
33:02 - Протоколы для взаимодействия драйверов
37:58 - Эволюция спецификации: новые архитектуры, Device path для нового железа
40:31 - Загрузка ноутбука через Wi-Fi, разница драйверов Linux и UEFI
42:58 - Работа разработчиков BIOS
44:06 - Баги в UEFI
46:45 - Разработка UEFI под новую платформу
50:38 - Взаимодействие BIOS с BMC, Redfish
53:22 - Разработка драйвера на EDK2
59:55 - Нужен ли ассемблер разработчику BIOS
1:04:13 - Как поменялся процесс загрузки с приходом UEFI
1:05:51 - Взаимодействие BIOS и операционной системы
1:07:20 - Как UEFI работает на ARM
1:11:29 - VFR - DSL-язык для описания меню
1:14:23 - Активное использование Open-Source
1:16:22 - Рынок компаний разработчиков UEFI
1:20:33 - Разработка UEFI для системы, которой нет в железе
1:21:37 - Баги в релизах и процесс тестирования
1:25:59 - Дальнейшее развитие BIOS: ускорение работы, драйверы на Rust
1:35:07 - Заключение

источник

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 🔥 4
  • 👍 2
  • 👀 1
Post #4221 1.18K
ПОЛНЫЙ КУРС ПО CLAUDE AI, который научит вас СОЗДАВАТЬ и АВТОМАТИЗИРОВАТЬ что угодно.

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

Посмотрите и добавьте в закладки прямо сейчас.

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 4
  • 🔥 2
  • 🤣 1
Post #4220 1.01K
⭐️ Shotstars — инструмент, который показывает GitHub-звёзды без розовых очков

На GitHub количество звёзд часто воспринимают как показатель качества проекта. Но есть нюанс: звёзды можно накрутить, а резкие всплески популярности не всегда означают реальный интерес сообщества.

Shotstars помогает анализировать публичные репозитории и смотреть, что происходит со звёздами на самом деле.

Что умеет:

— показывает прирост и отток звёзд;
— строит графики и HTML-отчёты;
— ищет подозрительные всплески активности;
— помогает определить возможные фейковые звёзды;
— показывает пик популярности проекта;
— считает динамику роста и регресса;
— умеет работать из CLI;
— поддерживает Windows, Linux и Termux.

Особенно полезно для тех, кто выбирает open-source проект для использования, аудита или внедрения. Можно быстро понять, перед вами живой репозиторий с нормальным ростом или «звёздный пузырь» с красивой витриной.

Установка:


pip install shotstars
shotstars_cli


GitHub-звёзды — это не всегда репутация. Иногда это просто маркетинг.

https://github.com/snooppr/shotstars

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 3
  • 🔥 2
Post #4219 1.04K
🍪 Cookies vs Sessions: В чем разница и как мы "остаемся залогиненными"?

Протокол HTTP не имеет памяти (stateless). Если вы ввели логин и пароль, при переходе на следующую страницу сервер вас уже «забудет». Чтобы этого не происходило, придумали механизмы сохранения состояния. Разбираем наглядную шпаргалку! 👇

1️⃣ Как работают Куки (Cookies)?

(Верхняя часть схемы)

• Логин: Вы вводите данные, сервер их проверяет.
• Ответ: Сервер отправляет вашему браузеру cookie - небольшой фрагмент данных (например, информацию о пользователе или токен).
• Следующий запрос: Когда вы переходите на другую страницу, браузер автоматически прикрепляет эту cookie к запросу. Сервер читает её и понимает: "Ага, это снова тот самый юзер, пускаем!".

💡 Суть: Сами данные хранятся на стороне клиента (в вашем браузере) и летают туда-сюда при каждом запросе.


2️⃣ Как работают Сессии (Sessions)?

(Нижняя часть схемы)

• Логин: Вы авторизуетесь на сервере.
• Создание сессии: Сервер создает сессию и сохраняет все ваши данные у себя (в специальной базе - Session Store).
• Ответ: Сервер отправляет браузеру cookie, но в ней лежит только уникальный ID сессии, а не сами данные!
• Следующий запрос: Браузер отправляет cookie с ID. Сервер смотрит в свою базу, находит по этому ID вашу сессию, проверяет её и выдает нужную страницу.

💡 Суть: Данные хранятся на сервере. У клиента в браузере лежит только "билетик" (ID), по которому сервер его узнаёт.




Что выбрать?

• Куки хороши для некритичных данных (тема оформления, язык, корзина товаров для неавторизованных), так как они не нагружают память сервера.
• Сессии нужны для безопасности (авторизация, банковские операции). Злоумышленник не сможет подделать данные, так как они надежно лежат на сервере.

Как правило, в современных веб-приложениях они работают в паре: сессия хранит данные на бекенде, а куки доставляют ID этой сессии в браузер.

#webdev #backend #frontend #база #шпаргалка #cookies #sessions

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 6
  • 🔥 3
  • ❤ 1
  • 🎉 1
Post #4218 953
🔐 Как на самом деле работает электронная цифровая подпись (ЭЦП)? Разбираем по шагам!

Мы часто слышим про «цифровые подписи», но как именно математика и криптография защищают наши документы? На прикрепленной схеме отлично показан весь процесс.

Сохраняйте себе, чтобы не потерять! 📌

Процесс делится на два главных этапа: создание подписи (у отправителя) и её проверка (у получателя).

📤 ЭТАП 1: Создание подписи (Сторона отправителя)

1. Создание хэша: Берется исходный документ и пропускается через математический алгоритм - хэш-функцию (например, SHA-256). На выходе получается уникальный «цифровой отпечаток» документа. Главная фишка хэша: если изменить в документе хоть одну запятую, хэш изменится полностью.

2. Шифрование: Отправитель берет этот хэш и шифрует его своим Закрытым ключом (Private Key). Этот ключ есть только у него!

3. Готово: Зашифрованный хэш - это и есть Цифровая подпись. Она прикрепляется к оригинальному документу, и весь этот пакет отправляется по сети.

📥 ЭТАП 2: Проверка подписи (Сторона получателя)

Когда документ доходит до адресата, получателю нужно убедиться в двух вещах: что документ прислал именно заявленный автор, и что файл не подменили по пути.

1. Свой хэш: Получатель берет присланный документ и сам пропускает его через ту же хэш-функцию (SHA-256). Получает новый хэш.

2. Расшифровка подписи: Затем получатель берет прикрепленную цифровую подпись и расшифровывает её Открытым ключом (Public Key) отправителя (этот ключ доступен всем). После расшифровки он получает оригинальный хэш, который сделал отправитель.

3. Момент истины - Сравнение: Получатель сравнивает два хэша.

✅ Если они совпадают: Документ 100% подлинный. Его подписал владелец закрытого ключа, и по пути в тексте ничего не меняли.

❌ Если они разные: Документ был изменен злоумышленником при пересылке, либо подпись недействительна.



💡 Главное правило асимметричной криптографии: Подписываем - своим закрытым ключом 🔑

Проверяют нас - нашим открытым ключом 🔓


♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 7
  • 🔥 3
  • ❤ 1
Post #4217 991
Но что же такое коды Хэмминга?

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

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 3
  • ❤ 1
  • 🔥 1
  • 🥰 1
Post #4216 1.25K
Антипаттерн: "Сначала MVP — потом нормальная схема"

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

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


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

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

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

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

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

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 3
  • 🔥 1
  • 💯 1
  • 👾 1
Post #4215 1.3K
Post #4214 1.11K
Слышал, тебе нравится чистый код 😂

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 😁 11
  • 🔥 1
Post #4208 1.42K
🛠 Sentry — платформа, которая помогает быстрее находить и чинить ошибки в продакшене

Sentry — это open-source debugging platform для разработчиков: она собирает ошибки, stack trace, логи, performance-проблемы и помогает понять, что именно сломалось у пользователя.

Полезно, когда нужно не просто увидеть «что-то упало», а быстро ответить на вопросы:

▪️ где произошла ошибка;
▪️ какой пользователь её поймал;
▪️ в какой версии приложения появился баг;
▪️ какой commit или release мог всё сломать;
▪️ почему запросы стали медленнее;
▪️ какие проблемы реально влияют на пользователей.

Sentry поддерживает веб, backend, mobile и разные языки через официальные SDK. Отдельно есть self-hosted версия — её можно поднять у себя для тестов, внутренних проектов или небольших инсталляций.

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

GitHub: https://github.com/getsentry/sentry

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 5
  • ❤ 2
  • 🔥 2
Post #4207 907
💡 Топ-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): Отслеживает состояние системы, собирает логи и метрики, отправляет оповещения при сбоях или аномалиях. Критически важна для наблюдаемости, отладки и обеспечения доступности.

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 3
  • 🔥 2
  • ❤ 1
Post #4206 918
Алгоритм Дейкстры - это классический алгоритм на графах, который находит кратчайшие пути от одной заданной вершины (источника) до всех остальных вершин в графе.

Проще говоря, это цифровой аналог поиска самого быстрого маршрута на карте от вашего дома до любой другой точки в городе.

🔑 Главная фишка (жадный выбор)

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

⚙️ Как он работает (на пальцах)

1. Вы стоите в начальной точке. Расстояние до неё равно 0, до всех остальных точек - бесконечность ∞ (мы их ещё не знаем).

2. Вы смотрите на всех соседей текущей точки и считаете расстояние до них. Если новый путь короче того, что был записан раньше, обновляете значение.

3. Отмечаете текущую точку как «посещённую» - сюда мы уже нашли самый короткий маршрут.

4. Выбираете среди непосещённых точек ту, до которой сейчас получилось самое маленькое расстояние, перемещаетесь в неё и повторяете шаг 2.

5. Алгоритм завершается, когда все доступные точки будут посещены.


⚠️ Важное ограничение

• Алгоритм Дейкстры корректно работает только графах с неотрицательными весами рёбер.
• Если в графе есть дороги с «отрицательным весом» (например, за проезд по участку вам доплачивают, а не вы платите), алгоритм уйдёт в ступор или выдаст неверный результат. Для таких задач используют алгоритм Беллмана-Форда.

🛠 Где применяется?

• Навигаторы и карты (Google Maps, Яндекс.Карты) - поиск кратчайшего автомобильного маршрута.
• Сетевая маршрутизация - протокол OSPF (Open Shortest Path First) использует этот алгоритм для поиска кратчайшего пути передачи пакетов данных в компьютерных сетях.
• Игры - поиск путей для юнитов или персонажей на карте.

♻️ Сделай репост, чтобы помочь другим.

📲 Мы в MAX

👉 @Bookflow
  • 👍 6
  • 🔥 5
  • ❤ 1
Post #4205 840
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин

Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
MAX Системный Администратор | Sysadmin Windows & Linux Server. … Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
  • 🖕 5
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →