Шесть принципов, которые помогут лучше писать модули для 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 и ее эффективные возможности.
Антишаблоны программирования
Познакомьтесь с ошибками, которые часто сопровождают процесс разработки ПО. Даже встретив среди них грабли, на которые вы уже наступали, не поленитесь повторить пройденное, чтобы в следующий раз не облажаться!
Вас неправильно учили объектно-ориентированному программированию
Да, ваши преподаватели, скорее всего, сформировали у вас неверное представление об объектно-ориентированном программировании. Предлагаем поразмышлять о причинах и последствиях такого недообучения, а также о недооцененных преимуществах ООП.
Контейнеризацию невозможно сдержать
Откуда берутся контейнеры и для чего в них зависимости? Преимущества контейнеров: почему контейнеры используют все больше и в чем они превосходят виртуальные машины? Какое будущее ждет нас с этими виртуальными контейнерами?
Генерировать случайные числа гораздо сложнее, чем вы думаете
Случайные числа окружают нас повсюду - и в программировании тоже создаются практически постоянно. Но настолько ли это простая операция, как это может показаться на первый взгляд? Разберемся, какие способы генерации случайных чисел существуют и каковы ограничения в их использовании.
9 навыков, которые нужно освоить в самом начале карьеры программиста
Начало карьеры программиста - процесс, пугающий незнакомым профессиональным жаргоном и непреодолимой стеной компетенций. На самом деле все, что нужно новичку, - это прочная база. Создать ее помогут эти 9 ключевых навыков.
Как добавить множественные примеры запросов и ответов в FastAPI
Сделаем свою документацию по API лучше - рассмотрим простой способ по добавлению дополнительных вариантов запроса и ответа с помощью создания объекта-словаря.
Как извлечь показатели из устаревшей системы в реальном времени, не изменив ни строчки кода
При работе с устаревшим фреймворком добавление дополнительных функций может обернуться рядом проблем. Лучше привлечь более новую систему, способную реагировать на изменения в устаревшем проекте. Узнайте о том, как это сделать, не изменив ни единой строчки кода.
Основы языка освоены. Что дальше?
Универсальная система из семи шагов для тех, кто уже освоил азы первого языка программирования и не уверен в дальнейших действиях.
Что мы ожидаем от разработчиков на каждом уровне
Работа в офисе, а особенно дистанционно требует постоянной коммуникации между всеми сотрудниками, поэтому каждому сотруднику следует иметь представление о том, какие задачи, помимо, конечно же, программирования ему предстоит выполнять.
Сравнение производительности ввода/вывода: C, C++, Rust, Golang, Java и Python
Сравниваем, как различные языки, такие как C, C++, Rust, Golang, Java и Python, обрабатывают данные на вход/выход. Также попробуем выяснить, может ли Rust обрабатывать высокопроизводительные промисы.
ТОП-10 признаков плохого кода: хардкод и спагетти-код в примерах на JavaScript
Повторения, непоследовательность, длинные условия, сложность алгоритма по времени и памяти - очевидные ошибки начинающих разработчиков.
5 методов написания чистого кода для любого проекта
Рассмотрим несколько советов по повышению качества баз кода, которые пригодятся при создании различных проектов: фронтенда, бэкенда, командной строки, настольных и мобильных приложений.
Портрет плохого программиста
Первым шагом на пути к становлению профессионального программиста может стать выявление плохих привычек в процессе написания кода. Рассмотрим их подробнее.
Опытный программист теряет работу
Может ли профессионал в ИТ-сфере остаться без работы в 65 лет? Может, но солидный возраст не повод уйти на покой. Узнайте, что вас может ожидать в жизни.
Шоу должно продолжаться: обеспечение безопасности Netflix Studios с масштабированием
Узнайте об одной из выдающихся стратегий Netflix Studios - развертывании приложений, гарантирующем 100% аутентификации поддерживающим его сервисам. Она многократно сокращает время и усилия разработчиков, а также риски безопасности в интернет-пространстве.
Карьерные трудности UX/UI дизайнера
Нейросети, "дизайноголия", банальность, невнимательность к мелочам и другие проблемы дизайнеров интерфейсов и пользовательского опыта
Причины, по которым проект может потерпеть неудачу
Предвкушение успеха нередко оборачивается грандиозным провалом. Узнайте о том, как избегать неожиданных подвохов при разработке проектов и доводить их до победного конца.
Векторы - прошлое ИИ, хэши - будущее
Искусственный интеллект был создан на основе векторной арифметики. Однако последние достижения доказали: в некоторых сферах применения ИИ векторы можно заменить (в плане памяти, скорости и т.д.) другими более эффективными двоичными представлениями (такими как нейронные хэши) без существенного компромисса скорость-точность.
Как запустить и использовать файловые системы с помощью Amazon FSx
Компаниям, которые хотят запускать приложения Windows в облаке, нужно сетевое хранилище файлов, полностью совместимое с их приложениями и средами Windows. Рассмотрим систему Amazon FSx, которая во многом облегчает перенос рабочих нагрузок Windows в облако.
Remote First: программисты не должны работать в офисе
Open-space, излишний контроль, метро и пробки убивают вдохновение. Приводим аргументы в пользу того, что разработчиком лучше работать удаленно.
Объяснение понятий вероятности: оценка максимального правдоподобия
Как оценить неизвестный параметр? Представляем вашему вниманию оценку максимального правдоподобия - действенный способ, используемый в современной математической статистике.
5 советов по быстрому написанию кода на любом языке программирования
Создать работающий код - это искусство. Но ценность программиста заключается не только в теоретической, но и в практической подкованности. Мы расскажем, как писать качественный код с минимальными временными затратами.
Сверточная нейросеть: подробное руководство (с использованием ELI5)
Сверточная нейронная сеть (CNN) - технология глубокого обучения - позволяет эффективно распознавать образы и классифицировать признаки. Чтобы этот процесс был максимально успешным, изучите детальное руководство по работе с CNN с использованием библиотеки ELI5.
Дизайн для искусственного интеллекта
Чем дизайн для ИИ отличается от традиционного дизайна? Расскажем про преимущества и недостатки использования ИИ в UX-дизайне, а также рассмотрим перспективы развития данного вида дизайна.
В чем Windows превосходит Linux
Автор рассказывает, почему ему пришлось распрощаться с Linux и снова возвратиться к Windows. Кроме того, ему удалось попробовать новую Windows, и он подробно рассказал о ее преимуществах и недостатках.
Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google
Обнаружение вредоносного ПО: вирусов, червей, троянов, программ-вымогателей, рекламного и шпионского софта - волнует многих пользователей и предпринимателей. Предлагаем рассмотреть методы идентификации вредоносных программ с помощью алгоритмов машинного обучения. Материалом для исследования стал массив данных от Майкрософт объемом в 200 ГБ.
5 советов аналитикам и их менеджерам
У сегодняшних аналитиков есть все шансы стать завтрашними бизнес-лидерами. Практические советы профессионального аналитика помогут ускорить этот процесс. Прислушаться к ним стоит и менеджерам, желающим покорить новые бизнес-вершины.
Как научиться задавать вопросы, проектировать системы и выявлять ошибки?
7 навыков логического мышления, необходимых для карьерного роста разработчика программного обеспечения
10 полезных команд для командной строки и консоли
Консольные команды позволяют продвинутым пользователям работать еще быстрее и продуктивнее, так как редактура команд вручную отнимает много времени, а написание коротких, но эффективных инструкций для консоли доставляет не меньше удовольствия, чем само написание кода.
4 надежных веб-сайта на страже времени разработчика
Перечень полезных сайтов, которые помогут сэкономить время на начальных этапах создания проектов: Hidden tools, Can I use, Dev Hints и Bundle Phobia.
5 алгоритмов, которые изменили мир
Взаимодействие человека и компьютера было бы невозможно без алгоритмов. Пять из них сыграли революционную роль в нашей жизни.
Извините, но мы не можем воскресить вас
Мы не можем загрузить ваш мозг в компьютер, потому что вы ни в малейшей степени не определяетесь связями между вашими нейронами.
NeuralHash от Apple: принцип работы и слабые места
NeuralHash от Apple - технология сканирования изображений на наличие детской порнографии. Предлагаем пользователям устройств iOS и iPadOS познакомиться с ее особенностями и степенью уязвимости, а также с возможными мерами безопасности.
17 успешных примеров дизайна логотипов для различных бизнес-целей
Процесс создания дизайна для логотипа крайне важен. Давайте рассмотрим несколько примеров хорошо разработанных логотипов для различных сфер деятельности.
О нейронных сетях в двух словах
Нейронным сетям посвящены горы научной литературы. Перед погружением в тему ознакомьтесь с кратким обзором нейронных сетей, принципами их работы и использованием в машинном обучении.
Советы по переходу с AWS CloudFormation на CDK
CDK - потрясающий инструмент, который дает реальный опыт при создании инфраструктуры, что особенно важно для тех, кто при создании функциональных средств руководствуется методологией системной инженерии, которая требует, чтобы инженеры отвечали не только за реализацию.
Как использовать JavaScript и Node.js, чтобы сразиться с драконом в игре Fight the Dragon?
Выдалась свободная минутка? Почему бы не устроить эпичный баттл с драконом? Наше пошаговое руководство поможет выйти из боя победителем!
5 лучших бесплатных текстовых редакторов для Windows
В представлении большинства людей современный писатель — это человек, печатающий на компьютере Apple MacBook. Они недалеки от истины, вот только не всегда учитывается один...
Один за всех и все за одного: 8 принципов командной разработки
Хочешь сохранить работу в сфере программирования — пиши нечитаемый код, понятный только тебе одному. И чем он хуже, тем лучше. Не делись ни с...
Введение в каналы Golang
Golang использует горутины для параллельного программирования. На них можно ссылаться как на подзадачи для приложения. Если вы новичок в Golang, то рекомендую для начала...
Как реализовать редактор форматированного текста в вашем React-приложении
Современный софт должен быть максимально удобным для пользователя. Посмотрим, как можно внедрить редактор форматированного текста в приложение на React.
Программирование будущего: беспилотный автомобиль, управляемый JavaScript и ИИ
Пытаетесь разгадать магию беспилотных автомобилей? Присоединяйтесь к программистам, увлекающимся автоматизированными транспортными средствами. Они помогут написать код, превращающий автомобиль в самоуправляемое чудо техники.
Чистый код JavaScript: 8 простых приемов
Чистый код - результат нелегкого труда. Однако отладка грязного кода требует вдвое больше усилий, чем создание чистого. Поэтому каждому программисту стоит овладеть хотя бы элементарными приемами написания чистого кода.
2 черты отличных программистов
Что отличает отличных программистов от хороших? Это вопрос, который занимает меня с тех самых пор, как я только начал учиться программировать.
Рассмотрим основные черты, которые...