Программирование {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
Если на каждой ноде 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
9 способов обмена массивом Numpy между процессами

В Python можно передавать массивы numpy между процессами.

Существует множество способов передать массив numpy между процессами, например, как аргумент функции, как наследуемую глобальную переменную, через очередь или трубу, как ctype Array и RawArray, файл с отображением памяти, массив с поддержкой SharedMemory или через менеджер.

https://superfastpython.com/numpy-share-array-processes/


#python@bookflow

👉 @Bookflow
👍4🔥1
Программирование на С++

https://bdpx.github.io/cpp/


#cpp@bookflow

👉 @Bookflow
👍4🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Будьте осторожны при подсчете строк из outer join

COUNT (*) => строки в группе; всегда хотя бы одна
COUNT ( inner_tab_col ) => строки из внутренней таблицы; ноль, если нет совпадений.

Это происходит потому, что COUNT ( col ) добавляет только ненулевые значения.

Убедитесь, что inner_tab_col является обязательным!


#db@bookflow

👉 @Bookflow
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Mapwidget

Пользовательские виджеты Jupyter для создания интерактивных 2D/3D-карт с помощью популярных библиотек JavaScript с двунаправленной связью, таких как Cesium, Mapbox, MapLibre, Leaflet и OpenLayers

https://github.com/opengeos/mapwidget


#github@bookflow

👉 @Bookflow
👍3
Высокоскоростная передача пакетов в Go: От net.Dial до AF_XDP

Недавно я разработал программу на Go, которая отправляет ICMP ping-сообщения на миллионы IP-адресов. Естественно, я хотел, чтобы это происходило как можно быстрее и эффективнее. Это побудило меня изучить различные методы взаимодействия с сетевым стеком и быстрой отправки пакетов! Это было увлекательное путешествие, поэтому в этой статье я поделюсь некоторыми своими наработками и задокументирую их для себя в будущем :) Вы увидите, как мы достигаем 18,8 Мбит/с, используя всего 8 ядер. На Github есть репозиторий с примерами кода, что облегчает процесс.

https://toonk.io/sending-network-packets-in-go/


#golang@bookflow

👉 @Bookflow
👍8🔥1
KrakenD

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

https://github.com/krakend/krakend-ce


#devops@bookflow

👉 @Bookflow
👍3
Пишем калькулятор на Rust с GUI

Зачем еще один калькулятор? Да не зачем, просто как тестовый проект для рассмотрения GUI-библиотеки.

Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и кушает оперативы побольше Webview в Tauri, а до третьей я так и не добрался, узнав об Slint.

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

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


#rust@bookflow

👉 @Bookflow
👍42🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
View Transitions — это подарок 🎁

Один набор CSS keyframes и одна локальная пользовательская переменная для ::view-transition-old/new(body) 🚀


#frontend@bookflow

👉 @Bookflow
👍2
Совет по чистому коду в Python

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


#python@bookflow

👉 @Bookflow
6🔥1🤨1
Авторизация в React - базовые сведения

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

https://danshin.ms/simple-login-react-app/


#react@bookflow

👉 @Bookflow
👍1🎉1
Оптимизация GUI на Qt

Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!

https://habr.com/ru/post/672962/


#cpp@bookflow

👉 @Bookflow
👍31🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Получение значений из строк N до/после текущей строки с помощью 2-го параметра LAG/LEAD

например.

LAG ( ..., 2 ) OVER ( ORDER BY ... ) = 2 before
LEAD ( ..., 3 ) OVER ( ORDER BY ... ) = 3 after


За пределами first/last row => возвращаем null

Используйте 3-й параметр, чтобы вернуть значение по умолчанию


#db@bookflow

👉 @Bookflow
👍3🔥1👏1
VSCodium

Это свободно лицензируемый сообществом бинарный дистрибутив редактора VS Code от Microsoft.

https://github.com/VSCodium/vscodium


#github@bookflow

👉 @Bookflow
🤷‍♂3👍2🤔1
Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

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

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести минимальное, среднее и максимальное значение. Чтобы упростить задачу, было ещё несколько ограничений, однако я проигнорировал те, что относятся только к Java.

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


#golang@bookflow

👉 @Bookflow
👍4