Курсы:
— Курс от Hugging Face: баланс теории и практики, вы познакомитесь с основными библиотеками, получите сертификат по окончанию и сможете пообщаться с другими участниками в Discord.
— Плейлист с подробными лекциями о базовых концепциях и популярных архитектурах обучения роботов.
— Курс на Coursera: даст понимание ключевых идей обучения с подкреплением. Вы сможете реализовать полноценное RL-решение и научитесь применять инструменты ИИ для решения реальных задач.
Книги:
— «Грокаем глубокое обучение с подкреплением» Моралес Мигель;
— «Обучение с подкреплением [2-е изд.]» Ричард С. Саттон, Эндрю Дж. Барто;
— «Алгоритмы принятия решений» Кохендерфер М., Уинлер Т., Рэй К.
Дайте знать, если хотите видеть больше подобных подборок!
#rl #deeplearning
One Day Offer для Data Science
Обнаружен самый короткий путь к офферу в Сбере: 2 марта вас ждут на онлайн One Day Offer для специалистов Data Science.
Сбер разрабатывает и внедряет DS-решения в точки касания с клиентом: отделения, мобильное приложение, банкоматную сеть, кол-центр, канал Премьер и т. д. За год запускается более 200 моделей.
Стек направления: Python, Spark, SQL, Hadoop, GreenPlum.
В ваших задачах будет:
— Обучение всех типов моделей искусственного интеллекта: от классического ML до глубоких нейронных сетей.
— Создание высокотехнологичных сервисов: от систем принятия решений до компьютерного зрения и обработки естественного языка.
— Развитие хранилищ блока на Teradata и DataLake на Hadoop.
У вас есть уникальная возможность поучаствовать в выводе продуктов с нуля в промышленную эксплуатацию. Интересно?
Регистрируйтесь по ссылке.
Реклама
Как выучить язык программирования быстрее
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
Регулярные выражения для начинающих
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:\d{3}-\d{3}-\d{4}
где \d
— символ цифры, {3}
— количество повторений, -
необходимый разделитель.
Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
5 ошибок Python-разработчиков, которые выдают новичка
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
Чистим код: Функции
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
Про дефолтные утилиты в Go и чистоту кода
В Go есть Go fmt — готовый инструмент для форматирования кода на Go. А также Golangci-lint — линтер для поиска ошибок.
Какие ещё утилиты есть в Go и как они делают код чище и проще для ревью и чтения — смотрите в новом выпуске avito.code. Инженер PaaS AvitoTech Павел Агалецкий рассказывает о полезных командах на примере живого кода.
Реклама ООО «Авито Тех», LjN8JtHrs
Продолжаем изучать SQL: Индексы
Индексация в SQL похожа на книжную индексацию, ускоряющую поиск данных. Благодаря индексам на порядок повышается скорость запросов. Индексы эффективны в больших базах данных и системах с плановыми обновлениями, но не рекомендуются для небольших таблиц, частых обновлений и столбцов с множеством null значений.
Держите статью, где подробно и простым языком объясняют принцип работы индексов и их необходимость в базах данных.
#sql
Шпаргалка по Markdown в одной картинке
Markdown — популярный язык разметки текста, который можно встретить практически где угодно: редакторы блогов, документации (как на GitHub и т. д.), базы знаний и трекеры (типа Notion, Todoist). Поэтому понимание хотя бы базового синтаксиса этой разметки точно не будет лишним для общей эрудиции любого разработчика.
Разметка простая и местами даже интуитивная. Например, вот так пишется # Заголовок
, вот так *жирный текст*
, а так список:1. элемент 1
2. элемент 2
Всё самое необходимое по Markdown можно найти в шпаргалке выше (источник). Там же для лучшего понимания приведён аналог на HTML каждого из элемента.
#markdown #шпаргалка
Дорожная карта для изучения Rust
Rust — это современный и безопасный язык программирования, который обеспечивает высокую производительность и защиту от ошибок. Начинающих в IT этот язык привлекает своей простотой и удобством в использовании, а также возможностью разработки быстрых и надёжных приложений.
Держите дорожную карту по изучению Rust с нуля. На сайте можно узнать, в какой последовательности лучше изучать темы, что от чего зависит и главное — получить краткую выжимку по каждому из пунктов, нажав на него.
#rust #roadmap
Что такое MVP простыми словами
MVP (Minimum Viable Product) — это базовая версия продукта с минимальным набором функций, необходимых для решения основной проблемы целевой аудитории.
Зачем это нужно?
MVP позволяет проверить продукт на аудитории, собрать фидбек и скорректировать план, затратив при этом минимум финансов и времени.
Пример MVP:
Простое мобильное приложение для заметок, которое позволяет создавать, редактировать и удалять записи. Это основная функциональность, необходимая для удовлетворения потребностей пользователей — без перегруженного интерфейса и сторонних фич.
Ошибочное представление MVP:
Создание приложения для заметок с множеством "технологичных" функций, таких как голосовые комментарии и анимированные эффекты, но без базовой функциональности, такой как редактирование существующих заметок. Такой подход уводит внимание от основной проблемы и увеличивает затраты на разработку.
Если хотите глубже познакомиться с концепцией MVP с советами и примерами, то держите эту статью.
#теория
Что такое хэш-таблицы и как они работают
Хэш-таблица — это одна из самых популярных структур данных. Про неё любят спрашивать на собеседованиях и в целом использовать в программировании. И вот почему:
Хэш-таблица позволяет очень быстро находить и организовывать данные в ней — количество элементов в таблице не влияет на время поиска по этой таблице (даже если их миллионы). Это возможно благодаря тому, что для каждого элемента, помещаемого в таблицу, специальной хэш-функцией вычисляется ключ, по которому этот элемент будет находиться. И в дальнейшем для поиска элемента, чтобы не делать перебор всего массива, нужно лишь заново вычислить ключ хэш-функцией и по нему получить искомое значение.
Если интересно, как именно работают хэш-таблицы и функции "под капотом", то держите видео на эту тему.
#теория
React Native vs. Flutter: что лучше?
Если только планируете вливаться в мобильную разработку, то можете стать перед выбором стека. Flutter и React Native — два основных инструмента для создания кроссплатформенных мобильных приложений. Оба позволяют разрабатывать приложения для iOS, Android и веб из одной кодовой базы.
Flutter предоставляет обширную библиотеку виджетов и плагинов, в то время как React Native — сторонние библиотеки и базовые компоненты.
Держите на заметку статью, где автор на практическом примере показывает разницу этих двух инструментов. Он создал чат-приложение с использованием Firebase в качестве бэкенда. React Native использует JavaScript и TypeScript, в то время как Flutter — язык Dart, оптимизированный для компиляции на разные платформы.
#mobile #react #flutter
Сделайте свой пет-проект в индустрии туризма!
Открыта регистрация на Московский туристический хакатон — соревнование по цифровизации индустрии туризма. Он пройдёт в два этапа: отборочный онлайн-этап и очный финал в Москве.
Общий призовой фонд: 7 500 000 рублей.
Ждём IT-специалистов, продуктологов, разработчиков, дизайнеров, аналитиков, креаторов и других специалистов, создающих прорывные технологические и продуктовые решения.
Вас ждут пять задач на стыке TravelTech и одной из дополнительных сфер:
— BookingTech;
— FinTech;
— RoadTech;
— ServiceTech;
— E-Com.
Окончание приёма заявок 11 марта, поторопитесь! Больше деталей на сайте.
Заполняйте заявку на хакатон и выигрывайте!
Реклама АНО "Проектный Офис по Развитию Туризма и Гостеприимства Москвы" ИНН 7703468243, LjN8K43ay
Чистим код: советы по именованию
Записываем в блокнотик:
— Все сущности должны иметь понятные и удобнопроизносимые имена (т.е. никаких a1, a2, a3, temp, foo
). Не бойтесь потратить на придумывание названия переменной более 5 секунд. В будущем вы от этого только выиграете.
— Длина названия должна быть пропорциональна области видимости сущности. Вот почему итераторы в маленьких циклах можно называть i
, j
, k
, а какие-то глобальные константы лучше по типу MAX_REQUEST_COUNT
.
— Имена классов должны представлять собой существительные или их комбинации.
— Методы в своём названии должны содержать глагол, описывающий действие метода. Если глагол не подобрать — задумайтесь, точно ли эта сущность должна быть методом?
— Стоит избегать названий со словами And
, With
, т.к. они нарушают принцип единой ответственности (хотя бывают и исключения).
— Если есть группа переменных с общим префиксом, то его ставим в конце, а различные части — вначале: StartButton, StopButton
, а не ButtonStart, ButtonStop
. Так проще находить нужное в группе нескольких переменных.
#чистимкод
Обучение с подкреплением (RL) – это способ в машинном обучении, при котором компьютер учится принимать решения, действуя в окружающем мире и получая за это награду. Например, ИИ может учиться играть в компьютерные игры или управлять роботом, чтобы достичь победы или других целей.
Держите подборку курсов и книг, которые помогут с нуля развиться в этой теме:
6 способов войти в ИТ без высшего образования и онлайн-курсов
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Углубимся в историю?
В какой последовательности появлялись следующие языки программирования?
#викторина
Какие разработчики игр зарабатывают в 2024
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
Держите огромную подборку инструментов для веба
Автор потрудился собрать большое количество инструментов и разделить их на 30 категорий. В каждой категории несколько десятков сервисов, так что можно найти решение для почти любой задачи.
Среди категорий: шрифты, иконки, палитры, стоковое аудио, шаблоны кода, инструменты для дизайна и JS-фреймворков, а также многое другое. Поэтому такая подборка — универсальная шпаргалка для любого веб-разработчика.
#web #frontend
На чём писать сайт в 2024?
Рынок веб-разработки никогда не стоит на месте. Те технологии и инструменты, которые были популярны и востребованы пару лет назад, уже могут потерять свою актуальность в этом году. Поэтому, если планируете развиваться в веб-разработке, то держите шпаргалку, в которой рассказали об актуальных технологиях в вебе на этот год.
Если кратко, то: JS — основной язык для фронтенда, также остаются актуальными React, Angular и Vue. Для бэкенда выбор зависит от сайта: маленькие — WordPress, большие — PHP/Laravel, Python/Django, Ruby on Rails. Крупные компании выбирают Java/C#. Важными остаются SEO и мобильная адаптивность.
#web #backend #frontend
Гайд по подготовке к собеседованию по Kubernetes
Kubernetes (K8s) — это открытая платформа для автоматизации развёртывания, масштабирования и управления приложениями в контейнерах. Она предлагает инструменты для упрощения работы с контейнерами, например, Docker, и позволяет легко управлять приложениями в распределённой среде.
В этой статье исполнительный директор по разработке Газпромбанка делится обширным списком частых вопросов с собеседований на тему k8s. Среди них есть и базовые темы на понимание инструмента, и специфичные вопросы, по типу управления ресурсами, best practices и Kubernetes Service.
#собеседование #devops #k8s
Продолжаем изучать SQL — выбор данных и их сортировка
Сегодня разберём два популярных оператора в SQL — SELECT
и ORDER BY
.
Первый — оператор выбора. Он используется для извлечения каких-то конкретных данных из таблицы. Например, в таблице есть данные о именах студентов, их курсе и оценках. Чтобы получить только имена студентов, используем SELECT name FROM students
. Выбирать можно также сразу несколько параметров через запятую. Вот небольшая шпаргалка по этому оператору.
Второй — оператор сортировки. Вместе с ним используется оператор ASC
для сортировки от меньшего к большему, и DESC
— от большего к меньшему. Например, если нужно отсортировать имена учеников по их оценкам, начиная с самых высоких, то используем: ORDER BY score DESC
. По этому оператору тоже есть небольшая статья.
#sql
Над презентациями больше не прокрастинируем
Для тех, кто испытывает творческое напряжение во время верстки слайдов, разработали Tome — конструктор с ИИ, который:
— создаст типовую структуру презентации по коротком промпту (например, «напиши питч IT-стартапа в области медицины»);
— раскидает буллит-поинты, картинки по слайдам и даст их перегенерить при уточнении промпта;
— сгенерирует картинки, видео и анимирует переходы и многое другое.
How To
#нейросети
Как работает тёмная тема и как правильно её создать
В мире приложений тёмные темы стали не просто трендом, а хорошим тоном. Так интерфейс не нагружает глаза пользователя в тёмное время суток и экономит энергию на устройствах с OLED-экраном.
Держите статью о создании таких тем с учётом особенностей человеческой физиологии глаза. Тут обсуждают изменение цветовой гаммы в зависимости от времени суток и особенностей сумеречного зрения. Расскажут про теорию цвета и контраста, а главное — как правильно тестировать интерфейс с тёмной темой инженерным путём. И всё это на примерах картинок с уточками.
#ux #ui
Про ООП в картинках и с трансформерами
В программировании объектно-ориентированный подход подобен работе с конструктором, где вы создаёте сложные системы, собирая их из меньших, но более понятных частей — объектов. Каждый объект — это своего рода строительный блок, который хранит данные и действия, специфичные для него. Например, объект "автомобиль" может иметь свойства скорости и цвета, а также методы для езды и остановки.
Тема ООП очень распространена в IT и является своего рода "базой", которую должен понимать разработчик.
Держите лонгрид, в котором все понятия ООП объясняют не стандартными формулировками, а на примере строения трансформеров. Тут же разбирают работу геттеров/сеттеров, перегрузки и немного SOLID. Всё с примерами кода, чтоб легче было усвоить.
#теория
Учимся анимировать в CSS за 20 минут
CSS предлагает два метода анимирования: переходы (transitions) и анимации (animations). Переходы плавно изменяют свойства, а анимации контролируются по ключевым кадрам.
Для создания перехода используются свойства transition: duration
, timing
function
, delay
. Анимации создаются с помощью @keyframes
и параметров, таких как имя и длительность.
Также есть утилитарные классы, которые упрощают использование анимаций: slideInLeft
, slideInRight
, rotate
и bounce
.
Держите статью, где подробно разбирают процесс создания различных анимаций и объясняют принцип их работы.
#css #frontend
Что лучше использовать: PyTorch или TensorFlow?
Хотите разобраться в инструментах машинного обучения? Давайте разберём в сравнении PyTorch и TensorFlow:
PyTorch — это простой инструмент, который хорошо дружит с Python и создан на базе библиотеки Torch.
TensorFlow — это большая система от Google Brain, поддерживающая различные платформы и языки программирования. Есть множество предварительно обученных моделей.
У первого из преимуществ простота, гибкость, удобство с Python. Но есть ограничения с визуализацией и сервированием моделей. А TensorFlow хорошо может в производительность и масштабируемость, но иногда подводит с обратной совместимостью и скоростью.
Эта статья поможет определиться с выбором из двух инструментов для конкретной задачи.
#pytorch #tensorflow #ml