Программирование {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
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
Глубокое погружение в сетевые технологии Kubernetes

На вебинаре описывается сетевая модель Kubernetes (узлы, поды, сервисы), ее преобразование в сетевые конструкции Linux, интеграция с физической сетью и оркестровка виртуальных сетевых устройств, таких как маршрутизаторы, балансировщики нагрузки и NAT-шлюзы.

https://my.ipspace.net/bin/list?id=Kubernetes#INTRO


#devops@bookflow

👉 @Bookflow
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Как я снизил время инкрементных сборок Rust на 40%

Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование расширения процедурных макросов — привела к снижению времени инкрементных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE IntelliSense).

Если вы специалист в повышении производительности компилятора Rust, то можете сразу перейти к разделу «Кэширование расширения макросов: ускорение инкрементных сборок Rust на 40%».

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


#rust@bookflow

👉 @Bookflow
👍31🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Валидация форм - это сложно

Что если бы существовала либа форм Next.js, которая бы выполняла валидацию как на клиенте, так и на сервере из одной схемы Zod 👀.


#frontend@bookflow

👉 @Bookflow
👍1
Шифрование и расшифровка паролей

Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.

В приведенной выше реализации ключ шифрования генерируется с помощью метода Fernet.generate_key() и сохраняется в файле для дальнейшего использования.

Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography, где текст шифруется с помощью метода encrypt() и расшифровывается с помощью метода decrypt().


#python@bookflow

👉 @Bookflow
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Как использовать композицию в React для создания расширяемых компонентов?


#react@bookflow

👉 @Bookflow
Основы С++

Языку C++ почти 40 лет, но он по-прежнему актуален и востребован: сегодня он применяется повсеместно — от разработки игр и десктопных программ до «мозгов» умного дома. С помощью нашего учебника вы сможете самостоятельно изучить базовые концепции C++. Наш курс рассчитан на новичков — однако мы рассчитываем, что вы знакомы с основами информатики и владеете каким-либо языком программирования на уровне школьной программы — например, языком Python.

https://education.yandex.ru/handbook/cpp


#cpp@bookflow

👉 @Bookflow
👍4
Находим первое, N-ое или последнее значение в SQL

FIRST_VALUE ( val ) - Start val
NTH_VALUE ( val, N ) - Val at row N
LAST_VALUE ( val ) - Final val


Условие OVER определяет порядок

Будьте осторожны с использованием значения по умолчанию - оно останавливает NTH и LAST на текущем значении => неожиданные результаты


#db@bookflow

👉 @Bookflow
👍1
Подборка 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
👍2
Путеводитель C++ программиста по неопределенному поведению

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

В это же время, где-то в большом мире, матерые разработчики каждый день ругают то одни языки программирования, то другие. По самым разным причинам: не удобно, нет какой-то возможности, много лишних букв писать, ошибки в стандартной библиотеке... Но есть язык, который ругают за все и особенно за такую непонятную и таинственную вещь как неопределенное поведение (undefined behavior, UB).

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

А потом еще в течение нескольких лет он наткнется на самые кошмарные и невероятные ужасы, поджидающие программистов на C++ почти на каждом шагу. Так и появится эта серия заметок, собирающая наиболее отвратительные примеры, на которые очень легко наткнуться при решении повседневных задач.

Важно: этот сборник не является учебным пособием по языку и рассчитан на тех, кто уже знаком с программированием, с C++, и понимает основные его конструкции.

https://github.com/Nekrolm/ubbook

#cpp@bookflow

👉 @Bookflow
🎉2👍1
Шпаргалка по разрешениям файлов в Linux (разрешения SUID, SGID и Stick Bit)

#linux@bookflow

👉 @Bookflow
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Совет💡: Chrome DevTools позволяет переопределять содержимое Fetch/XHR-запросов! Это полезно для мокирования API без необходимости ждать изменений на стороне бэкенда.

#Tools@bookflow

👉 @Bookflow
👍8
Внутреннее устройство Linux - доступно, но всерьез.

Уроки по Linux от Дмитрия Кетова для самостоятельного обучаения.

https://www.youtube.com/c/DmitryKetov/playlists

#linux@bookflow

👉 @Bookflow
🔥6👍4