proglibrary | Technologies

Telegram-канал proglibrary - Библиотека программиста | программирование, кодинг, разработка

77044

Все самое полезное для программиста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/a32a0d94 Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Subscribe to a channel

Библиотека программиста | программирование, кодинг, разработка

📨 Как работают очереди и брокеры сообщений

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

1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.

Это самый простой пример. Очереди сообщений можно использовать для:

✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.

Подробнее читайте в нашем гайде 👇

🔗 Читать статью
🔗 Зеркало

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

💡 Полезные паттерны для интеграции/проектирования систем: на заметку разработчику

👉 Источник

#инфографика

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🪶 Как следовать принципу DRY при настройке Apache APISIX

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

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

В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.

🔗 Читать статью
🔗 Зеркало

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🤯 Что вам помогает работать, когда устаете? Когда в отпуск ну вообще никак, а сил уже нет.

💬 Может быть, чтение отвлеченной литературы, спорт, дневной сон, прогулки, встречи с друзьями, что-то ещё?

#интерактив

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🐧 Подборка шпаргалок по Linux: на заметку разработчику

#шпаргалки

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

⚒️ Redis для VS Code — официальное расширение Visual Studio Code, предоставляющее интуитивно понятный и эффективный графический интерфейс для баз данных Redis,.

👉 Основные возможности:
Универсальная поддержка Redis: подключение к любому инстансу Redis, включая Redis Community Edition, Redis Cloud, Redis Software и Redis в Azure Cache.
Расширенные возможности подключения: поддержка TLS-сертификатов и SSH-туннелей, а также автоматическая распаковка данных в форматах GZIP, SNAPPY, Brotli и других.
Типы данных: поддерживает строки, хэши, списки, множества, отсортированные множества и JSON.
Представление данных в удобном формате.
Интегрированный интерфейс командной строки Redis: использование Redis CLI с предварительным просмотром синтаксиса при вводе команд.

📦 Скачать

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Mojo – новый язык программирования, претендующий на звание «круче Python»

Разработчики представили Mojo — простой язык для разработки ИИ.

Его главная фишка — скорость, Mojo заявляет, что в некоторых задачах может быть до 35 000 раз быстрее, чем Python. Но такие заявления обычно относятся к определенным оптимизированным вычислительным задачам, особенно в контексте работы с AI и числовыми расчетами, где Python изначально имеет слабые места из-за интерпретируемости и ограничений GIL.

У Mojo есть все шансы вытеснить Python на задачах с интенсивной обработкой данных, особенно в AI и ML

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🐧 Подборка шпаргалок по Linux: на заметку разработчику

#шпаргалки

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🎉 Всех причастных с праздником!

#назлобудня

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🍉 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок

😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
👍 25 полезных HTML тегов, элементов и атрибутов, которые должен знать каждый фронтендер
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Помянем пиратские APK: Google начал блокировать пиратские приложения, которые установлены не из Play Market.

Самое обидное, что у школьников перестал работать Minecraft. Но есть выход — не обновляться до последней ОС. Тогда есть шанс ненадолго остаться «пиратом».

На форумах уже вовсю идёт поиск, как обойти блокировку.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Российские компании начали активно нанимать программистов из Африки

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

Конечно, есть сомнения по качеству таких сотрудников


👉 Ссылка на новость

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

Читать статью

#почитать

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

• Нерекурсивная часть (базовый случай) — создает начальные данные.
• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
pallada-92/sql-3d-engine">3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

Игровой цикл. В основе игры – рекурсивное общее табличное выражение (CTE). Оно создает бесконечный цикл, который инициализирует состояние игры, обновляет его на основе ввода пользователя и отрисовывает игру. Цикл продолжается, пока игра не закончится.
Вывод игры. Поскольку SQL-запрос обычно возвращает результат только после завершения, для отображения игры в реальном времени используется команда RAISE NOTICE. Эта команда выводит информацию в стандартный вывод, позволяя отображать игровое поле и другую информацию в процессе игры.
Пользовательский ввод. Обработка пользовательского ввода реализована через отдельную таблицу в базе данных. Эта таблица служит коммуникационной шиной между игрой и пользователем. Пользователь добавляет команды в эту таблицу, а игра их считывает.
Решение проблемы изоляции данных. Чтобы игра могла видеть новые команды, добавленные в таблицу ввода во время выполнения запроса, используется расширение dblink. Оно позволяет создавать новое подключение к базе данных с новым снимком данных, что дает возможность считывать самые последние команды пользователя.
Предотвращение кэширования. Чтобы PostgreSQL не кэшировал результаты запроса к таблице ввода, к запросу добавляется уникальный идентификатор итерации. Это заставляет базу данных выполнять запрос заново на каждой итерации игрового цикла.

Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.

• Подзапросы позволяют вычислить новое состояние игры после каждого хода, включая позицию фигуры, состояние поля, счет и т. д. К примеру, рекурсивный подзапрос используется для вычисления максимального количества линий, на которые может упасть текущая фигура.
• Агрегации применяются для подсчета очищенных линий, выбора фигуры с наименьшим рангом, обновления счета и уровня игры. Например, BOOL_OR() применяется для определения, есть ли хотя бы одно столкновение между фигурой и занятыми клетками на поле.

🔗 Подробнее читайте в статье
🔗 Зеркало

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Опрос «Как вы учитесь с помощью телефона: поделитесь своим опытом!»

Дорогие подписчики, мы на миссии улучшений, и вы — наш ключ! 🔑


Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!

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

⏳ Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🤖 AIHawk: Автоматизация поиска работы с помощью ИИ

AIHawk — это скрипт на Python, который помогает автоматически отправлять резюме на различные вакансии. Проект поддерживает интеграцию с сайтами по поиску работы (LinkedIn) и использует ИИ для оптимизации процесса подачи заявок.

Cуть такая: ИИ берёт ваши данные и подгоняет под резюме, а потом отправляет работодателю


👉 Ссылка на полезный репозиторий

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

⚠️ Что происходит: подборка важных новостей

👨‍🏫 Нобель по физике присужден за работы о машинном обучении нейросетей.

🔵 Discord заблокировали в России — за нарушение требований законодательства

🔒 Группировка DumpForums заявила о взломе «Доктор Веб»

⌨️ Мини-ПК в виде складной клавиатуры появился на Kickstarter

🐍 Питон: что нового в версии 3.13

👁 Qt 6.8 принёс разработчикам возможность творить для Vision Pro и OpenXR

Поделитесь тем, о чём забыли написать

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

LibreCUDA: Альтернатива фирменной CUDA от Nvidia

LibreCUDA — проект, который позволяет использовать API драйвера CUDA, не прибегая к фирменным инструментам Nvidia. Проще говоря, LibreCUDA — это замена стандартной среды выполнения CUDA.

Из плюсов: программа поддерживается сообществом и не потеряет свою актуальность

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🐍🍽 Питон съел GIL на завтрак: что нового в версии 3.13

Ты сидишь? Лучше сядь. После года разработки они реально сделали это — JIT-компилятор, улучшенная типизация, и, ты не поверишь, GIL наконец-то отправляется на пенсию!

В ближайшие время начнётся альфа-тестирование ветки Python 3.14.

Читайте подробнее в нашей статье:
🔗 Ссылка

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Привет, друзья! 👋

Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью.

Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?

Спасибо за ваше участие! 🚀

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

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

Приглашаем на курс для прокачки навыков архитектора и проектировщика, которые важны для профессионального роста программиста.

🌐 С онлайн-буткэмпом «Производительность и масштабирование» вы:

▪️ погрузитесь в highload за короткий срок: в первый же день получите в управление свою инфраструктуру, и на практике изучите производительность и масштабирование веб-серверов, серверов приложений, баз данных, кеш-серверов и др.
▪️ изучите ключевые фундаментальные паттерны и получите навыки проектирования проектов с миллионной аудиторией (балансировка, масштабирование апп/кешей/субд, высокая доступность и кластерные решения, шардинг, CAP/PACELC, консистентность, саги, транзакционные очереди и многое другое)
▪️ поупражняетесь в проектировании и получите обратную связь на реальных задачах: магазин/маркетплейс, такси/доставка, обьявления, соцсети, дейтинг, игры, википедия, мессенжер, CDN, хранилище файлов, онлайн-кинотеатр, счетчики, удаленный мониторинг, интеграционные вебхуки, рассылки и тд.
▪️ научитесь планировать нагрузку и связывать бизнес-показатели с нефункциональными требованиями к системе
▪️ попрактикуемся в проведении и прохождения секций системного дизайна на интервью

Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, презентации домашних проектов).

🥸 Кто мы: школа Devhands, основатель школы и автор курса Алексей Рыбак (/channel/rybakalexey), ex-СТО Badoo, с 20-летним опытом высоконагруженных проектов и и управления глобальными технологическими организациями, член программного комитета Highload.
🗓 Старт 22-го октября, изучаем программу, записываемся здесь

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2Vtzqv8dwE1

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

«Awesome» — огромный репозиторий всего самого полезного для разработчиков

Это одна из крупнейших коллекций ссылок на ресурсы, инструменты, языки программирования, фреймворки и библиотеки для самых разных областей в программировании и не только

Лучший способ сэкономить время и всегда иметь под рукой мастхев ресурсы для разработки.⚡️

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Мы часто говорим об AI, но так ли он полезен в работе кодера?

Исследование Uplevel среди 800 программистов выявило неожиданные результаты: использование ИИ-инструментов, таких как GitHub Copilot, не повысило продуктивность и привело к увеличению ошибок в коде на 41%

В ходе двух трёхмесячных периодов программисты сначала работали с традиционными инструментами, а затем с GitHub Copilot.


После этого исследования всё больше убеждаешься, что ИИ — для выполнения простой рутины.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

OpenAI выпустила новый инструмент — Canvas

Canvas — это визуальный инструмент для ChatGPT. Теперь можно взаимодействовать с моделью, перемещать и редактировать текст, создавать новые документы и анализировать большие объемы данных.

Основные преимущества для кодеров в Canvas:

▪️ Подсказывает, как оптимизировать код
▪️ Добавляет логи для отладки кода
▪️ Держит в голове проект целиком
▪️ Переносит код на другие языки программирования

Доступ будет доступен в ChatGPT

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Гарвардские студенты создали умные очки с технологией распознавания лиц

На самом деле они использовали Meta Smart Glasses, в которые добавили своего софта. Теперь, когда смотришь через очки на чьё-то лицо, они его идентифицируют, включая их имя, адрес и место работы, но не всегда выдаётся верный результат.

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

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🤯 Знаете ли вы этот хак на GitHub?

1️⃣ Откройте любой GitHub-репозиторий
2️⃣ Замените .com на .dev
3️⃣ Просмотрите код репозитория в инстансе VS Code!

И да, можно просто на клавиатуре нажать кнопку «.».

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

💡8 ключевых концепций в предметно-ориентированном проектировании (Domain-driven design, DDD): на заметку разработчику

👉 Источник

#инфографика

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

MyLens.ai — нейронка мастхев для ютуба

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

▪️ Можно закинуть любое видео
▪️ Саммари появляется мгновенно. Нейросеть создаст план, схемы и выделит ключевые цитаты
▪️ Если загружаете свой собственный ролик — программа даст советы, как сделать контент вирусным

Единственный минус: ограничение на три видео в день

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

📌 Шпаргалка по Linux администрированию

Эта шпаргалка представляет собой краткое руководство по основным темам администрирования Linux для начинающих и мидл+ инженеров DevOps.

Стоит отметить пункты: «Infrastructure as Code» и «Monitoring & Logging»

Что вы считаете полезным?

Читать полностью…
Subscribe to a channel