Основы аутентификации для начинающих
Без аутентификации не обойтись, пожалуй, почти ни в одном реальном проекте, рассчитанном на людей. Рассмотрим два основных подхода к аутентификации пользователей: как они работают, в чем их преимущества и недостатки.
Как создать бессерверную форму для бессерверного сайта
Научимся создавать бессерверный бэкенд для приема входящих данных формы и отправки электронного письма с этими данными.
Как обнаружить дублирование кода в проекте
Обнаружение повторяющегося кода - необходимая часть качественного проектирования. Пренебрежение ею чревато снижением читабельности проекта и усложнением его обслуживания. Ознакомьтесь с несколькими способами обнаружения и удаления дублирующегося кода.
Яндекс опубликовал календарь дней быстрого найма
Яндекс объединил все мероприятия по быстрому найму в одном календаре. Сейчас в нём доступны три типа событий, которые позволят устроиться в компанию за несколько...
Фитнес-функции и их роль в эволюции архитектуры
Познакомимся с фитнес-функциями и посмотрим, как они проверяют ПО на соответствие стандартам архитектуры.
5 советов о том, как улучшить комментарии в коде
Хороший программист должен уметь не только грамотно писать код, но и снабжать его уместными комментариями. Предлагаем вашему вниманию 5 лайфхаков по улучшению навыков комментирования кода.
От 0 до 300 SQL-запросов в месяц: 3 практических совета
SQL - это связующее звено между пользователем и системой управления БД. Предлагаем несколько лайфхаков от практикующего аналитика данных, которые позволяют упрощать SQL-запросы и эффективно загружать данные в дашборд.
Секреты эффективного управления разработкой
Представляем вашему вниманию 50 советов о том, как добиться успеха на посту руководителя проектного отдела.
8 бесплатных шпаргалок, которые должны быть в закладках у каждого разработчика
Как ничего не упускать и изучать программирование эффективно? Эти сайты пригодятся в качестве справочной информации, особенно при подготовке к экзамену или даже собеседованию.
#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы
По меткому высказыванию Педро Домингоса, машинное обучение - это результат слияния необъяснимой эффективности математики с такой же необъяснимой эффективностью данных. Некоторые склонны впадать в панику при беглом знакомстве с МО, полагая, что оно требует сложнейших математических вычислений. В специальной серии статей мы поставили перед собой задачу развеять этот миф.
Новый шаг к будущему без языковых границ
Новый шаг к будущему без языковых границ: Яндекс запустил в открытую бету технологию закадрового перевода прямых трансляций на YouTube В Яндекс Браузере появилась уникальная...
#02TheNotSoToughML | Способы “подгонки линии”
Продолжаем цикл по заполнению пробелов в области алгоритмов и концепций машинного обучения. В этой статье мы узнаем, как настроить веса и смещение в модели линейной регрессии.
Arduino и Visual Studio Code
Займемся разработкой Arduino, вооружившись расширением PlatformIO в VS Code, и напишем первый проект с мигающим светодиодом.
#01TheNotSoToughML | Что означает “подогнать линию”
Настало время восполнить пробелы в отношении алгоритмов и концепций машинного обучения. Разбираем интуитивные решения, которые стоят за построением прогностической модели в машинном обучении.
Параллельные вычисления: введение
Работаете с большими объемами данных и хотите уменьшить время их обработки? Попробуйте параллельные вычисления!
От нуля к единице: как сервис Instawork исследует данные
Переход от 0 к 1 означает переход от ничего к чему-то или почему я покинула Google и перешла работать в Instawork.
16 полезных расширений для SwiftUI
Предлагаем несколько примеров полезных сниппетов кода, которые можно неоднократно использовать в проектах.
Определите свой уровень технических навыков — экспериментальный проект от Яндекса
Яндекс запускает экспериментальный проект по диагностике технических навыков. Принять участие могут бэкенд- и мобильные разработчики, а также разработчики интерфейсов и аналитики.
В рамках диагностики вы...
Введение в конвейерную обработку данных с использованием бессерверной архитектуры
Сегодня мы расскажем вам о построении сквозных конвейеров данных с использованием бессерверных технологий. Мы сосредоточимся на Amazon Web Services (AWS) для построения конвейера, однако подобную архитектуру можно легко воспроизвести на любой другой облачной платформе, включая Google Cloud Platform (GCP), Microsoft Azure и т. д.
Как легко и быстро создать веб-приложение на базе МО с помощью Python
Чтобы продемонстрировать свои достижения в области разработки моделей машинного обучения, стоит поделиться ими с другими! Рассказываем, как развертывать модель линейной регрессии с помощью Flask.
Когда не следует использовать нейронные сети
Нейронные сети - не универсальная опция. Как же выбрать модель при отсутствии идеального варианта? Есть ли компромиссные решения? Возможен ли вообще паритет между точностью и полезностью? Поищем ответы на эти вопросы.
Сделайте свой первый вклад в открытый исходный код!
Наверняка вы хоть раз задумывались о том, как улучшить существующую версию той или иной программы. Мы расскажем вам о том, как это можно сделать на практике.
Что такое разработка через тестирование и как эффективно ее использовать
Возможно, вы слышали о такой технике программирования, как TDD - разработка через тестирование. Разбираемся, как правильно использовать этот метод, чтобы повысить свой профессиональный уровень.
Генерирование синтетических обучающих данных с поддержкой масштабирования для задач NLP с помощью T0PP
Проблемы с производством тренировочных данных для моделей МО? На помощь приходит мощный инструмент T0PP!
Flutter и SonarQube для статического анализа кода
За 8 шагов настроим SonarQube с Flutter на Apple Silicon Mac, используя Docker. Погнали!
Как писать функции: 8 советов от опытного разработчика
Функция - это небольшая часть истории о системе. Чтобы научиться излагать ее как можно удачнее, воспользуйтесь советами профессионального программиста.
Как работает алгоритм YouTube?
Вы когда-нибудь задумывались над тем, по какому принципу YouTube выстраивает в ряд видео, которые вы хотите посмотреть? Возможно, вы только что обсуждали какой-то видеоролик со своим другом, и вот он уже на главной странице! Разберем, как работает система рекомендаций YouTube.
Как научиться не только писать код, но и быть хорошим программистом
Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
Сильные и слабые стороны метавселенной
Последнее время вокруг метавселенной царит нешуточный ажиотаж. Цифровой мир открывает массу возможностей для пользователей, но вместе с тем несет в себе определенные риски.
Как экономить 100 часов в месяц: 6 малоизвестных техник SQL
Как облегчить поиск и удаление дублей, агрегирование данных с операторами case и group by, отображение временных рядов, поиск разницы в данных двух любых дат и как объединять данные двух таблиц простейшим способом? Помогут эти простые приемы!
Google Analytics: почему следует покинуть эту платформу и как это сделать
Google Analytics, похоже, не сильно беспокоится о конфиденциальности данных, поэтому стоит задуматься о переходе на альтернативные платформы. Рассказываем, как это сделать.
Подробный обзор JSON, JSON5 и циклических зависимостей
JSON - это круто, а JSON5 - еще круче! Предлагаем подробное руководство по JavaScript Object Notation (JSON). Узнайте, как работают JSON и JSON5, а также возьмите на заметку несколько способов решения проблемы циклических зависимостей.
Пора делать шаг по карьерной лестнице разработчика?
Список общих рекомендаций по смене работы и устройству на должность своей мечты. Почему техническая зубрежка не является ключом к успеху, и какая стратегия здесь окажется более эффективной?
5 актуальных расширений Xcode для оптимизации разработки
Пополним арсенал разработчика полезными расширения для повышения продуктивности: SwiftPlantUML, SwiftFormat, Import, SwiftMockGeneratorForXcode, XVim2.
Введение в бинарный поиск
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.
Различные модели машинного обучения
Что же такое машинное обучение? И почему оно так плотно связано с нашей повседневной жизнью? Отвечаем на эти и сопутствующие вопросы.
Что нужно знать разработчику ПО
Инженер ПО - востребованная и высокооплачиваемая профессия, требующая креативности, аналитических навыков и интереса к информатике. Если вы самостоятельно изучаете программирование и интересуетесь основными принципами, применяемыми разработчиками ПО, то обратите внимание на эти 10 пунктов.
Обзор команд Git для отмены изменений
Откроем двери в мир Git и рассмотрим полезные команды для отмены самых разных изменений.
Обзор 8 ключевых команд Npm и Yarn
Хочешь быть продуктивным - учи команды команды npm и yarn CLI. А мы предоставим актуальную информацию о самых востребованных из них.
Шесть принципов, которые помогут лучше писать модули для iOS-приложений
Зачастую приходится разрабатывать не целые приложения с нуля, а дополнения, надстройки, библиотеки. Предлагаем несколько советов, благодаря которым результат такой работы окажется полезнее для конечных пользователей.
2 инструмента для автоматизации тестирования производительности на стороне клиента
Представляем 2 продвинутых инструмента веб-тестирования: Lighthouse от Google и Playwright от Microsoft. Освоив их, вы избавитесь от многих проблем, связанных с тестированием приложений, и этот процесс станет намного удобнее, быстрее и легче.
Идиома CRTP и написание общих функций в C++
Разбираемся в концепции CRTP (Curiously recurring template patterns, рекурсивный шаблон). Она поможет описывать в C++ общую функциональность, комбинируя шаблоны и наследование.
Как продвигаться в роли разработчика?
Почему одни люди преуспевают и получают большие деньги, а другие сидят на голой зарплате и топчутся на одном месте? Что лежит в основе карьерного роста и успеха? Ничего сложного, если подойти к вопросу с практической точки зрения.
Разработка ПО — системы плагинов
Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
Обнаружение и извлечение текста из изображения с помощью Python
Представляем удобные техники OCR и OpenCV для обнаружения и извлечения текста в цифровом изображении
Зачем переходить с Gitbook на Readme
Легче сказать "запустить документацию", чем сделать это. Не так-то просто выбрать платформу для размещения документации, да и предоставляемые инструменты сильно различаются. Опыт компании Budibase поможет вам сделать обоснованный выбор.
Введение в библиотеку Flutter Bloc
Обратим наш пристальный взор на библиотеку Flutter Bloc и разберемся в ее тонкостях, чтобы эффективно задействовать ее потенциал в будущих проектах.
Руководство по подготовке к собеседованию по SQL
Готовитесь к собеседованию по SQL? Разбираем задачи, которые может предложить потенциальный работодатель.
5 весомых причин познакомиться с паттерном “Компоновщик”
Рассмотрим преимущества паттерна "Компоновщик", позволяющего писать грамотный код.
5 секретов создания востребованной технической статьи
Программисты часто делятся знаниями на страницах популярных сайтов и журналов. Рассмотрим несколько советов, которые помогут написать полезную и интересную для читателей статью.
Тестируя нетестируемое — битва с легаси-кодом
Знакомимся со стратегией приведения легаси-системы в разумный вид, из которого с ней можно будет работать привычными средствами. Разбираемся, что происходит, и действуем, не боясь все сломать.
Ленивая загрузка, агрегирование и CQRS
Рассмотрим шаблоны, позволяющие справляться с приложениями, у которых повышается сложность, и поймем, в каких случаях пригодится каждый из них.
Разрабатываем приложения для распознавания речи с помощью Python
Хотите создать своего голосового помощника и превзойти Siri и Яндекс Алису, но не знаете, с чего начать? Рассказываем и показываем, как работает распознавание речи на примере двух простых приложений, и советуем, как применить эти знания на практике.
Первые шаги в программировании: работа без ошибок
Овладение искусством написания кода может стать неоценимым вкладом в ваше будущее, так как этот профессиональный навык востребован в современном мире как никогда раньше. Именно...
Как ускорить навигацию командной строки
Знание полезных команд может творить чудеса. Мне часто приходится возиться с командными строками, помогая другим с отладкой кода и навигацией серверов, поэтому я прекрасно...
Руководство по Docker. Часть 3: Amazon Web Services, Travis CI и Elastic Beanstalk
Руководство по Docker. Часть 1: образ, контейнер, сопоставление портов и основные команды.
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
С помощью первых...
Полезные команды Git
Набор консольных утилит Git создан в помощь программисту. Используя их, он может управлять версиями проекта. Само собой, при работе с Git требуется знание определенных команд. Сегодня мы рассмотрим базовые команды Git и научимся добавлять и изменять удаленный репозиторий, а также удалять ветки.
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
Рассмотрим написание docker-compose.yml и запуск веб-приложения в связанных контейнерах Docker Compose на примере Node.js и Redis.
Чистая архитектура: руководство для начинающих
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
Руководство по Docker. Часть 1: образ, контейнер, сопоставление портов и основные команды
Docker для начинающих: логгирование, Docker Hub, выполнение команд внутри контейнера и докеризация первого веб-приложения на Node.js.
Что такое «O» большое в программировании?
Как определить, написан ли код наилучшим образом? Можете ли вы его оценить в терминах “О” большое? Эти вопросы часто звучат на собеседовании. Если вы ответите на них, вас посчитают хорошим специалистом и, скорее всего, возьмут на работу.
Как запросить датафрейм Pandas с помощью SQL
Пользуетесь ли вы SQL в Pandas? Узнайте, как запросить датафрейм Pandas с помощью SQL, используя возможности и учитывая ограничения библиотеки Pandasql.
Как галлюцинируют нейросети
Как заставить нейросеть галлюцинировать? Какие развлекательные и практические задачи при помощи этого можно решить? Знакомимся с разработанным Google алгоритмом - DeepDream.
Основы написания мануалов при разработке
Хороший мануал продукта должен быть не просто полноценным по информации, но и понятным для пользователя. Учимся, как правильно выстраивать его разделы и содержание в целом.
Через Apache Brooklyn к автономным вычислениям
Автономные вычисления ждут вас! А приобщиться к ним можно с помощью специального фреймворка Apache Brooklyn, способного управлять настройкой и развёртыванием приложений на основе сложных алгоритмов. Без лишних слов - это инструмент, который вас приятно удивит.
Сравниваем эффективность Redis, Kafka и RabbitMQ
Все эти брокеры успешно работают, но действуют при этом совершенно по-разному. Рассмотрим их главные особенности, отметим достоинства и недостатки.
Как внести свой первый вклад в открытый исходный код
Давно собирались внести свой вклад в открытый исходный код, но не знаете, с чего начать? Предлагаем простое и понятное руководство по этому процессу.
Курс на продуктивность: 10 бесплатных инструментов и сайтов для разработчиков
Информативный обзор 10 полезных инструментов и сайтов для повышения продуктивности и сокращения времени разработки. Valgrind - для обнаружения ошибок памяти, Bootstrap - для создания потрясающих UI и многое другое.
Отказ после четырех раундов технических собеседований. Что делать?
Будущий инженер-программист должен быть готов к нелегкому испытанию - встрече с придирчивыми рекрутерами. Никто не хочет получить отказ на собеседовании, но лишь немногие отвергнутые кандидаты способны превратить свою неудачу в будущий успех.
Как обеспечить обмен данными между микросервисами
Разберемся в особенностях организации обмена данными между микросервисами, а также рассмотрим способы решения возникающих проблем с помощью RabbitMQ.
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Построение системы распределенного кэширования
Разберемся, каким бывает кэш, какие требования предъявляются к нему и каким образом создать наиболее оптимальный дизайн системы с распределенным кэшем.
SQL или NoSQL: как правильно выбрать базу данных?
Вертикальное масштабирование, журнал опережающей записи WAL, надежность индексов - рассмотрим плюсы и минусы реляционных баз данных.
Как ИИ влияет на разработку мобильных приложений и пользовательский опыт
Искусственный интеллект (ИИ) - это технология в сфере компьютерных наук, которая выполняет человеческие задачи. Однако каким образом ИИ может изменить процесс создания мобильных приложений? Ответим на этот и сопутствующие вопросы.
Тенденции в области программного обеспечения в 2022 году: 22 прогноза
Прогнозирование - задача непростая. И все же попробуем заглянуть в будущее и предсказать наиболее важные тенденции в индустрии разработки ПО в 2022 году.
В чем магия ожидаемых результатов?
Раскроем силу такого понятия как ожидаемые результаты и превратим их в инструмент для профессионального роста и качественной работы сотрудников.
Приложения искусственного интеллекта: возможности и сферы применения
Вы все еще восхищаетесь Юлием Цезарем, который справлялся с тремя делами одновременно? Тогда прочтите о том, на что способен искусственный интеллект.
Теория игр
Узнаем, как объяснить конфликты, ситуации и возможности повседневной жизни с помощью математики.
Испытаем ИИ в решении логических задач
Алгоритмические задачи довольно часто нужны программистам для того, чтобы поддерживать свой мозг в тонусе и не давать себе прокрастинировать. Однако иногда гораздо интереснее решить задачу не напрямую, а хитрым способом. Один из таких способов и описан в этой статье.
5 вещей, которые следует учесть перед тем, как создать свой бизнес на основе мобильного...
Начать свой бизнес, основанный на мобильном приложении, - это вызов для любого из нас. Чтобы лучше понять важнейшие шаги, которые могут потребоваться для создания мобильного приложения для iOS или Android, выделим 5 основных этапов.
5 ключевых правил успешного ревью кода
Учитывая важность ревью кода в процессе разработки, сформулируем 5 правил, способствующих повышению его эффективности.
Будущее графических дизайнеров в эпоху машинного обучения
Сможет ли искусственный интеллект заменить графического дизайнера? Этот вопрос волнует многих. Расскажем, как машинное обучение и искусственный интеллект действуют сегодня и поделимся прогнозами экспертов.
Пять продвинутых Git-команд, благодаря которым вы будете выглядеть как профи
Расскажем о пяти передовых концепций Git: git bisect, git cherry-pick, git rebase, git add -p, git commit –amend - все они могут сэкономить много времени, которое вы тратите на чтение StackOverflow, когда возникают сложности с управлением версиями.
Топ-6 признаков некомпетентного программиста
Некомпетентность в программировании - не всегда результат неопытности. Плохого разработчика узнают по его "почерку" и нескольким другим признакам.
Автоматический мониторинг скорости API с помощью динамического тестирования
Готовый вариант тестирования производительности API. Настраиваем и запускаем! Экономит время на прописывание и обслуживание тяжелых тестов.
Как оставаться на гребне волны в океане современных веб-разработок
Мир современных технологий предъявляет высокие требования к разработчикам, которые должны быть в курсе всех новейших тенденций. Выход один - исследовать, учиться и использовать верные стратегии и инструменты.
3 верных способа оптимизировать ревью на GitHub
Предлагаем 3 искусных приема для оптимизации ревью пул-реквестов: раздельный просмотр различий, отображение только новейших изменений и предложение изменений.
8 строгих правил Илона Маска для сотрудников
На чем стоит столь успешная деятельность всемирно известного научного революционера? Знакомьтесь с цитатами из внутренних обращений Маска к своим сотрудникам, утверждающими регламент работы в компании.
Даешь меньше ошибок в проектах ПО!
Раз от ошибок в программировании никуда не деться, то постараемся свести их до минимума. Предлагаем 5 практических рекомендаций по сокращению ошибок в коде.
Две малоизвестные, но полезные команды npm
Npm list и npm config list - не самые известные команды в пакетном менеджере npm. Однако они могут выручить вас в ряде затруднительных случаев, сэкономив немало времени и сил.
Успешный релиз ПО: распространенные ошибки перед запуском продукта
Как желание сделать все и сразу, отсутствие общения и неправильные KPI уничтожают казалось бы успешные и нужные продукты.
Как написать впечатляющий Readme-файл для проекта
Хотите, чтобы ваши репозитории GitHub выглядели профессионально? Создавайте в них детализированные и хорошо организованные файлы Readme для всех проектов.
Расширения VS Code, в 3 раза повышающие скорость работы
Возьмите на заметку 5 лучших расширений VS Code. Они значительно ускорят ваш рабочий процесс и помогут избежать досадных ошибок при написании кода.
Что делать, когда ваши сотрудники конфликтуют?
Как повысить эффективность командной работы и при этом минимизировать конфликтность сотрудников? Свод основных принципов.
Как успешно реализовать проверку состояния контейнера в Docker Compose
Разработчику важно понимать, что служба Docker действует должным образом, в противном случае могут возникнуть большие неприятности. Чтобы гарантированно предотвратить их, рассмотрим способы проверки состояния (Healthcheck) контейнеров в Docker.
Трассировка стека и более точная отладка
Умение читать трассировки стека, в особенности сложные и длинные - незаменимо, если в коде возникает ошибка, и нужно как можно точнее разобраться в ее причинах. Посмотрим на некоторые подводные камни, о которых необходимо знать перед отладкой.
Топ-10 книг для Java-программистов
Java является одним из лидирующих языков программирования. Давайте рассмотрим книги, которые помогут в работе с Java как начинающим программистам, так и опытным профессионалам.
Принципы SOLID - ключи к чистому коду
Хотите писать чистый, удобочитаемый код и экономить при этом время? Тогда уделите несколько минут изучению принципов SOLID, выведенных легендарным Робертом К. Мартином в бестселлере "Чистая архитектура".
Тонкости представления нижнего всплывающего экрана в iOS 15
Детально изучим процесс реализации нижнего всплывающего экрана с помощью UISheetPresentationController.
5 ловких приемов Xcode для рефакторинга кода
Ищите быстрый и эффективный способ рефакторинга кода? Представляем среду разработки Xcode и ее эффективные возможности.
Добавление отношений в схему GraphQL
Отправная точка
Строить мы будем на базовом сервере GraphQL. Код можно скачать здесь или с помощью:
git clone --branch setup https://github.com/bjdixon/graphql-server.git
При клонировании/загрузке нужно создать экземпляр MongoDB...
Поврежден жесткий диск? Python спешит на помощь!
Невероятная и поучительная история о том, как смекалистый программист спас результаты годовой работы с помощью простого скрипта на Python, когда все другие инструменты оказались бессильны.
Как заказывали: админ-панель от Django Jet
Нет пределов совершенству! Под таким девизом займемся улучшением панели администратора в приложении Django. А в качестве волшебной палочки воспользуемся шаблоном django-jet-reboot.
Docker для разработки Go с горячей перезагрузкой
Создание модуля Go
В Go 1.13 были введены модули. Это означает, что больше не нужно размещать все проекты в одно рабочее пространство Go.
Для начала создаем...
Создание бесчисленных областей предпросмотра в AWS с помощью Lambda@Edge
Целью большинства команд веб-разработки является переход к непрерывному развёртыванию, для которого одним из существенных факторов может послужить наличие у каждой ветви функции собственного URL...