Библиотека программиста | программирование, кодинг, разработка
82.6K subscribers
3.87K photos
183 videos
89 files
6.92K links
Все самое полезное для программиста в одном канале.

По рекламе: @proglib_adv

Курс по ML: https://clc.to/eLH_zQ

Другие курсы: https://clc.to/goHZHA

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46
Download Telegram
🔢 Как научиться решать сложные задачи

Нам может не даваться решение сложных математических задач по многим причинам: от стереотипов до негативного школьного опыта. К счастью, это можно исправить. В карточках перечислили лучшие на наш взгляд книги, которые помогут понять, полюбить и подтянуть математику.

Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈
👍171
☝️🚀 Рейтинг Low Code опенсорсных инструментов разработки за последние 28 дней

🔝 Топ-5 в нашей подборке:

1️⃣ AppFlowy-IO/AppFlowy — альтернатива Notion на Flutter и Rust. Вы отвечаете за свои данные и настройки.
2️⃣ supabase/supabase — альтернатива Firebase. Один из самых быстрорастущих проектов на GitHub.
3️⃣ refinedev/refine — основанный на React фреймворк для создания внутренних инструментов, панелей администратора, информационных панелей и приложений B2B с акцентом на гибкость.
4️⃣ n8n-io/n8n — расширяемый инструмент автоматизации рабочих процессов.
5️⃣ appwrite/appwrite — end-to-end бэкенд сервер для веб-, мобильных, нативных или серверных приложений, упакованный в виде набора микросервисов Docker.

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

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

👉Подписаться👈
👍93
🤔 Переосмысление привычных нам уровней разработчиков (junior, middle, senior)

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

1️⃣ Простое решение проблем случайным образом
2️⃣ Простое решение простых проблем
3️⃣ Решение сложных проблем случайным образом
4️⃣ Простое решение сложных проблем

По сравнению с классическим набором уровней эти уровни:

☑️ Более прозрачны
☑️ Измеримы
☑️ Соотносятся с опытом
☑️ Соответствуют ожиданиям

👉 Подробнее о каждом уровне с примерами читайте в статье
👍32🤔62
🛠 Как проектировать REST API: полезные советы для разработчика

1. Используйте существительные во множественном числе для обозначения коллекций.

# Хорошо
GET /products
GET /products/{product_id}

# Плохо
GET /product/{product_id}


2. Не добавляйте ненужные пути в структуру URL-адресов.

# Хорошо
GET /v3/application/listings/{listing_id}

# Плохо
PATCH /v3/application/shops/{shop_id}/listings/{listing_id}


3. Не добавляйте .json или другие расширения к URL-адресу.

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

# Хорошо
GET /things returns:
{ "data": [{ ...thing1...}, { ...thing2...}] }

# Плохо
GET /things returns:
[{ ...thing1...}, { ...thing2...}]


5. Не возвращайте структуры map. Вместо этого используйте массивы объектов, чтобы избежать проблем при работе с типизированными языками и не усложнять обработку данных.

# Хорошо
GET /things returns:
{
"data": [
{ "id": "KEY3", "foo": "bat" }
]
}

# Плохо
GET /things returns:
{
"KEY3": { "id": "KEY3", "foo": "bat" }
}


6. Используйте строки для всех идентификаторов.

# Хорошо
{ "id": "123" }

# Плохо
{ "id": 123 }


7. Добавляйте префиксы к идентификаторам. Это улучшает читаемость API и помогает различать разные типы идентификаторов.

8. Не используйте 404 для обозначения "not found". Вместо этого рекомендуется использовать другие коды ошибок, чтобы точно указать на отсутствие ресурса.

9. Будьте последовательными. Несоответствие в схемах и структурах может вызвать путаницу и усложнить работу с API.

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

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

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

👉 Подробнее

#проектирование_систем
👍548🤔2❤‍🔥1🔥1
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

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

👉Подписаться👈
👍2
🤷‍♂️ «Питомцы vs Скот»: 99% вашей работы в итоге выбросят, но это и сделает вас профи

Раньше в DevOps, когда каждый сервер был уникален и имел свое имя (как домашний питомец), админы уделяли много внимания каждому серверу. Если сервер падал, его восстанавливали (лечили больного питомца).

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

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

Это поможет избежать выгорания, ведь ты осознаешь, что твоя работа — это решение текущих задач бизнеса.

И хоть с 99-ю процентами автор загнул (хотя кто знает), это весьма любопытная аналогия.
❤‍🔥16🥱12👍2😍1
🤖 «Генеративный ИИ для начинающих» — новый курс от Microsoft, который включает 12 уроков от Microsoft Cloud Advocates. Каждый урок охватывает ключевые аспекты принципов генеративного ИИ и разработки приложений и включает:

☑️ Видеообзор темы
☑️ Текстовая лекция
☑️ Jupyter Notebook с примерами кода
☑️ Задание для самостоятельной работы
☑️ Ссылки на полезные ресурсы
👍6🔥3
👁Помогите «Библиотеке программиста» лучше узнать свою аудиторию

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

Пожалуйста, ответьте на несколько вопросов — это не займет у вас много времени, но поможет нам делать более полезные и интересные посты!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🥱31