Самый важный навык для программиста
Нет, нет и нет.
Скажем вместе. НЕТ!
Хорошее начало.
Но чему мы говорим НЕТ?
Это важный момент, который сбивает с толку даже опытных программистов.
Написание кода составляет большую часть...
Приключения аналитика в стране кода: пробуждение силы
Программы для электронных таблиц, такие как Microsoft Excel и Google Sheets, превосходны. Они вне конкуренции, когда дело касается выполнения простых вычислений или построения финансовых...
Новый шаг к будущему без языковых границ
Новый шаг к будущему без языковых границ: Яндекс запустил в открытую бету технологию закадрового перевода прямых трансляций на YouTube В Яндекс Браузере появилась уникальная...
Всё, что должен знать разработчик ПО о качестве кода
Вы можете этого не осознавать, но плохой код вы узнаете с первого взгляда. Как правило, он малопонятный или содержит много ошибок, чрезмерно многословный или...
То, чего вам никто не расскажет о поиске работы, связанной с анализом данных
Я физик и работаю в стартапе YCombinator. Из-за специфики работы компании я получаю много писем с просьбами дать советы по построению карьеры в области...
Руководство по подготовке к собеседованию по SQL
Готовитесь к собеседованию по SQL? Разбираем задачи, которые может предложить потенциальный работодатель.
Упрощаем интеграцию Kafka со Spring Boot
Разберем ключевой функционал и настройку Kafka и узнаем, как он вписывается в Spring Boot. Научимся маршрутизировать и фильтровать сообщения, отправлять и получать их с помощью шаблонов и прослушивателей Kafka, а также преобразовывать форматы пользовательских данных.
Чистая архитектура: руководство для начинающих
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
Удивительное превращение винтажного устройства в онлайн-радиоприемник
Моя супруга всегда хотела, чтобы у нас был радиоприемник, который
красиво выглядит; легко регулируется; обладает хорошим качеством звука; проигрывает станции из интернета.
Современный рынок предлагает большой выбор модных интернет-радиоприемников....
5 мудрых цитат известнейших программистов
Быть программистом — значит выбрать путь непрекращающегося обучения, ведь это среда неиссякаемого потока нового — новые функции, новые языки, новые инструменты, новые фреймворки. Но в то же время...
Какой язык программирования используют самые счастливые разработчики?
В мире информационных технологий существует множество стереотипов, например «PHP — самый плохой язык» или «Python — это язык для начинающих». К счастью, мы можем представить себе истинное положение...
5 алгоритмов, которые изменили мир
Взаимодействие человека и компьютера было бы невозможно без алгоритмов. Пять из них сыграли революционную роль в нашей жизни.
9 вещей, которыми следует заняться Java программисту в 2018 году
Будучи Java разработчиком и автором Java-блога, я часто встречаю вопросы от java-программистов со всего мира, о том, как можно улучшить свои навыки.
В прошлом я написал...
Архитектура программного обеспечения — это совсем не просто
В апрельском отчете InfoQ архитектура ПО определяется как “командный вид спорта”. Какова роль инженеров-программистов в этом виде спорта? К каким вызовам им готовиться? И какие преимущества может дать им модель C4 в новых условиях? Присоединяйтесь к интересному и очень своевременному разговору.
Обнаружение банковских троянов на устройствах Android
Представляем механизмы обнаружения вредоносных приложений, устанавливаемых на устройствах Android и злоупотребляющих функцией AccessibilityService. Основное внимание уделим мерам по защите легитимных приложений от такого ПО.
3 инструмента, чтобы начать программировать на недорогом гаджете
В твиттере я общаюсь с людьми, которые только приступают к разработке приложений. Иногда они говорят, что, чтобы начать программировать, им нужен (дорогой) ноутбук. Но для...
Создаём конвейер автоматизированных сборок для проекта на Arduino. Часть 1/2
Важная часть профессионального программирования — это конвейеры автоматизации сборок. Вы, конечно, можете считать несерьезным свое увлечение проектами на Arduino. Но давайте представим, что вы создаёте библиотеку...
Как создать бота в стиле Alexa и Siri с помощью Python и OpenAI
Хотите создать голосового ИИ-помощника наподобие Alexa и Siri? Предлагаем пошаговое руководство по разработке виртуального ассистента, воспринимающего человеческую речь и отвечающего на вопросы.
Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях
Предлагаем руководство по созданию интерактивной визуализации для обнаружения объектов с помощью Renumics Spotlight 1.6.0. Ознакомление с подобными передовыми технологиями позволит принимать более обоснованные решения при выборе дополнительных обучающих данных.
Вы не понимаете своих программистов
...Открытое письмо не-технарям в технических компаниях
Может показаться, что мы заняты только этим:
Но на самом деле всё несколько сложнее.
Обычно разработчики — целеустремлённые люди, многие из них сами...
5 методов написания чистого кода для любого проекта
Рассмотрим несколько советов по повышению качества баз кода, которые пригодятся при создании различных проектов: фронтенда, бэкенда, командной строки, настольных и мобильных приложений.
Как создать бота Discord с Node.js, Discord.js и OpenAI GPT-3
Поэкспериментируем с ИИ и на сервере Discord создадим бота, который сможет отвечать на вопросы, рассказывать анекдоты и выполнять разные интересные задания.
Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ
Приготовьтесь к выпуску Watson LSM - новых больших речевых моделей, способных преобразовывать длинные аудиозаписи в готовые тексты. Пока они доступны только в закрытой бета-версии, но, войдя в массовое производство, смогут обеспечить бесперебойную работу с клиентами.
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Как автоматизировать создание контента для YouTube и блога с помощью LangChain и OpenAI
Пошаговое руководство с исходным кодом поможет легко разработать собственного маркетингового ИИ-ассистента. Этот инструмент позволит автоматизировать создание контента, сэкономить время и сосредоточиться на более важных задачах.
Несколько советов, которые помогут вам на собеседовании и не только
Зачастую, получить первую должность в качестве разработчика крайне трудно.
Как убедить человека принять вас на работу, если опыта как такового и нет? Какие вещи знать...
За что разработчики ненавидят парное программирование?
Обзор ответов на семь самых популярных замечаний о недостатках парного программирования, как со стороны junior-разработчика, так и со стороны senior-разработчика.
Парное программирование мешает углубленной работе
Достаточно...
Причины, по которым проект может потерпеть неудачу
Предвкушение успеха нередко оборачивается грандиозным провалом. Узнайте о том, как избегать неожиданных подвохов при разработке проектов и доводить их до победного конца.
Советы молодым разработчикам
Я несколько лет имел удовольствие координировать и развивать молодых разработчиков. Большинство новичков не испытывают нехватки навыков программирования, но им не хватает дальновидности. Это касается...
5 ловких приемов Xcode для рефакторинга кода
Ищите быстрый и эффективный способ рефакторинга кода? Представляем среду разработки Xcode и ее эффективные возможности.
Принцип открытости/закрытости: расширение кода без модификации
Принцип открытости/закрытости позволяет создавать отличные проекты на основе имеющегося набора свойств. А используете ли вы метод validate для видео, документов и других расширений? Посмотрите, как это делается.
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT
Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
Почему большинство инженеров ПО не пишут документацию?
Неважно, работаете вы в небольшом стартапе или же в крупной корпорации, когда возникает необходимость в хорошей, ценной документации сервисов или проектов, то на ее...
Создание Docker контейнера с вашей моделью машинного обучения
Хотя я не обладаю большим опытом в разработке программного обеспечения — я специалист по обработке данных — но, конечно, много слышала о контейнерах. Насколько легкие они в сравнении...
6 технологий, которые помогут стать востребованным фронтенд-разработчиком в 2021
Вы хотите улучшить свои карьерные перспективы как разработчика в 2021 году? Возможно, вы хотите перейти на более высокооплачиваемую должность или устроиться в компанию, работающую...
Карьерные трудности UX/UI дизайнера
Нейросети, "дизайноголия", банальность, невнимательность к мелочам и другие проблемы дизайнеров интерфейсов и пользовательского опыта
P.S. Дорогой рефакторинг, нам нужно на время расстаться
Я люблю рефакторинг. Действительно люблю. В процессе TDD (разработки через тестирование) по мере прохождения тестов я могу сосредоточиться исключительно на коде, дорабатывая и доводя...
10 рекомендаций по защите баз данных
Мы полагаемся на данные не только в принятии решений, но также и при ведении бизнеса в целом. Их потеря может привести к серьезным финансовым...
Полное руководство по CASE WHEN в SQL
Изучите сценарии использования CASE WHEN в различных SQL-средах (SQL Server, Oracle, Snowflake, PostgreSQL). Постижение магии CASE WHEN, а также ограничений и альтернатив этого оператора, значительно усовершенствует ваши навыки работы с SQL.
Как бороться с одиночеством в цифровом мире: 10 простых решений
Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
Что такое шаблон SAGA и какую проблему он решает в микросервисной архитектуре
Шаблон SAGA помогает решать специфическую для архитектуры микросервисов проблему. Это сложный в применении инструмент, которым должен владеть опытный разработчик.
Принципы SOLID спешат на помощь
Не раз и даже не два случалось мне возиться с кодом ради исправления одной крошечной ошибки или расширения функциональности, пока, наконец, в моей жизни...
Как установить Linux Mint рядом с Windows 10 [инструкция для чайников]
Итак, вы решили перейти на Linux. Хорошее решение! А еще лучше, если вы выбрали Linux Mint!
Linux Mint — один из лучших дистрибутивов для новичков. В установке...
Руководство по выбору оптимального карьерного пути в IT-сфере
Найти свое предназначение - это цель. Правильный выбор - это путь. Пройти этот путь, сделать его короче и легче, избежать досадных ошибок и не потерять драгоценное время поможет модель "Иерархия карьерных приоритетов".
Отказ после четырех раундов технических собеседований. Что делать?
Будущий инженер-программист должен быть готов к нелегкому испытанию - встрече с придирчивыми рекрутерами. Никто не хочет получить отказ на собеседовании, но лишь немногие отвергнутые кандидаты способны превратить свою неудачу в будущий успех.
Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение
22 мая 2010 года один из первых майнеров по имени Ласло Ханец купил, возможно, самую дорогую в истории человечества пиццу: он заплатил 10 000...
Как ускорить навигацию командной строки
Знание полезных команд может творить чудеса. Мне часто приходится возиться с командными строками, помогая другим с отладкой кода и навигацией серверов, поэтому я прекрасно...
Комментарий в коде написать - всё равно, что проиграть
Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
От рекомендаций по проведению ревью кода к общечеловеческим ценностям
Став частью команды QuintoAndar, я приобщилась ко многим процессам, о которых раньше не знала. В их число входили обязательные ревью кода.
Если кратко, то в...
Почему вам стоит завести чек-листы для программирования
Скорее всего, многим попадался код, который выглядит как головоломка: в программе куча ненужных строк и бесполезных комментариев. Или же в неё внесли изменения, и...
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
5 советов для начинающих программистов
Когда я только начинал заниматься программированием, то часто пребывал в озадаченном состоянии. Порой возникали чувство потерянности и неуверенность в своих силах, что заставляло постоянно...
Освоение безопасной для типов JSON-сериализации в TypeScript
Предлагаем руководство по использованию TypeScript для безопасной для типов сериализации и десериализации данных в формате JSON. Освоение этой стратегии позволит своевременно обнаруживать потенциальные ошибки во время разработки приложения.
ТОП-10 признаков плохого кода: хардкод и спагетти-код в примерах на JavaScript
Повторения, непоследовательность, длинные условия, сложность алгоритма по времени и памяти - очевидные ошибки начинающих разработчиков.
Три нашумевших диаграммы. Исследование JavaScript в 2018
Вы думали статистика и графики — это скука? Подумайте ещё раз…
Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
Путешествие c LLM: от PoC к производству
Мощь больших языковых моделей (LLM) очевидна. Но так ли легко обеспечить их всем необходимым? Сегодня мы пройдем путь работы над LLM - от доказательства концепции до производства - и поговорим о том, какие меры предпринять и каких подводных камней избегать.
Разработка ПО — системы плагинов
Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
Основы написания мануалов при разработке
Хороший мануал продукта должен быть не просто полноценным по информации, но и понятным для пользователя. Учимся, как правильно выстраивать его разделы и содержание в целом.
Поток управления декларативным циклом в Angular 17
Следующая версия популярного фреймворка Angular (v17) обещает предоставить разработчикам удобные функции. Одним из улучшений станет новый встроенный синтаксис шаблонов потока управления.
✨ Расширения для Visual Studio Code, которые поднимут процесс разработки на новый уровень
Давайте поговорим о Code — Visual Studio Code.
Мои дорогие читатели попросили меня рассказать о тех расширения, которые я использую для разработки. Этим мы сейчас и займёмся.
Наш VSC...
Как я настроил VS Code
Недавно я был в аэропорту Борисполь на Украине, работал над статьей для блога, как вдруг мой VS Code перестал работать. Он крашнулся дважды меньше...
Как комментировать файлы JSON
JSON не поддерживает комментарии, что часто вызывает затруднения. Однако есть способы обойти это ограничение. В этой статье рассмотрены различные методы добавления комментариев в JSON.
Как добавить в проект тестирование скриншотов с Cypress
Разработчиков, как правило, заботит качество кода. Есть различные виды тестов, которые помогают избежать ситуаций, когда код ломается после добавления в проект новой функции. Но...
Пора делать шаг по карьерной лестнице разработчика?
Список общих рекомендаций по смене работы и устройству на должность своей мечты. Почему техническая зубрежка не является ключом к успеху, и какая стратегия здесь окажется более эффективной?
Испытаем ИИ в решении логических задач
Алгоритмические задачи довольно часто нужны программистам для того, чтобы поддерживать свой мозг в тонусе и не давать себе прокрастинировать. Однако иногда гораздо интереснее решить задачу не напрямую, а хитрым способом. Один из таких способов и описан в этой статье.
Terraform: реализация технологии “инфраструктура как код”
Предлагаем ознакомительный обзор Terraform — инструмента, которым должен овладеть каждый инженер-программист. Экспресс-демонстрации помогут вам быстро освоить основной функционал Terraform, чтобы успешно использовать инновационную технологию “инфраструктура как код”.
Список инструментов для обязательного использования
Будучи бедным студентом, я являюсь огромным фанатом различных бесплатных вещей, особенно программного обеспечения. Когда дело доходит до программного обеспечения, я, буквально, могу сделать что...
Мой опыт работы с Data Scientist, будучи программным инженером
Предыстория
В конце 2017 года я начал проявлять интерес к такой области, как машинное обучение. По специальности я Android Engineer, и в этой статье я...
Java против Kotlin. Android
Противостояние Java и Kotlin — тренд последних дней. Java — везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим...
6 ответов на вопрос: «почему читать код важнее, чем писать?»
Быть хорошим программистом не значит безостановочно писать код. Несмотря на то, что этот навык является более востребованным, в крупных компаниях изменение и переписывание кода...
Как обучать программированию подростков?
В последнее время многие родители спрашивали меня, как я учился программировать, в основном, чтобы узнать, как им обучать своих детей. И каждый раз я...
9 советов для быстрой работы в UNIX и Linux терминале
Существует огромное множество команд для работы с терминалом UNIX и Linux. Все это многообразие не запомнить, как бы вам ни хотелось. Постоянный поиск нужной команды тормозит рабочий процесс, ко всему прочему сами команды не во всех случаях состоят из пары символов. В итоге это здорово мешает быстрой и легкой работе с терминалом. Именно поэтому, сегодня мы расскажем о командах, которые в несколько раз увеличат вашу производительность
Шесть принципов, которые помогут лучше писать модули для iOS-приложений
Зачастую приходится разрабатывать не целые приложения с нуля, а дополнения, надстройки, библиотеки. Предлагаем несколько советов, благодаря которым результат такой работы окажется полезнее для конечных пользователей.
Как удалять локальные ветки с помощью псевдонимов Git
Мы не из тех, кто упускает отличные возможности улучшить рабочие процессы Git! В данном руководстве учимся создавать псевдонимы Git и с их помощью удалять локальные ветки.
Что нужно знать разработчику ПО
Инженер ПО - востребованная и высокооплачиваемая профессия, требующая креативности, аналитических навыков и интереса к информатике. Если вы самостоятельно изучаете программирование и интересуетесь основными принципами, применяемыми разработчиками ПО, то обратите внимание на эти 10 пунктов.
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
Обработка сигналов в операционных системах семейства Unix на Golang
Сигналы в операционных системах семейства Unix — это программные прерывания, которые отправляются программе для указания на возникновение какого-то важного события. Это могут быть разные...
Как выбрать правильного партнера при разработке программной платформы
Давайте признаем, ко всем однажды приходила гениальная идея крутого нового приложения, которое должно захватить рынок. К сожалению, в такой ситуации мы не учитываем, насколько...
Cтарая поговорка гласит: “Одна голова хорошо, а две — лучше”
Я часто слышу, как люди говорят о том, что их работа продвигается более эффективно и плодотворно когда они остаются одни. Также я знаю, что...
8 советов, как стать лучше во фронтенд-разработке
Должен ли я планировать свой проект или лучше сразу погрузиться в процесс разработки? Стоит ли мне внедрить вот этот плагин или вон ту библиотеку?...
Легко и быстро: автоматизация развертывания AWS EC2 с GitHub Actions и Docker Hub
Пошагово настроим экземпляр AWS EC2, создадим и добавим в DockerHub образ Docker и настроим рабочий поток Github Actions. В итоге научимся автоматизировать и оптимизировать рабочий процесс развертывания, уменьшая риск человеческой ошибки.
Вычислительные затраты на написание чистого кода
Почему иногда люди пишут подобный код?
var = float(str(alist).split())/3+float(alist)
Ответ прост: чтобы сэкономить вычислительное время. Стоит только написать это в четыре строки…
var = alist[::-1][0]
var = str(var).split()[1:4]
var...
Обработка дублированных сообщений в Kafka
Подробно рассмотрим сценарии, чреватые появлением дублей, и различные подходы для их недопущения. Как этими подходами реализуются решения этой проблемы?
Как быстро выучить новый язык программирования
Возможно, вы уже знаете хотя бы один язык программирования, но в любом случае приведенные концепции помогут вам приступить к разработке.
Когда я учился в школе,...
Планировщик cron и скрипты разведки с Docker
Автоматизация инструментов в cron идет полным ходом. Настроим планировщик для целей разведки и рассмотрим примеры, где он уже применяется.
Чему я научился, проработав полгода в качестве разработчика-самоучки
Помню, когда я искал работу и изучал кучу материалов о высоких технологиях, обучении программированию, читал истории успеха, больше всего внимания я уделял тому, как...
Искусство упрощения для программистов
Недавно я наткнулся на очень интересную книгу авторства Nagisa Tatsumi. Называется она “Искусство упрощения: как избавиться от беспорядка и найти радость” (“The Art of...
Яндекс опубликовал календарь дней быстрого найма
Яндекс объединил все мероприятия по быстрому найму в одном календаре. Сейчас в нём доступны три типа событий, которые позволят устроиться в компанию за несколько...
Трассировка стека и более точная отладка
Умение читать трассировки стека, в особенности сложные и длинные - незаменимо, если в коде возникает ошибка, и нужно как можно точнее разобраться в ее причинах. Посмотрим на некоторые подводные камни, о которых необходимо знать перед отладкой.
Искусственный интеллект и пользовательский опыт: погружение в новую эру визуализации данных
Рассмотрим роль искусственного интеллекта в визуализации. Изучим способы обработки и анализа данных на основе ИИ. Узнаем, как это влияет на пользовательский опыт. Проанализируем конкретные примеры визуализации данных на основе ИИ. Рассмотрим нюансы визуализации с помощью ИИ.
Худший враг программиста — долгосрочная актуальность
Что по-вашему будет труднее?
· решить проблему в коде;
· решить более масштабную проблему в коде
Да, я тоже так считаю.
Программирование сводится к решению проблем. Если вы...
Почему вам нужно учить больше языков программирования
О моих свободных отношениях с языками программирования
Я занимаюсь программированием уже около 4 лет. Я начал с C#, занимаясь разработкой игр, а затем перешел на...
Хватит использовать Pandas, пора переходить на Spark + Scala!
Переход с Pandas на Spark и Scala не настолько труден, насколько вы можете предположить, при этом в итоге ваш код будет выполняться быстрее, и,...
Установка и использование Snap-пакетов в Ubuntu 18.04
Введение
Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Рекурсивное программирование
При первом знакомстве с концепцией рекурсии, она может показаться странной и отталкивающей. Это кажется почти парадоксальным: как мы можем найти решение проблемы, используя решение...
Сообщество — лучший двигатель карьеры разработчика
В мире технологий часто упоминается слово "сообщество". Разберемся, что включает себя это понятие, как стать участником сообщества и как его найти.
С этими советами у junior-разработчиков не возникнет проблем на их первой работе
В самом начале вашей карьеры в сфере разработки программного обеспечения вам может быть страшно, но от этого не менее увлекательно и волнительно.
Я знаю это...
Генерация видео из текста стала возможной
Теперь с помощью ИИ можно генерировать не только изображения, но и видео. Конкретно речь идет об инструменте CogVideo, предлагающем всем желающим возможность опробовать его онлайн.
5 модулей Python для исследования Вселенной
Обзор 5 модулей Python для изучения космоса: PyEphem, solarsystem, geemap, turboSETI и pysat. Готовьтесь получать разнообразные данные о планетах, составлять карты, искать следы инопланетной жизни и отслеживать спутники.
Причины, по которым проект может потерпеть неудачу
Предвкушение успеха нередко оборачивается грандиозным провалом. Узнайте о том, как избегать неожиданных подвохов при разработке проектов и доводить их до победного конца.
Как запустить сайд-проект за 10 дней
Инструменты для завершения процесса: Идея -> Дизайн -> Разработка -> Развертывание
Как и у многих людей, у меня нет недостатка в идеях для приложений, которые...
Python: декоратор @retry
Python часто называют “склеивающим” языком. Для меня этот термин означает, что язык помогает соединять системы и обеспечивает передачу данных из A в B в...
9 полезных расширений для 2020 года
Refined GitHub
Refined Github упрощает интерфейс Github и добавляет полезные функции.
«Мы надеемся, что Github заметит и реализует некоторые из этих необходимых улучшений. Поэтому, если вам...
Python — идеальный инструмент для любой проблемы
Размышления о моей первой программе на Python.
Размышления это всегда помогающее (а иногда и развлекающее) занятие. Из ностальгических соображений, конечно, если можно испытывать ностальгию по...