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

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

77043

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

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

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

💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?

🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)

#холивар

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

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

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

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

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

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

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

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

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

🐱🎨🙏🤖 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, оператор расширения и клонирование объектов.

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

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

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

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

🔎 Пошаговый разбор работы базового поискового движка

1️⃣ Crawling
2️⃣ Indexing
3️⃣ Ranking
4️⃣ Querying

👉 Источник

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

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

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

🔥 На прошлой неделе представлена версия 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 (файл в комментариях)

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