Библиотека программиста | программирование, кодинг, разработка
83.2K subscribers
3.8K photos
175 videos
89 files
6.86K links
Все самое полезное для программиста в одном канале.

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

Учиться у нас: https://proglib.io/w/a32a0d94

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

РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46
Download Telegram
😴 Писать код по ночам и в выходные — это нормально

Не все разделяют мнение о том, что кодить по ночам и выходным — это ок. Но для автора разработка — любимое хобби и работа.

🎯 Когда это становится проблемой?

1️⃣ Когда это превращается в культ.
2️⃣ Когда мы ожидаем того же от других.
3️⃣ Другие ожидают этого от нас.

🎯 Признаки, что пора остановиться:

• Ухудшение качества сна.
• Потеря социальных связей.
• Рост уровня стресса.
• Невозможность отвлечься от работы даже в личное время.

🎯 Как найти баланс?

Разнообразие опыта. Поддерживайте богатство впечатлений и интересов, не зацикливайтесь на одном деле.

Слушайте свои ритмы. Иногда разработка приносит радость, а иногда — усталость. Прислушивайтесь к себе.

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

Управляйте ожиданиями. Четко разграничивайте, что является работой, а что — личным увлечением.

👉 Читать статью полностью
24👍13🤔1💯1
ℹ️ Fidget: Библиотека для визуализации математики

Implicit surfaces — это такие математические модели, которые описывают объекты формулами вроде f(x,y,z) → d, где знак d определяет, внутри или снаружи находится точка. С помощью библиотеки Fidget можно быстро рендерить и оптимизировать такие модели.

➡️ Что делает Fidget?
Мешинг: создание 3D-моделей из математических представлений.

👉 Исходники на GitHub, поддержка WebAssembly, демо в браузере. Если интересуетесь CAD, графикой или просто любите математику, попробуйте Fidget
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔2❤‍🔥11😁1
🖥 SQL NULLs — странно себя ведут

Когда вы добавляете UNIQUE к столбцу в SQL, кажется логичным, что запись с одинаковыми значениями должна блокироваться. Но если в этой записи NULL, вас ждёт сюрприз: SQL позволяет вставлять несколько строк с одинаковыми NULL. Даже при UNIQUE-ограничении

➡️ Почему так?

В статье рассказано подробнее и приведены примеры с кодом. Но если кратко: NULL в SQL означает неизвестное значение. А поскольку неизвестные значения не равны друг другу, SQL трактует каждую строку с NULL как уникальную.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍265
🚀 Визуальный гайд по масштабируемости архитектуры

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

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

📌 Три основные проблемы масштабируемости:

1️⃣ Централизованные компоненты могут стать единой точкой отказа.
2️⃣ Компоненты с высокой задержкой — компоненты, которые выполняют трудоемкие операции.
3️⃣ Тесная связь компонентов усложняет масштабирование системы.

📌 Популярные методы повышения масштабируемости:

• Балансировка нагрузки: распределение запросов между несколькими серверами, чтобы избежать перегрузки одного сервера.
• Кэширование: хранение наиболее запрашиваемой информации в памяти.
• Обработка событий (Event-Driven Processing): асинхронная обработка для выполнения долгосрочных задач.
• Шардинг (Sharding): разделение большого набора данных на более мелкие части (шарды) для горизонтального масштабирования.

👉 Источник

#инфографика
👍74
🛠 Batch vs Stream Processing: ключевые различия

Batch Processing — обработка данных партиями с последующим выводом финального результата.

Stream Processing — обработка данных в режиме реального времени по мере их поступления.

Подробнее см. на изображении. ⚡️

#инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥11
📚👩‍💻 Напоминаем про наш полный курс «Самоучитель по Go для начинающих»

Мы написали и собрали для вас в одну подборку все 18 частей, подкрепленных практикой.

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. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net
18. Протокол HTTP. Создание HTTP-сервера и клиента. Пакет net/http
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥23👍2
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
4👍1
🤦‍♂️ Ошибки, которые разработчики допускают в больших устоявшихся кодовых базах

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

Так что такое «большие устоявшиеся кодовые базы»? По мнению автора статьи, это:

— Десятки миллионов строк кода (скажем, ~5M).
— От 100 до 1000 инженеров работают над одной и той же кодовой базой.
— Первой рабочей версии кодовой базы не менее десяти лет.

Автор потратил десять лет на работу с этими кодовыми базами. Вот что он хотел бы знать с самого начала:

• Большие кодовые базы стоят того, чтобы с ними работать, поскольку они обычно платят вам зарплату.
• Самое важное — это согласованность.
• Никогда не начинайте работать над новой функциональностью, не изучив существующие подходы в кодовой базе.
• Если вы отклоняетесь от существующих шаблонов, у вас должна быть на это очень веская причина.
• Понимайте, как кодовая база работает в продакшене.
• Не рассчитывайте, что сможете протестировать все случаи — вместо этого полагайтесь на мониторинг.
• Удаляйте код при любой возможности, но делайте это очень осторожно.
• Сделайте всё, чтобы эксперты в своей области могли легко выявить ваши ошибки.
👍26😁21
👀 HR-эксперт: в 2025 году без ИИ-компетенций — никуда

Если вы не обновляли навыки последние 5 лет, то… увы, вы уже неквалифицированный работник 😐. Так считает HR-эксперт Moscow Business School Ирина Лялина.

Самые востребованные навыки будущего, как считает она:
— Умение работать с ИИ, чат-ботами и Big Data.

Также пригодятся водительские права нескольких категорий и опыт работы со сложным оборудованием.

И не забудьте добавить правильные ключевые слова в резюме — иначе его просто не заметят системы автоматического анализа.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁127🌚2👍1
😳 В 2025 году Salesforce больше не будет нанимать инженеров-программистов

В декабре прошлого года во время интервью генеральный директор и основатель Salesforce рассказал, что облачный гигант находится в процессе разработки бизнес-плана на следующий год, а Agentforce — флагманский продукт компании в области ИИ — является «единственным, что действительно важно сегодня».

🎙️ Что интересного было в интервью:
• ИИ повысил производительность на 30%.
• В 2025 году компания планирует увеличить количество продажников и уменьшить количество инженеров техподдержки.
• В январе 2024 года Salesforce уволила 700 сотрудников, а в январе 2023 года — 7 тыс. человек.

💬 Как думаете, правильный фокус выбрал гендир Salesforce?

#назлобудня
😁26🌚5👍4😢31
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
7👍4🤩1
ℹ️ Microsoft прекращает поддержку Office на Windows 10 с октября

С 14 октября 2025 года Microsoft больше не будет поддерживать приложения Office (Microsoft 365) на Windows 10. Это связано с окончанием официальной поддержки самой Windows 10. Пользователям и компаниям, работающим на этой ОС, придется обновиться до Windows 11, чтобы продолжить использовать актуальные версии Office.

➡️ Что это значит?

Не паникуем, приложения Microsoft 365 продолжат работать на Windows 10 и после окончания поддержки, однако могут возникать проблемы с производительностью и стабильностью.

Microsoft активно продвигает переход на Windows 11, называя 2025 год «годом обновления ПК до Windows 11» 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65😁4🌚1
🤔 Преимущества использования PASETO (Platform-Agnostic Security Token) вместо JWT (JSON Web Token) для аутентификации в веб-разработке
 
Что такое PASETO?
• Это токен, разработанный как более безопасная и простая альтернатива JWT.
• Основное внимание уделяется шифрованию и цифровым подписям для обеспечения безопасности.
• В отличие от JWT, PASETO изначально безопасен и защищен от большинства уязвимостей.

👉 Преимущества перед JWT
1. Безопасность по умолчанию:
• PASETO использует только современные и стойкие алгоритмы шифрования.
• Исключает распространённые проблемы JWT.

2. Простота использования:
• В PASETO легко определить его назначение (local или public) по структуре токена.
• Меньше шансов допустить ошибки при настройке, чем с JWT.

3. Производительность: PASETO быстрее шифруется и расшифровывается, что снижает нагрузку на сервер.

👉 Недостатки
• Отсутствие RFC: на данный момент доступен только черновик спецификации.
• Реализации PASETO есть не для всех языков программирования.

👉 Когда использовать PASETO?
• Локальные токены: для защиты данных в cookies или параметрах HTTP-запросов.
• Публичные токены: для одноразовой аутентификации, например, в OpenID.

🔗 Источник иллюстрации
🔥10👍5👾32🤔2
🛠 dnSpyEx — инструмент для редактирования и отладки .NET

Инструмент представляет собой неофициальное продолжение проекта dnSpy и используется для отладки/редактирования сборок .NET и Unity, даже если у вас нет исходников.

Ключевыми возможностями также являются работа с метаданными, hex-редактором и PE-структурами.

📌 Подробности на официальной странице проекта
1🔥112👍2🥱1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
17👍10😁1🤩1
С Новым годом и Годом Змеи! 🐍 Пусть этот год принесет вам успех, рост и меньше усилий для достижения больших целей. Мы в Proglib Academy пришли с хорошими новостями в начале года.

🌟 Обновления курсов!

Мы работаем над тем, чтобы ваше обучение было проще и эффективнее. Вот что мы уже улучшили:

📈 Data Science: улучшили блок «Геометрическая прогрессия и векторная алгебра» — ключевой этап курса, который идет сразу после теории множеств.

Он закладывает фундамент для работы с данными: от анализа роста и убывания величин (геометрическая прогрессия) до понимания многомерных пространств и операций с векторами. Знания которых пригодятся в машинном обучения и аналитики.


🐍 Python: обновили курс с учетом последней версии Python 3.9.5, добавив актуальные материалы и улучшив структуру. Чтобы вы могли лучше закрепить пройденный материал, мы добавили новые интересные задачи и практические примеры.

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


Общие обновления:


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


Но главное — мы растем для вас и с вами. Ваша обратная связь помогает нам становиться лучше. Делитесь идеями, и вместе мы создадим лучший образовательный продукт для вас!
💡 С 27.01.25 цены изменятся на 10%.

Пример: Математика для DS (Базовый): 20,990 → 23,090 ₽. Это позволяет нам делать курсы еще круче.
Давайте сделаем 2025 год годом вашего профессионального успеха! 🚀

Выбрать курс
🌚3👍21
This media is not supported in your browser
VIEW IN TELEGRAM
📊 FakeData — инструмент для быстрой генерации фейковых данных

Недавно на ProductHunt появился новый помощник — FakeData. Это простое приложение позволяет: генерировать данные для тестирования, разработки и симуляций.

➡️ Что умеет FakeData?

▪️ Генерировать случайные имена, email-адреса, номера телефонов и пользовательские наборы данных.
▪️ Создаёт данные за секунды.
▪️ Помогает разработчикам, тестировщикам и дизайнерам тестировать приложения без реальных пользователей или конфиденциальной информации.

🔗 Ссылка на проект
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍283😁2🤔1
👋 Всем привет!

Мы ищем участников для интервью на тему «Обучение навыкам в IT»!

Кто нам нужен?
— Вы недавно (в последние 6 месяцев) проходили курсы по техническим специальностям или математике.
— Вы разработчик, стремящийся освоить Data Science или Machine Learning.

Что нужно сделать?
— Участвовать в небольшом интервью по Zoom (не больше 45 минут).
— Вознаграждение: 1500 рублей на карту за участие + уникальный шанс пообщаться с нашим CEO!

Как откликнуться?
Напишите в личные сообщения @artem_ceo
5😁3👍1
☝️ Проектирование системы — это компромиссы

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

👉 Источник инфографики

#инфографика #проектирование_систем
👍141🤩1