🔄 Правильный рефакторинг в 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)').
🔗 Читать подробнее
🥷Это путь воина
Напоминаем, что «Библиотека программиста» запустила два новых канала специально для специалистов по C++ и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по C++ — тут мы готовимся к интервью
👉Библиотека задач по C++ — тут решаем задачи, проходим тесты и изучаем код
🤩Подборка бесплатных API на любой случай жизни
Здесь вам и база данных продуктов/рецептов для приложений о ЗОЖ, и коллекция цитат знаменитых людей, и база данных с видеоиграми, и многое другое. Одним словом, маст хэв для ваших проектов.
#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
#инфографика
Наиболее распространенные юзкейсы Kafka
1⃣ Отслеживание активности веб-приложения/веб-сайта
2⃣ Репликация баз данных
3⃣ Агрегация логов/мерик
4⃣ Потоковая обработка
5⃣ Обмен сообщениями
💬 А что это вообще такое — быть программистом?
Герой и автор статьи, выпускник ВМК МГУ, сеньор Python-разработчик с более чем 10-летним стажем, решил порассуждать на эту тему со своей колокольни. В статье очень много полезных мыслей для тех, кто вообще об этом задумывается. Но самое ценное и, кажется, волнующее многих, сосредоточено здесь👇
📌 Нужно ли быть умным, чтобы программировать? Не нужно быть очень умным и не нужно всё знать, чтобы нормально жить. А вот быть упорным — обязательно. Выбейте себе на руке татуху stubborn и смотрите на неё постоянно до просветления.
📌 Вот ещё несколько советов для тех, кто не мегамозг:
🔹Если ничего не получается, то бросьте всё нафиг, поспите, и завтра утром всё получится.
🔹Если непонятно, что делает код, то разбейте его на небольшие функции и дайте функциям и переменным нормальные названия.
🔹С первого раза не заработает.
🔹Работайте в команде более опытных людей или найдите ментора — очень важно, чтобы кто-нибудь говорил вам, насколько ваш код ужасен, иначе вы будете жить годы в пузыре собственного невежества и думать, что всё норм.
📌 Ну и оставим здесь цитату автора. С ней ведь все согласны?
«Я тащусь от программирования, меня прёт с него, а уж когда моё приложение не падает в первые 10 минут — это вообще восторг. Программирование — это, блин, стиль жизни, это восхищение изящными решениями, это отчаяние из-за того что опять нихрена не работает непонятно почему, это возможность творить, создавать и ломать.»