14 когнитивных измерений — мастхэв для современного программиста
Хотите стать первоклассным программистом? Тогда приготовьтесь к постоянному совершенствованию. Для начала узнайте о 14 когнитивных измерениях, разработанных Томасом Грином для оценки дизайна программ.
Лучшие приёмы HR от Google
Советы и уроки из книги Ласло Бока “Работа рулит!”
Google хорошо известна тем, что берёт к себе на работу только лучших из лучших. Отбор в компанию...
SQL: комплексный анализ оттока клиентов
Каковы решающие факторы при отказе от услуг связи и смене интернет-провайдера? Проанализируем данные по оттоку клиентов телекоммуникационной компании, сформулируем выводы и рекомендации.
Обработка дублированных сообщений в Kafka
Подробно рассмотрим сценарии, чреватые появлением дублей, и различные подходы для их недопущения. Как этими подходами реализуются решения этой проблемы?
Сети Колмогорова-Арнольда (KAN) могут навсегда изменить мир ИИ
Забудьте все, что вы знали о нейронных сетях: KAN-технология обещает переписать правила игры. Ознакомьтесь с этой инновационной структурой и ее преимуществами перед традиционными моделями. В заключение предлагаем оценить ее в действии: посмотрите, насколько успешно KAN справляется с задачей классификации.
Как написать оператор Kubernetes?
История о том, как важно порой даже малое изменение. Создадим, протестируем и запустим оператор в кластере Kubernetes.
Terraform: реализация технологии “инфраструктура как код”
Предлагаем ознакомительный обзор Terraform — инструмента, которым должен овладеть каждый инженер-программист. Экспресс-демонстрации помогут вам быстро освоить основной функционал Terraform, чтобы успешно использовать инновационную технологию “инфраструктура как код”.
Ленивая загрузка, агрегирование и CQRS
Рассмотрим шаблоны, позволяющие справляться с приложениями, у которых повышается сложность, и поймем, в каких случаях пригодится каждый из них.
Zed — IDE будущего?
Станет ли Zed - новый, быстрый и с недавних пор общедоступный редактор кода - убийцей VSCode? Этот вопрос сегодня определяет погоду на рынке IDE. Чтобы быть в курсе событий, присмотримся получше к редактору нового поколения, именуемому Zed.
Удивительное превращение винтажного устройства в онлайн-радиоприемник
Моя супруга всегда хотела, чтобы у нас был радиоприемник, который
красиво выглядит; легко регулируется; обладает хорошим качеством звука; проигрывает станции из интернета.
Современный рынок предлагает большой выбор модных интернет-радиоприемников....
Автоматизированные тесты - качественно и непременно эффективно!
Не воспринимайте автоматизированные тесты как наказание. Их цель не в том, чтобы пройти проверку кода или соответствовать критериям приемлемости и показателям инструментов покрытия кода....
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
P.S. Дорогой рефакторинг, нам нужно на время расстаться
Я люблю рефакторинг. Действительно люблю. В процессе TDD (разработки через тестирование) по мере прохождения тестов я могу сосредоточиться исключительно на коде, дорабатывая и доводя...
Менеджеры пакетов NPM, PNPM и YARN
Не знаете, какой из менеджеров пакетов — NPM, YARN или PNPM — больше подойдет для вашего JS-проекта? Прежде чем принять решение, рассмотрите сильные и слабые стороны каждого варианта.
Возраст - это просто цифра
“Я боюсь, что для меня уже слишком поздно менять профессию… Вообще менять что-либо существенное в жизни уже поздно. Мне уже (подставьте соответствующий вам возраст,...
Как не опустить руки во время обучения чему-то новому?
В моей жизни было время, когда я регулярно добивался больших успехов в развитии своих навыков. Мне это удавалось, благодаря тому, что я изо всех...
Как написать чистый код, который легко читать
Рассмотрим практические советы по созданию кода, который впоследствии читается как книга. Чтобы их составить, автору пришлось проанализировать и сравнить множество подходов и приемов других разработчиков.
Дилемма побочного проекта: почему разработчики упускают возможность монетизации
Реализация побочных проектов, которые не приносят прибыли, может убить интерес к подработке. Выясним, как инди-разработчику монетизировать свои идеи. Поговорим о важности таких этапов разработки, как исследование, планирование, прототипирование, маркетинг и выбор ниши.
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
Почему большинство инженеров ПО не пишут документацию?
Неважно, работаете вы в небольшом стартапе или же в крупной корпорации, когда возникает необходимость в хорошей, ценной документации сервисов или проектов, то на ее...
7 способов применения Stack Overflow, о которых вы могли не знать
Stack Overflow - популярная система вопросов и ответов для программистов. Но это не просто база полезной информации. Сегодня поговорим о дополнительных возможностях сервиса Stack Overflow.
Как использовать агенты Hugging Face для решения задач NLP
Предлагаем пошаговое руководство по использованию инструментов и агентов библиотеки Transformers. В отличие от ChatGPT, агенты Transformers имеют доступ ко многим моделям, доступным на Hugging Face. Такой арсенал значительно улучшит пользовательский опыт приложений.
Почему я перешёл на Linux после 10 лет работы на Windows
Компьютер без операционной системы по сути бесполезное устройство, потому что ОС — это то, благодаря чему могут взаимодействовать пользователь и устройства. Люди подбирают ОС...
Создание языковой модели для чатов
Хотите создать чат-бота, способного имитировать непринужденный стиль переписки с друзьями? Предлагаем наглядное руководство по интеграции GPT с приложением.
Сравниваем эффективность Redis, Kafka и RabbitMQ
Все эти брокеры успешно работают, но действуют при этом совершенно по-разному. Рассмотрим их главные особенности, отметим достоинства и недостатки.
Дизайн физического движка
Когда The Cherno анонсировал серию игровых движков, я как раз начинал разрабатывать свой собственный. Мне хотелось поскорее узнать мнение профессионала в этом вопросе. Будучи...
Airtable: рецепт молниеносного создания баз данных и таблиц
Познакомимся с платформой Airtable и ее уникальными возможностями в создании баз данных и электронных таблиц. Покажем, как импортировать данные и визуализировать их в виде диаграммы.
EdgeCloud: вывод генеративного ИИ на новый уровень с помощью конвейеризации моделей
Знакомьтесь с EdgeCloud - первой гибридной платформой для облачных вычислений, которая реализует операции МО для настройки, управления и поддержки конвейеров моделей ИИ. Получите удовольствие от использования демонстрационной площадки EdgeCloud для преобразования текста в изображение.
ПО с открытым исходным кодом, которое облегчит вам жизнь
Рассмотрим бесплатные альтернативы программным продуктам. В каких проектах применяется это ПО как услуга?
5 ключевых правил успешного ревью кода
Учитывая важность ревью кода в процессе разработки, сформулируем 5 правил, способствующих повышению его эффективности.
Kube-Proxy и CNI: скрытые компоненты сети Kubernetes
Рассмотрим внутренние механизмы, их интегрирование с Kubernetes, различные сетевые плагины, нюансы режимов Kube-Proxy, настройку оверлейных и андерлейных сетей, инстанцирование сетей в CNI с инкапсулированной и неинкапсулированной моделями.
Что стоит знать дизайнеру перед первым хакатоном
Опыт и уроки, извлеченные из участия и победы на хакатоне
Одна из причин, по которой я так люблю дизайн, заключается в том, что его постоянное развитие...
Как повысить мотивацию с помощью поведенческой психологии
Как достигать лучших результатов и развивать силу воли с помощью вознаграждения
С работой связано много сложностей: дел много, времени на них мало. Работе постоянно нужно...
Практики быстрого программирования
Быть быстрым - не значит быстро программировать. Следование лучшим практикам (включая метапрограммирование, автоматизирование ручных операций, создание личного набора инструментов и др.) поможет оперативнее решать задачи, экономя время для себя и команды.
Как использовать JavaScript и Node.js, чтобы сразиться с драконом в игре Fight the Dragon?
Выдалась свободная минутка? Почему бы не устроить эпичный баттл с драконом? Наше пошаговое руководство поможет выйти из боя победителем!
Планирование и оркестрация облачных задач dbt Cloud с помощью Prefect
В этой короткой статье мы проговорим настройку задач dbt Cloud и их оркестрацию с помощью Prefect. Ее содержание предполагает, что вы уже зарегистрированы на dbt Cloud и умеете использовать dbt.
Оптимизация кэширования в TrendNow: объединение OkHttp Cache и базы данных Room. Часть 7
В этой части предлагается эффективное решение по оптимизации кэширования на стороне клиента: объединение OkHttp Cache и базы данных Room. OkHttp Cache будет управлять кэшем ответов, а база данных Room - сохранять метаданные кэша и контролировать истечение срока действия кэша.
Как пройти собеседование по проектированию систем?
У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
Как написать впечатляющий Readme-файл для проекта
Хотите, чтобы ваши репозитории GitHub выглядели профессионально? Создавайте в них детализированные и хорошо организованные файлы Readme для всех проектов.
17 успешных примеров дизайна логотипов для различных бизнес-целей
Процесс создания дизайна для логотипа крайне важен. Давайте рассмотрим несколько примеров хорошо разработанных логотипов для различных сфер деятельности.
Почему сниппеты кода со StackOverflow могут повредить ваш проект
StackOverflow стал спасением для многих программистов, включая меня. Некоторые из нас никогда не посещали домашнюю страницу StackOverflow. Единственный способ, по которому мы попадали на...
Top 100 наиболее популярных репозиториев на GitHub
GitHub стал не просто хостингом для хранения кодов, а огромным сообществом разработчиков.
Масштабы GitHub колоссальны: более 30 миллионов аккаунтов, более 2 миллионов организаций и более...
12 полезных инструментов для разработчиков
Эти инструменты избавят вас от лишних усилий и сэкономят рабочее время. Они помогут справиться с тестированием и отладкой, хостингом и созданием скриншотов, визуализацией структур данных JSON и оптимизацией облачных расходов.
ПО без тестирования - что самолет без крыльев
Можете ли вы представить авиакомпании, которые никогда бы не тестировали свои самолеты, а просто доставляли бы на место уже готовые. Чувствовали бы вы себя...
Как мне не удалось совладать с устаревшим кодом
Я очень хорошо помню свой первый опыт работы с устаревшим кодом. Я была младшим разработчиком и совершенно не представляла, что делаю.
Само приложение было чем-то...
Инженерия будущего: интеграция данных, программного обеспечения и искусственного интеллекта
Сегодня возникает необходимость перейти от изолированных задач к интегрированным системам. Узнайте, как признание общности трех дисциплин - инженерии данных, разработки ПО и ИИ - улучшает стратегии рекрутинга и поддерживает адаптируемые ИТ-архитектуры.
Введение в бинарный поиск
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.
Как комментировать файлы JSON
JSON не поддерживает комментарии, что часто вызывает затруднения. Однако есть способы обойти это ограничение. В этой статье рассмотрены различные методы добавления комментариев в JSON.
Математика, скрывающаяся за “проклятием размерности”
Хотите разгадать удивительные явления, возникающие в высокоразмерном пространстве? Углубитесь в понятие “проклятие размерности”, тесно связанное с переобучением, и раскройте для себя математику, которая стоит за всем этим и влияет на эффективность моделей машинного обучения.
Яндекс опубликовал календарь дней быстрого найма
Яндекс объединил все мероприятия по быстрому найму в одном календаре. Сейчас в нём доступны три типа событий, которые позволят устроиться в компанию за несколько...
Полезные рабочие плагины TMUX
Расширим ваш арсенал TMUX. Научимся устанавливать и использовать любой плагин, разберем каждый из них. Расскажем, как создавать собственные TMUX-плагины.
От биологии к биоинформатике: практическое руководство для новичков
Советы опытного эксперта помогут совершить непростой переход от биологии к биоинформатике. Усвоив их, вы станете специалистом с прокаченными компьютерными навыками, разбирающимся в анализе данных, освоившим команды UNIX/Linux и владеющим такими языками программирования, как Bash, Python и R.
Знакомство с SurrealDB с помощью Express.js, Node.js и TypeScript
Хотите знать, почему SurrealDB - высшее достижение в области разработки баз данных? Предлагаем детальное описание новейшей базы данных SurrealDB, а также подробное руководство по ее использованию.
Разоблачение мифов о сеньоре
Хватит этих историй о том, “как стать старшим разработчиком”
Возможно, мой мозг избирательно раздражается, видя, как люди ловят на попутном ветре успех оригинальной статьи. Или,...
Подсказки по именованию логических переменных
Существует определенное соглашение — снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого.
Но на...
5 лучших курсов по React Native для разработчиков мобильных приложений
Если вы — веб-разработчик, который хочет создавать мобильные приложения, но не хочет тратить время на изучение Java/Kotlin (для Android) или Objective C/Swift (для iOS),...
А вы сможете ответить на этот знаменитый вопрос из собеседования?
Разберем задачу про 100-местный самолет со всеми случаями и вариантами. Объясним, как получить правильный ответ и почему он именно такой.
Как не лажать с JavaScript. Часть 4
Часть 1, Часть 2, Часть 3, Часть 4
Декларативный код — популярное понятие, но что оно означает на самом деле? Это что-то хорошее? Давайте разберёмся.
Если вы...
Топ-5: непреднамеренная ложь программистов
Я знаю, я лгал!
Признаюсь. Я был разработчиком и остаюсь им. Разработка — больше, чем просто работа. Это — состояние души. Невозможно просто перестать писать код....
10 бесплатных Mac-приложений, о которых вы точно не знали
На macOS немало полезных предустановленных программ, но также есть много сторонних бесплатных приложений, способных упростить работу. Узнайте о 10 наиболее интересных приложениях, которых сделают цифровую жизнь гораздо приятнее.
10 признаков того, что программирование не для вас
Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди...
Что делает невозможную фигуру невозможной?
Невозможные фигуры образуются линиями, соединенными между собой самым противоречивым образом, с искажением перспективы. При зрительном восприятии таких изображений возникает эффект оптической иллюзии, запредельной реальности....
4 совета по улучшению Jupyter Notebooks
Jupyter Notebooks - отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как...
В чем Windows превосходит Linux
Автор рассказывает, почему ему пришлось распрощаться с Linux и снова возвратиться к Windows. Кроме того, ему удалось попробовать новую Windows, и он подробно рассказал о ее преимуществах и недостатках.
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
Почему люди терпят неудачу при изучении языков программирования и как этого избежать
Если вы когда — либо пытались стать разработчиком, то вы несомненно уже обнаружили, что процесс этот не из легких и вы не единственный, кто испытывает определенные...
Правильная мотивация - залог успешных сторонних проектов
По моему опыту, в работе над сторонним проектом основная сложность заключается не в поиске новой идеи, а в ее окончательном воплощении в готовый продукт.
В...
Будущее графических дизайнеров в эпоху машинного обучения
Сможет ли искусственный интеллект заменить графического дизайнера? Этот вопрос волнует многих. Расскажем, как машинное обучение и искусственный интеллект действуют сегодня и поделимся прогнозами экспертов.
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
5 шагов к созданию крутого пул-реквеста
Во-первых, поздравляю с тем, что вы достигли этих рубежей! Создание пул-реквестов — это последний шаг на пути согласования улучшенного вами кода с владельцем его оригинала и...
Предварительный просмотр Jetpack Compose-анимации по ключевым кадрам в Android Studio
Умело созданные интерактивные элементы способствуют улучшению пользовательского опыта. Сегодня создадим анимацию по ключевым кадрам в Jetpack Compose и просмотрим ее в Android Studio Koala.
4 типичные ошибки программиста, которые видны лишь с позиции руководителя
Я проработал программистом более 5 лет. Конечно, у некоторых из вас, вероятно, гораздо больше опыта, но тогда я считал, что уже достиг уровня старшего...
Автомасштабирование по запаздыванию Kafka с KEDA
Настроим автоматическое масштабирование приложения на основе внешних источников событий. Как это делается с KEDA? Рассмотрим два способа.
Приемы работы с оболочкой Zsh, которые я хотел бы знать раньше
Хотите повысить производительность работы в терминале? Предлагаем приемы, практические советы и рекомендации по повышению эффективности работы с командной строкой с помощью Zsh.
Принцип открытости/закрытости: расширение кода без модификации
Принцип открытости/закрытости позволяет создавать отличные проекты на основе имеющегося набора свойств. А используете ли вы метод validate для видео, документов и других расширений? Посмотрите, как это делается.
5 алгоритмов, которые изменили мир
Взаимодействие человека и компьютера было бы невозможно без алгоритмов. Пять из них сыграли революционную роль в нашей жизни.
Расширения VS Code, в 3 раза повышающие скорость работы
Возьмите на заметку 5 лучших расширений VS Code. Они значительно ускорят ваш рабочий процесс и помогут избежать досадных ошибок при написании кода.
.NET Aspire — стремление к рациональному подходу в сфере облачной разработки
.NET Aspire - новая платформа, упрощающая создание нативных приложений. Предлагаем ознакомиться с ее особенностями и преимуществами, а также вариантами использования и ограничениями. Практические примеры, приведенные опытным веб-разработчиком, облегчат начало работы с .NET Aspire.
Секреты эффективного управления разработкой
Представляем вашему вниманию 50 советов о том, как добиться успеха на посту руководителя проектного отдела.
Как бороться с одиночеством в цифровом мире: 10 простых решений
Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
GenAIScript от Microsoft: новый генеративный скрипт на базе ИИ
Компания Microsoft запустила новый генеративный скрипт на базе искусственного интеллекта - GenAIScript. Посмотрим, какими функциями оснащен этот инструмент и какие задачи можно решать с его помощью.
9 вещей, которыми следует заняться Java программисту в 2018 году
Будучи Java разработчиком и автором Java-блога, я часто встречаю вопросы от java-программистов со всего мира, о том, как можно улучшить свои навыки.
В прошлом я написал...
Программист как пользователь инструментов
Старая поговорка гласит: "Только плохие мастера винят свои инструменты". Она применима и к программной инженерии. Узнайте, как выбирать инструменты, чтобы работа стала более эффективной, а продукты - более качественными.
Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях
Предлагаем руководство по созданию интерактивной визуализации для обнаружения объектов с помощью Renumics Spotlight 1.6.0. Ознакомление с подобными передовыми технологиями позволит принимать более обоснованные решения при выборе дополнительных обучающих данных.
Как перевести iPhone в черно-белый режим и почему вам следует это сделать
Разноцветный интерфейс вашего смартфона побуждает ваш мозг чаще его использовать. Установите черно-белый режим экрана, чтобы тратить меньше времени на бесконечный серфинг в интернете и...
Почему стоит использовать Argo CD вместо (или вместе) с Helm в среде Kubernetes
Узнайте о преимуществах использования Argo CD в среде Kubernetes и возможности его интеграции с Helm и другими инструментами. Изучите этапы настройки Argo CD в среде Kubernetes для создания приложения и пример мониторинга с его помощью YAML-файлов в Git.
О нейронных сетях в двух словах
Нейронным сетям посвящены горы научной литературы. Перед погружением в тему ознакомьтесь с кратким обзором нейронных сетей, принципами их работы и использованием в машинном обучении.
5 лучших бесплатных текстовых редакторов для Windows
В представлении большинства людей современный писатель — это человек, печатающий на компьютере Apple MacBook. Они недалеки от истины, вот только не всегда учитывается один...
Обучение «на всякий случай» против обучения «точно в срок»
Как программист должен поступить с новой информацией? Выучить «на всякий случай», мало ли пригодится в будущем? Или выучить «точно в срок» тогда, когда эти...
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Программное обеспечение без конструкции if-else
Не откладывая в долгий ящик скажу: зачастую конструкция if-else — плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг.
Тем не...
Как научиться не только писать код, но и быть хорошим программистом
Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
7 признаков того, что вы - опытный разработчик
На первый взгляд может показаться, что профессия программиста — одна из самых перспективных. На второй — тоже: это одновременно и сложная, и полезная обществу...
Изысканные уловки хакеров для кражи подарочных карт
Схема работы “Black hat” хакеров стара как мир: найти цель, взломать, заработать денег. С течением последних лет было реализовано очень много хитроумных атак по...
Привет из 1984 года. Я опять решил попробовать программировать на BASIC на VIC 20...
Спустя 40 лет я снова включил свой старый VIC 20 — компьютер, на котором учился программировать в 11 лет. А потом решил познакомить с ним свою дочь — представительницу поколения iPad и TikTok. Получится ли у нас диалог через четыре десятилетия цифровой эволюции?
Scrum: 5–3–5–3–3
В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где:
первые “3” — три роли Scrum;“5” — пять событий...
5 признаков того, что вы отличный разработчик
Насколько вы продвинуты в программировании и как быстро сможете повысить свою квалификацию? Чтобы ответить на эти вопросы, узнайте 5 основных признаков хорошего разработчика.
Как писать функции: 8 советов от опытного разработчика
Функция - это небольшая часть истории о системе. Чтобы научиться излагать ее как можно удачнее, воспользуйтесь советами профессионального программиста.
Ноутбук разработчика — эпицентр атак на цепочку поставок
Ваша рабочий ноутбук — сундук с сокровищами. То, что вы там храните, включая простые текстовые файлы, переменные среды и конфигурационные каталоги, открывает доступ ко...
SQL в науке о данных
Введение
SQL (язык структурированных запросов) - язык программирования, используемый для запроса и управления данными в реляционных базах данных. Реляционные базы данных состоят из наборов двумерных...
Проект инженерии данных с DAG Airflow «от и до». Часть 2
Проверим корректность данных, отправим письмо и сообщение в Slack с информацией об адресе почты и пароле. Объединим все части проекта, создадим и запустим DAG Airflow со всеми задачами.
Знакомство с AWS WebSocket
Первая статья из серии изучения WebSocket. В ней вы узнаете, что такое WebSocket, для чего и как он используется, а также познакомитесь с простейшей реализацией подписок и уведомлений.
9 Уровней применения функции zip в Python
Введение
В Python есть несколько встроенных функций, которые делают код очень элегантным. Одна из них — функция zip. Но начинающим не всегда бывает понятно, как...
MongoDB: вставка документа
Для вставки данных в коллекцию MongoDB используется метод insert() или save(). Разберем его в данной статье.
Подробнее о функциях высшего порядка
В JavaScript, функции являются “функциями первого класса”, соответственно они могут:
храниться в переменной, объекте или массиве.
передаваться как аргументы в другую функцию.
и даже...







































































































