Разное

Тренды, технологии, истории взлетов и падений от лучших разработчиков отрасли, интервью с экспертами индустрии и многое другое!

Пять продвинутых Git-команд, благодаря которым вы будете выглядеть как профи

Пять продвинутых Git-команд, благодаря которым вы будете выглядеть как профи

Расскажем о пяти передовых концепций Git: git bisect, git cherry-pick, git rebase, git add -p, git commit –amend - все они могут сэкономить много времени, которое вы тратите на чтение StackOverflow, когда возникают сложности с управлением версиями.
3 верных способа оптимизировать ревью на GitHub

3 верных способа оптимизировать ревью на GitHub

Предлагаем 3 искусных приема для оптимизации ревью пул-реквестов: раздельный просмотр различий, отображение только новейших изменений и предложение изменений.
Как извлечь показатели из устаревшей системы в реальном времени, не изменив ни строчки кода

Как извлечь показатели из устаревшей системы в реальном времени, не изменив ни строчки кода

При работе с устаревшим фреймворком добавление дополнительных функций может обернуться рядом проблем. Лучше привлечь более новую систему, способную реагировать на изменения в устаревшем проекте. Узнайте о том, как это сделать, не изменив ни единой строчки кода.
Зачем изучать программирование? 6 способов освоить кодинг дома

Зачем изучать программирование?6 способов освоить кодинг дома

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

Как научиться не только писать код, но и быть хорошим программистом

Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
Идиома CRTP и написание общих функций в C++

Идиома CRTP и написание общих функций в C++

Разбираемся в концепции CRTP (Curiously recurring template patterns, рекурсивный шаблон). Она поможет описывать в C++ общую функциональность, комбинируя шаблоны и наследование.
Путь программиста-самоучки: преимущества и подводные камни

Путь программиста-самоучки: преимущества и подводные камни

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

Какую СУБД начать изучать в первую очередь?

Какую систему баз данных стоит изучить в первую очередь? И стоит ли вообще изучать какие-либо СУБД, ведь для этой работы есть специально обученные люди? Да,...
Ленивая загрузка, агрегирование и CQRS

Ленивая загрузка, агрегирование и CQRS

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

Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 2

Часть 1, Часть 2 Не забывайте про принцип DRY (Не повторяйтесь) Принцип DRY гласит: “ Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках...
Programming

Худший враг программиста — долгосрочная актуальность

Что по-вашему будет труднее? · решить проблему в коде; · решить более масштабную проблему в коде Да, я тоже так считаю. Программирование сводится к решению проблем. Если вы...
Этические аспекты клонирования голоса и возможности его применения

Этические аспекты клонирования голоса и возможности его применения

Если вы до сих пор считаете, что понятия “клонирование голоса” и “дипфейк” новы, то ошибаетесь. Первые опыты по имитации человеческого голоса проводились уже в...
WebSocket

Как украсть секреты разработчиков через Websocket?

Это история о запутанном и не очень полезном методе извлечения кода, создаваемого ничего не подозревающими JavaScript разработчиками, занятыми над секретными проектами.  Недавно в сети появилась...
OTP-аутентификация c Devise

OTP-аутентификация c Devise

Сделаем простую реализацию OTP-аутентификации с Devise-функционалом Confirmable без сторонних библиотек или обширных конфигураций. Напишем функции для обработки форм валидации OTP и повторной его отправки.
Git

Как стать Git-мастером: 7 советов по повышению производительности

Автозаполнение команд Git в терминале Большинство команд терминала для Git начинаются с ключевого слова git, за которым следует пробел и второе ключевое слово. Из-за наличия...
Clean Code

Комментарий в коде написать - всё равно, что проиграть

Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
6 способов оптимизировать рабочий процесс в Pandas

6 способов оптимизировать рабочий процесс в Pandas

Несмотря на популярность, у Pandas есть немало скрытых возможностей. Предлагаем ознакомиться с 6 из них - они помогут повысить эффективность анализа данных.
Education

Как пройти собеседование по проектированию систем?

У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
UX

Основные принципы дизайна для НЕ дизайнеров

Я сформировала этот список, посредством многолетнего наблюдения за своими друзьями НЕ дизайнерами, семьей и коллегами, которым постоянно приходится сталкиваться с необходимостью применения дизайна в...
Как я создал расширение браузера и обучил ChatGPT обращаться к внешним сайтам за информацией о текущих событиях

Как я создал расширение браузера и обучил ChatGPT обращаться к внешним сайтам за информацией...

Расскажем, как с помощью расширения Tampermonkey и прокси CORS Anywhere обучить ChatGPT получать доступ к внешним сайтам, анализировать извлекаемый с их страниц контент и искать в нем ответ на заданный вопрос.
JavaScript

Битва трендов: React vs Angular vs Vue

Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...
Как запустить и использовать файловые системы с помощью Amazon FSx

Как запустить и использовать файловые системы с помощью Amazon FSx

Компаниям, которые хотят запускать приложения Windows в облаке, нужно сетевое хранилище файлов, полностью совместимое с их приложениями и средами Windows. Рассмотрим систему Amazon FSx, которая во многом облегчает перенос рабочих нагрузок Windows в облако.
Принцип открытости/закрытости: расширение кода без модификации

Принцип открытости/закрытости: расширение кода без модификации

Принцип открытости/закрытости позволяет создавать отличные проекты на основе имеющегося набора свойств. А используете ли вы метод validate для видео, документов и других расширений? Посмотрите, как это делается.
Programming

Вы не понимаете своих программистов

...Открытое письмо не-технарям в технических компаниях Может показаться, что мы заняты только этим: Но на самом деле всё несколько сложнее. Обычно разработчики — целеустремлённые люди, многие из них сами...
Как использовать агенты Hugging Face для решения задач NLP

Как использовать агенты Hugging Face для решения задач NLP

Предлагаем пошаговое руководство по использованию инструментов и агентов библиотеки Transformers. В отличие от ChatGPT, агенты Transformers имеют доступ ко многим моделям, доступным на Hugging Face. Такой арсенал значительно улучшит пользовательский опыт приложений.
Что в голосе моем? - Код!

Что в голосе моем? - Код!

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

Как создать конвейер автоматизированных сборок для проекта в Arduino Часть 2/2

Часть 1, Часть 2 Давайте добавим Arduino Zero. Модифицируем часть программы, которая устанавливает ядро AVR, и добавляем другой код: # Установка ядер Arduino arduino-cli core install arduino:avr arduino-cli...
Как научиться задавать вопросы, проектировать системы и выявлять ошибки?

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

7 навыков логического мышления, необходимых для карьерного роста разработчика программного обеспечения
Карьерные трудности UX/UI дизайнера

Карьерные трудности UX/UI дизайнера

Нейросети, "дизайноголия", банальность, невнимательность к мелочам и другие проблемы дизайнеров интерфейсов и пользовательского опыта
Как обнаружить дублирование кода в проекте

Как обнаружить дублирование кода в проекте

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

Основные правила код-ревью

Code review или обзор кода - работа, требующая высокого уровня профессионализма. Ознакомьтесь с его лучшими практиками: вот что нужно и что нельзя делать разработчику при обзоре кода.
Топ-5 примеров комментирования кода

Топ-5 примеров комментирования кода

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

Полезные команды Git

Набор консольных утилит Git создан в помощь программисту. Используя их, он может управлять версиями проекта. Само собой, при работе с Git требуется знание определенных команд. Сегодня мы рассмотрим базовые команды Git и научимся добавлять и изменять удаленный репозиторий, а также удалять ветки.
Теория игр

Теория игр

Узнаем, как объяснить конфликты, ситуации и возможности повседневной жизни с помощью математики.
Programming Languages

Топ 3 самых популярных языка программирования в 2018 году

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

Почему я полюбила тестирование и теперь советую его вам

Среди разработчиков часто можно услышать о том, что тестирование тормозит разработку. Я считаю это утверждение ошибочным. Да, действительно, польза тестов зачастую оказывается незаметна в...
Ubuntu

Установка и использование Snap-пакетов в Ubuntu 18.04

Введение Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Education

Выбираем шрифт

Факторы, которые следует учитывать при выборе шрифта для вашего следующего проекта. Serif или Sans Serif, вот в чем вопрос Большинство шрифтов можно разделить на две основные категории:...
Чистый код работает медленно, но он все равно нужен

Чистый код работает медленно, но он все равно нужен

Что важнее - чистота, читаемость, расширяемость и надежность кода или производительность? Чтобы ответить на этот вопрос, нужны прагматизм и гибкость квалифицированного специалиста. Прислушайтесь к рекомендациям опытного разработчика iOS, Android и игр.
OOP

Хитрости объектно-ориентированного программирования. Часть 3: Смерть от аргументов

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки. Предыдущие части: Часть 1, Часть 2. Аргументы, аргументы, аргументы Длинные списки аргументов в функции крайне трудны для вызываемого...
Обнаружение и извлечение текста из изображения с помощью Python

Обнаружение и извлечение текста из изображения с помощью Python

Представляем удобные техники OCR и OpenCV для обнаружения и извлечения текста в цифровом изображении
Как находиться в потоке, программируя в парах

Как находиться в потоке, программируя в парах

Не так давно я поинтересовался у коллег по команде, может ли разработчик находиться в потоке, программируя в паре. Ответ по-настоящему меня удивил. Дело в...
Software Development

Чему я научился за первые два года работы программистом

Университет и работа Шел 2015 год, когда я был студентом Флоридского университета. Тогда я учился у профессора, который по самому сложному предмету задавал в...
Успешный релиз ПО: распространенные ошибки перед запуском продукта

Успешный релиз ПО: распространенные ошибки перед запуском продукта

Как желание сделать все и сразу, отсутствие общения и неправильные KPI уничтожают казалось бы успешные и нужные продукты.
VSCode

Школа ленивого разработчика: ускоренный курс по созданию фрагментов кода в VS Code

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

Программирование: 5 недооцененных навыков

Убедитесь, что они есть в вашем арсенале Сейчас инженеры-программисты нуждаются в довольно широком спектре навыков. Наверху списка этих навыков вы найдете что-то вроде того, что… вам...
В чем Windows превосходит Linux

В чем Windows превосходит Linux

Автор рассказывает, почему ему пришлось распрощаться с Linux и снова возвратиться к Windows. Кроме того, ему удалось попробовать новую Windows, и он подробно рассказал о ее преимуществах и недостатках.
JavaScript

Лучшие JavaScript библиотеки за 2019 год для построения диаграмм

Вступление По мере того, как увеличиваются объёмы и сбор данных, необходимость визуализации этих данных становится всё более актуальной. Разработчики ищут способы объединять миллионы записей баз...
5 ключевых правил успешного ревью кода

5 ключевых правил успешного ревью кода

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

5 методов написания чистого кода для любого проекта

Рассмотрим несколько советов по повышению качества баз кода, которые пригодятся при создании различных проектов: фронтенда, бэкенда, командной строки, настольных и мобильных приложений.
Упрощаем интеграцию Kafka со Spring Boot

Упрощаем интеграцию Kafka со Spring Boot

Разберем ключевой функционал и настройку Kafka и узнаем, как он вписывается в Spring Boot. Научимся маршрутизировать и фильтровать сообщения, отправлять и получать их с помощью шаблонов и прослушивателей Kafka, а также преобразовывать форматы пользовательских данных.
Как выбрать язык программирования для проекта машинного обучения

Как выбрать язык программирования для проекта машинного обучения

Это руководство поможет вам сравнить языки программирования, используемые в машинном обучении: Python, R, Java, C++, JavaScript и Julia. Оцените их возможности и ограничения, чтобы выбрать наиболее подходящий для вашего проекта.
Как создать простой агент с Guidance и локальной моделью LLM

Как создать простой агент с Guidance и локальной моделью LLM

Познакомимся с инструментом Guidance, который управляет выводом больших языковых моделей и обеспечивает корректное выполнение инструкций.
Получение одного события разными группами получателей в Kafka с Spring Boot

Получение одного события разными группами получателей в Kafka с Spring Boot

Настроим отправку события в темы Kafka с группами получателей, запустим службы заказов, хранения и платежей. Отправим HTTP-запросы, получение события проверим в консольных журналах.
Разработка ПО - системы плагинов

Разработка ПО — системы плагинов

Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
Топ-6 признаков некомпетентного программиста

Топ-6 признаков некомпетентного программиста

Некомпетентность в программировании - не всегда результат неопытности. Плохого разработчика узнают по его "почерку" и нескольким другим признакам.
ТОП-10 признаков плохого кода: хардкод и спагетти-код в примерах на JavaScript

ТОП-10 признаков плохого кода: хардкод и спагетти-код в примерах на JavaScript

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

Чистая архитектура: руководство для начинающих

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

Будущее графических дизайнеров в эпоху машинного обучения

Сможет ли искусственный интеллект заменить графического дизайнера? Этот вопрос волнует многих. Расскажем, как машинное обучение и искусственный интеллект действуют сегодня и поделимся прогнозами экспертов.
Airtable: рецепт молниеносного создания баз данных и таблиц

Airtable: рецепт молниеносного создания баз данных и таблиц 

Познакомимся с платформой Airtable и ее уникальными возможностями в создании баз данных и электронных таблиц. Покажем, как импортировать данные и визуализировать их в виде диаграммы.
Автоматизированные тесты - качественно и непременно эффективно!

Автоматизированные тесты - качественно и непременно эффективно!

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

Технология составления промптов для модели ИИ на примере одного чат-бота 

Научимся составлять инструкции для моделей ИИ на примере конкретного чат-бота. Рассмотрим такие этапы процесса, как определение концепции мышления модели, установка контекста и формата вывода ответа, построение вопроса и проверка вывода.
JavaScript

Три нашумевших диаграммы. Исследование JavaScript в 2018

Вы думали статистика и графики — это скука? Подумайте ещё раз… Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
Interviews

Как увеличить ваши шансы на получение должности разработчика

На прошлой работе в качестве senior-developer я помогал проводить собеседования и нанял большую часть своей команды разработчиков. В этой статье я использую полученные знания...
Как эффективно использовать флаги функций

Как эффективно использовать флаги функций

Расскажем о проверенном на практике подходе по работе с флагами функций. Просто, быстро и результативно!
Coding

Как я начала кодить

Моя история настолько далека от программирования, насколько это возможно. На тот момент я уже десять лет училась в школе. У меня есть степень магистра...
Как добавить в проект тестирование скриншотов с Cypress

Как добавить в проект тестирование скриншотов с Cypress

Разработчиков, как правило, заботит качество кода. Есть различные виды тестов, которые помогают избежать ситуаций, когда код ломается после добавления в проект новой функции. Но...
#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы

#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы

По меткому высказыванию Педро Домингоса, машинное обучение - это результат слияния необъяснимой эффективности математики с такой же необъяснимой эффективностью данных. Некоторые склонны впадать в панику при беглом знакомстве с МО, полагая, что оно требует сложнейших математических вычислений. В специальной серии статей мы поставили перед собой задачу развеять этот миф.
Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях

Предлагаем руководство по созданию интерактивной визуализации для обнаружения объектов с помощью Renumics Spotlight 1.6.0. Ознакомление с подобными передовыми технологиями позволит принимать более обоснованные решения при выборе дополнительных обучающих данных.
Education

Перестаньте фокусироваться на синтаксисе, если хотите стать senior-разработчиком

Вы переезжаете в новый город и не знаете, где находится ближайший продуктовый магазин.  Вы не станете волноваться, а просто воспользуетесь Google Maps. После того, как вы...
Learning To Code

Вам следует изучить программирование

Знаете, как это ужасно, когда ты женишься, а немного позже встречаешь любовь всей жизни? То же произошло и со мной. Я поступил в университет на...
Interfaces

Программируем с интерфейсами: и у нас на это 5 причин

Начну с самого важного. ВСЕГДА используйте интерфейсы . Ну или хотя бы в большинстве случаев, когда пишете программу или создаёте проект. Чем больше, тем лучше....
Deadlines

Как перестать переживать по поводу дедлайна

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

Как создать бесплатный сайт на GitHub Pages

GitHub Pages — это один из тех классных инструментов, о которых мало кто знает. Практически любой GitHub -репозиторий можно превратить в полноценный сайт в два клика. Хотите разместить...
Software Development

У меня появилась идея для приложения, но…я не разработчик

У меня есть идея для веб-приложения Мои поздравления — вас посетила муза! Теперь пришло время внимательно взглянуть на вашу идею и решить, следует ли ее доработать, перейти...
Расширения VS Code, в 3 раза повышающие скорость работы

Расширения VS Code, в 3 раза повышающие скорость работы

Возьмите на заметку 5 лучших расширений VS Code. Они значительно ускорят ваш рабочий процесс и помогут избежать досадных ошибок при написании кода.
5 секретов продуктивной работы в VS Code

5 секретов продуктивной работы в VS Code

VS Code предлагает много возможностей настроить работу так, как вам нужно. Рассмотрим 5 способов сделать работу в VS Code более продуктивной.
3 ошибки на собеседованиях по программированию, из-за которых можно получить отказ

3 ошибки на собеседованиях по программированию, из-за которых можно получить отказ

После неудачного технического собеседования соискатели часто не могут понять, что пошло не так. Поговорим о распространенных ошибках и о том, как их избежать.
Software Development

Возвращаемся к SOLID

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

Как обучать программированию подростков?

В последнее время многие родители спрашивали меня, как я учился программировать, в основном, чтобы узнать, как им обучать своих детей. И каждый раз я...
Парадоксы нейминга: Windows придумали не в Microsoft, а Android - в Apple

Парадоксы нейминга: Windows придумали не в Microsoft, а Android — в Apple

Узнайте, как появились самые известные названия в мире компьютерных технологий. Будьте готовы к потрясающим открытиям. В мире нейминга не существует правил и ограничений.
IT Job

Как начать работать программистом почти без опыта

Я попал в Кремниевую Долину через черный ход — я начинал свою карьеру с простых и быстрых подработок на фрилансе. Рекомендую этот подход: это эффективный и...
Software Document

Как написать хороший проектный документ

Будучи разработчиком ПО, я трачу много времени на чтение и написание проектных документов. Прочитав и написав сотни таких документов, я заметила сильную зависимость между...
Три фактора сдерживания прогресса ИИ

Три фактора сдерживания прогресса ИИ

Реализовать трансформационный искусственный интеллект, несмотря на его революционный потенциал, достаточно трудно. Бизнес, экономика и общество сдерживают его прогресс. Предлагаем ознакомиться с мнением экспертов по этому поводу.
BabyAGI  -  автономный ИИ-агент для оптимизации задач

BabyAGI  —  автономный ИИ-агент для оптимизации задач

Изучите 10 примеров задач, выполняемых автономным ИИ-агентом BabyAGI. Способность логически рассуждать, принимать сложные решения и контролировать параметры делает BabyAGI бесценным помощником в автоматизации управления задачами.
Self Improvement

Как отладка поможет вам стать лучшим разработчиком

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

Стоит ли разработчику изучать VIM в 2020 году?

Введение Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
Внедрение зависимостей, или Разработчики совсем обленились

Внедрение зависимостей, или Разработчики совсем обленились

Внедрение зависимостей  —  это круто. Реально круто. Но это ещё и ад. Идея о том, чтобы IoC-контейнер разрешал все зависимости объектов явного конструктора, всячески поддерживается...
Testing

Наглядное руководство по каждому типу тестов

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

Как писать код, который будет нравится вам в будущем

Дядя Бен однажды сказал Питеру Паркеру: “С большой силой приходит большая ответственность”. Эта цитата относится также и к программистам, отвечающим за разработку проектов. После...
Легко и быстро: автоматизация развертывания AWS EC2 с GitHub Actions и Docker Hub

Легко и быстро: автоматизация развертывания AWS EC2 с GitHub Actions и Docker Hub

Пошагово настроим экземпляр AWS EC2, создадим и добавим в DockerHub образ Docker и настроим рабочий поток Github Actions. В итоге научимся автоматизировать и оптимизировать рабочий процесс развертывания, уменьшая риск человеческой ошибки.
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis

Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis

Рассмотрим написание docker-compose.yml и запуск веб-приложения в связанных контейнерах Docker Compose на примере Node.js и Redis.
GitHub Actions и Vercel - быстрое развертывание проектов

GitHub Actions и Vercel — быстрое развертывание проектов

На практическом примере научимся настраивать GitHub Actions для развертывания проекта на Vercel.
Шоу должно продолжаться: обеспечение безопасности Netflix Studios с масштабированием

Шоу должно продолжаться: обеспечение безопасности Netflix Studios с масштабированием

Узнайте об одной из выдающихся стратегий Netflix Studios - развертывании приложений, гарантирующем 100% аутентификации поддерживающим его сервисам. Она многократно сокращает время и усилия разработчиков, а также риски безопасности в интернет-пространстве.
3 основных принципа несвязных приложений

3 основных принципа несвязных приложений

Самая большая ошибка объектно-ориентированного проектирования - это инкапсуляция устойчивого состояния. Что будет, если этого не делать?
Software Engineering

5 правил кода

За последнее время я сформировал список актуальных рекомендаций относительно того, что должен и чего не должен делать современный разработчик. Давайте ознакомимся с пятью из...
14 когнитивных измерений - мастхэв для современного программиста

14 когнитивных измерений — мастхэв для современного программиста

Хотите стать первоклассным программистом? Тогда приготовьтесь к постоянному совершенствованию. Для начала узнайте о 14 когнитивных измерениях, разработанных Томасом Грином для оценки дизайна программ.
Education

Возраст - это просто цифра

“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Development

Что определяет настоящего “Senior” разработчика?

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

Фитнес-функции и их роль в эволюции архитектуры

Познакомимся с фитнес-функциями и посмотрим, как они проверяют ПО на соответствие стандартам архитектуры.
Очистка операторов импорта TypeScript с помощью псевдонимов путей

Очистка операторов импорта TypeScript с помощью псевдонимов путей

В мире программирования особенно ценятся кодовые базы, которые легко поддаются чтению. "Незасоренные" операторы импорта во многом способствуют этой цели. Сегодня поговорим о том, как сделать их чище с помощью псевдонимов путей.
Итераторы и генераторы в JavaScript

Итераторы и генераторы в JavaScript

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

Почему ведущие инженеры ненавидят собеседования

Представьте, что вы директор небольшой средней школы, который хочет нанять нового учителя. Так как работает у вас их не очень много, то нужно убедиться...
Learning

Как не опустить руки во время обучения чему-то новому?

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

Получаем данные Open Street Map в Python

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