Github pages для pet проектов
Подробный гайд о том, как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах)
https://habr.com/ru/articles/732546/
👉 @bookflow
Подробный гайд о том, как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах)
https://habr.com/ru/articles/732546/
👉 @bookflow
👍2
Моя любимая задачка по программированию для кодинг-интервью
За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложиться на полную. Порой, по разным причинам, мы получаем друг от друга ложные или неточные сигналы. Такова уж человеческая природа.
С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.
В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)
https://habr.com/ru/companies/ispsystem/articles/779224/
👉 @bookflow
За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложиться на полную. Порой, по разным причинам, мы получаем друг от друга ложные или неточные сигналы. Такова уж человеческая природа.
С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.
В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)
https://habr.com/ru/companies/ispsystem/articles/779224/
👉 @bookflow
🤮2
Совет💡: Замените сложный оператор if на описательный метод.
Читать сложные операторы
Чем больше условий, тем сложнее.
И они имеют тенденцию выходить из-под контроля.
Но это можно исправить с помощью небольшого рефакторинга.
Перенесите условие в метод (или переменную) с описательным именем.
Имя метода должно быть как можно более подробным.
Это значительно улучшит читаемость кода.
👉 @bookflow
Читать сложные операторы
if нелегко.Чем больше условий, тем сложнее.
И они имеют тенденцию выходить из-под контроля.
Но это можно исправить с помощью небольшого рефакторинга.
Перенесите условие в метод (или переменную) с описательным именем.
Имя метода должно быть как можно более подробным.
Это значительно улучшит читаемость кода.
👉 @bookflow
👍9
Подборка 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
Системное администрирование 📌
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
Пишем файловую систему для работы с изображениями на TypeScript
На прошлой работе одной из моих зон ответственности были медиа. Это достаточно большой набор задач вроде работы с картинками-баннерами, картинками-подарками и изображениями, загружаемых пользователями. Все это приправлялось требованиями вроде “баннеры должны быть в формате png или webp, 300x1000, иначе дальше бэкофис не пропустит” и дедуплицированием загрузки одинаковых изображений на стороне сервера.
Это приводило к тому, что для тестирования клиентов/API мне нужно было иметь под рукой множество изображений или использовать камеру телефона.
https://habr.com/ru/articles/777174/
👉 @bookflow
На прошлой работе одной из моих зон ответственности были медиа. Это достаточно большой набор задач вроде работы с картинками-баннерами, картинками-подарками и изображениями, загружаемых пользователями. Все это приправлялось требованиями вроде “баннеры должны быть в формате png или webp, 300x1000, иначе дальше бэкофис не пропустит” и дедуплицированием загрузки одинаковых изображений на стороне сервера.
Это приводило к тому, что для тестирования клиентов/API мне нужно было иметь под рукой множество изображений или использовать камеру телефона.
https://habr.com/ru/articles/777174/
👉 @bookflow
👍2
Как с помощью математики и компьютера исследовать окружающий мир? Что нужно, чтобы создать цифровой двойник ядерного реактора? Насколько достоверен виртуальный эксперимент?
💬 Об этом и не только расскажут Дмитрий Фомичев и Александр Никоноров в новом подкасте «Математическим путем»: https://vk.com/podcast-219925483_456239076!
В следующих эпизодах вас ждет обсуждение прорывных исследовательских изобретений, будущего искусственного интеллекта и возможностей математического моделирования.
💚 Открывайте для себя мир новых технологий, следуйте за нами математическим путем и узнавайте подробности о проекте по ссылке: https://podcast.iss.onephi.ru/special
#ЯРосатом #КарьеравРосатоме
💬 Об этом и не только расскажут Дмитрий Фомичев и Александр Никоноров в новом подкасте «Математическим путем»: https://vk.com/podcast-219925483_456239076!
В следующих эпизодах вас ждет обсуждение прорывных исследовательских изобретений, будущего искусственного интеллекта и возможностей математического моделирования.
💚 Открывайте для себя мир новых технологий, следуйте за нами математическим путем и узнавайте подробности о проекте по ссылке: https://podcast.iss.onephi.ru/special
#ЯРосатом #КарьеравРосатоме
⚡1🔥1🥰1
Какую архитектуру следует использовать с модульными монолитами?
Вот 3 варианта на выбор:
- Чистая архитектура
- Многослойная архитектура
- Вертикальная архитектура
Конечно, вы можете использовать любые другие варианты.
Я привожу лишь несколько примеров для начала.
Но я хочу сказать, что модульные монолиты очень гибкие.
Допустим, в вашем приложении есть 3 модуля.
Вы можете решить структурировать каждый модуль по-разному.
Один модуль - это простое CRUD-приложение. Мне не выгодно использовать чистую архитектуру для этого модуля. Я могу использовать простую многоуровневую архитектуру с двумя слоями.
Другой модуль содержит сложную бизнес-логику. Я уже использовал DDD для решения подобных проблем. Чистая архитектура и DDD хорошо сочетаются. Именно это я и выбрал для этого модуля.
Я не говорю, что нужно использовать все известные вам программные архитектуры.
Но также не стоит быть догматиком и использовать одну и ту же архитектуру для всех модулей.
Вы должны подходить к каждому модулю в модульном монолите как к отдельному приложению. В целом, модули должны быть автономными и изолированными.
Используйте лучшее решение для той проблемы, которую вы решаете в данный момент.
И будьте готовы использовать новый подход, если он дает преимущества.
👉 @bookflow
Вот 3 варианта на выбор:
- Чистая архитектура
- Многослойная архитектура
- Вертикальная архитектура
Конечно, вы можете использовать любые другие варианты.
Я привожу лишь несколько примеров для начала.
Но я хочу сказать, что модульные монолиты очень гибкие.
Допустим, в вашем приложении есть 3 модуля.
Вы можете решить структурировать каждый модуль по-разному.
Один модуль - это простое CRUD-приложение. Мне не выгодно использовать чистую архитектуру для этого модуля. Я могу использовать простую многоуровневую архитектуру с двумя слоями.
Другой модуль содержит сложную бизнес-логику. Я уже использовал DDD для решения подобных проблем. Чистая архитектура и DDD хорошо сочетаются. Именно это я и выбрал для этого модуля.
Я не говорю, что нужно использовать все известные вам программные архитектуры.
Но также не стоит быть догматиком и использовать одну и ту же архитектуру для всех модулей.
Вы должны подходить к каждому модулю в модульном монолите как к отдельному приложению. В целом, модули должны быть автономными и изолированными.
Используйте лучшее решение для той проблемы, которую вы решаете в данный момент.
И будьте готовы использовать новый подход, если он дает преимущества.
👉 @bookflow
👍2⚡1
Как работает 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
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
👍2⚡1