Перейти к содержимому
Технологии IT обновлён 17.01.2022

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

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

Публикации канала

Чтобы скачать ISO, пришлось взломать собственную точку доступа У разработчика сбоили большие загрузки по Wi-Fi: SSH жаловался на целостность данных, HTTPS — на ошибки TLS. При этом TCP принимал повреждённые пакеты: контрольные суммы сходились. Расследование привело к TP-Link EAP770 v1. Аппаратное ускорение и механизм повторного использования сетевых буферов портили данные блоками по 64 байта. А контрольная сумма, судя по анализу трафика, вычислялась уже после повреждения. Исправление — отключить две настройки. Но для этого нужен root, которого штатная SSH-оболочка не даёт. Поддержку модели производитель уже прекратил. Пришлось использовать уязвимость ядра Linux, собрать стенд в QEMU и довести эксплойт до рабочего состояния. Результат: скорость упала примерно на 8%, зато за ночь тестирования — ни одного повреждённого блока. После перезагрузки настройки сбрасываются, поэтому NAS следит за точкой и при необходимости снова запускает эксплойт. Покупаешь Wi-Fi 7, а получаешь практикум по эксплуатации ядра. Разбор на Хабре →https://habr.com/ru/companies/ruvds/articles/1098530/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🌐 50 полезных сайтов, которые точно пригодятся 1. http://unpaywall.org — бесплатные научные статьи 2. http://sci-hub.se — статьи, когда unpaywall не справляется 3. http://openlibrary.org — одалживать книги 4. http://gutenberg.org — более 70 тысяч бесплатных книг 5. http://coursera.org — бесплатно проходить аудиторские университетские курсы 6. http://wolframalpha.com — пошаговая математика 7. http://remove.bg — удаление фона 8. http://cleanup.pictures — удаление объектов 9. http://tinywow.com — быстрые инструменты для файлов 10. http://ilovepdf.com — слияние/разделение PDF 11. http://photopea.com — бесплатная альтернатива Photoshop 12. http://squoosh.app — сжатие изображений 13. http://excalidraw.com — быстрые диаграммы 14. http://carbon.now.sh — красивые скриншоты кода 15. http://regex101.com — тестирование regex 16. http://jsonformatter.org — очистка JSON 17. http://explainshell.com — объяснение команд терминала 18. http://alternativeto.net — альтернативы ПО 19. http://haveibeenpwned.com — проверка утечек 20. http://10minutemail.com — временная электронная почта 21. http://privnote.com — самоуничтожающиеся заметки 22. http://radio.garden — живое глобальное радио 23. http://endel.io — звуки для концентрации 24. http://mynoise.net — кастомная атмосфера 25. http://justwatch.com — где стримить 26. http://archive.org — цифровая библиотека 27. http://web.archive.org — старые веб-страницы 28. http://similarweb.com — трафик сайта 29. downtimerobot — проверка доступности 30. http://pagespeed.web.dev — тест скорости 31. http://tinypng.com — сжатие изображений 32. http://cloudconvert.com — конвертация файлов 33. http://diffchecker.com — сравнение текста 34. http://temp-mail.org — одноразовый почтовый ящик 35. http://obfuscator.io — обфускация JS 36. http://keybr.com — практика печати 37. http://monkeytype.com — тест печати 38. http://ankiweb.net — интервальное повторение 39. http://notion.so — заметки все-в-одном 40. obsidian.md — локальная база знаний 41. http://raindrop.io — менеджер закладок 42. http://todoist.com — список задач 43. http://trello.com — доски 44. http://miro.com — интерактивная доска 45. http://figma.com — дизайн 46. http://canva.com — быстрые графики 47. http://remove.bg — снова, потому что это действительно круто 48. https://github.com/yt-dlp/yt-dlp— скачивание видео (open source) 49. http://handbrake.fr — сжатие видео 50. http://localsend.org — локальная передача файлов ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Assembler для Windows в Visual Studio 1️⃣Часть первая В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой. https://habr.com/ru/articles/763636/ 2️⃣Часть вторая — MASM x64 и юникод Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. https://habr.com/ru/companies/ruvds/articles/884240/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🛡 RAID. Какой уровень выбрать под конкретную задачу? RAID (Redundant Array of Independent Disks) - это технология виртуализации данных, которая объединяет несколько дисков в один логический элемент для повышения скорости и/или надежности. 📌 RAID 0 (Striping / Чередование) 🩵Формула: Минимум 2 диска. Данные "размазываются" по всем дискам сразу. 🩵Емкость: Сумма всех дисков (1TB + 1TB = 2TB). 🩵Скорость: Максимальная. Чтение и запись идут параллельно. 🩵Риск: Фатальный. Если умирает хотя бы один диск - вы теряете ВСЕ данные. 🩵Где применять: Кэш, временные файлы, данные, которые легко восстановить заново. Не для продакшна! 📌 RAID 1 (Mirroring / Зеркало) 💚Формула: Минимум 2 диска. Данные пишутся идентично на оба диска. 💚Емкость: Половина от общей (1TB + 1TB = 1TB). 💚Скорость: Чтение быстрее (читает с двух), запись такая же (или чуть медленнее). 💚Риск: Низкий. Система выживет при отказе одного диска. 💚Где применять: Системные разделы ОС, загрузчики, небольшие важные хранилища. 📌RAID 5 (Parity / Чередование с четностью) ❣️Формула: Минимум 3 диска. Данные + контрольные суммы (parity) распределяются по дискам. ❣️Емкость: N-1 (из 3-х дисков по 1TB вы получите 2TB места). ❣️Скорость: Чтение быстрое, запись медленнее (нужно считать контрольную сумму). ❣️Риск: Выдерживает отказ 1 диска. Внимание: На современных дисках большого объема (4TB+) восстановление (rebuild) может длиться днями, и есть риск отказа второго диска в процессе. ❣️Где применять: Файлопомойки, медиа-сервера, архивы, где важно место, а супер-скорость записи не критична. 📌RAID 10 (1+0 / Зеркало страйпов) Формула: Минимум 4 диска. Это "страйп из зеркал". Лучшее из двух миров. 🩵Емкость: 50% (теряем половину, как в RAID 1). 🩵Скорость: Высокая на чтение и запись. 🩵Риск: Очень низкий. Может пережить отказ нескольких дисков (если они в разных парах). 🩵Где применять: Базы данных, высоконагруженные виртуалки. Золотой стандарт для IOPS. ⚠️ RAID - ЭТО НЕ БЭКАП! - RAID спасает от физической смерти диска. - RAID не спасет от: случайного rm -rf, вируса-шифровальщика, пожара в серверной или сбоя контроллера, который побьет данные на всех дисках сразу. Подытожим: - Нужна скорость и плевать на данные? 👉 RAID 0 - Нужна надежность для ОС? 👉 RAID 1 - Нужен компромисс цена/объем для файлов? 👉 RAID 5 (или RAID 6) - Нужна скорость и надежность для БД? 👉 RAID 10 ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Как тестировать ваш код. Даже когда его пишет ИИ. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow Video is too big

Открыть в Telegram

💻 Айтишникам стало сложнее найти работу: число вакансий для программистов в России сократилось почти вдвое Предложений для разработчиков стало меньше на 47%, а для тестировщиков — сразу на 55%. Конкуренция при этом заметно выросла: теперь на одну вакансию в IT приходится более 6 кандидатов, тогда как раньше претендентов было около трёх. Среди причин называют замедление запуска новых программных продуктов и активное внедрение искусственного интеллекта. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Как работает DNS 1. Пользователь вводит домен: bytebytego.com 2. Поиск в кэше (браузер/ОС) — не найдено 3. DNS-запрос к резолверу 4. Поиск в кэше резолвера — не найдено 5. Запрос к корневому DNS-серверу (Root NS) 6. Ответ: адрес TLD .com 7. Запрос к TLD-серверу .com 8. Ответ: адрес авторитетного сервера для bytebytego.com 9. Запрос к авторитетному DNS-серверу 10. Ответ: запись A/AAAA — IP 172.67.21.11 11. Сохранение IP в кэше резолвера 12. Передача IP в браузер: 172.67.21.11 13. Сохранение IP в кэше браузера/ОС 14. HTTP-запрос: GET /index.html 15. HTTP-ответ: OK ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Полезные команды PowerShell для работы с сетью 1. Проверка сетевого подключения (аналог команды ping) Test-Connection -ComputerName "example.com" -Count 4 Эта команда отправляет 4 пакета ICMP (ping) на указанный домен или IP-адрес. 2. Получение информации о сетевых интерфейсах Get-NetAdapter Показывает список всех сетевых адаптеров на компьютере и их текущее состояние. 3. Просмотр таблицы маршрутизации Get-NetRoute Эта команда показывает текущую таблицу маршрутизации. 4. Получение конфигурации IP-адреса Get-NetIPAddress Выводит список всех IP-адресов, настроенных на сетевых интерфейсах. 5. Изменение конфигурации IP-адреса New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1 Задает новый IP-адрес для указанного интерфейса. 6. Настройка DNS-сервера Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 8.8.8.8 Задает DNS-сервер для интерфейса с именем Ethernet. 7. Проверка доступных портов Test-NetConnection -ComputerName "example.com" -Port 80 Проверяет доступность порта на удаленном хосте. 8. Просмотр всех активных соединений Get-NetTCPConnection Эта команда выводит все активные TCP-соединения на локальной машине. 9. Сброс сетевых параметров TCP/IP netsh int ip reset Хотя это и не чисто PowerShell, команда используется для сброса настроек TCP/IP. 10. Проверка конфигурации сетевого экрана (Firewall) Get-NetFirewallProfile Отображает текущие настройки брандмауэра для различных профилей сети. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🖼 Из картинки - в 3D-сцену со звуком: image-blaster Загружаешь изображение, запускаешь Claude Code и просишь обработать его. image-blaster объединяет несколько генеративных моделей, чтобы создать окружение, отдельные объекты и звуковые эффекты. Что получается на выходе: 🔹 3D-модели объектов в .glb и .obj. 🔹 Статичное окружение в формате Gaussian Splat .spz. 🔹 Фоновый звук и эффекты для объектов в .mp3. За окружение отвечает World Labs Marble, за модели объектов - Hunyuan 3D через FAL, за звук - ElevenLabs SFX. Для объектов доступны PBR-материалы, настройка количества полигонов и режим LowPoly. 🚀 Как попробовать: клонировать репозиторий, запустить Claude Code, настроить API-ключи World Labs и FAL, положить картинку в папку input/ и попросить: blast it and confirm each step with me Интересный вариант для быстрого прототипирования игровых локаций, архитектурных сцен и экспериментов с 3D. Автор заявляет создание окружения менее чем за пять минут - результат и время стоит проверить на своих изображениях. Исходники открыты под MIT. Для генерации нужны внешние API. 👉 GitHub https://github.com/neilsonnn/image-blaster ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow Video is too big

Открыть в Telegram

xdg-ninja — это полезный инструмент для программистов и пользователей Linux, который помогает держать ваш $HOME каталог в чистоте, проверяя приложения на соответствие XDG Base Directory Specification. Он анализирует конфигурационные файлы и кэш, сообщая, какие из них не находятся в правильных директориях, таких как $XDG_CONFIG_HOME или $XDG_CACHE_HOME. Простой способ навести порядок в системе и избавиться от хаоса! https://github.com/b3nj5m1n/xdg-ninja ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🔐 Путеводитель по аутентификации: от 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 ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Работа с HTTP API (на практике) Подготовил мини-серию из пары десятков практических заданий, от получения простых GET-эндпоинтов до обработки сложных JSON-ответов, работы с аутентификацией API и проверки целостности загружаемых файлов: - Вызов HTTP API с помощью curl: Чтение ресурсов https://labs.iximiuz.com/challenges/linux-call-http-api-with-curl - Вызов HTTP API с помощью curl: Создание, обновление и удаление ресурсов https://labs.iximiuz.com/challenges/linux-call-http-api-with-curl-create-update-delete - Вызов HTTP API с помощью curl: Обработка JSON-ответов с jq https://labs.iximiuz.com/challenges/linux-call-http-api-with-curl-process-json-with-jq - Вызов HTTP API с помощью curl: Аутентификация с Basic Auth и Bearer Tokens https://labs.iximiuz.com/challenges/linux-call-http-api-with-authentication - Проверка загруженных файлов с помощью SHA-256-хеш-сумм https://labs.iximiuz.com/challenges/linux-verify-downloads-with-sha256-checksums ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🔎 Kor — найти забытые ресурсы в Kubernetes После экспериментов и релизов в кластере остаются ConfigMaps, Secrets, PVC, Services и другие ресурсы, которые уже никто не использует. Kor помогает собрать их в список и показывает, почему считает каждый ресурс неиспользуемым. Начать проверку можно с одного namespace: kor all --include-namespaces my-namespace --show-reason Результат можно вывести таблицей, в JSON или YAML. Есть фильтрация по namespace и меткам, а также запуск по расписанию через Helm. ⚠️ Не удаляйте всё найденное автоматически: ресурс может использоваться приложением без явной ссылки в манифестах. Сначала проверьте список и причины, особенно для Secrets и ConfigMaps. Удаление в Kor запускается отдельно флагом --delete. 🔗 Проект: https://github.com/yonahd/kor #Kubernetes #DevOps #SRE #OpenSource ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Детальный обзор полей Галуа "Попросите Якоби или Гаусса публично высказать своё мнение — не о истинности, а о важности этих теорем. Позже, я надеюсь, найдутся люди, которым будет выгодно разобраться во всём этом хаосе." Этими словами заканчивалось письмо Эвариста Галуа, написанное для своего друга Огюста Шевалье за два дня до его смерти от полученных на дуэли ран на 21 году жизни. Ни Якоби, ни Гаусс в его теоремах не разобрались, зато спустя 15 лет разобрался Жозеф Лиувилль и опубликовал работы Галуа, ставшие впоследствии фундаментом современной алгебры, известные сейчас как теория Галуа. В статье расскажу про одну из частей этой теории - поля Галуа, получившая настолько повсеместное применение в криптографии и избыточном кодировании, что Intel и AMD выпустили набор процессорных расширений для эффективной реализации операций над этими полями. Заметка! Если вам довелось использовать/реализовывать поля Галуа, то большая часть статьи для вас скорее всего будет не интересна, но возможно в последних разделах будет что-то для вас новое. https://habr.com/ru/articles/916740/ 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

🥑 Apache Guacamole Это шлюз для удалённого рабочего стола, не требующий установки клиентских приложений. Он поддерживает стандартные протоколы, такие как VNC, RDP и SSH. Он называется «клиентским-безклиентским» (clientless), потому что не требует никаких плагинов или клиентского ПО. Благодаря HTML5, после установки Guacamole на сервер всё, что нужно для доступа к рабочим столам — это веб-браузер. https://guacamole.apache.org/ ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow Video is too big

Открыть в Telegram

Сравнение SHELLs: BASH vs ZSH vs FISH Делаем красочный и удобный терминал. источник ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow Video is too big

Открыть в Telegram

Исследователи из Университета Карнеги — Меллона разработали систему, использующую обычные Wi‑Fi-роутеры для обнаружения движений людей сквозь стены - без каких-либо камер. С помощью искусственного интеллекта и модели DensePose система в реальном времени преобразует сигналы Wi‑Fi в подробные карты положения и позы человеческого тела. ♻️ Сделай репост, чтобы помочь другим. 📲 Мы в MAX 👉 @Bookflow

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram