proglibrary | Technologies

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

77049

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

Subscribe to a channel

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

#вопросы_с_собесов

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

💬Каким инструментом Git можно воспользоваться, чтобы быстро выяснить, из-за какого конкретно коммита возникла данная проблема?

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

🔸Это утилита для поиска коммита, в котором впервые проявился баг или проблема с помощью автоматического бинарного поиска.

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

> git bisect start
> git bisect bad
> git bisect [good_commit]

1⃣Git автоматически переключит нас на коммит, который находится посередине между хорошим и плохим коммитами. Продолжаем👇

2⃣Запускаем тесты и проверяем наличие проблемы в этом коммите. Пусть в данном коммите проблема не выявлена. Сообщаем об этом Git с помощью git bisect good и продолжаем дальше👇

3⃣Мы оказались на другом коммите, расположенном посредине между только что протестированным и плохим коммитами. Снова выполняем тесты и обнаруживаем, что текущий коммит сломан, и сообщаем об этом Git с помощью команды git bisect bad👇

4⃣Данный коммит хороший и теперь Git имеет всю необходимую информацию для определения того, где была внесена ошибка. Он сообщает нам хеш первого плохого коммита и отображает некоторую информацию о коммите и файлах, которые были изменены в этом коммите, чтобы разобраться в проблеме.

4⃣После завершения поиска выполняем git bisect reset, чтобы вернуться к изначальной ветке и завершить процесс bisect.

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

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

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

#холивар

🤔Микросервисы 🆚 монолиты

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

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

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

💬Можете ли вы привести примеры успешных или неудачных попыток перехода к микросервисам в вашей практике или в отрасли?

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

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

Вебинар «Собеседование на разработчика: разбор задач и ошибок» сегодня в 19:00

Под этим постом вы можете задать любой вопрос спикеру!

Ссылка на трансляцию в YouTube – https://www.youtube.com/watch?v=DT2UpJY2rlE

Запись эфира опубликуем здесь – /channel/proglib_academy

Подробности о курсе «Алгоритмы и структуры данных» – https://proglib.io/w/788d77ba

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

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

#infographic

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

📌К общим потокам относятся:

1️⃣ Authorization Code Flow
2️⃣ Client Credentials Flow
3️⃣ Implicit Code Flow
4️⃣ Resource Owner Password Grant Flow

🔗Источник

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

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

#новости

⚡️На прошлой неделе Meta* выпустила новую серию больших языковых моделей для разработчиков, которая позволяет генерировать код по текстовому запросу

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

▫️Code Llama — это специализированная версия Llama 2, созданная путем дальнейшего обучения Llama 2 на наборах данных, специфичных для кода.

▫️По сути, Code Llama обладает расширенными возможностями для разработчиков. Она может генерировать код из запросов на естественном языке как из кода, так и из подсказок на естественном языке.

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

▫️Новая LLM может использоваться в качестве инструмента повышения производительности и обучения, помогая программистам писать более надежное и хорошо документированный код.

📌Разработчики LLM также доработали два дополнительных варианта Code Llama:

1️⃣Code Llama-Python — специализированная языковая вариация Code Llama, доработанная на 100 млрд токенов кода Python.

2️⃣Code Llama-Instruct — доработанный и согласованный вариант инструкций Code Llama.

Meta утверждает, что Code Llama показала лучшие результаты по сравнению с общедоступными LLM на основе эталонных тестов: Code Llama набрала 53.7% баллов в бенчмарке HumanEval и смогла безошибочно написать код на основе текстового описания.

📌А теперь немного мыслей относительно применения локальных языковых моделей на базе llama2:

✅Отличная лицензия для бизнеса — можно прикрутить в стартап.
✅Безопасность: на случай, если запрещено использовать ChatGPT для корпоративных задач, локальная LLM приходят на помощь.
✅Гибкость: модель можно дообучить, поиграть с параметрами. Одним словом все, что приходит на ум.
✅Это дешевле в частном использовании.

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

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

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

Помните недавно публиковали работу 17-летней Лекси Маттик? Эта работа — результат большого труда в надежде найти простое объяснение сложным вещам. Лекси перелопатила тонны ресурсов разного качества и иногда противоречащих друг другу, и потратила несколько недель исследований.

К чему все это? На Хабре появился перевод, который можно намного проще «пропустить» через себя. С помощью простых иллюстраций вы узнаете, как работает многопроцессорность, что такое системные вызовы, как компьютеры управляют памятью с помощью аппаратных прерываний и как Linux загружает исполняемые файлы.

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

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

#карьера

🎙Серия «Как мы попали в ИТ» продолжается. В новом видео про свой путь рассказывает Александр Кучук.

Учить Java — довольно стандартный выбор для многих, кто хочет попасть в ИТ, но наслушался обидных шуток про фронтендеров, и решил идти в бэкенд. Популярный энтерпрайзный язык, куча вакансий, больше сообщество, много учебных материалов.

Александр — автор и обидных шуток про фронтендеров, и человек, который прошел путь java разработчика по всем канонам.

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

В новом выпуске он расскажет про свои первые шаги в ИТ.

📺 Смотреть

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

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

Прямой эфир «Технический этап собеседования: разбор задач и ошибок»

🕐 Когда?

29 августа в 19:00 мск

🗣️ Кто спикер?

Алексей Бочкарев | Engineering Manager at FAANG

🦥 Где регистрироваться?

Здесь – https://proglib.io/w/4fb06b26

🌝 О чем поговорим?

Комбинаторика и комбинаторные числа: определение и практические примеры

– Основные идеи динамического программирования

Идеи рекурсии и примеры, включая inorder обход двоичного дерева

Графы и способы их представления

– Примеры различных типов асимптотической сложности

Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика

☄️ Регистрируйтесь, будет интересно – https://proglib.io/w/4fb06b26

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

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

🤖 Generative AI: как ускорить разработку с помощью Github Copilot и Databricks English SDK

Давайте разберемся, что же могут помощники и SDK, а чего от них ожидать еще рано. Рассмотрим наиболее популярные решения от Github и Databricks: варианты использования и их ограничения. Также поговорим о перспективах профессии AI-инженера.

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

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

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

Бесплатные учебники и задачники по программированию
на сайте code.mu/ru/

HTML, CSS, JavaScript, PHP, React, Vue,
LESS, SASS, TypeScript, Laravel, NodeJS, Express, Mongo, SQL, Webpack

Учебники написаны простым языком, много примеров,
в конце каждого урока - задачи для закрепления пройденного.
Заходи!

Это #партнерский пост

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

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

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

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

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

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

#новости

⚡️В Excel завезли Python

Стала доступна публичная предварительная версия этой фичи, позволяющая пользователям Excel манипулировать данными и анализировать их с помощью Python.

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

Для доступа к этому функционалу не потребуется устанавливать дополнительное ПО или что-то настраивать, ведь интеграция Python в Excel будет осуществляться в рамках встроенных коннекторов Excel и Power Query.

Microsoft также добавляет новую фичу PY, которая позволяет отображать данные Python в сетке таблицы Excel. Благодаря партнерству с Anaconda в Excel будут доступны такие популярные библиотеки Python, как statsmodels, pandas и Matplotlib.

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

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

🐛 9 признаков неопытного программиста

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

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

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

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

💬 Пользуетесь LinkedIn для поиска работы или других кейсов?

Больше «честных логотипов» от графического дизайнера Clif Dickens ищите на сайте.

👍 — конечно
🤔 — нет, он же заблокирован

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

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

Вебинар «Графы: алгоритмы и структуры данных на Python» сегодня в 19:00

Под этим постом вы можете задать любой вопрос спикеру!

Ссылка на трансляцию в YouTube – https://youtube.com/live/Uqp-pzGMjlU?feature=share

Запись эфира опубликуем здесь – /channel/proglib_academy

Подробности о курсе «Алгоритмы и структуры данных» – https://proglib.io/w/788d77ba

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

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

#новости

Исследователи из подразделения искусственного интеллекта Google DeepMind анонсировали новую ИИ-модель Gemini, которая, как заявляется, минимум в 5 раз мощнее GPT-4.

Gemini умеет работать сразу со всеми типами контента: текст, видео, аудио и изображения. Модель выйдет в паблик ближе к концу этого года.

💬Ждем GPT-5 этой осенью? Или OpenAI превращается в отстающих? Там еще и Meta* со своими моделями.

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

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

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

Оффер за одну неделю для Backend & Frontend mobile разработчиков в компанию YADRO

Ведущая технологическая компания России YADRO проводит One Week Offer, в рамках которого ты сможешь получить оффер от компании за одну неделю.

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

Оставь заявку на участие до 13 сентября: https://oneweekoffer.yadro.com/

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

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

🔄 Правильный рефакторинг в C#: улучшаем читабельность кода с помощью высокой связности

В этой статье мы разберём понятие высокой связности (high cohesion) и пример соответствующего рефакторинга кода.

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

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

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

💬🦙 LlamaIndex: создаем чат-бота без боли и страданий. Часть 2

Продолжаем изучать фреймворк для создания AI-ботов. В этой части узнаем про тонкости индексирования собственной базы документов.

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

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

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

#карьера

🤔 Перейти на роль инженера MLOps может быть проще, чем вы думаете

MLOps (ML + DEV + OPS) — это культура и набор практик комплексного и автоматизированного управления жизненным циклом систем машинного обучения, объединяющие их разработку (Development) и операции эксплуатационного сопровождения (Operations), в том числе интеграцию, тестирование, выпуск, развертывание и управление инфраструктурой.

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

1⃣ Инженер ML/Data Scientist/Data Platform — самый простой вариант, ведь если вы уже успешны на своей должности, возможно, у вас уже есть навыки, необходимые для перехода в MLOps-инженеры. Таким образом, основной сдвиг скорее ментальный, чем технический.

2⃣ Infrastructure/Cloud инженер: вы, скорее всего, хороши в инфраструктурной архитектуре, IaaC, облачных сервисах и т. д. Это все важные навыки, которые необходимо иметь в команде платформы ML.

3⃣ DevOps инженер: вы, вероятно, освоили инфраструктуру CI/CD и очень хорошо знаете, как создавать шаблоны и ускорить разработку — каждый из этих навыков необходим, чтобы стать инженером MLOps.

4⃣ Software инженер. Существует ряд областей, в которых навыки разработки ПО могут быть использованы в команде платформы ML, например: разработка бэкенд сервисов и UI, которые будут использоваться пользователями платформы. Кроме того, вы, вероятно, так же хорошо разбираетесь в инфраструктуре CI/CD, как и большинство инженеров DevOps.

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

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

📖➕➕ ТОП-10 книг по языку программирования С++ в 2023 году

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

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

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

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

#rust

😡❤️ В связи с тем, что отдельного канала по Rust у нас пока нет, интересные ресурсы будем публиковать здесь.

Rustlings — проект с небольшими упражнениями, которые помогут вам научиться читать и писать код на Rust.

📌В качестве альтернативы для тех, кто впервые изучает Rust, есть несколько других ресурсов:

📖Наиболее полный ресурс для изучения Rust, но иногда может показать чересчур теоретическим. Используйте эту онлайн-книгу вместе с Rustlings.
😎Rust на примере: изучайте Rust, решая небольшие упражнения. Это почти как rustlings, но онлайн.

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

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

#новости

🔥Главное из игровой презентации Gamescom 2023

🎮 Анонс Killing Floor 3 — мультиплеерный шутер выйдет на ПК, Xbox Series и PS5. Дата релиза пока неизвестна.

🎮 Презентация Cyberpunk 2077: Phantom Liberty. Разработчики полностью изменили систему перков и полиции, добавили возможность стрелять во время езды и дополнительные миссии.

⚡️Трейлеры

📺 Little Nightmares 3 — хоррор-платформер разрабатывает студия Supermassive Games, известная по Until Dawn (выйдет в 2024 году).

📺 Black Myth: Wukong — экшен-RPG по мотивам китайского романа «Путешествие на запад» должна выйти в 2024.

📺 «Мятежной луны» Зака Снайдера — первая часть блокбастера выйдет на Netflix 22 декабря, вторая — 19 апреля 2024.

📺 Сюжетный ролик Assassin's Creed Mirage — показали историю главного героя Басима (выйдет 5 октября на ПК, Xbox и PlayStation).

📺 Tekken 8 — новая часть знаменитого файтинга выйдет 26 января на ПК, Xbox Series и PlayStation 5.

📺 Mortal Kombat 1 — показали завязку игры и кровавые драки. Файтинг выйдет на ПК, Xbox, PlayStation и Switch 19 сентября.

📺 Lords of the Fallen — хардкорный экшен выйдет на ПК, Xbox Series и PlayStation 5 уже 13 октября.

📺 Alan Wake 2 — долгожданное продолжение хоррор-триллера выйдет 27 октября.

📺 Отрывок игрового процесса Call of Duty: Modern Warfare 3 — показали первую миссию сюжетной кампании, действие которой разворачивается в тюрьме (появится в продаже 10 ноября на ПК, Xbox и PlayStation)

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

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

💼🚫 Устроился на работу, но она разонравилась: 8 советов, что делать

Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.

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

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

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

В далеком 1999 авторы журнала Maximum Linux достаточно смело и вполне уместно писали: «…Linux берет верх над Windows». Причин здесь несколько:

✅Более стабильная
✅Проста в установке
✅Легко кастомизируется
✅Быстрая

В ежемесячном рейтинге StatCounter представлены данные по распространенности десктопных операционных систем. Так, в июне 2023 года, доля Linux-дистрибутивов первый раз превысила отметку 3%.

Лидером стабильно остается ОС Windows (69,51%), за ней расположены macOS (20,43%), неизвестная система (3,69%), Chrome OS (3,24%), Linux (3,13%) и FreeBSD (0,01%).

Для сравнения: в июне 2019 года доля Linux составляла 1,6%, в июне 2021 — 2,68%, а в январе 2023 — 2,91%.

🤷А теперь интересное: авторы статистики (StatCounter) использовали не ту методику и учли не все дистрибутивы — они вынесли Chrome OS в отдельную графу, хотя это тоже полноценный Linux-дистрибутив. Понимаете, к чему мы клоним?

💬В любом случае, Linux здесь проигрывает. А что там с серверной ОС? Как там у винды дела? И да, посмотрите, как стремительно растет процент десктопного линукса.

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

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

❗Ищем копирайтера

Нам нужен человек, который:
— Любит IT и русский язык.
— Понимает разницу между бэкендом и фронтендом, OWASP и MISRA, функциональным программированием и ООП, микроконтроллером и миникомпьютером, UX и UI.
— Имеет опыт работы от 1 года.
— Будет плюсом, если вы программируете на каком-нибудь языке на уровне стажера/джуна.

Что нужно делать:
— Готовить подборки, ТОПы книг, ютуб- и телеграм-каналов по языкам программирования.
— Делать расшифровки топовых Ютуб-роликов по теме программирования и оформлять их в виде статей.
— Готовить новостные заметки.
— Актуализировать старые статьи.
— Брать интервью у экспертов. Мы поможем с поиском экспертов.
— Иногда писать небольшие рекламные посты в телеграм.
— Писать статьи с кодом, переводить статьи (по желанию, оплачивается отдельно).

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

Условия:
— Белая зарплата: 50 000 руб.
— Возможность работать удаленно.

👉Присылайте свои резюме: hello@proglib.io

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

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

👀 Повышаем APRU приложений до 91%, ничего не делая

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

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

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

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

Новые каналы по Go🎉

Готовимся к собеседованиям по Go и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для Go-разработчиков и тех, кто хочет ими стать👨‍🏫

Подписывайтесь:
👉Библиотека собеса по Go — тут мы готовимся к интервью
👉Библиотека задач по Go — тут решаем задачи, проходим тесты и изучаем код

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

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

🎓 4 причины учиться в вузе в 2023 году
Курсы привлекают своей доступностью и стоимостью, но стоит ли овчинка выделки?

Чем вуз лучше курсов?
1. Глубокие, системные знания и проработанные программы обучения.
2. Преподавание опытными учеными и педагогами.
3. Диплом вуза открывает перспективы трудоустройства и карьерного роста.
4. Вуз дает навыки исследовательской работы и основу для научной карьеры.

Пока открыт набор на программу «Прикладная статистика с методами сетевого анализа» и у вас есть шанс подать документы до 15 сентября.

Чем эта программа отличается от других магистерских программ и курсов?
Программа не имеет аналогов в России, в ее основе — лучшие практики образовательных программ Университета Индианы и Университета Иллинойса в США.

📝 Если у меня нет профильного образования, я смогу поступить?
Мы приглашаем на программу всех, кого интересует сфера анализа данных.

‍💼 Смогу ли я совмещать учебу с работой?
Обучение на магистратуре будет проходить вечером в будние дни и по субботам. Так вы сможете продолжить карьеру и встроить учебу в свое расписание.

🚀 Okay! Хочу попробовать!
Программа «Прикладная статистика с методами сетевого анализа»

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

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

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

⚡️Ловите подборку самых важных нововведений Git 2.42:

Предложен новый алгоритм обхода битовых карт, отражающих данные о наборах объектов, доступных для каждого коммита, и позволяющих быстро определить наличие базового объекта для сокращения времени извлечения данных при выполнении операций с большими репозиториями ('git fetch', 'git rev-list' и 'git clone').
Добавлен новый механизм для сохранения недостижимых объектов (unreachable object), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги) и которые подлежат удалению сборщиком мусора после истечения таймаута.
В команде 'git for-each-ref' реализован гибкий механизм исключения ссылок из вывода, более удобный и эффективный, чем применение переменной transfer.hideRefs.
В команде 'for-each-ref' расширены средства форматирования ссылок при помощи опции '--format'. Появилась возможность вывода информации, связанной с GPG-подписями.
Расширено применение механизма частичных индексов (sparse index), охватывающих лишь часть репозитория.
В команде 'git rev-list' при использовании опции '--stdin' для упрощения вызова из скриптов разрешено указание через входной поток данных для расширенных модификаторов, таких как '--branches', '--tags' и '--remotes'.
Реализовано отложенное удаление сообщения $GIT_DIR/TAG_EDITMSG, производимое только после успешной записи тега, что решает проблему удаления примечания до вывода сообщения об ошибке.
➕ В команду 'git worktree add' добавлена опция '--orphan' для создания рабочего дерева на основе осиротевшей ветки.
В команду 'git cat-file' добавлен режим '-Z', который в отличие от режима '-z' применяет разделение на основе символов с нулевым кодом (вместо символов перевода строки) не только для входных, но и для выходных данных.
В команду 'git notes append' добавлена опция '--separator' для выбора разделителя абзацев.
В команде 'git diff --no-index' реализована возможность чтения из именованных каналов ('git diff <(process) <(substitution)').

🔗 Читать подробнее

Читать полностью…
Subscribe to a channel