Программирование {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
Как IndVarSimplification применяет математику в вашем коде

Хочу поделиться своей историей расследования одной довольно необычной компиляторной оптимизации. Необычна она в том плане, что для нее производятся довольно нетривиальные математические вычисления. Приступим!

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


#rust@bookflow

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

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

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

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

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

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

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

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

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

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

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

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

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

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

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

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

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

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

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

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

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

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

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем платежную карту с эффектом переворачивания, используя только HTML и CSS 🚀

https://github.com/atherosai/ui/tree/main/payment-card-02


#frontend@bookflow

👉 @Bookflow
👍5
Пять декораторов Python, которые могут сократить код в два раза

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

https://habr.com/ru/companies/slurm/articles/748176/

original https://python.plainenglish.io/five-python-wrappers-that-can-reduce-your-code-by-half-af775feb1d5


#python@bookflow

👉 @Bookflow
👍4
Media is too big
VIEW IN TELEGRAM
React-magic-motion

Это библиотека react.js, которая волшебным образом анимирует ваши компоненты.

https://www.react-magic-motion.com/


#react@bookflow

👉 @Bookflow
👍3🔥1
Как сравнить целые числа со знаком и без знака в C++20?

Сравнение двух чисел должно быть простым, верно? Может быть, и должно, но в языке C++ это не так, даже если ограничить сравнение областью целых чисел.

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

https://www.sandordargo.com/blog/2023/10/11/cpp20-intcmp-utilities


#cpp@bookflow

👉 @Bookflow
👍3
Битый или небитый? Как обеспечить целостность данных в Postgres Pro

Любому IT-администратору важно знать состояние оборудования, за которое он отвечает. Сбои в хранилище или файловой системе, повреждения страниц в оперативной памяти могут отразиться на целостности данных во всей БД. В этой статье мы расскажем, какие инструменты СУБД Postgres Pro помогут защитить ваши данные и предупредить реальные проблемы.

https://habr.com/ru/companies/postgrespro/articles/825796/


#db@bookflow

👉 @Bookflow
👍1
CompreFace – Это бесплатная система распознавания лиц с открытым исходным кодом от Exadel

https://github.com/exadel-inc/CompreFace


#github@bookflow

👉 @Bookflow
👍2🔥2
Когда Kubernetes и Go не очень хорошо работают вместе

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

https://lalatron.hashnode.dev/when-kubernetes-and-go-dont-work-well-together


#golang@bookflow

👉 @Bookflow
👍1
Terrareg

Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом

Предоставляет возможности для облегчения использования и поиска модулей, обеспечивая:
Полностью реализованный API модулей Terraform
Полностью управляемый API для автоматизации всех функций
Размещение модулей Terraform внутри или из внешнего источника Git
Аналитика использования модулей
Вся информация о модуле - README, входы, выходы, требования к провайдеру и управляемые ресурсы
Предупреждения о безопасности для каждого модуля, подмодуля и примеров
Оценка стоимости для каждого примера модуля
Исходный код примера модуля в пользовательском интерфейсе, с автоматическим переписыванием аргументов 'source'
Интерактивный «Usage builder», помогающий пользователям создавать terraform для использования модулей terraform
Хуки для приложений git SCM для автоматического индексирования модулей
Аутентификация через SSO (OpenIDConnect/SAML2) и GitHub
Поддержка провайдера Terraform (очень ранняя альфа-версия)

https://github.com/MatthewJohn/terrareg


#devops@bookflow

👉 @Bookflow
👍1
Глубокая нейронная сеть с нуля на Rust 🦀

Часть 1. Основы нейронных сетей
https://www.akshaymakes.com/blogs/rust_dnn_part1

Часть 2. Загрузка данных и инициализация модели NN
https://www.akshaymakes.com/blogs/rust_dnn_part2

Часть 3. Прямое распространение
https://www.akshaymakes.com/blogs/rust_dnn_part3

Часть 4. Функция потерь и обратное распространение
https://www.akshaymakes.com/blogs/rust_dnn_part4

Часть 5. Обучение и выводы
https://www.akshaymakes.com/blogs/rust_dnn_part_5


#rust@bookflow

👉 @Bookflow
👍4🤪21👎1🥰1🤮1
Как в Python осуществляется управление памятью

В Python объекты и структуры данных находятся в закрытой динамически выделяемой области private heap, которая управляется менеджером памяти Python. Он делегирует часть работы программам распределения ресурсов allocators, закрепленным за конкретными объектами, и одновременно с этим следит, чтобы они не выходили за пределы динамически выделяемой области.

По факту данной областью управляет интерпретатор. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динаической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.


#python@bookflow

👉 @Bookflow
👍3
C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

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

Кто-то может подумать, что данная тема уже рассказана вдоль и поперек в многочисленных мануалах по проектам для STM32 (например, хабр). Те же, кто уже понял о чем будет идти речь, может подумать что это полное повторение уже существующих подобных идей (например эта и другие статьи автора зародили во мне интерес к этой теме несколько лет назад, а вот в языке программирования Rust большинство ящиков/крейтов Cortex-M/PAC уже используют проверками безопасности при манипулировании регистрами). Однако, не нужно спешить с выводами. Я полагаю, что могу дать интересную и полезную информацию для обоих вышеперечисленных категорий читателей.

Перед началом, тему того 'Зачем вообще лезть на уровень регистров, если каждый производитель дает HAL/BSP?' я оставлю вне рамок данной статьи. Я предполагаю, что если читатель открыл статью, то ему уже интересна данная тема, и мне не столь важно почему.

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


#cpp@bookflow

👉 @Bookflow
👍5🤔21🔥1
Базы данных классифицируются в первую очередь по методу организации данных, способу их поиска и хранения, производительности при доступе к данным и способности распределять данные по нескольким узлам для повышения доступности и устойчивости


#db@bookflow

👉 @Bookflow
👍3
RustDesk

Клиентское программное обеспечение для удаленного рабочего стола с открытым исходным кодом, написанное на Rust.

Работает "из коробки", настройка не требуется. Отличная альтернатива TeamViewer и AnyDesk! Вы полностью контролируете свои данные, не беспокоясь о безопасности.

Вы можете использовать сервер разработчика или настроить свой собственный сервер или написать свой собственный сервер для рандеву/ретрансляции

https://github.com/rustdesk/rustdesk


#github@bookflow

👉 @Bookflow
👍61🥰1
Оптимизация Go: как повысить скорость и эффективность кода

Меня зовут Макс, я Go-разработчик в компании SimbirSoft. Язык Go (Golang) стремительно набирает популярность, он всё чаще внедряется в существующие программные решения, а также встречается в стеке новых проектов. Высокая производительность и скорость работы – его главные преимущества, поэтому для реализации бизнес-задач он подходит как нельзя кстати. Go легко поддерживается и отлично годится для создания MVP, из-за чего востребованность в нём растёт.

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

https://habr.com/ru/companies/simbirsoft/articles/819015/


#golang@bookflow

👉 @Bookflow
👍3🔥1🍌1
Если на каждой ноде Kubernetes кластера нужно запустить контейнер, то какой ресурс Kubernetes вам подойдет?

DaemonSet является контроллером, основным назначением которого является запуск подов на всех нодах кластера. Если нода добавляется/удаляется — DaemonSet автоматически добавит/удалит под на этой ноде.

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


#devops@bookflow

👉 @Bookflow
👍7
Joshuto

ranger-подобный терминальный файловый менеджер, написанный на Rust

https://github.com/kamiyaa/joshuto


#rust@bookflow

👉 @Bookflow
👍31🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Оптимистичное перетаскивание в Next.js


#frontend@bookflow

👉 @Bookflow
👍2🤔1