Программирование {BookFlow}
16.2K subscribers
1.58K photos
467 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