Библиотека программиста | программирование, кодинг, разработка
83.4K subscribers
3.13K photos
147 videos
88 files
6.35K links
Все самое полезное для программиста в одном канале.

Список наших каналов: https://tttttt.me/proglibrary/9197
Учиться у нас: https://proglib.io/w/a32a0d94

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
concurrency-primer.pdf
1.3 MB
🤩 Минимальный набор знаний о concurrency, который нужен каждому разработчику

Все знания о конкурентности, которые у вас есть, наверняка получены из множества разных источников.

Если хочется навести порядок в голове и разобраться в сути дела, ловите руководство, которое можно осилить за короткое время.

👉 Источник
⚒️ Шардирование базы данных: шпаргалка для разработчика

👉 Источник

#инфографика
🙇‍♂️ На кого идти учиться, чтобы затраты на обучение когда-нибудь окупились

Ожидаемо, что айтишные специальности первые в списке. Как думаете, актуальна ли данная статистика для России?

👉 Источник
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих

В новой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.

Вот алгоритмы, которые мы рассмотрим:

🔹линейная регрессия;
🔹SVM;
🔹дерево решений;
🔹случайный лес;
🔹наивный байес;
🔹логистическая регрессия.

🔗 Читать статью
🤔 Как небольшой команде переехать на ClickHouse

Петр Гонин, инженер по данным в Okko, делится опытом переезда на ClickHouse. Причин для переезда было несколько, но одной из главных была низкая производительность — среднее время аналитического запроса составляло около минуты, а после переезда составило около 2 с. И это не предел.

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

👉 Читать
🏗️ Структуры данных для разработчиков: 10 самых важных

Структуры данных — фундамент эффективной разработки. Кратко разберем 10 ключевых структур данных, которые необходимо освоить каждому разработчику для создания производительных и масштабируемых приложений, а подробнее читайте в статье👇

🔹 Списки отлично подходят для хранения и обработки упорядоченных данных и полезны в различных приложениях, таких как управление задачами, ленты соцсетей и корзины интернет-магазинов.
🔹 Массивы — упорядоченная коллекция элементов фиксированного размера и хорошо подходят для ситуаций, где размер коллекции известен или редко меняется.
🔹 Стеки следуют принципу «последним пришел — первым вышел». Они идеальны для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.
🔹 Очереди работают по принципу «первым пришел — первым вышел». Они подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.
🔹 Кучи используются для планирования задач и управления памятью. Они особенно полезны в реализации очередей с приоритетами, где нужен доступ к элементу с наивысшим или наименьшим приоритетом.
🔹 Деревья организуют данные иерархически. Они полезны для представления данных с естественными иерархиями или связями и могут использоваться в различных приложениях, таких как индексация баз данных.
🔹 Хеш-таблицы позволяют эффективно искать, вставлять и удалять данные. Они используют хеш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохраненным значениям за постоянное время.
🔹 Суффиксные деревья специализируются на поиске строк в документах, что делает их идеальными для текстовых редакторов и алгоритмов поиска.
🔹 Графы отслеживают отношения и находят пути, что делает их незаменимыми в социальных сетях, рекомендательных системах и алгоритмах поиска путей.
🔹 KD-деревья хороши для поиска ближайших соседей и важны для картографических приложений и геолокационных сервисов.
🛠️ Высокая доступность, масштабируемость и пропускная способность: шпаргалка по проектированию системы с типичными решениями

👉 Источник

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

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

👉Подписаться👈
🔥 Elasticsearch (и Kibana) снова с открытым исходным кодом! Интересно, можно ли вернуть доверие сообщества так же легко? 🤔

👉 Подробнее

#новости
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов

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

• Websitevice – новая, часто обновляемая галерея с широким спектром примеров веб-дизайна. Удобная фильтрация по категориям.
• One Page Love – коллекция высококачественных одностраничных сайтов и лендингов.
• Landingfolio – большая коллекция красивых лендингов, оптимизированных для маркетинга.
• Lapa Ninja – тщательно отобранные примеры веб-дизайна с полными скриншотами страниц.
• Godly – обширная галерея с анимированными превью сайтов, мобильных и десктопных приложений.
• Siteinspire – объемная коллекция лучших веб-дизайнов с удобной сортировкой.
• Maxibestof – огромная подборка примеров, курируемая опытным дизайнером.
• InspoVault – фокусируется на качестве, а не количестве примеров, в основном в минималистичном и креативном стилях.
• Landing Gallery – специализируется на эффектных лендингах.
• SEE + SAW – галерея с динамичными видеопревью сайтов.
🎙️ Подкаст Podlodka: Зачем учить язык С в 2024 году

С — язык, на котором написана значимая часть всего, что нас окружает: от ядра операционной системы до мозгов автомобиля, из колонок которого вы будете слушать этот подкаст. В выпуске вместе с Игорем Жирковым ведущие разбираются с тем, насколько современный C похож на язык, с которым вы познакомились в той самой книге Кернигана и Ритчи, какие особенности делают его одним из самых нетерпимых языков к ошибкам программиста, и стоит ли вообще на нем писать код в 2024 году.

Таймкоды:
00:00 О чем выпуск
05:00 Чем интересен Си
13:22 Мифы о Си
24:59 История развития языка Си
35:25 Стандарты Си
59:50 Современный Си и его отличия от старого
01:05:27 Топ-3 ошибок, которым подвержен Си
01:12:40 Ключевые фичи Си
01:21:10 Организация кода и модулей
01:26:09 Синтаксис и семантика Си
01:31:10 Неопределенное поведение и его последствия
01:39:24 Семантика и производительность
01:45:02 Оптимизация производительности
01:51:02 Компиляторы и их разнообразие
02:02:20 Экосистема Си
02:08:54 Какие языки могут заменить Си
02:16:05 Нужно ли преподавать Си в вузах
02:28:46 Заключение

Смотреть или слушать полностью
Полная подборка языковых и платформенных выпусков подкаста

#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
😀 Платные подписки есть? А если найду?!

💬 А у вас есть? На какие сервисы? Поделитесь в комментариях👇

#холивар
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты

В статье познакомимся с концепцией тестирования кода и её основными видами, изучим инструменты стандартного пакета testing, научимся запускать и визуализировать тесты. В качестве практического задания напишем и протестируем алгоритм «Решето Эратосфена».

👉 Читать гайд

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

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
Привет, друзья! 👋

Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬

1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧

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