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

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
Анатомия асинхронных фреймворков в С++ и других языках

В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

👉 @bookflow
👍1
Как использовать Psalm на легаси проекте

Если вы задумались о необходимости использования Psalm'а на большом легаси проекте, вам нужно подумать, что делать с текущими ошибками, которых наверняка может быть больше тысячи.

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

Глобально подавлять ошибки — это однозначно плохой способ, так как повлияет и на новый код.

Конфиг

Можно воспользоваться конфигом псалма и заигнорировать те директории, где расположен старый код. Однако в таком варианте необходимо, чтобы старый код был однозначно локализован. Такое возможно при наличии некоего подобия модулей, чем может похвастаться далеко не каждый легаси проект.

<psalm>
....
<projectFiles>
<directory name="src"/>
<ignoreFiles>
<directory name="src/Module1"/>
<directory name="src/Module2"/>
<directory name="src/Module3"/>
</ignoreFiles>
</projectFiles>
....
</psalm>


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

psalm-baseline

У псалма есть решение для таких случаев — baseline. Данный способ найдёт и сохранит все текущие ошибки в конкретный xml файл и будет их игнорировать при анализе. Также вам не придётся игнорировать директории и глобально подавлять ошибки. Зато новый код в любых директориях — новых и старых — будет успешно проанализирован псалмом. Чтобы настроить baseline, вам необходимо выполнить следующую команду в вашем проекте:

./vendor/bin/psalm --set-baseline=psalm-baseline.xml


У вас в проекте появится psalm-baseline.xml файл, который необходимо закоммитить. Теперь вы сможете спокойно использовать psalm в CI. Только не забывайте в свободное время править ошибки в старых модулях. Когда вы поправите часть из них, обновите baseline:

./vendor/bin/psalm --update-baseline


И так до тех пор, пока вы не избавитесь от всех ошибок, либо не удалите модули, заменив их новыми.

👉 @php_lib
👍3🥰1
Учись сейчас, плати потом.

Спросишь, как это возможно?

Ответ простой — благодаря модели ISA. ISA пришла к нам с Запада, это взаимовыгодное сотрудничество между школой и студентом.

Во время обучения студент ничего не платит школе — только после трудоустройства ежемесячно отдает определенный % со своей зарплаты. Чем выше зарплата выпускника — тем лучше для школы, поэтому в интересах Kata сделать тебя топовым разработчиком, который сможет получить достойную зарплату.

В Kata Academy ты сможешь выучиться на Java-разработчика в формате постоплаты и устроится на зарплату минимум от 100 000₽ — это закреплено в договоре. В среднем выпускники наших курсов получают зарплату на 30-40% выше ожидаемой.

Если заинтересовался, переходи по ссылке и подробнее читай про программу обучения. Ждем тебя на курсе после прохождения тестового задания!
👍1
Как обучить джунов QA за 3 дня (сборник материалов)

Чему нужно обучить junior QA, чтобы он начал приносить пользу проекту? Конечно, было бы здорово «всему и сразу», но это может затянуться надолго. А вот с основами тестирования можно познакомить буквально за пару-тройку дней. Особенно если это фулл-тайм дни (рабочее время). Далее

#qa #testing

Подпишись👉 @testlab_qa
👍2
​Octotree – Гитхаб на стероидах

Это браузерное расширение, которое улучшает просмотр и изучение кода проектов GitHub

Такие функции, как обзор pull реквестов, синтаксические темы, возможность разделить интерфейс на несколько вкладок, пользовательские шрифты кода и другие, выводят опыт пользования GitHub на новый уровень

#GitHub | #JavaScript #Extension #Browser #Useful

👉 @Githublib
👍2
​Trivy – Сканер на наличие уязвимостей в образах контейнеров, файловых системах и репозиториях Git, а также для проблем с конфигурацией

Trivy обнаруживает уязвимости пакетов ОС (Alpine, RHEL, CentOS и т. д.) и языковых пакетов (Bundler, Composer, npm, yarn и т. д.). Кроме того, Trivy сканирует файлы Infrastructure as Code (IaC), такие как Terraform, Dockerfile и Kubernetes, чтобы обнаружить потенциальные проблемы конфигурации

#GitHub | #Go #Useful #Scanner

👉 @Githublib
Подборка каналов для IT специалистов 🎯

https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста


Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов 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

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

CodePen 📌
https://t.iss.one/codepen_1 Сообщество пользователей CodePen

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

Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка

Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков

Разработка игр 📌
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/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/ux_web Статьи, книги для дизайнеров
https://t.iss.one/arhitekturamira World Architecture

Системное администрирование 📌
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/UchuEnglish Английский с нуля

Математика 📌
https://t.iss.one/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.iss.one/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.iss.one/bitkoinoff Новости криптовалют

Метавселенная, GameFi, Crypto 📌
https://t.iss.one/metaverse360

DeepFake 📌
https://t.iss.one/deepfakenow Публикуем deepfake видео

Мир технологий 📌
https://t.iss.one/mir_teh Видео из мира технологий

Excel лайфхак📌
https://t.iss.one/Excel_lifehack
👍4
Инструмент для написания скриптов на JavaScript вместо Bash

Пакет-надстройка для child_process. С его помощью разработчики смогут создавать новые скрипты, используя для этого более привычный JavaScript вместо «традиционного» Bash.

https://github.com/google/zx

👉 @bookflow
👍1
Запросы сразу к нескольким базам данных MySQL

Представьте, что вы создаёте SaaS-продукт (связанный с электронной торговлей), где каждый пользователь занимает свою собственную маленькую базу данных (MySQL). Можно гарантировать, что данные пользователя останутся исключительно его данными. И в то же время эта система использует разделение данных на совершенно новом уровне. Всё вроде гладко, но…Далее

#MySQL

👉 @database_info
👍2
Media is too big
VIEW IN TELEGRAM
Алексей Малов. Как современные возможности C++ облегчают повседневную разработку

В докладе проиллюстрированы возможности современного C++, которые мы применяем в production-коде.

- Контейнеры, диапазоны, алгоритмы
- Смарт-пойнтеры, optional, variant
- Поддержка функциональной парадигмы программирования

#cpp #programming

👉 @cpp_lib
👍3
Реалити по закупке трафика на мобильные игры

3 игры, 3 разных разработчика, один трафик менеджер. Appodeal.

Следи за реалити в прямом эфире, получи деньги на тесты своей игры. Выиграй $20000 на рекламу своей игры от Appodeal!

Закупка в Unity, Ironsource, Mintegral, TikTok и Google Ads. Трекинг от Appsflyer.

Участие: Бесплатно

Успейте присоединиться до 5 августа.


Переходи по ссылке и вступай в Штаб Гришакова: https://t.iss.one/+X5i1K1a_1Ek0ZjJi
Forwarded from Node JS
Докеризация веб-приложения Node.js

Цель этого примера — показать, как поместить приложение Node.js в Docker-контейнер. Это руководство предназначено для разработки, но не для прямого использования в продакшене. Мы также предполагаем, что вы успешно установили Docker на свой ПК и имеете базовое представление о структуре Node.js приложения.

✍️ @nodejs_lib
👍6
Пишем приложение на JetBrains Exposed

При всём разнообразии фреймворков для работы с базой данной, стоящих и постоянно развивающихся не так уж и много. И если про Hibernate знают все, а про JOOQ знают очень многие, то слабая популярность Exposed скорее связана с его ориентацией на Kotlin. Если Вы только-только пришли в Kotlin из Java, Вам архитектурные подходы, заложенные в Exposed (переполнение лямбдами и функциями-замыканиями, к примеру) могут показаться дичью, но пугаться не стоит: чем дальше Вы будете осваивать Kotlin, тем привычнее для Вас будут конструкции Exposed. Далее

👉 @bookflow
👍3🔥1
Хочешь писать код чище, ревьюить объективнее, деплоить быстрее?

Тогда подписывайся на канал Just code IT — сообщество по программированию 🤤

Там ты найдешь обсуждения тонкостей языков, алгоритмов, ИБ, компиляторов, обзоры ретро-игр, и прочий лоу-левел и хай-тек. Нам, например, зашел обзор любительских ОС с GUI, почитайте.
👍1
Пошаговый туториал по написанию Telegram бота на Ruby (native)

Приветики-омлетики, как-то недавно у меня появилась идея написать Telegram бота на Ruby на специфическую тематику, в двух словах этот бот должен был предоставлять участникам чата (где он присутствует) развлекательную тестовую игру, в случайное время происходило определённое событие, участникам нужно было "разруливать" ситуацию с помощью команд и таким образом зарабатывать очки становясь лучшим в чате.

И вот пока я занимался написанием этого бота то познакомился с библиотекой (gem) telegram-bot-ruby, научился её использовать вместе с gem 'sqlite3-ruby’ и, кроме того, проникся многими возможностями Telegram ботов чем и хочу поделится с уважаемыми читателями этого форума, внести вклад так сказать.

@ruby_lib
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Культура общения в LATOKEN

Осторожно! Ненормативная лексика!

👉 @bookflow
🤯9😁5👍1
Подборка каналов для IT специалистов 🎯

https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/React_lib Подборки по React js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста


Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов 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

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

CodePen 📌
https://t.iss.one/codepen_1 Сообщество пользователей CodePen

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

Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка

Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков

Разработка игр 📌
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/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/ux_web Статьи, книги для дизайнеров
https://t.iss.one/arhitekturamira World Architecture

Системное администрирование 📌
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/UchuEnglish Английский с нуля

Математика 📌
https://t.iss.one/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.iss.one/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.iss.one/bitkoinoff Новости криптовалют

Метавселенная, GameFi, Crypto 📌
https://t.iss.one/metaverse360

DeepFake 📌
https://t.iss.one/deepfakenow Публикуем deepfake видео

Мир технологий 📌
https://t.iss.one/mir_teh Видео из мира технологий

Excel лайфхак📌
https://t.iss.one/Excel_lifehack
👍2
Sliver во Flutter, или как работает скролл

Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними.

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

👉 @bookflow
👍6
Ferrum — бесстрашный Ruby-драйвер для Chrome с открытым исходным кодом

Если вы хотите запустить интеграционные тесты на своем сайте, у вас есть три варианта: Poltergeist, Selenium и новое секретное оружие — Ferrum.

Poltergeist — отличный, но, к сожалению, сейчас он действительно устарел.
Selenium требует установки дополнительного программного обеспечения, он медленнее и не даёт полного контроля над браузером. Это определенно не то, что нужно.
Ferrum работает быстрее, чем Selenium, нет необходимости устанавливать дополнительное программное обеспечение, и с его помощью вы получаете полный контроль над браузером. Далее

@ruby_lib
👍1
Forwarded from BigData
Как выжать максимум из предобученных языковых моделей с GroupBERT

BERT — сегодня это одна из самых популярных и универсальных моделей ИИ. Однако из-за зависимости от операций слоя dense, точность и гибкость этой модели сопряжены с высокими вычислительными затратами. Далее

👉 @bigdata_1