Почему я полюбила тестирование и теперь советую его вам
Среди разработчиков часто можно услышать о том, что тестирование тормозит разработку. Я считаю это утверждение ошибочным. Да, действительно, польза тестов зачастую оказывается незаметна в...
Разработчики, которые постоянно что-то изучают — вот вам совет!
Я видел много людей, среди разработчиков, которые постоянно находились в состоянии разочарованности и неуверенности в себе. Это происходило из-за того, что они постоянно пытались...
Преимущества обучения на программиста-дизайнера
Стоит ли изучать программирование для того, чтобы стать дизайнером? Какие преимущества это дает? Что нужно знать, что успешно работать над проектами, связанными с веб-дизайном? Постараемся ответить на эти вопросы в сегодняшней статье.
Как запросить датафрейм Pandas с помощью SQL
Пользуетесь ли вы SQL в Pandas? Узнайте, как запросить датафрейм Pandas с помощью SQL, используя возможности и учитывая ограничения библиотеки Pandasql.
Почему программисты не бросают работу?
Примечание: В этой статье я выражаю своё личное мнение, а не взгляды какой-либо компании.
Технические компании постоянно пытаются понять, что нужно сделать ,чтобы сотрудники были довольны. Добиться...
Преодолейте ваши страхи перед Vim
Как выйти из Vim и не только
Я хочу развеять страхи, витающие вокруг использования текстового редактора VIM. В этой статье я расскажу о самых часто используемых...
Когда не следует использовать нейронные сети
Нейронные сети - не универсальная опция. Как же выбрать модель при отсутствии идеального варианта? Есть ли компромиссные решения? Возможен ли вообще паритет между точностью и полезностью? Поищем ответы на эти вопросы.
Как бороться с одиночеством в цифровом мире: 10 простых решений
Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
С нуля до разработчика игр: как начать создавать видеоигры, если у вас нет опыта
Два года назад я была простой семнадцатилетней ученицей средней школы и я ничего не знала о программировании. Но я все равно достигла своей цели...
4 совета по улучшению Jupyter Notebooks
Jupyter Notebooks - отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как...
Как мы создавали автоматизированное тестирование с помощью Playwright
Переход на автоматизированное тестирование позволяет ускорить выпуск продуктов, повысить их качество, сэкономить усилия разработчиков и сохранить доверие клиентов. Ознакомьтесь с опытом команды Tempest по освоению автоматического тестирования веб-приложений с использованием фреймворка Playwright.
Список навыков для начинающих фронтенд-разработчиков
В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
Стоит ли разработчику изучать VIM в 2020 году?
Введение
Небольшая предыстория для понимания контекста. В конце 2018 года я всерьез занялся программированием, решив развивать карьеру. До этого я создавал (довольно плохие) сценарии для...
Как создать собственную библиотеку на Kotlin Multiplatform
Сделаем простой, но эффективный Crashlytics для обработки навигационных цепочек и логов сбоев приложений. Смоделируем условия реального сценария с длительным сохранением логов.
Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google
Обнаружение вредоносного ПО: вирусов, червей, троянов, программ-вымогателей, рекламного и шпионского софта - волнует многих пользователей и предпринимателей. Предлагаем рассмотреть методы идентификации вредоносных программ с помощью алгоритмов машинного обучения. Материалом для исследования стал массив данных от Майкрософт объемом в 200 ГБ.
Секрет быстрого обучения
Многие молодые разработчики боятся выглядеть глупо. Они уверены, что это преуменьшает их способности в глазах других и отрицательно влияет на их карьеру.
Однако все наоборот....
Почему стоит использовать Argo CD вместо (или вместе) с Helm в среде Kubernetes
Узнайте о преимуществах использования Argo CD в среде Kubernetes и возможности его интеграции с Helm и другими инструментами. Изучите этапы настройки Argo CD в среде Kubernetes для создания приложения и пример мониторинга с его помощью YAML-файлов в Git.
Два метода безопасного программирования
Мы рассмотрим два очень простых и практичных безопасных метода, которые вы можете начать применять уже сегодня. Если вы профессиональный разработчик, вы наверняка уже их...
Топ-10 книг для Java-программистов
Java является одним из лидирующих языков программирования. Давайте рассмотрим книги, которые помогут в работе с Java как начинающим программистам, так и опытным профессионалам.
Сильные и слабые стороны метавселенной
Последнее время вокруг метавселенной царит нешуточный ажиотаж. Цифровой мир открывает массу возможностей для пользователей, но вместе с тем несет в себе определенные риски.
Будущее Ruby on Rails в эпоху искусственного интеллекта
Специалисты, занимающиеся разработкой на Ruby, уверены: наступает новая эра программирования. Искусственный интеллект станет незаменимым помощником человека в написании эффективного кода. Ознакомьтесь с концепцией программирования на базе промптов и оцените ее мощный потенциал.
Почему вы никогда не будете слишком стары, чтобы изучать Java (или любой другой язык...
“Любви все возрасты покорны.”
Несмотря на то, что очень многие солидарны с этой фразой, я постоянно наблюдаю за тем, как люди загоняют себя в мнимые...
Полное руководство по CASE WHEN в SQL
Изучите сценарии использования CASE WHEN в различных SQL-средах (SQL Server, Oracle, Snowflake, PostgreSQL). Постижение магии CASE WHEN, а также ограничений и альтернатив этого оператора, значительно усовершенствует ваши навыки работы с SQL.
Выбираем шрифт
Факторы, которые следует учитывать при выборе шрифта для вашего следующего проекта.
Serif или Sans Serif, вот в чем вопрос
Большинство шрифтов можно разделить на две основные категории:...
Введение в бинарный поиск
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.
Искусство упрощения для программистов
Недавно я наткнулся на очень интересную книгу авторства Nagisa Tatsumi. Называется она “Искусство упрощения: как избавиться от беспорядка и найти радость” (“The Art of...
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Полезные команды Git
Набор консольных утилит Git создан в помощь программисту. Используя их, он может управлять версиями проекта. Само собой, при работе с Git требуется знание определенных команд. Сегодня мы рассмотрим базовые команды Git и научимся добавлять и изменять удаленный репозиторий, а также удалять ветки.
Как организовать код в Python
Если вы занимаетесь вычислительными исследованиями или наукой о данных, но у вас нет опыта в области компьютерных наук, то вы, вероятно, создали удивительные научные...
Путешествие c LLM: от PoC к производству
Мощь больших языковых моделей (LLM) очевидна. Но так ли легко обеспечить их всем необходимым? Сегодня мы пройдем путь работы над LLM - от доказательства концепции до производства - и поговорим о том, какие меры предпринять и каких подводных камней избегать.
Отказ после четырех раундов технических собеседований. Что делать?
Будущий инженер-программист должен быть готов к нелегкому испытанию - встрече с придирчивыми рекрутерами. Никто не хочет получить отказ на собеседовании, но лишь немногие отвергнутые кандидаты способны превратить свою неудачу в будущий успех.
Станьте экспертом в разработке с этими продвинутыми советами по кодированию. Часть 2
Предыдущие части: Часть 1
Добро пожаловать во вторую часть продвинутых советов по написанию кода. В данной статье мы продолжим изучение остальных code smells с реальными...
Что нового в Ubuntu 18.04
Перед тем как вы начнете устанавливать новую версию Linux Ubuntu, приготовьтесь ко всем ее нововведениям и улучшениям, которых в этом выпуске появилось немало!
Ubuntu 18.04...
Обзор плагинов Obsidian
Рассмотрим несколько новых плагинов Obsidian для автоматического создания индексов папок, страницы обзора проектов, ссылок из строк, размещения галереи и геймифицирования хранилища.
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Как написать хороший проектный документ
Будучи разработчиком ПО, я трачу много времени на чтение и написание проектных документов. Прочитав и написав сотни таких документов, я заметила сильную зависимость между...
Программируем с интерфейсами: и у нас на это 5 причин
Начну с самого важного. ВСЕГДА используйте интерфейсы . Ну или хотя бы в большинстве случаев, когда пишете программу или создаёте проект. Чем больше, тем лучше....
Scrum мёртв. Восславим нового короля - Kanban!
Я использовал Scrum с самого начала своей карьеры. Работе с этим фреймворком я обучился ещё в колледже, где он рассматривался как наилучший вариант для...
Интеллектуальная синергия: динамические отношения между искусственным и человеческим интеллектом
ИИ дополняет потенциал человека, а люди следят за тем, чтобы ИИ служил интересам человечества. Рассмотрим подробно преимущества искусственного и человеческого интеллекта, а также способы формирования ими новой парадигмы, в которой будут гармонично сосуществовать инновации и эмпатия.
Знакомство с Git и GitHub: руководство для начинающих. Часть 1
Часть 1, Часть 2
Ищите, с чего бы начать изучение Git и GitHub? Хотите поработать с другими? Усердно трудитесь над проектом? Или вдруг заметили, что...
Обнаружение банковских троянов на устройствах Android
Представляем механизмы обнаружения вредоносных приложений, устанавливаемых на устройствах Android и злоупотребляющих функцией AccessibilityService. Основное внимание уделим мерам по защите легитимных приложений от такого ПО.
9 привычек неумелого разработчика
Чтобы стать толковым программистом, сначала нужно понять, чего делать не надо
Будьте скромнее
Выстраивание и проектирование хорошего кода — это не мифический недостижимый идеал, а лишь то,...
Что стоит знать дизайнеру перед первым хакатоном
Опыт и уроки, извлеченные из участия и победы на хакатоне
Одна из причин, по которой я так люблю дизайн, заключается в том, что его постоянное развитие...
9 полезных расширений для 2020 года
Refined GitHub
Refined Github упрощает интерфейс Github и добавляет полезные функции.
«Мы надеемся, что Github заметит и реализует некоторые из этих необходимых улучшений. Поэтому, если вам...
Разделение окон в Vim
Рассмотрим возможности редактора Vim в плане организации рабочего пространства: разделение окон, взаиморасположение вкладок и окон, сравнение с другими редакторами.
17 успешных примеров дизайна логотипов для различных бизнес-целей
Процесс создания дизайна для логотипа крайне важен. Давайте рассмотрим несколько примеров хорошо разработанных логотипов для различных сфер деятельности.
Удивительное превращение винтажного устройства в онлайн-радиоприемник
Моя супруга всегда хотела, чтобы у нас был радиоприемник, который
красиво выглядит; легко регулируется; обладает хорошим качеством звука; проигрывает станции из интернета.
Современный рынок предлагает большой выбор модных интернет-радиоприемников....
Искусство обращаться за помощью к коллегам-программистам
Неотъемлемой частью трудовых будней всех программистов являются ошибки в коде, и каждый раз необходимо найти способ их устранить и обеспечить правильную работу программ. Некоторые...
Может ли ИИ покончить с усталостью от сигналов тревоги?
Усталость от сигналов тревоги может свести на нет работу службы безопасности. Можно ли решить эту проблему с помощью искусственного интеллекта? Попробуем ответить на этот вопрос, выяснив основные причины синдрома усталости от сигналов тревоги.
4 ключевых аспекта проектирования распределенных систем
Что конкретно подразумевают надежность, доступность, масштабируемость и обслуживаемость? В чем заключается важность этих характеристик распределенных систем?
12 привычек эффективного разработчика
Я работал со множеством разработчиков программного обеспечения. Некоторые из них только закончили колледж, другие — уже профессионалы. В этой статье я перечислил общие привычки этих людей.
1....
Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение
22 мая 2010 года один из первых майнеров по имени Ласло Ханец купил, возможно, самую дорогую в истории человечества пиццу: он заплатил 10 000...
Расширения VS Code, в 3 раза повышающие скорость работы
Возьмите на заметку 5 лучших расширений VS Code. Они значительно ускорят ваш рабочий процесс и помогут избежать досадных ошибок при написании кода.
Генерировать случайные числа гораздо сложнее, чем вы думаете
Случайные числа окружают нас повсюду - и в программировании тоже создаются практически постоянно. Но настолько ли это простая операция, как это может показаться на первый взгляд? Разберемся, какие способы генерации случайных чисел существуют и каковы ограничения в их использовании.
Как достичь уровня senior-разработчика
Разработчики ПО классифицируются по уровням опыта следующим образом:
· junior (2–3 года);
· senior (10+ лет);
· middle (период между junior и senior).
Однако многолетний опыт ничего не...
Создание языковой модели для чатов
Хотите создать чат-бота, способного имитировать непринужденный стиль переписки с друзьями? Предлагаем наглядное руководство по интеграции GPT с приложением.
Перенос сценариев CI в docker build
Распространенный сценарий: команда разработчиков поддерживает множество Jenkinsfile, каждый из которых соответствует требованиям проекта. Однако эти сценарии непрерывной интеграции (CI) непригодны для повторного использования в...
Как я настроил VS Code
Недавно я был в аэропорту Борисполь на Украине, работал над статьей для блога, как вдруг мой VS Code перестал работать. Он крашнулся дважды меньше...
10 бесплатных ресурсов для обучения обработке естественного языка
Аббревиатура NLP (Natural Language Processing) в переводе на русский язык означает “обработка естественного языка”. Эта область знаний, объединяющая в себе лингвистику, компьютерные науки и...
Метрики для улучшения архитектуры ПО
На примере Java и Maven продемонстрируем, как определенные метрики помогают проектировать более масштабируемое и обслуживаемое программное обеспечение, а также изучим немного теории.
ИИ поможет создавать Dockerfile
CLI-команда docker init позволит легко инициализировать конфигурационные файлы Dockerfile и docker-compose, необходимые для запуска проекта в контейнере. Использование docker init избавит от лишней ручной работы, сэкономит время и сведет к минимуму ошибки.
Как я начала кодить
Моя история настолько далека от программирования, насколько это возможно. На тот момент я уже десять лет училась в школе. У меня есть степень магистра...
Pascal: ностальгическое путешествие сквозь годы и код
В чем сила языка Pascal, возникшего более полувека назад? Как он повлиял на наш мир? Почему его наследниками считаются Python, Rust, Go и многие другие современные языки? Откроем заново для себя Pascal.
5 мудрых цитат известнейших программистов
Быть программистом — значит выбрать путь непрекращающегося обучения, ведь это среда неиссякаемого потока нового — новые функции, новые языки, новые инструменты, новые фреймворки. Но в то же время...
Один за всех и все за одного: 8 принципов командной разработки
Хочешь сохранить работу в сфере программирования — пиши нечитаемый код, понятный только тебе одному. И чем он хуже, тем лучше. Не делись ни с...
Искусственный интеллект и машинное обучение
Это руководство послужит отличной шпаргалкой на собеседовании по искусственному интеллекту (ИИ) и машинному обучению (МО). Углубите свои знания в этой области, систематизируйте информацию о ключевых концепциях и сферах применения ИИ, типах и стандартных алгоритмах МО.
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
4 частые ошибки в рефакторинге
Некоторые программисты испытывают проблемы с рефакторингом. Одни процессы проходят у них довольно гладко, а другие не очень. Во втором случае есть ряд общих закономерностей. Рассказываем, как действовать, чтобы по максимуму использовать преимущества рефакторинга.
Итоги 8 лет с Kubernetes в продакшене: два крупных сбоя кластера, отказ от самостоятельного...
Проследим развитие Kubernetes по опыту запуска кластера одной из компаний. Как удалось оправиться от двух сбоев, какие уроки были усвоены? Выводы и рекомендации.
1984 в 2020: Социальная инженерия в Китае
Китай— крупнейшая по численности населения страна мира, в в которой проживает 1,4 миллиарда человек. Если бы правительство Китая не ввело агрессивную политику «одна семья — один...
Причины, по которым проект может потерпеть неудачу
Предвкушение успеха нередко оборачивается грандиозным провалом. Узнайте о том, как избегать неожиданных подвохов при разработке проектов и доводить их до победного конца.
Простейшее объяснение парадокса Монти Холла
Парадокс Монти Холла — это одна из тех математических задач, над решением которой уже долгое время бьются многие умы, и даже всемирно известных математиков она приводит...
Превращаем субъективные понятия в объективные метрики: простая методика
Хотите создать модель на основе источника истинных данных? Привлеките к решению этой задачи нескольких экспертов компании. Только согласовав различные точки зрения, можно выработать объективную метрику.
Лучшие JavaScript библиотеки за 2019 год для построения диаграмм
Вступление
По мере того, как увеличиваются объёмы и сбор данных, необходимость визуализации этих данных становится всё более актуальной. Разработчики ищут способы объединять миллионы записей баз...
Генерация видео из текста стала возможной
Теперь с помощью ИИ можно генерировать не только изображения, но и видео. Конкретно речь идет об инструменте CogVideo, предлагающем всем желающим возможность опробовать его онлайн.
Хватит использовать Pandas, пора переходить на Spark + Scala!
Переход с Pandas на Spark и Scala не настолько труден, насколько вы можете предположить, при этом в итоге ваш код будет выполняться быстрее, и,...
#01TheNotSoToughML | Что означает “подогнать линию”
Настало время восполнить пробелы в отношении алгоритмов и концепций машинного обучения. Разбираем интуитивные решения, которые стоят за построением прогностической модели в машинном обучении.
Упрощаем интеграцию Kafka со Spring Boot
Разберем ключевой функционал и настройку Kafka и узнаем, как он вписывается в Spring Boot. Научимся маршрутизировать и фильтровать сообщения, отправлять и получать их с помощью шаблонов и прослушивателей Kafka, а также преобразовывать форматы пользовательских данных.
5 советов для начинающих программистов
Когда я только начинал заниматься программированием, то часто пребывал в озадаченном состоянии. Порой возникали чувство потерянности и неуверенность в своих силах, что заставляло постоянно...
Освоение безопасной для типов JSON-сериализации в TypeScript
Предлагаем руководство по использованию TypeScript для безопасной для типов сериализации и десериализации данных в формате JSON. Освоение этой стратегии позволит своевременно обнаруживать потенциальные ошибки во время разработки приложения.
Локализация: почему простого перевода пользовательского интерфейса будет недостаточно
Узнаем, что такое индекс дистанции власти и его влияние на культуру и пользовательский опыт. Узнаем, как индекс дистанции власти влияет на общение пользователей в социальных сетях, их систему оценивания товаров и услуг.
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Реализация захвата изменения данных с Docker, PostgreSQL, MongoDB, Kafka и Debezium: подробное руководство
Опишем все службы, настроим и сконфигурируем каждый компонент, обозначив их роли и особенности. Конфигурации снабдим пояснениями, выделив преимущества и недостатки.
Философия как инструмент совершенствования программистов
Что объединяет философию и программирование? Похожий образ мышления! Разберемся, как философия может улучшить разработку ПО.
Разработка ПО — системы плагинов
Рассмотрим особенности систем плагинов, которые позволяют разработчикам расширять функциональность и модульность программ. В качестве примера создадим чат-бот.
SCDB: простая Open Source БД типа «ключ — значение»
Рассмотрим особенности нового решения для хранения данных. Приведем пример кода, обозначим перспективы.
Что делать, когда ваши сотрудники конфликтуют?
Как повысить эффективность командной работы и при этом минимизировать конфликтность сотрудников? Свод основных принципов.
5 настроек рабочего стола Linux для разработчиков
Linux: программируйте удобнее
Как только я начал работать из дома, я решил, что пришло время капитального ремонта рабочего стола. В офисе я обычно использую MacBook...
Повышение эффективности промпт-инжиниринга путем поиска по программам в символьной записи
Хотите быстро находить лучшие промпты в большом наборе их вариантов? У вас есть уникальная возможность делать это автоматически с помощью Python-библиотеки SAMMO, следуя пошаговому руководству от ее автора и достигая значительной производительности
Что определяет настоящего “Senior” разработчика?
В мире программирования один лишь факт того, что вы долго работаете разработчиком, не делает из вас отличного специалиста. По моему опыту, разработчики и инженеры...
Всё, что вы хотели знать об отладке в IntelliJ IDEA
Отладка — это один из самых важных этапов процесса разработки. И дело не только в том, что устранение ошибок занимает, вероятно, большую часть времени: она также...
Топ 10 альтернатив Github для размещения Open Source проектов
Github — мощная, безопасная и самая популярная онлайн платформа для размещения проектов с контролем версий, с использованием Git. Хоть Github больше известен как платформа для разработки...
Создаём конвейер автоматизированных сборок для проекта на Arduino. Часть 1/2
Важная часть профессионального программирования — это конвейеры автоматизации сборок. Вы, конечно, можете считать несерьезным свое увлечение проектами на Arduino. Но давайте представим, что вы создаёте библиотеку...
Разработчиком ПО может стать каждый - волшебных эликсиров не требуется
За время загрузки этой статьи на вашем устройстве были приняты тысячи вычислительных решений. В ходе них произошел процесс подключения к сайту, определение возможности обработки...
Какой язык программирования учить в 2022 году?
В последние годы на рынке программного обеспечения сформировались принципиально новые перспективные направления для профессионального развития разработчика.
1. Unity (C#)
“Более половины игр в мире создано на Unity”....
Всё, что должен знать разработчик ПО о качестве кода
Вы можете этого не осознавать, но плохой код вы узнаете с первого взгляда. Как правило, он малопонятный или содержит много ошибок, чрезмерно многословный или...
Arduino и Visual Studio Code
Займемся разработкой Arduino, вооружившись расширением PlatformIO в VS Code, и напишем первый проект с мигающим светодиодом.
Flutter и SonarQube для статического анализа кода
За 8 шагов настроим SonarQube с Flutter на Apple Silicon Mac, используя Docker. Погнали!
2 инструмента для автоматизации тестирования производительности на стороне клиента
Представляем 2 продвинутых инструмента веб-тестирования: Lighthouse от Google и Playwright от Microsoft. Освоив их, вы избавитесь от многих проблем, связанных с тестированием приложений, и этот процесс станет намного удобнее, быстрее и легче.
Правило 3-х часов: сколько времени в день отводить для работы
Средняя продолжительность человеческой жизни абсурдно коротка - всего 4000 недель. Как же распоряжаться нашим самым дефицитным, но самым ценным ресурсом? Правило трех часов - один из ключей к осмысленной и продуктивной жизни. Оно поможет вам установить новые отношения со временем и с самой жизнью.
Go — единственный выбор для бэкенд-разработчика?
Go впечатляет балансом свой простоты и мощи. Но можно ли его назвать "золотой клеткой" для бэкенд-разработчика? Способен ли он удовлетворить широкий спектр бэкенд-потребностей? Чтобы ответить на этот вопрос, оцените технические возможности языка Go.
Что должен знать хороший фронтенд-разработчик
В жизни разработчика бывают дни, когда все идет отлично, а бывают дни, когда появляются мысли о смене профессии. Особенно если учесть, что в программной...
Как веб-серверы обрабатывают запросы
Этот туториал - маст-хэв для инженера-программиста. В нем раскрываются такие понятия, как природа сетевого сокета, этапы пути сетевого запроса, выполнение трехстороннего TCP-квитирования, системные вызовы. Овладение подобными знаниями - лучшая подготовка к непредвиденным ситуациям.
Создание локального озера данных с нуля
Настроим все необходимые службы и компоненты, в том числе оркестратор конвейера данных и SQL-движок, инициируем сеанс Spark для Apache-форматов Iceberg и Delta и выполним простой ETL-процесс. Заложим основу для более сложных конвейеров.








































































































