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

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
SonarQube: делаем код лучше

Привет! Меня зовут Сергей, я один из разработчиков продукта «Сервис персонализации» в компании Sportmaster Lab, и в этом посте я расскажу про SonarQube – платформу для непрерывного анализа и измерения качества программного кода, разработанную компанией SonarSource.

https://habr.com/ru/companies/sportmaster_lab/articles/746320/

👉 @bookflow
🤣3👍1🤡1
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования

Цель настоящей статьи - изучить лямбда функции: чем они отличаются от обычных функций и изучить, как они реализованы в С++, Python 3 и Java.

На протяжении этой статьи я буду использовать godbolt.org, чтобы компилировать код и изучать машинный код или байт код. Я думаю, что при чтении статьи может быть удобнее смотреть не на приведённый машинный код в статье, а на этом сайте.

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

👉 @bookflow
👍6
Числа с плавающей точкой для гуманитариев. Что это такое и как они работают

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

В этой статье я простым языком попытаюсь изложить данную тему и помочь решить ряд вопросов: как на самом деле процессор хранит числа с плавающей точкой? Как точка хранится в памяти? Почему при сложении 0.1 + 0.2 получается ответ ~0.30000000000000004? Если по какому-то из этих вопросов вы чувствуете, что не можете дать точный ответ, то эта статья для вас.

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

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

👉 @bookflow
👍72🔥1🤯1
Подборка 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
👍2
Зачем в Switch SDK три разных sin?

Работая в компании Gaijin несколько лет назад, мне довелось поучаствовать в портировании пары игр компании на консоль Nintendo Switch, тогда вовсю завоевывающую новые рынки. Для меня это стало первым крупным проектом на этой платформе. А с учетом, что ни команда, ни разработчик движка с платформой, системой сборки и вообще экосистемой Нинтендо знакомы не были, то все грабли приходилось искать и бережно на них наступать. Чтобы опробовать возможности новой платформы, параллельно с портированием игры, был написан внутренний middleware (связка dagor engine + nxsdk + jam) и код обрастал всевозможными тестами, build matrix, бенчмарками, прогоном стабильности и другими внутренними проверками. Надо отметить что на момент 2018 года, в самом switch sdk не было реализовано часть posix функций вроде poll и send/receive, и большая часть функций для работы с файлами, posix прослойку нужно было писать самим. Дошли тогда руки и до написания различных бенчмарков для функций стандартной библиотеки, и были замечены некоторые аномалии в поведении части тригонометрических функций в различных режимах сборки. Для справки, sdk использует урезанный вариант musl libc (https://www.musl-libc.org/), все статически линкуется в один большой бинарник clang'ом от Нинтендо 9 версии (2018 год), который потом запускается на консоли. Доступа к исходникам самой libc в исполнении Нинтендо у нас не было, но всегда можно посмотреть дизасм и боле менее представить что происходит.

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

👉 @bookflow
👍2
Автоматический обход блокировок

Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории Antiblock.

Приблизительно в мае 2022 года был заблокирован один из доменов YouTube (yt3.ggpht.com), через который происходит выгрузка превью и логотипов каналов. Если до этого блокировки меня особо не утруждали, то YouTube без картинок, для активного пользователя, это тяжело. Далее были предприняты несколько разных подходов к оптимальному обходу блокировки этого домена.

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

👉 @bookflow
👍1
Удивительные шаблоны проектирования программного и архитектурного обеспечения

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

https://github.com/DovAmir/awesome-design-patterns

👉 @bookflow
👍2
Вопрос по Python

Что выводит этот код и почему? 🤔🤔

👉 @bookflow
👍5
Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

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

В подборке под катом — семь инструкций по созданию Telegram-ботов с разной функциональностью. Сохраняйте статью в закладки: пригодится как начинающим, так и опытным разработчикам.

https://habr.com/ru/companies/selectel/articles/751930/

👉 @bookflow
👍3
Forwarded from ITmozg
2077-Theme

Цветовая схема для редактора кода VS Code, вдохновленная игрой Cyberpunk 2077

Установка

Open Extensions sidebar panel in VS Code. View → Extensions
Search for 2077 theme - find the one by Endormi.
Click Install to install it.
Click Reload to reload your editor
Code > Preferences > Color Theme > 2077

https://github.com/endormi/vscode-2077-theme

@itmozg
👍2👀2🔥1
Media is too big
VIEW IN TELEGRAM
Как правильно делать кодревью

00:00 Intro
01:07 What Is a Code Review
02:48 Levels
05:26 Ego
06:13 Philosophy
07:19 Project Type
08:24 Location
08:59 Time
10:38 What We Will Review
11:51 Review Style
13:02 Inspecting a Pull Request
19:04 Giving Feedback
22:44 Outro

источник

👉 @bookflow
👍52
Forwarded from ITmozg
Сколько памяти нужно для запуска 1 миллиона конкурирующих задач?

В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.

Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.

Rus https://habr.com/ru/companies/ruvds/articles/739054/

Eng https://pkolaczk.github.io/memory-consumption-of-async/

@itmozg
👍3👎3😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Лучшие недооцененные сочетания клавиш в IntelliJ IDEA

Горячие клавиши заложены в ДНК IntelliJ IDEA: все возможные действия находятся у вас под рукой, даже те, которые, как вам казалось, вам не нужны.

https://blog.jetbrains.com/idea/2022/10/top-underrated-shortcuts/

👉@Bookflow
👍2
«Тушим пожары» по расписанию. Как мы защищаем Mail .ru от аварий в инфраструктуре

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

В мире IT тоже периодически происходят «катастрофы»: от перегоревшего жёсткого диска на личном ноутбуке до пожара в ЦОДе, хранящем данные миллионов пользователей. Проводя параллель, можно сказать, что IT-компании во многом схожи с городами, они тоже активно занимаются снижением рисков, оценкой, реагированием и ликвидацией последствий так называемых инцидентов — «катастроф» на языке IT.

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

https://habr.com/ru/companies/vk/articles/744242/

👉@Bookflow
👍6💩1
Что для меня значит быть программистом

Как-то мне написали с Хабра и сказали: Саня, хочешь написать статью про программистов?
Разумеется, я отнёсся к этому скептически. Ладно там девопсины или вайтхэты какие - почитать про них было бы интересно, но вот жизнь программиста... Я сразу вспомнил эти мемы, которые на самом деле не мемы, а правда:

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

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

👉@Bookflow
👍2
scrcpy

Приложение, которое обеспечивает отображение экрана и управление устройствами Android, подключенными через USB или по TCP/IP

Оно не требует root-доступа и работает на GNU/Linux, Windows и macOS

https://github.com/Genymobile/scrcpy

👉 @Githublib
👍5👎1