Самый быстрый и безопасный PNG декодер в мире
TL;DR: декодер изображений PNG из стандартной библиотеки языка программирования Wuffs работает в 1.22–2.75 раза быстрее, чем libpng (широко используемая реализация PNG декодера на C с открытым исходным кодом), C-библиотеки libspng, lodepng и stb_image, а также самые популярные библиотеки для работы с PNG на Go и Rust.
Декодирование PNG с помощью Wuffs обсуждалось на Hacker News №1, Hacker News №2, /r/programming, /r/rust и lobste.rs.
https://habr.com/ru/articles/751462/
#cpp
👉 @bookflow
TL;DR: декодер изображений PNG из стандартной библиотеки языка программирования Wuffs работает в 1.22–2.75 раза быстрее, чем libpng (широко используемая реализация PNG декодера на C с открытым исходным кодом), C-библиотеки libspng, lodepng и stb_image, а также самые популярные библиотеки для работы с PNG на Go и Rust.
Декодирование PNG с помощью Wuffs обсуждалось на Hacker News №1, Hacker News №2, /r/programming, /r/rust и lobste.rs.
https://habr.com/ru/articles/751462/
#cpp
👉 @bookflow
👍2
Forwarded from Bash Советы
🔥 Bash-фишка дня: замена строк в файле без sed и awk
Иногда хочется быстро заменить строку в файле без сложных конструкций. Вот способ сделать это с чистым Bash и
🛠 Скрипт: заменить слово в файле
📌 Что тут происходит:
*
*
* Результат сохраняем в новый файл.
⚡️ Подходит, когда
👉@bash_srv
Иногда хочется быстро заменить строку в файле без сложных конструкций. Вот способ сделать это с чистым Bash и
while read
:🛠 Скрипт: заменить слово в файле
#!/bin/bash
INPUT="config.txt"
OUTPUT="config_new.txt"
SEARCH="localhost"
REPLACE="127.0.0.1"
while IFS= read -r line; do
echo "${line//$SEARCH/$REPLACE}"
done < "$INPUT" > "$OUTPUT"
📌 Что тут происходит:
*
IFS= read -r line
— читаем файл построчно, без обрезки пробелов.*
${line//$SEARCH/$REPLACE}
— заменяем все вхождения $SEARCH
на $REPLACE
.* Результат сохраняем в новый файл.
⚡️ Подходит, когда
sed
недоступен (да, бывает) или нужна более понятная логика замены.👉@bash_srv
👍6🤮1💩1
⚡️Хотите создавать более точные рекомендации, как это делают крупные онлайн-сервисы? LightFM — мощный инструмент, который сочетает коллаборативную фильтрацию и работу с признаками пользователей и товаров.
На открытом вебинаре 21 мая в 20:00 МСК вы узнаете, как устроена библиотека LightFM, разберётесь с подготовкой данных, обучением моделей и метриками качества (HitRate\@k, NDCG\@k). А главное — на практике научитесь строить гибридные рекомендательные модели, объединяя разные подходы для максимального результата.
После занятия вы сможете применять LightFM в реальных проектах, улучшать персонализацию и усиливать рекомендательные механики в продуктах📈
👉Регистрируйтесь на открытый урок и получите скидку на программу обучения «Рекомендательные системы»: https://vk.cc/cM5chN
На открытом вебинаре 21 мая в 20:00 МСК вы узнаете, как устроена библиотека LightFM, разберётесь с подготовкой данных, обучением моделей и метриками качества (HitRate\@k, NDCG\@k). А главное — на практике научитесь строить гибридные рекомендательные модели, объединяя разные подходы для максимального результата.
После занятия вы сможете применять LightFM в реальных проектах, улучшать персонализацию и усиливать рекомендательные механики в продуктах📈
👉Регистрируйтесь на открытый урок и получите скидку на программу обучения «Рекомендательные системы»: https://vk.cc/cM5chN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
📚 PFLlib: Легковесная и модульная библиотека для персонализированного федеративного обучения
PFLlib — это легковесная и модульная библиотека для персонализированного федеративного обучения (PFL), построенная на PyTorch. Она предлагает:
* Простую, но гибкую реализацию различных персонализированных алгоритмов ФО.
* Унифицированную инфраструктуру и API.
* Интеграцию с популярными задачами (например, NLP и CV).
* Удобную настройку через YAML.
* Минимум зависимостей (PyTorch и scikit-learn).
* Расширяемость для исследований.
📦 Поддерживаемые алгоритмы:
* pFedMe
* Ditto
* FedAMP
* FedBN
* FedPer
* FedRep
* FedBABU
* LG-FedAvg
* FedFomo
* FedPAC
* APFL
* FedOnce
* Per-FedAvg
* Scaffold
* FedAvg
🧪 Поддерживаемые задачи:
* Текстовая классификация: AG News, DBpedia, Yahoo! Answers
* Изображения: CIFAR-10, CIFAR-100, FEMNIST, Tiny-ImageNet
* Другие кастомные задачи через обобщённые интерфейсы
📁 Структура кода:
*
*
*
*
🚀 Быстрый старт:
https://github.com/TsingZ0/PFLlib
👉 @Bookflow
PFLlib — это легковесная и модульная библиотека для персонализированного федеративного обучения (PFL), построенная на PyTorch. Она предлагает:
* Простую, но гибкую реализацию различных персонализированных алгоритмов ФО.
* Унифицированную инфраструктуру и API.
* Интеграцию с популярными задачами (например, NLP и CV).
* Удобную настройку через YAML.
* Минимум зависимостей (PyTorch и scikit-learn).
* Расширяемость для исследований.
📦 Поддерживаемые алгоритмы:
* pFedMe
* Ditto
* FedAMP
* FedBN
* FedPer
* FedRep
* FedBABU
* LG-FedAvg
* FedFomo
* FedPAC
* APFL
* FedOnce
* Per-FedAvg
* Scaffold
* FedAvg
🧪 Поддерживаемые задачи:
* Текстовая классификация: AG News, DBpedia, Yahoo! Answers
* Изображения: CIFAR-10, CIFAR-100, FEMNIST, Tiny-ImageNet
* Другие кастомные задачи через обобщённые интерфейсы
📁 Структура кода:
*
pfllib/core
: ядро алгоритмов*
pfllib/models
: модели и представления*
pfllib/tasks
: предобработанные датасеты и задачи*
pfllib/utils
: вспомогательные функции🚀 Быстрый старт:
git clone https://github.com/TsingZ0/PFLlib.git
cd PFLlib
pip install -r requirements.txt
python main.py --cfg configs/xxx.yaml
https://github.com/TsingZ0/PFLlib
👉 @Bookflow
👍1
Пишем собственную виртуальную машину
В этом руководстве я научу вас, как написать собственную виртуальную машину (VM), которая сможет выполнять программы на языке ассемблера, такие как игра моего друга "2048" или мой Roguelike. Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера, и глубже разобраться, как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться сложной задачей, но я обещаю, что вы найдете это удивительно простым и познавательным.
Конечный код занимает около 250 строк на C (unix, windows). Все, что вам нужно знать, — это как читать базовый C или C++ и выполнять двоичную арифметику.
https://justinmeiners.github.io/lc3-vm/
#cpp
👉 @Bookflow
В этом руководстве я научу вас, как написать собственную виртуальную машину (VM), которая сможет выполнять программы на языке ассемблера, такие как игра моего друга "2048" или мой Roguelike. Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера, и глубже разобраться, как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться сложной задачей, но я обещаю, что вы найдете это удивительно простым и познавательным.
Конечный код занимает около 250 строк на C (unix, windows). Все, что вам нужно знать, — это как читать базовый C или C++ и выполнять двоичную арифметику.
https://justinmeiners.github.io/lc3-vm/
#cpp
👉 @Bookflow
👍3🔥1
🧑🏻💻Хотите начать карьеру в программировании или улучшить свои навыки? Python — один из самых востребованных языков, который откроет для вас множество возможностей.
На курсе «Python Developer. Basic» вы научитесь создавать веб-приложения, работать с базами данных, использовать фреймворки FastAPI и Django, а также погрузитесь в асинхронное программирование.
Не упустите шанс прокачать свои навыки под руководством опытных практикующих экспертов. Программа курса регулярно обновляется с учетом требований рынка. После окончания вы будете готовы к реальным задачам и сможете претендовать на роль уверенного Junior Python-разработчика.
🚀Старт группы уже близко, оставьте заявку прямо сейчас и получите скидку на обучение: https://vk.cc/cM8BJE
На курсе «Python Developer. Basic» вы научитесь создавать веб-приложения, работать с базами данных, использовать фреймворки FastAPI и Django, а также погрузитесь в асинхронное программирование.
Не упустите шанс прокачать свои навыки под руководством опытных практикующих экспертов. Программа курса регулярно обновляется с учетом требований рынка. После окончания вы будете готовы к реальным задачам и сможете претендовать на роль уверенного Junior Python-разработчика.
🚀Старт группы уже близко, оставьте заявку прямо сейчас и получите скидку на обучение: https://vk.cc/cM8BJE
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
5 малоизвестных Git-приёмов, которые спасут вашу жизнь
1️⃣
Не только коммиты, но и переключения веток, сбросы и прочие «хаки»:
2️⃣
Если в одной и той же точке вы часто сталкиваетесь с конфликтами, включите rerere:
3️⃣
Когда баг появился неясно где, let Git do the detective work:
4️⃣
Чтобы не забыть, зачем вы сохраняете рабочие правки:
5️⃣
Для одновременной работы над фичами и багфиксами без переключений:
🔥 Попробуйте эти трюки уже сегодня — и забудьте про потерянный код и бесконечные конфликты!
👉 @Bookflow
1️⃣
git reflog
— история всех ваших шаговНе только коммиты, но и переключения веток, сбросы и прочие «хаки»:
git reflog
# вернёт список всех HEAD-перемещений
git checkout HEAD@{3}
# вернёт вас на три шага назад
2️⃣
git rerere
— повторное разрешение конфликтовЕсли в одной и той же точке вы часто сталкиваетесь с конфликтами, включите rerere:
git config --global rerere.enabled true
# при повторном конфликте Git запомнит ваше решение
3️⃣
git bisect
— автоматический поиск «битого» коммитаКогда баг появился неясно где, let Git do the detective work:
git bisect start
git bisect bad # текущая версия с багом
git bisect good v1.0 # последний рабочий тег
# Git сам предложит вам протестировать промежуточные коммиты
4️⃣
git stash push -m
— храни временные изменения с заметкойЧтобы не забыть, зачем вы сохраняете рабочие правки:
git stash push -m "WIP: эксперимент с OAuth"
git stash list
# будет видно вашу подпись
5️⃣
git worktree
— несколько рабочих копий одного репозиторияДля одновременной работы над фичами и багфиксами без переключений:
git worktree add ../my-feature-branch feature/X
cd ../my-feature-branch
# у вас рядом две папки: main и my-feature-branch
🔥 Попробуйте эти трюки уже сегодня — и забудьте про потерянный код и бесконечные конфликты!
👉 @Bookflow
👍9❤3
Как читать язык ассемблера
Зачем кому-то нужно изучать язык ассемблера? Во-первых, чтение языка ассемблера - это способ узнать, что именно делает ваша программа. Почему именно эта программа на Си++ занимает 1 Мб (скажем), а не 100 Кб? Можно ли выжать еще немного производительности из той функции, которая постоянно вызывается?
В частности, для языка Си++ легко забыть или просто не заметить какую-либо операцию (например, неявное преобразование или вызов конструктора или деструктора копирования), которая подразумевается исходным кодом и семантикой языка, но не прописана в явном виде. Если посмотреть на ассемблер, сгенерированный компилятором, то все будет на виду.
https://wolchok.org/posts/how-to-read-assembly-language/
#asm
👉 @Bookflow
Зачем кому-то нужно изучать язык ассемблера? Во-первых, чтение языка ассемблера - это способ узнать, что именно делает ваша программа. Почему именно эта программа на Си++ занимает 1 Мб (скажем), а не 100 Кб? Можно ли выжать еще немного производительности из той функции, которая постоянно вызывается?
В частности, для языка Си++ легко забыть или просто не заметить какую-либо операцию (например, неявное преобразование или вызов конструктора или деструктора копирования), которая подразумевается исходным кодом и семантикой языка, но не прописана в явном виде. Если посмотреть на ассемблер, сгенерированный компилятором, то все будет на виду.
https://wolchok.org/posts/how-to-read-assembly-language/
#asm
👉 @Bookflow
👍6👎1
Хотите освоить C++ с нуля и стать востребованным разработчиком?
Пройдите курс от OTUS и получите знания, которые откроют перед вами новые карьерные горизонты!
⚡️ Этот курс идеально подходит для начинающих и тех, кто хочет углубить свои знания. С нуля до уровня Middle Developer — вы освоите создание собственных типов данных, работу с многопоточностью и современными стандартами C++. Изучите лучшие практики проектирования, работу с памятью и сетью, а также освоите принцип работы с базами данных и CI/CD.
🔥 На обучении вы разработаете 2 реальных проекта для портфолио, а диплом OTUS поможет вам уверенно проходить собеседования в крупнейших компаниях. Станьте частью индустрии с актуальными знаниями!
👉 Оставьте заявку: https://vk.cc/cMiI26
Пройдите курс от OTUS и получите знания, которые откроют перед вами новые карьерные горизонты!
⚡️ Этот курс идеально подходит для начинающих и тех, кто хочет углубить свои знания. С нуля до уровня Middle Developer — вы освоите создание собственных типов данных, работу с многопоточностью и современными стандартами C++. Изучите лучшие практики проектирования, работу с памятью и сетью, а также освоите принцип работы с базами данных и CI/CD.
🔥 На обучении вы разработаете 2 реальных проекта для портфолио, а диплом OTUS поможет вам уверенно проходить собеседования в крупнейших компаниях. Станьте частью индустрии с актуальными знаниями!
👉 Оставьте заявку: https://vk.cc/cMiI26
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
😁2
Учебник по Тетрису на C++, платформенно-независимый, с акцентом на игровую логику для начинающих
Мы собираемся узнать, как с нуля создать клон Тетриса, используя простой и чистый C++.
И это займет у вас меньше часа! Это идеальный урок для начинающих.
https://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/
#cpp
👉 @Bookflow
Мы собираемся узнать, как с нуля создать клон Тетриса, используя простой и чистый C++.
И это займет у вас меньше часа! Это идеальный урок для начинающих.
https://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/
#cpp
👉 @Bookflow
👍5❤1
Не знаешь на кого пойти учиться ?💥
🛑 Пройди бесплатные онлайн-курсы
🛑 Узнай о самых востребованных профессиях
🛑 Получи уникальную возможность поступить в «Алабуга Политех» после 9 или 11 класса
ПРОЙДИ КУРС ПРЯМО СЕЙЧАС!
ПРОЙДИ КУРС ПРЯМО СЕЙЧАС!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🍾2⚡1
Архитектура Docker состоит из трех основных компонентов
🔹 Клиент Docker
Это интерфейс, через который осуществляется взаимодействие с пользователями. Он взаимодействует с демоном Docker.
🔹 Docker Host
Здесь демон Docker принимает запросы Docker API и управляет различными объектами Docker, включая образы, контейнеры, сети и тома.
🔹 Реестр Docker
Здесь хранятся образы Docker. Например, широко используется публичный реестр Docker Hub.
👉 @Bookflow
🔹 Клиент Docker
Это интерфейс, через который осуществляется взаимодействие с пользователями. Он взаимодействует с демоном Docker.
🔹 Docker Host
Здесь демон Docker принимает запросы Docker API и управляет различными объектами Docker, включая образы, контейнеры, сети и тома.
🔹 Реестр Docker
Здесь хранятся образы Docker. Например, широко используется публичный реестр Docker Hub.
👉 @Bookflow
👍4
1. Поиск в глубину (DFS, Depth First Search)
2. Поиск в ширину (BFS, Breadth First Search)
3. Топологическая сортировка
4. Алгоритм объединения и поиска (Union Find, или Система непересекающихся множеств)
5. Обнаружение циклов
6. Нахождение связанных компонент
7. Двуцветный граф (Bipartite Graphs, определение двудольности)
8. Заливка области (Flood Fill)
9. Минимальное остовное дерево (Minimum Spanning Tree)
10. Кратчайший путь (Shortest Path)
👉 @Bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
👎2
Великая иллюзия Copilot
Глава 1: мой коллега, программист
Пустая оболочка человека. Он больше похож на попугая, чем на личность. Мой начальник, искренне верящий в священнодействие Парного Программирования, сковал цепью меня и этого коллегу-«программиста», как сиамских близнецов с разных планет. Общей была наша клавиатура, но не мышление. Боже, как же он был далёк от этого.
«Постой-ка. У меня появилась идея. Дай мне клавиатуру.»
Идея. Ага. Как у младенца появляется «идея» засунуть вилку в розетку. Я почти доделал нечто прекрасное; стройную, изящную логику, пронзающую сложность подобно ножу, режущему масло. И тут появился он — бьёт по клавиатуре, как будто она ему деньги должна, копипастит код-франкенштейн из комментария на StackOverflow, написанный последователем Дяди Боба в 2014 году.
Знает ли он, что делает наша система? Нет.
Прочитал ли он тикет? Разумеется, нет.
Ощущает ли он уверенность, когда безрассудно корёжит глобальное состояние? Разумеется, да.
https://habr.com/ru/articles/913314/
original https://deplet.ing/the-copilot-delusion/
👉 @Bookflow
Глава 1: мой коллега, программист
Пустая оболочка человека. Он больше похож на попугая, чем на личность. Мой начальник, искренне верящий в священнодействие Парного Программирования, сковал цепью меня и этого коллегу-«программиста», как сиамских близнецов с разных планет. Общей была наша клавиатура, но не мышление. Боже, как же он был далёк от этого.
«Постой-ка. У меня появилась идея. Дай мне клавиатуру.»
Идея. Ага. Как у младенца появляется «идея» засунуть вилку в розетку. Я почти доделал нечто прекрасное; стройную, изящную логику, пронзающую сложность подобно ножу, режущему масло. И тут появился он — бьёт по клавиатуре, как будто она ему деньги должна, копипастит код-франкенштейн из комментария на StackOverflow, написанный последователем Дяди Боба в 2014 году.
Знает ли он, что делает наша система? Нет.
Прочитал ли он тикет? Разумеется, нет.
Ощущает ли он уверенность, когда безрассудно корёжит глобальное состояние? Разумеется, да.
https://habr.com/ru/articles/913314/
original https://deplet.ing/the-copilot-delusion/
👉 @Bookflow
👍6🤷♂1
🔍 Мини-гайд: Индексы в PostgreSQL
1. Зачем нужны индексы?
▪️ Ускоряют
▪️Снижают нагрузку при выборках без полного сканирования таблицы.
2. Типы индексов
▪️B-tree (по умолчанию): точный поиск (
▪️Hash: для точного сравнения, но используется редко.
▪️GIN: массивы и полнотекстовый поиск.
▪️GiST: геоданные (PostGIS), диапазоны (
▪️BRIN: очень большие таблицы, где данные «почти упорядочены» (по дате).
3. Практические советы
▪️Оценивайте запросы через
▪️Не создавайте индекс «про запас»: каждый замедляет
▪️Составные индексы: порядок колонок критичен.
▪️Избегайте низкокардинальных колонок (boolean, ENUM) — индекс неэффективен, если фильтр возвращает большинство строк.
▪️Актуализируйте статистику: запускайте
▪️Удаляйте устаревшие индексы:
▪️Используйте
4. Подводные камни
▪️Бесполезный индекс: если
▪️Функциональные индексы:
▪️Блокировки: для создания без блокировки пишите:
Но этот процесс дольше и требует больше места.
▪️Индексы на внешних ключах: без них при удалении/обновлении родительской записи будут долгие сканы.
Итог:
Индексы — мощный инструмент, если их грамотно использовать. Анализируйте планы запросов, не создавайте лишних, следите за статистикой и удаляйте устаревшие.
Сохрани, чтобы не забыть, и поделись с коллегами. А как ты выбираешь индексы у себя? Пиши в комментариях!
👉 @Bookflow
1. Зачем нужны индексы?
▪️ Ускоряют
SELECT
, JOIN
, ORDER BY
, GROUP BY
.▪️Снижают нагрузку при выборках без полного сканирования таблицы.
2. Типы индексов
▪️B-tree (по умолчанию): точный поиск (
=
), диапазоны (<
, >
), сортировки.
CREATE INDEX idx_users_email ON users(email);
▪️Hash: для точного сравнения, но используется редко.
▪️GIN: массивы и полнотекстовый поиск.
CREATE INDEX idx_docs_content
ON documents USING GIN(to_tsvector('russian', content));
▪️GiST: геоданные (PostGIS), диапазоны (
int4range
, tsrange
).▪️BRIN: очень большие таблицы, где данные «почти упорядочены» (по дате).
CREATE INDEX idx_logs_created_at
ON logs USING BRIN(created_at);
3. Практические советы
▪️Оценивайте запросы через
EXPLAIN ANALYZE
или pg_stat_statements
.▪️Не создавайте индекс «про запас»: каждый замедляет
INSERT/UPDATE/DELETE
.▪️Составные индексы: порядок колонок критичен.
CREATE INDEX idx_users_city_age
ON users(city, age);
▪️Избегайте низкокардинальных колонок (boolean, ENUM) — индекс неэффективен, если фильтр возвращает большинство строк.
▪️Актуализируйте статистику: запускайте
ANALYZE
после больших загрузок/удалений.▪️Удаляйте устаревшие индексы:
DROP INDEX IF EXISTS idx_old_column;
▪️Используйте
REINDEX
для устранения фрагментации:
REINDEX INDEX idx_users_email;
4. Подводные камни
▪️Бесполезный индекс: если
WHERE
возвращает ≥90% строк (например, is_active = true
при 99% активных).▪️Функциональные индексы:
CREATE INDEX ON table ((LOWER(name)))
сработает только при точном вызове WHERE LOWER(name) = 'ivan'
.▪️Блокировки: для создания без блокировки пишите:
CREATE INDEX CONCURRENTLY idx_orders_status ON orders(status);
Но этот процесс дольше и требует больше места.
▪️Индексы на внешних ключах: без них при удалении/обновлении родительской записи будут долгие сканы.
Итог:
Индексы — мощный инструмент, если их грамотно использовать. Анализируйте планы запросов, не создавайте лишних, следите за статистикой и удаляйте устаревшие.
Сохрани, чтобы не забыть, и поделись с коллегами. А как ты выбираешь индексы у себя? Пиши в комментариях!
👉 @Bookflow
👍7