proglibrary | Технологии

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

77049

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

Подписаться на канал

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

🔥 На прошлой неделе представлена версия Git 2.44

📌 По традиции публикуем мини-обзор новых фич:

1️⃣ Быстрое создание пакетов: Git 2.44 включает оптимизацию для ускорения процесса клонирования и отправки изменений в репозитории, позволяя переиспользовать существующие пакеты данных, что сокращает время обработки.

2️⃣ Быстрые перебазирования с git replay: новая команда предлагает альтернативу git rebase, обеспечивая более высокую производительность и возможность работы в bare-репозиториях, а также обработку нескольких веток одновременно.

3️⃣ Автоматическое слияние с --autosquash в неинтерактивных перебазированиях: в новой версии, функция autosquash теперь работает и в неинтерактивных режимах перебазирования, позволяя автоматически применять изменения fixup! и squash! без необходимости вручную редактировать список задач.

4️⃣ Улучшенные подсказки и новые возможности сортировки: Git 2.44 предлагает улучшенные подсказки для пользователей и новые опции для сортировки в командах, таких как git for-each-ref.

5️⃣ Расширенные возможности работы с путями и файлами: в новой версии добавлены новые атрибуты для работы с путями файлов, позволяя более гибко управлять добавлением файлов в индекс.

👉 Подробнее

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

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

🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈

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

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

🥤🛡️ Как сделать Flask-приложение неуязвимым: полное руководство по защите от хакерских атак

Лучшие практики по созданию надежного и безопасного Flask-приложения, включая защиту от XSS/CSRF и API, созданных с помощью Flask.

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

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

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

👩‍💻 PGlite — Postgres в WASM

Эта сборка упакована в клиентскую TypeScript-библиотеку, которая позволяет запускать Postgres в браузере, Node.js и Bun без необходимости устанавливать какие-либо другие зависимости. Занимает 3,7 МБ в сжатом виде.

👩‍💻 GitHub
👉 Playground

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

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

🛍 -50% на наш флагманский курс по вышмату + курс по machine learning в подарок

📣 В честь 23 февраля мы решили снизить цену на курс по математике и подарить курс по machine learning в подарок – https://proglib.io/w/7a2b9c4a

14 990 рублей 29 990 рублей до 29 февраля

⭐️ На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике.

Что еще вас ждет на курсе:

🔹 Полугодовая программа от преподавателей ВМК МГУ;

🔹 150 практических заданий и 47 видеолекций;

🔹 Бессрочный доступ ко всем материалам курса;

🔹 Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.

‼️ Переходите на сайт, читайте подробности и заходите на обучение по самым выгодным условиям – https://proglib.io/w/7a2b9c4a

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

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

🤔 Какой язык учить первым?

Если ознакомиться с популярными айтишными ресурсами по этой теме, формируется два вывода:

1️⃣ Первым надо учить Python/JavaScript (пробудить интерес к программированию) или C++ (программирование интересно само по себе и человек хочет развиваться как разработчик).
2️⃣ Первый язык нужен не для того, чтобы писать на нём проекты, а для изучения базовых принципов программирования => поэтому первым должен быть не язык, а учебник программирования.

А язык будет тем, который используется в этом учебнике для объяснения алгоритмов, — удобным именно для начального обучения (на начальном этапе достаточно псевдокода).

💬 А вы как считаете?

#холивар

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

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

💡 GraphQL в деталях

GraphQL — язык запросов и серверная среда для API с открытым исходным кодом. В отличие от REST API, GraphQL позволяет запрашивать именно те данные, которые необходимы, что делает возможным получение данных из нескольких источников с помощью одного запроса. Эта эффективность извлечения данных может привести к повышению производительности веб- и мобильных приложений.

GraphQL-сервер находятся между клиентом и бэкендом. Он может объединять несколько запросов в один, позволяет организовать ресурсы в граф, поддерживает мутации (применение изменений данных к ресурсам) и подписки (получение уведомлений об изменениях схемы).

➕ Преимущества GraphQL:

🔸 GraphQL более эффективен в получении данных
🔸 GraphQL возвращает более точные результаты
🔸 GraphQL имеет строгую систему типов для управления структурой сущностей, что снижает количество ошибок
🔸 GraphQL подходит для управления сложными микросервисами

➖ Недостатки GraphQL:

🔸 Повышенная сложность
🔸 Избыточное получение данных
🔸 Сложность кэширования

👉 Источник

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

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

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

🏃 Самоучитель по Go для начинающих. Часть 7. Массивы и слайсы. Append и сopy. Пакет slices

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

👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👉 Часть 5
👉 Часть 6

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

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

🤔 ФП vs. ООП

Дядя Боб считает (перевод), что споры сторонников функционального и объектно-ориентированного подхода не имеют смысла, так как эти парадигмы отлично уживаются вместе.

Более того, система, которая построена на комбинации принципов ООП и ФП максимизирует гибкость, поддерживаемость, тестируемость и простоту. Если убрать одно ради добавления другого, это только ухудшит структуру системы.

💬 А вы что думаете? Похоливарим?

#холивар

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

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

🐍⛓ Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python

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

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

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

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

📈 5 трендов в подборе ИТ-специалистов на 2024 год

Использование ИИ-алгоритмов становится трендом и в Human Resources. Такими инструментами пользуются и кандидаты, и работодатели.

🤖 Например, появляются Applicant tracking system (ATS) с ИИ, которые автоматизируют поиск и отбор кандидатов. А ещё есть Final Round AI — своеобразный помощник с искусственным интеллектом, который генерирует индивидуальные ответы на онлайн-интервью в режиме реального времени.

👉 О других трендах читайте в нашей новой статье 👈
🔗 Зеркало

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

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

🤔 Почему опыт разработчика важнее продуктивности?

🤯 Компании испытывают нездоровую одержимость поисками кейсов измерения продуктивности разработчиков. Это вполне понятно — руководители вынуждены добиваться результатов, одновременно извлекая выгоду из своих инвестиций в команды и технологии.

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

🤩 Представьте себе возможности, если бы такое же количество времени и энергии было вложено в повышение производительности разработчиков, а не в попытки ее измерить. Несколько мыслей по теме из статьи на TechCrunch:

☑️ Счастливые разработчики — продуктивные разработчики. Удовлетворенность работой является ключом к продуктивности.
☑️ Факторы, влияющие на радость разработчиков: опыт разработчика (Developer Experience, DX) и инженерная культура.
☑️ Шаги к улучшению опыта разработчика: понимание текущего опыта, расширение возможностей «платформенной команды» и продвижение DX с помощью платформ разработчиков.

💆‍♂️ Под «платформенными командами» понимается внутренняя группа, сосредоточенная на предоставлении DX. Они предоставляют внутренние сервисы командам по доставке ПО, позволяя им работать автономно. Эти сервисы могут включать инфраструктуру, инструменты CI/CD, мониторинг и логирование, или облегчение понимания и соблюдения стандартов/практик компании.

🛠 Под платформой разработчиков понимается набор инструментов и сервисов, предоставляемых «платформенной командой», которые направлены на улучшение DX.

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

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

🔥 Один из разработчиков nginx Максим Дунин создал собственный форк веб-сервера

📝 В своём письме Максим рассказал, что не работает в F5, владеющей nginx, с 2022 года, с тех пор как компания закрыла офис в Москве. После этого он договорился с руководителями, что будет продолжать разработку веб-сервера в качестве волонтёра.

🤯 Теперь, по его утверждениям, новые нетехнические менеджеры начали вмешиваться в разработку nginx, думая, что они лучше знают, как разрабатывать опенсорсные проекты. В частности, управление пытается вносить изменения в политику безопасности веб-сервера. При этом мнение разработчиков не учитывается.

🤷‍♂️ В ответ на всё это Дунин заявил, что больше не будет участвовать в разработке nginx. Вместо этого он создал FreeNginx, форк проекта, к которому приглашает присоединиться других разработчиков.

⚡️ Недавно было опубликовано мини-интервью Максима, которое позволит узнать историю из первых уст.

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

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

💡 Гайд для начинающих по Content Delivery Network: что это и как работает

📌 Основные понятия для погружения в гайд:

🔸 CDN — географически распределённая сетевая инфраструктура, обеспечивающая быструю доставку контента пользователям веб-сервисов и сайтов. Входящие в состав CDN cерверы географически располагаются таким образом, чтобы сделать время ответа для пользователей минимальным.
🔸 Origin — сервер, на котором хранятся исходные файлы или данные, раздаваемые через CDN.
🔸 Point of presence (точка присутствия) — кэширующий сервер в составе CDN, расположенный в определённой географической локации. Для обозначения таких серверов также используется термин edge.
🔸 Динамический контент ― контент, генерируемый на сервере в момент получения запроса (либо изменяемый пользователем/загружаемый из БД).
🔸 Статический контент ― контент, хранимый на сервере в неизменяемом виде (например, бинарные файлы, аудио- и видеофайлы, JS и CSS).

👉 Читайте гайд на Medium или в PDF (файл в комментариях)

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

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

🤖 Несколько недавних новостей, но очередной важный прорыв в мире искусственного интеллекта!

1️⃣ Команда OpenAI представила text-to-video модель Sora.

☝️ Приведённое выше видео получено из следующего промта: Beautiful, snowy Tokyo city is bustling. The camera moves through the bustling city street, following several people enjoying the beautiful snowy weather and shopping at nearby stalls. Gorgeous sakura petals are flying through the wind along with snowflakes.

2️⃣ V-JEPA — модель от Meta* как симметричный ответ про обучение моделей на видео с целью улучшения понимания нейронками мира.

3️⃣ В Google анонсировали Gemini 1.5. Вот три главных фичи:

✔️ Увеличение длины контекста до миллиона токенов
✔️ Улучшение метрик Pro 1.5 до Ultra 1.0
✔️ Внедрение микстуры экспертов

*организация, деятельность которой запрещена на территории РФ

#чтопроисходит

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

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

🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали

Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.

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

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

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

🔍 Скрытые коммиты GitHub и где они обитают

🤔 Было у вас такое, когда вы закоммитили то, что не должно было попасть в публичный репозиторий? Ну «секреты» там всякие, или еще что! «А в чем проблема?» — спросите вы. Дело в том, что перезаписать историю коммитов GitHub-репозитория можно, но старые коммиты физически не удаляются с серверов GitHub. Это означает, что хотя эти коммиты не отображаются в обычной истории коммитов и не клонируются с репозиторием, они все еще доступны через API.

🛠 GitHub API предоставляет информацию о различных событиях в репозитории, включая PushEvent. Даже если коммит был удален из истории, событие PushEvent, связанное с этим коммитом, все еще может быть доступно через API. Это позволяет определить хеш удаленного коммита и обратиться к нему. Читайте подробнее исследование на эту тему или воспользуйтесь Python-скриптом Github Secrets, чтобы проверить свои репозитории.

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

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

🤔 Вычислительная сложность алгоритмов: удобная шпаргалка

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

❓Что это такое?

Вычислительная сложность пытается ответить: как изменятся время исполнения алгоритма и объём занятой памяти в зависимости от размера входных данных? Тут вводится понятие асимптотической сложности. Это математическая модель, описывающая поведение ограничений на ресурсы (например, время выполнения или использование памяти) в пределе, когда размер входных данных стремится к бесконечности. Алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных.

 Для асимптотической сложности алгоритма используется следующая нотация: 𝑂
(«О»-большое), которое описывает верхнюю границу времени. 

✍️ Категории алгоритмической сложности в 𝑂-нотации:

- Постоянное время: 𝑂(1)
Время выполнения не зависит от количества элементов во входном наборе данных.
- Линейное время: 𝑂(𝑁)
Время выполнения пропорционально количеству элементов в наборе.
- Логарифмическое время: 𝑂(log𝑁)
Время выполнения пропорционально логарифму от количества элементов в наборе.
- Линейно-логарифмическое время: 𝑂(𝑁log𝑁)
Время выполнения больше чем, линейное, но меньше квадратичного.
- Квадратичное время: 𝑂(𝑁^2)
Время выполнения пропорционально квадрату количества элементов в наборе.

🔗 Ссылка на отличную шпаргалку

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

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

🤩 Подборка случайных докладов на недавних конференциях (и не только) от известных специалистов в индустрии:

📺 Heisenbug: «AI: конкурент или помощник?» / Артем Ерошенко
📺 C++ Russia 2022: «Голый Rust» / Роман Проскуряков
📺 HolyJS 2023 Spring: «Telegram Web Apps: веб-приложения внутри Telegram» / Владислав Кибенко
📺 DotNext 2022 Autumn: «Best practices для разработки Application Layer» / Максим Аршинов, Андрей Парамонов, Андрей Цветцих, Денис Цветцих
📺 HighLoad++: «Авито Автозагрузка: как качать миллионы фотографий в сутки» / Евгений Толмачев

#матчасть

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

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

🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)

Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.

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

📌 Остальные части в серии:

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices

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

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

☕️📦 10 Java-библиотек, которые изменят твой код навсегда

Из этой статьи вы узнаете о ключевых возможностях 10 популярных библиотек для Java: работа с коллекциями, строками, JSON, логами, датами и временем и многое другое.

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

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

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

🎙️ Как выдержать критику от других разрабов? Чужие мнения и своя самооценка

Свой уровень очень-очень трудно оценить правильно. Особенно когда только чему-то учишься. Успехи окрыляют, а неудачи — обрушивают на дно.

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

В новом выпуске Доктора Кота ведущие обсуждают, как жить с тем, что про тебя постоянно говорят что-то нехорошее, справляться с критикой и адекватно принимать свои успехи и неудачи.

#подкасты #айтипсихология

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

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

Я и моя команда DevOps пытаемся устранить неполадки кластера Kubernetes в продакшене

#жиза

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

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

🐣Скоро начинается сезон праздников, а к ним лучше готовиться заранее

Именно поэтому мы запустили электронные подарочные сертификаты на курсы proglib academy:

🎁 Выбирайте удобные номиналы от 1 000 до 10 000 руб;

🎁 Отправляйте получателю сразу или в конкретную дату;

🎁 Сертификат действует в течении года с момента покупки.

🙌 Дарите друзьям, сотрудникам, коллегам или партнёрам возможность получить новые знания и возможность профессионального роста в IT-сфере – https://proglib.io/w/d831f55d

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

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

🆚 Традиционное управлением конфигурацией vs. IaC

Infrastructure as Code (IaC) — подход к автоматизации и управлению инфраструктурой с использованием кода. Вместо ручной настройки и обслуживания инфраструктуры, IaC позволяет управлять инфраструктурой с помощью программного кода, выполняя автоматическую установку, конфигурацию и деплой через различные инструменты, включая Ansible, Terraform, Puppet, Chef и другие.

👉 Источник

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

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

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

🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈

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

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

👀 Итоги недели в мире ИИ и обзоры новых сервисов

У нас вышла интересная статья на 📰 по мотивам еженедельной рассылки про последние новости и тенденции в мире ИИ.

Ниже — небольшая подборка, а целиком читайте здесь 👈

💬Новости

▫️ Исследователи Стэнфордского университета обнаружили, что чат-боты склонны делать выбор в пользу насилия и ядерных ударов в военных играх.
▫️Разработчики приложения для знакомств Bumble протестировали новую AI-функцию Deception Detector, которая автоматически заблокировала 95% мошеннических аккаунтов.
▫️Google создала MobileDiffusion — мини-модель для супербыстрой генерации изображений на смартфонах.

🛠 Инструменты

▫️UserSketch — создаёт чат-бота на основе единой базы знаний с данными, собранными из любых документов, почты, мессенджеров, приложений для управления проектами и организации бизнес-процессов.
▫️Ytube AI — превращает YouTube-видео в SEO-оптимизированные статьи.
▫️ThreadScribe.ai — превращает сообщения из Slack в структурированную базу знаний, которой можно задавать любые вопросы и получать инсайты.
▫️Fooocus — бесплатная опенсорсная альтернатива Midjourney. Устанавливается локально.

⚙️ Сделай сам

Google выпустила инструмент localllm для запуска LLM локально или в облаке, на CPU вместо GPU. Подробный туториал по установке и настройке localllm — в блоге разработчиков.

🎓 Исследования

Исследователи из Технологического института Джорджии представили PokéLLMon. Возможности этого ИИ-агента сопоставимы с человеческими — он уже выиграл 56% боев против людей. Авторы также нашли способ избавиться от галлюцинаций и решили проблему панического переключения, когда при столкновении с сильным противником агент начинал хаотично переключаться между покемонами.

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

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

❓👨‍💻 Вопросы для подготовки к собеседованию по JavaScript. Часть 2

В первой части мы разобрали стрелочные функции, замыкания, промисы и async/await, методы работы с массивами и объектами, шаблонные литералы, особенности Map и Set, оператор расширения и клонирование объектов.

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

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

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

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

🤔 Остаться или уйти? Оптимальный срок работы на одном месте

Вы любите свою работу, интересные проекты вам гарантированы, зарплата повышается каждый год. Но вот уже 5 лет вы трудитесь в одной и той же компании. Не пора ли что-то изменить, пока мотивация окончательно не улетучилась?

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

Должен ли современный IT-специалист менять работу чаще, чем раз в 5 лет? Или лучше наращивать экспертизу в рамках одной компании? А может дело совсем не в сроках, а в качестве задач и развитии карьеры?

👉 Расскажите о своём опыте в нашем новом опросе 👈

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

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

🐍 Итоги недели в мире Python и обзоры новых инструментов

У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали один из свежих выпусков на 📰.

Ниже — небольшая подборка, а целиком читайте здесь 👈

🔎 Поисковик на 80 строках кода

Публикация рассказывает, как сделать базовую поисковую систему буквально на 80 строках Python-кода. Автор реализовал все основные компоненты поисковика: краулер, инвертированный индекс, ранжировщик и интерфейс.

⭐️ Полезные библиотеки

▪️Web2PDF – CLI-инструмент для конвертации веб-страниц (по URL) в PDF-файлы.
▪️Rexi – инструмент для работы с регулярными выражениями в терминале.
▪️Django HTMX Components – набор готовых компонентов, которые можно скопировать и вставить в Django-приложение.

🕹 Управление зависимостями

Туториал, который рассказывает, как начать пользоваться Poetry.

🔥 Интересные проекты

▪️«Гарри Поттер и движок Elasticsearch» — это семантическая поисковая система на основе векторной базы данных с информацией о вселенной Гарри Поттера.
▪️Чат-бот, имитирующий стиль Эминема.

Читать полностью…
Подписаться на канал