Программирование {BookFlow}
16.2K subscribers
1.58K photos
468 videos
145 files
2.1K links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций, новости технологий.

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
Forwarded from React
Дорожная карта для React разработчика

✍️ @React_lib
👍4
Как с помощью математики и компьютера исследовать окружающий мир? Что нужно, чтобы создать цифровой двойник ядерного реактора? Насколько достоверен виртуальный эксперимент?

💬 Об этом и не только расскажут Дмитрий Фомичев и Александр Никоноров в новом подкасте «Математическим путем»: https://vk.com/podcast-219925483_456239076!

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

💚 Открывайте для себя мир новых технологий, следуйте за нами математическим путем и узнавайте подробности о проекте по ссылке: https://podcast.iss.onephi.ru/special

#ЯРосатом #КарьеравРосатоме
1🔥1🥰1
Какую архитектуру следует использовать с модульными монолитами?

Вот 3 варианта на выбор:

- Чистая архитектура
- Многослойная архитектура
- Вертикальная архитектура

Конечно, вы можете использовать любые другие варианты.

Я привожу лишь несколько примеров для начала.

Но я хочу сказать, что модульные монолиты очень гибкие.

Допустим, в вашем приложении есть 3 модуля.

Вы можете решить структурировать каждый модуль по-разному.

Один модуль - это простое CRUD-приложение. Мне не выгодно использовать чистую архитектуру для этого модуля. Я могу использовать простую многоуровневую архитектуру с двумя слоями.

Другой модуль содержит сложную бизнес-логику. Я уже использовал DDD для решения подобных проблем. Чистая архитектура и DDD хорошо сочетаются. Именно это я и выбрал для этого модуля.

Я не говорю, что нужно использовать все известные вам программные архитектуры.

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

Вы должны подходить к каждому модулю в модульном монолите как к отдельному приложению. В целом, модули должны быть автономными и изолированными.

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

И будьте готовы использовать новый подход, если он дает преимущества.

👉 @bookflow
👍21
Как работает Wine

Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.

Дисклеймер. В статье реальность сильно упрощается, а многие детали игнорируются. Текст даёт общее представление, как работает Wine.

Rus https://habr.com/ru/companies/dcmiran/articles/693842/

Eng https://werat.dev/blog/how-wine-works-101/

👉 @bookflow
👍21
Nota, Typst и Evidence. Языки программирования для генерации документов

Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX.

В то же время появляется всё больше новых языков, которые позиционируют себя как замену, альтернативу или дополнение к Markdown и TeX. В некоторых случаях они включают функции программирования, то есть позволяют добавить в документ исполняемый код. Веб-редакторы нового поколения можно использовать даже вместо Google Docs.

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

👉 @bookflow
👍31
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.iss.one/sysadminoff Новости Линукс Linux


https://t.iss.one/tikon_1 Новости высоких технологий, науки и техники💡
https://t.iss.one/mir_teh Мир технологий (Technology World)

https://t.iss.one/rust_lib Полезный контент по программированию на Rust
https://t.iss.one/golang_lib Библиотека Go (Golang) разработчика

https://t.iss.one/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.iss.one/phis_mat Обучающие видео, книги по Физике и Математике

https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
https://t.iss.one/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus

Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
https://t.iss.one/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub

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

Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
https://t.iss.one/frontend_sovet Frontend советы, примеры и практика!
https://t.iss.one/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр

Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT

Чат программистов📌
https://t.iss.one/developers_ru

Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
https://t.iss.one/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
https://t.iss.one/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля

Математика 📌
https://t.iss.one/Pomatematike Канал по математике

Excel лайфхак📌
https://t.iss.one/Excel_lifehack
1
Как я документацию для дизайн-токенов в Storybook генерировал

Сегодня хочу рассказать, как можно легко реализовать документацию для дизайн-токенов в Storybook, и заодно поделиться тем, как и почему я пытался это сделать, и что из этого вышло. Статья будет полезна для разработчиков, которые уже используют дизайн токены и ищут лёгкий способ их документации.

https://habr.com/ru/articles/779524/

👉 @bookflow
👍21
Media is too big
VIEW IN TELEGRAM
System Design - теория кэширования | Как кэшировать данные

00:00 - План занятия
01:03 - Что такое кэширование
03:18 - Основные термины кэширования
04:55 - Какие данные кэшировать
06:02 - Кэширование ошибок
07:13 - Как предотвратить cache miss attack
10:34 - Эффективность кэширования
12:56 - Внутреннее кэширование
14:41 - Внешнее кэширование
19:23 - Cache Aside
21:32 - Cache Through
23:16 - Cache Ahead
29:33 - Алгоритмы вытеснения данных из кэша
30:01 - Random алгоритм
30:23 - FIFO алгоритм
30:49 - LIFO алгоритм
31:16 - LRU алгоритм
32:06 - MRU алгоритм
32:29 - LFU алгоритм
37:11 - Алгоритм Белади (OPT)
38:13 - Second Chance алгоритм
39:56 - Clock алгоритм
40:40 - 2Q алгоритм
41:42 - SLRU алгоритм
42:49 - TLRU алгоритм
43:17 - LRU-k алгоритм
47:24 - Инвалидация данных в кэше
47:41 - Инвалидация по TTL
48:35 - Jitter
49:40 - Thundering herd problem
51:13 - Инвалидация по событию
52:41 - Версионирование кэша
56:11 - Тегирование кэша
1:03:37 - Многомерный кэш
1:05:46 - Курс по System Desing

источник

👉 @bookflow
👍81
Пример исследовательского реверс-инжиниринга приложения Zone Launcher

Друг порекомендовал приложение, но купить его не получилось с территории России. Статья о том, как поисследовать приложение до той степени, чтобы покупка потеряла свою актуальность. Может быть полезно почитать и разработчикам, чтобы понимать, что полную версию приложение включить достаточно легко.

https://habr.com/ru/articles/784628/

👉 @bookflow
👍5
Forwarded from ITmozg
Обнаружены шахматы для DOS… 1980 года

Недавно обнаружилась дискета с 86-DOS (QDOS) самой ранней из ныне известных версий предтечи PC-DOS и MS-DOS, на которой оказались шахматы. Вот о них и пойдёт речь.

Сами по себе шахматные программы, появлявшиеся с разной периодичностью с середины 1950-х, уже были не в диковинку. Да и в самом 1980-м выпущено под различные платформы с полдесятка. Однако PC-совместимые ПК и DOS для таковых появились в августе 1981-го, в то время как системная дискета с шахматами датируется годом ранее. Вначале шахматы достались в виде com-файла, вытянутого из памяти портируемого мультисистемного эмулятора SIMH, и дальше вопроса с выбором цвета фигур не работали. В связи с чем возникло предположение, что без перекомпиляции не смогут нормально запускаться. А образ дискеты стандарнтыми средствами вроде WinImage, UltraISO, Disk Manager не открывался, и не монтировался в DOSBox. Затем специалистом было осуществлено посекторное копирование игры (chess.com, 6400 байт) и документации (chess.doc, 896 байт) из образа дискеты. И вдруг оказалось, что без проблем запускается под MS-DOS 2.11 и 3.31 в эмуляторе 86Box, MS-DOS Player, NTVDM, FreeDOS и DOSBox-X, хотя и не работает в обычном DOSBox.

https://habr.com/ru/articles/786234/

👉 @itmozg
👍732
Нужно ли хранить пароли самостоятельно?

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

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

- использование сторонних служб аутентификации (например, OAuth) для обработки входа в систему.
- Использование федеративного управления идентификацией и единого входа (SSO) для минимизации использования паролей.

Если самостоятельное хранение паролей неизбежно, примите дополнительные меры предосторожности.

Не делайте этого:

- Хранить пароли в формате обычного текста
- Хешировать пароли без соли

ДЕЛАЙТЕ:

- Солить + хэшировать пароли перед хранением с помощью криптографических функций
- Следуйте отраслевым стандартам, таким как OWASP, для реализации соления и хэширования.
- Правильно проверяйте попытки входа в систему, сравнивая хэши вводимых паролей с хранимыми хэшами по времени.

Предпочтительнее отказаться от хранения самоизменяющихся паролей. Но при необходимости соление и хеширование паролей может помочь снизить риски.

👉 @bookflow
👍71
Forwarded from Kotlin
KMP Library Wizard

Теперь можно в два клика создать KMP проект

https://terrakok.github.io/kmp-web-wizard/

✍️ @kotlin_lib
3👍1
Какую CMS вы предпочитаете при создании своего стартапа?

👉 @bookflow
Как мы случайно стали одной из крупнейших ИТ-компаний Дагестана

Всё началось с квартиры, на окне которой было написано «Магазин электроники». Через 10 лет мы развились до гипермаркета, занялись бытовой техникой, начали обучать собственные команды разработки (что довольно сложно делать в Дагестане), а через 20 лет занялись логистическими системами для собственных курьеров, доставляющих продукты.

Но давайте вернёмся в славный 2003 год, когда к нам заходили только гики. Тогда ещё не было айфонов, поэтому люди играли на компьютерах. Хитами были GTA: Vice city, Morrowind, только вышли Stronghold: Crusader, четвёртые Герои, вторая Готика, на полки ехал Warcraft III и где-то далеко в Исландии рождалась Eve Online, а довольно известный мод для Half-Life получил обновление 1.6. Но все играли одиночные кампании. Нужен был не быстрый интернет, а быстрая видеокарта хотя бы с 32 Мб встроенной памяти.

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

Получилось, что аудитория дагестанских гиков дала нам отличный старт. Задумываясь об этом сейчас, могу сказать, что это не должно было сработать, но почему-то получилось.

https://habr.com/ru/companies/05-ru/articles/786434/

👉 @bookflow
👍10👎7😁3
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.iss.one/sysadminoff Новости Линукс Linux


https://t.iss.one/tikon_1 Новости высоких технологий, науки и техники💡
https://t.iss.one/mir_teh Мир технологий (Technology World)

https://t.iss.one/rust_lib Полезный контент по программированию на Rust
https://t.iss.one/golang_lib Библиотека Go (Golang) разработчика

https://t.iss.one/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.iss.one/phis_mat Обучающие видео, книги по Физике и Математике

https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
https://t.iss.one/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.iss.one/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python Rus

Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
https://t.iss.one/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub

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

Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
https://t.iss.one/frontend_sovet Frontend советы, примеры и практика!
https://t.iss.one/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр

Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT

Чат программистов📌
https://t.iss.one/developers_ru

Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов
https://t.iss.one/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
https://t.iss.one/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.iss.one/UchuEnglish Английский с нуля

Математика 📌
https://t.iss.one/Pomatematike Канал по математике

Excel лайфхак📌
https://t.iss.one/Excel_lifehack
👍1
🚀Разберитесь в возможных значениях свойства CSS transform с помощью этой шпаргалки

👉 @bookflow
👍1
Осваиваем 3-рублёвые микроконтроллеры PADAUK

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

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

Простые восьмиразрядные микроконтроллеры от именитых фирм теперь или недоступны или имеют негуманный цениик. Одна из возможных замен — микроконтроллеры Padauk. В их линейке есть и однократно и многократно программируемые. Ниже в статье поэтапно расскажу как сделать программатор, создать свой первый проект и прошить «Hello world».

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

Программатор разработан и поддерживается сообществом FreePDK. Все необходимые файлы выложены на Гитхабе. Эта статья основана на серии видео от EEVblog по той же тематике, там в пяти частях всё рассказано. Я всё повторял за автором. Но лично мне проще работать с текстом и картинками.

https://habr.com/ru/companies/timeweb/articles/786266/

👉 @bookflow
👍2