Программирование {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
Как перестать переусложнять и начать жить

Давно хотел написать статью о наболевшем. За более чем 12 лет разработки и работы в разных компаниях, командах, на рынках запада и России я вижу самый главный и самый жуткий бич всего ИТ - переусложнение на ровном месте. В статье я попробую раскрыть что я имею в виду, приведу примеры переусложнения и предложу варианты как с этим бороться.

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

👉 @bookflow
3👍3🥱2
Автодокументация Doxygen и её развертывание на GitHub Pages

Всем привет! В этой статье расскажу, как я создаю и публикую документацию для своих проектов. Документация создается автоматически из папки с проектом, развертывается на GitHub и обновляется автоматически при каждом коммите. Готовый результат, чтобы вы поняли нужно ли вам читать дальше, доступен здесь.

Я очень люблю писать код. И вот насколько я люблю писать его, настолько же я не люблю писать документацию, но при этом осознаю всю её важность. Можно писать всю сопроводительную информацию прямо в коде, и написание комментариев является хорошим тоном, так как позволяет проще разобраться в структуре программы или библиотеки. Описание функций или классов прямо в файлах проекта удобно, когда программист видит исходники перед собой и работает непосредственно с ним, но если кто‑то хочет использовать код как черный ящик, и ему мало важны исходники, так как он пользуется, например, готовыми бинарными файлами. В такой ситуации искать необходимые файлы, например, заголовочные для C++, по разным папкам компьютера не очень удобно, и хотелось бы иметь полноценную документацию в одном месте.

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

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

👉 @bookflow
👍72
Как я случайно превратила свой сокращатель ссылок в приманку для мошенников

Пару месяцев назад я запустила сервис y.gy, навороченный сокращатель URL. Вызвано это было личной нуждой: в другом моём проекте, getwaitlist.com, используется множество реферальных ссылок, а доступные сервисы сокращения url не внушали мне доверия. В итоге я решила создать собственный инструмент, который наверняка окажется полезен не только мне.

Я разработала лучший в своём роде сокращатель со всеми возможными примочками, начиная с обширной кастомизации и заканчивая хорошей аналитикой трафика. Это всё, что мне было нужно. По аналогии со многими аналогичными инструментами я разместила интерфейс «Shorten Link» по центру домашней страницы. Регистрация для использования сервиса не требуется. Я сделала доступ бесплатным и неограниченным, опираясь на принцип: «бесплатность – лучшая маркетинговая стратегия». Закончив с настройкой, я без громких заявлений сделала релиз и начала потихоньку продвигать свой проект.

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

original https://app.y.gy/blog/honeypot

👉 @bookflow
👍6🔥211🙈1
VK Kubernetes Conf — первая Kubernetes-конференция 2024 года

28.03.2024, 14:00 МСК

28 марта VK Cloud проведёт новую конференцию VK Kubernetes Conf, чтобы команды, которые работают с оркестратором и накапливают колоссальный опыт, могли поделиться им с сообществом.

Основной темой обсуждения внутри комьюнити была и остается сложность оркестратора: растёт количество инструментов, усложняются архитектурные паттерны, повышаются требования к ИБ и к администрированию решений — защищенность Kubernetes становится приоритетом №1. Первое K8s-событие этого года будет посвящено отказоустойчивости и аварийному восстановлению, уязвимостям кластеров и тому, как с ними бороться. Спикеры и участники обсудят сценарии применения Kubernetes, которые в последние годы набирают обороты, среди них — работа с данными и ML.

Спикерами конференции станут эксперты из «Тинькофф», VK, Wildberries, VK Cloud, Газпромбанка, билайна и других компаний. Доклады помогут решить типичные проблемы пользователей оркестратора, а также просто расширят кругозор, чтобы в непредвиденных ситуациях каждый специалист понимал вектор подходов к решению аварийной или среднестатистической задачи на своих проектах.

VK Kubernetes Conf — это повод встретиться с сообществом и обменяться опытом, получить совет от специалистов и просто хорошо провести время с людьми, которые говорят с тобой на одном языке.

Конференция будет интересна разработчикам, инженерам доступности сервисов (SRE), DevOps и DevSecOps-инженерам, архитекторам, тестировщикам и всем, кто работает с Kubernetes.

Регистрация
💩2🆒1
Forwarded from React
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Совет по React💡

Ввод возвращаемых значений пользовательских хуков с помощью TypeScript

✍️ @React_lib
👍2🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Vim-gpt

Этот плагин добавляет chat gpt в Vim и NVim Цель этого плагина - помочь вам в решении различных задач разработки.

Текущие возможности
Чат с GPT (в настоящее время gpt3.5-turbo-16k) в отдельном буфере. Вывод осуществляется в формате markdown.
GPT может вызывать предыдущие сообщения из текущей сессии.
GPT может выполнять код на Python и Lua и взаимодействовать с редактором.
GPT может осуществлять поиск в Интернете (google, ddg, wikipedia) и читать содержимое веб-страниц.
Выбранный текст/код добавляется в подсказку.
GPT знает язык вашего текущего буфера.
Несколько сессий. Вы можете сохранить сессию и продолжить разговор позже, если это необходимо.

https://github.com/kamou/gpt-vim

👉 @bookflow
👍3🔥1
StereoDB

Сверхбыстрая и легкая база данных с памятью в процессе, написанная на F#, которая поддерживает: транзакции, вторичные индексы, персистентность и размер данных больше, чем RAM. Основное применение этой базы данных - создание Stateful Services (API или ETL Worker), которые хранят все данные в памяти и могут обеспечить миллионы RPS с одного узла.

Поддерживаемые функции:

C# and F# API
Basic SQL support
Transactions (read-only, read-write)
Secondary Indexes
Value Index (hash-based index)
Range Scan Index
Data size larger than RAM
Data persistence
Distributed mode
Server and client discovery
Range-based sharding

https://github.com/StereoDB/StereoDB#stereodb

#db

👉 @database_info
👍5💩1🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда закончились идеи как назвать переменную⁠⁠ 😀

👉 @bookflow
👍8😁7
Разработка BIOS на языках высокого уровня

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

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

👉@Bookflow
👍3💩1
Бесплатная электронная книга Введение в Git и GitHub

Это руководство по Git и GitHub с открытым исходным кодом, которое поможет вам изучить основы контроля версий и начать использовать Git для ваших проектов SysOps, DevOps и Dev. Независимо от того, являетесь ли вы инженером DevOps/SysOps, разработчиком или просто любителем Linux, вы можете использовать Git для отслеживания изменений в коде и сотрудничества с другими членами вашей команды или сопровождающими открытого кода.

Руководство подходит для всех, кто работает разработчиком, системным администратором или инженером DevOps и хочет изучить основы Git, GitHub и контроля версий в целом.

https://github.com/bobbyiliev/introduction-to-git-and-github-ebook

👉@Bookflow
👍8
Бобры-п[р]огромисты

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

Бобер-HRобер: я увидела как грызете дерево в соседнем лесу, не хотите перебраться к нам? У нас деревья синие и потолще ваших, зеленые деревья нынче не в моде.
Бобер-погромист: хм, наверное нет, толщина текущих деревьeв меня устраивает.

Бобер-HRобер: ну вы всё-таки приходите, мы заложили пару делянок, где самые опытные бобры будут распиливать очень старую монолитную сосну с ветками длиной 98 см, на доски очень модной нынче длины 23 см, а еще у вас также будет возможность повлиять на толщину досок длиной 26 см.
Бобер-погромист: а вот это интересно, отправляйте соловья.

Через неделю, на комфортабельной полянке где-то в синем лесу.

Senior-Бобер: Итак, вы считаете себя хорошим бобром?
Бобер-погромист: Всё верно. Грызу деревья разной толщины уже лет двадцать.

Lead-Бобер: А ветки какой длины предпочитаете?
Бобер-погромист: Ветки 17см самые вкусные

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

👉@Bookflow
👍2
Как совмещать основную работу и проекты на стороне

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

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

👉 @bookflow
👍5💩1
Quantization Deep Dive, или Введение в современную квантизацию

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

https://habr.com/ru/companies/yandex/articles/800945/

👉 @bookflow
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Шпаргалка по проектированию систем.

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

🔹 Requirement gathering
🔹 System architecture
🔹 Data design
🔹 Domain design
🔹 Scalability
🔹 Reliability
🔹 Availability
🔹 Performance
🔹 Security
🔹 Maintainability
🔹 Testing
🔹 User experience design
🔹 Cost estimation
🔹 Documentation
🔹 Migration plan

👉 @bookflow
5👍2
Темная сторона Open Source

"Вносите вклад в открытый исходный код, это лучшее, что со мной случилось!" - все чаще и чаще слышу я в Twitter в последнее время. Хотя я не возражаю против самого высказывания, мне кажется, что в нем непреднамеренно (или намеренно) упускается приличная часть правды о вкладе и авторстве открытого кода. Это похоже на то, как если бы вы рекомендовали туристический маршрут, с которого в конце концов открывается незабываемый вид, но при этом вы не упоминаете о том, сколько трудностей и подготовки требует этот поход.

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

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

👉 @bookflow
👍2
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.

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

Ознакомиться с книгой
👍1
Когда пишешь приложения для себя

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

А как насчёт написать для своей семьи мобильное приложение? Это уже новый уровень.

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

👉 @bookflow
👍6
Подборка 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👍1