Простой способ решить алгоритм Apriori с нуля
Как в розничных сетях увеличивают продажи и при чем здесь ассоциативные связи? Пошагово реализуем алгоритм, построим модель Apriori и поможем директору супермаркета выполнить анализ рыночной корзины.
Что делать, когда ваши сотрудники конфликтуют?
Как повысить эффективность командной работы и при этом минимизировать конфликтность сотрудников? Свод основных принципов.
Программирование- это искусство и никак иначе!
Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
Mermaid: универсальный инструмент для создания диаграмм
Пополним рабочий арсенал новым революционным инструментом для построения диаграмм, имя которому Mermaid. Рассмотрим принцип работы и его преимущества по сравнению с PlantUML.
Как перевести iPhone в черно-белый режим и почему вам следует это сделать
Разноцветный интерфейс вашего смартфона побуждает ваш мозг чаще его использовать. Установите черно-белый режим экрана, чтобы тратить меньше времени на бесконечный серфинг в интернете и...
Моя среда разработки в Linux 2018
В этой статье я немного пройдусь по приложениям на моем ноутбука на базе Linux. На написание материала меня вдохновил этот пост, только в моем случае...
Как писать чистый код?
Роберт Мартин: «Единственная адекватная мера качества кода — это количество восклицаний «какого чёрта!» вминуту».
Позвольте объяснить. Делая код-ревью, я испытываю три эмоции:
Какого черта! — с отвращением. Этот...
10 бесплатных Mac-приложений, о которых вы точно не знали
На macOS немало полезных предустановленных программ, но также есть много сторонних бесплатных приложений, способных упростить работу. Узнайте о 10 наиболее интересных приложениях, которых сделают цифровую жизнь гораздо приятнее.
Искусство упрощения для программистов
Недавно я наткнулся на очень интересную книгу авторства Nagisa Tatsumi. Называется она “Искусство упрощения: как избавиться от беспорядка и найти радость” (“The Art of...
4 надежных веб-сайта на страже времени разработчика
Перечень полезных сайтов, которые помогут сэкономить время на начальных этапах создания проектов: Hidden tools, Can I use, Dev Hints и Bundle Phobia.
Лучшие приёмы HR от Google
Советы и уроки из книги Ласло Бока “Работа рулит!”
Google хорошо известна тем, что берёт к себе на работу только лучших из лучших. Отбор в компанию...
Два метода безопасного программирования
Мы рассмотрим два очень простых и практичных безопасных метода, которые вы можете начать применять уже сегодня. Если вы профессиональный разработчик, вы наверняка уже их...
Неужели комментировать код — это плохо?
Что такое комментарий?
Комментарий — это строка в исходном коде, которую могут прочесть разработчики, но которая игнорируется компиляторами и интерпретаторами.
Какой в нем смысл?
Как правило, «прочесть» код достаточно трудно....
Cтарая поговорка гласит: “Одна голова хорошо, а две — лучше”
Я часто слышу, как люди говорят о том, что их работа продвигается более эффективно и плодотворно когда они остаются одни. Также я знаю, что...
Топ-12 факторов, уничтожающих продуктивность программиста
Никто не ждет от программиста, что он сделает свою работу, не используя компьютер. Но при этом многие компании ожидают, что он сделает свою работу,...
Внедрение зависимостей, или Разработчики совсем обленились
Внедрение зависимостей — это круто. Реально круто. Но это ещё и ад.
Идея о том, чтобы IoC-контейнер разрешал все зависимости объектов явного конструктора, всячески поддерживается...
VIM — это не только скорость
Почему профессионалы обожают Vim, а новички его боятся? Что общего у этого текстового редактора и компьютерной игры Dark Souls? Чем, кроме скорости, он может быть полезен? Ответы на эти вопросы помогут вам приступить к освоению Vim/NeoVim и повысить свою продуктивность.
Основы написания мануалов при разработке
Хороший мануал продукта должен быть не просто полноценным по информации, но и понятным для пользователя. Учимся, как правильно выстраивать его разделы и содержание в целом.
9 вещей, которыми следует заняться Java программисту в 2018 году
Будучи Java разработчиком и автором Java-блога, я часто встречаю вопросы от java-программистов со всего мира, о том, как можно улучшить свои навыки.
В прошлом я написал...
Как разработчику стать архитектором ПО?
“Что скажешь?”. Когда мне первый раз задали этот вопрос на ревью спринта, у меня не нашлось ответа. Тогда я был начинающим разработчиком, и он...
Основные правила код-ревью
Code review или обзор кода - работа, требующая высокого уровня профессионализма. Ознакомьтесь с его лучшими практиками: вот что нужно и что нельзя делать разработчику при обзоре кода.
Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение
22 мая 2010 года один из первых майнеров по имени Ласло Ханец купил, возможно, самую дорогую в истории человечества пиццу: он заплатил 10 000...
Как не опустить руки во время обучения чему-то новому?
В моей жизни было время, когда я регулярно добивался больших успехов в развитии своих навыков. Мне это удавалось, благодаря тому, что я изо всех...
Вам не нужен стендап
Примечание: ниже представлены мои ЛИЧНЫЕ убеждения насчёт Agile и командной организации. У вас всё может быть иначе.
Недавно я стал техническим менеджером продукта в своей...
Как освоить новый язык программирования или фреймворк
Новые языки программирования появляются чуть ли не каждый день. Dart, Go, Kotlin, Elixir и многие другие! В таких условиях постоянно учиться непросто, но есть...
Как заработать с помощью бесплатного генератора артов на базе ИИ
Искусство, созданное силами искусственного интеллекта, не только отличается красочностью и креативностью, но и представляет собой потенциальный источник заработка. Поговорим о том, как генерировать арт-товары с помощью платформы Leonardo AI.
Разработчиком ПО может стать каждый - волшебных эликсиров не требуется
За время загрузки этой статьи на вашем устройстве были приняты тысячи вычислительных решений. В ходе них произошел процесс подключения к сайту, определение возможности обработки...
Как ускорить навигацию командной строки
Знание полезных команд может творить чудеса. Мне часто приходится возиться с командными строками, помогая другим с отладкой кода и навигацией серверов, поэтому я прекрасно...
Что может помешать разработчику самостоятельно создать успешное приложение
Четыре года назад я опубликовал своё первое приложение в Google Play Store. И по ходу разработки я наткнулся на множество препятствий, но также и...
Собеседование в Facebook. Ценный опыт и открытия
Начиная поиск работы, я никак не могла поверить, что имею реальный шанс на получение должности в Facebook.
Пять месяцев спустя я получила письмо с предложением.
Это...
Магическая формула для улучшения навыков программирования
Вы программист или только хотите им стать, однако на этом этапе жизнь не прекращается. Вы должны, и мы надеемся хотите, улучшать свои навыки постоянно.
Да,...
Создание LLM-приложений: четкое пошаговое руководство
Предлагаем пошаговое руководство по полной разработке LLM-приложений - от первоначальной идеи до экспериментов, оценки и создания продукта. Следуя ему, вы сможете максимально расширить границы возможного LLM-нативных технологий.
Почему я полюбила тестирование и теперь советую его вам
Среди разработчиков часто можно услышать о том, что тестирование тормозит разработку. Я считаю это утверждение ошибочным. Да, действительно, польза тестов зачастую оказывается незаметна в...
Контейнеризацию невозможно сдержать
Откуда берутся контейнеры и для чего в них зависимости? Преимущества контейнеров: почему контейнеры используют все больше и в чем они превосходят виртуальные машины? Какое будущее ждет нас с этими виртуальными контейнерами?
Как выводятся векторы на C++
Сравним способы вывода векторов: цикл for на основе диапазона, итератор, а также сочетание std::copy и std::ostream_iterator. Разберем их нюансы и типичные ошибки, проиллюстрируем примерами и поможем выбрать оптимальный способ.
Как обучать программированию подростков?
В последнее время многие родители спрашивали меня, как я учился программировать, в основном, чтобы узнать, как им обучать своих детей. И каждый раз я...
Введение в бинарный поиск
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.
Как начать учиться, когда на это совсем нет времени
Как вы проводите свое время?
Недостаток времени — основная причина, почему мы не учимся изо дня в день! На самом деле проблема заключается в другом! У каждого из...
Станьте экспертом в разработке с этими продвинутыми советами по кодированию. Часть 2
Предыдущие части: Часть 1
Добро пожаловать во вторую часть продвинутых советов по написанию кода. В данной статье мы продолжим изучение остальных code smells с реальными...
Как написать хороший проектный документ
Будучи разработчиком ПО, я трачу много времени на чтение и написание проектных документов. Прочитав и написав сотни таких документов, я заметила сильную зависимость между...
Генерация ответа, дополненная результатами поиска (RAG): от теории к реализации на LangChain
Ознакомьтесь с процессом выполнения простого RAG-пайплайна. Вы сможете изучить его пошагово — от теории, изложенной в оригинальной научной статье, до практической реализации на Python с помощью OpenAI, Weaviate и LangChain.
5 актуальных расширений Xcode для оптимизации разработки
Пополним арсенал разработчика полезными расширения для повышения продуктивности: SwiftPlantUML, SwiftFormat, Import, SwiftMockGeneratorForXcode, XVim2.
Почему разработчики не должны пользоваться MacBook Pro?
Около десяти лет назад в интернете появилась статья, утверждающая, что “у каждого разработчика должен быть MacBook Pro”, в которой перечислялся ряд причин, например:
Лучший...
Code Review - Полное руководство
После проведения сотни code rewiew, лично возглавив R&D (Research & Development) команду и спровоцировав несколько непреднамеренных ошибок, я решил поделиться своими выводами о том,...
Топ 3 самых популярных языка программирования в 2018 году
Нет ничего удивительного в том, что в нынешнее время человеку становится все труднее и труднее, как говорится, «взять быка за рога» и просто освоить...
Как программирование избавляет от стресса
В течение последнего года я вернулась к различным проектам по программированию. По большей части это были исправления и изменения, начиная от обновления небольших приложений...
3 основных закона разработки ПО
Чтобы стать инженером-программистом, требуются годы обучения. Однако основные принципы, на которых базируется подход к разработке программного обеспечения, можно свести к 3 фундаментальным законам.
Один за всех и все за одного: 8 принципов командной разработки
Хочешь сохранить работу в сфере программирования — пиши нечитаемый код, понятный только тебе одному. И чем он хуже, тем лучше. Не делись ни с...
Расширяем возможности собственного мозга на базе ИИ, Python и ChatGPT
Многие жалуются на провалы в памяти или с трудом пытаются вспомнить важную информацию, когда она необходима. Уследить за всем в нашем мире непросто, запоминание...
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Автоматизированные тесты - качественно и непременно эффективно!
Не воспринимайте автоматизированные тесты как наказание. Их цель не в том, чтобы пройти проверку кода или соответствовать критериям приемлемости и показателям инструментов покрытия кода....
Как оставаться на гребне волны в океане современных веб-разработок
Мир современных технологий предъявляет высокие требования к разработчикам, которые должны быть в курсе всех новейших тенденций. Выход один - исследовать, учиться и использовать верные стратегии и инструменты.
Топ-5 примеров комментирования кода
Ничто не может объяснить код лучше самого кода. Но в некоторых случаях без комментирования не обойтись. Узнайте, как правильно использовать комментарии и тем самым повысить читабельность кода.
5 признаков того, что вы отличный разработчик
Насколько вы продвинуты в программировании и как быстро сможете повысить свою квалификацию? Чтобы ответить на эти вопросы, узнайте 5 основных признаков хорошего разработчика.
Приключения аналитика в стране кода: пробуждение силы
Программы для электронных таблиц, такие как Microsoft Excel и Google Sheets, превосходны. Они вне конкуренции, когда дело касается выполнения простых вычислений или построения финансовых...
Разделение окон в Vim
Рассмотрим возможности редактора Vim в плане организации рабочего пространства: разделение окон, взаиморасположение вкладок и окон, сравнение с другими редакторами.
Как повысить мотивацию с помощью поведенческой психологии
Как достигать лучших результатов и развивать силу воли с помощью вознаграждения
С работой связано много сложностей: дел много, времени на них мало. Работе постоянно нужно...
Создание правильного чек-листа для инспекции кода
Инспекция кода — это неотъемлемая часть процесса разработки, придуманная для снижения технических недоработок и обеспечения постоянства кодовой базы. Все, кто пишет код, допускают ошибки. Поэтому крайне...
Учим ИИ отвечать на сообщения
Введение
Глубокое обучение применяется во многих задачах NLP вроде перевода, добавления титров к изображениям и систем поддержки диалога. В машинном переводе оно используется для преобразования...
Как увеличить ваши шансы на получение должности разработчика
На прошлой работе в качестве senior-developer я помогал проводить собеседования и нанял большую часть своей команды разработчиков. В этой статье я использую полученные знания...
Худший враг программиста — долгосрочная актуальность
Что по-вашему будет труднее?
· решить проблему в коде;
· решить более масштабную проблему в коде
Да, я тоже так считаю.
Программирование сводится к решению проблем. Если вы...
То, чего вам никто не расскажет о поиске работы, связанной с анализом данных
Я физик и работаю в стартапе YCombinator. Из-за специфики работы компании я получаю много писем с просьбами дать советы по построению карьеры в области...
Полезные уроки из книги “Мышление, быстрое и медленное”
Возможно, это самая полезная книга о человеческом уме и поведении. Она рассказывает о ловушках ума, заставляющих нас поступать опрометчиво. Это кладезь знаний, необходимых каждому из нас, особенно людям, принимающим решения.
5 советов о том, как улучшить комментарии в коде
Хороший программист должен уметь не только грамотно писать код, но и снабжать его уместными комментариями. Предлагаем вашему вниманию 5 лайфхаков по улучшению навыков комментирования кода.
5 вечерних практик, которые помогают избежать выгорания
Вы программист или специалист по работе с данными, которого преследует профессиональное выгорание? Прислушайтесь к этим 5 советам - возможно, они помогут вам прийти в норму.
Использование ИИ для скрейпинга почти всех сайтов в 2025 году
Узнайте о том, как искусственный интеллект позволяет проще и эффективней собирать данные с разных типов сайтов. Ознакомьтесь с инструментами, помогающими выполнять веб-скрейпинг с помощью LLM и агентов на основе ИИ. Эти инструменты сэкономят немало сил, времени и денег.
2 инструмента для автоматизации тестирования производительности на стороне клиента
Представляем 2 продвинутых инструмента веб-тестирования: Lighthouse от Google и Playwright от Microsoft. Освоив их, вы избавитесь от многих проблем, связанных с тестированием приложений, и этот процесс станет намного удобнее, быстрее и легче.
4 частые ошибки в рефакторинге
Некоторые программисты испытывают проблемы с рефакторингом. Одни процессы проходят у них довольно гладко, а другие не очень. Во втором случае есть ряд общих закономерностей. Рассказываем, как действовать, чтобы по максимуму использовать преимущества рефакторинга.
Сделайте свой первый вклад в открытый исходный код!
Наверняка вы хоть раз задумывались о том, как улучшить существующую версию той или иной программы. Мы расскажем вам о том, как это можно сделать на практике.
За что разработчики ненавидят парное программирование?
Обзор ответов на семь самых популярных замечаний о недостатках парного программирования, как со стороны junior-разработчика, так и со стороны senior-разработчика.
Парное программирование мешает углубленной работе
Достаточно...
10 рекомендаций по защите баз данных
Мы полагаемся на данные не только в принятии решений, но также и при ведении бизнеса в целом. Их потеря может привести к серьезным финансовым...
8 умных способов сохранять цифровую приватность
Неважно, как вы пользуетесь Интернетом: вполне вероятно, вашу Интернет-активность отслеживают. Недавно Натали Тридман рассказала, как люди неосознанно делятся своим местоположением. Нет, не нужно отказываться...
Что в голосе моем? - Код!
Недавно у меня состоялся интересный разговор со слабовидящей девушкой. Вернувшись домой, я поймал себя на мысли, а что было бы, имей я такого рода...
Почему ведущие инженеры ненавидят собеседования
Представьте, что вы директор небольшой средней школы, который хочет нанять нового учителя. Так как работает у вас их не очень много, то нужно убедиться...
Руководство по выбору оптимального карьерного пути в IT-сфере
Найти свое предназначение - это цель. Правильный выбор - это путь. Пройти этот путь, сделать его короче и легче, избежать досадных ошибок и не потерять драгоценное время поможет модель "Иерархия карьерных приоритетов".
Как перейти от монолитной системы к событийной
Разберемся с событийной архитектурой: где она нужна и где нет, как спланировать, спроектировать и реализовать миграцию, воспользоваться преимуществами и учесть в целевой архитектуре масштабируемость, сопровождаемость, надежность, разделение обязанностей и затраты.
У меня появилась идея для приложения, но…я не разработчик
У меня есть идея для веб-приложения
Мои поздравления — вас посетила муза! Теперь пришло время внимательно взглянуть на вашу идею и решить, следует ли ее доработать, перейти...
Чистый код работает медленно, но он все равно нужен
Что важнее - чистота, читаемость, расширяемость и надежность кода или производительность? Чтобы ответить на этот вопрос, нужны прагматизм и гибкость квалифицированного специалиста. Прислушайтесь к рекомендациям опытного разработчика iOS, Android и игр.
Что определяет настоящего “Senior” разработчика?
В мире программирования один лишь факт того, что вы долго работаете разработчиком, не делает из вас отличного специалиста. По моему опыту, разработчики и инженеры...
Зачем переходить с Gitbook на Readme
Легче сказать "запустить документацию", чем сделать это. Не так-то просто выбрать платформу для размещения документации, да и предоставляемые инструменты сильно различаются. Опыт компании Budibase поможет вам сделать обоснованный выбор.
Как создать простой агент с Guidance и локальной моделью LLM
Познакомимся с инструментом Guidance, который управляет выводом больших языковых моделей и обеспечивает корректное выполнение инструкций.
Правильная мотивация - залог успешных сторонних проектов
По моему опыту, в работе над сторонним проектом основная сложность заключается не в поиске новой идеи, а в ее окончательном воплощении в готовый продукт.
В...
5 ключевых правил успешного ревью кода
Учитывая важность ревью кода в процессе разработки, сформулируем 5 правил, способствующих повышению его эффективности.
Советы молодым разработчикам
Я несколько лет имел удовольствие координировать и развивать молодых разработчиков. Большинство новичков не испытывают нехватки навыков программирования, но им не хватает дальновидности. Это касается...
Почему разработчикам нужны “часы практики”
Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия.
Зачастую, у музыкантов есть “сакральные” часы практики. Эти...
Индексирование в MySQL: руководство для начинающих
Это руководство поможет расширить представление о возможностях индексирования в MySQL. Вы узнаете, когда необходимо индексирование и как формируются, оптимизируются и удаляются индексы. Кроме того, научитесь создавать уникальные индексы с первичным ключом.
Как улучшить написание условных выражений
В условиях, казалось бы, все предельно просто: освоив написание такого кода однажды, в дальнейшем всегда его придерживаешься. Но даже самое простое можно улучшить. Попробуем...
Как бороться с одиночеством в цифровом мире: 10 простых решений
Очень важно соблюдать баланс между работой и личной жизнью. Этот баланс важен и для фрилансеров, и для тех, кто работает в офисе с 9...
Как я создал расширение браузера и обучил ChatGPT обращаться к внешним сайтам за информацией...
Расскажем, как с помощью расширения Tampermonkey и прокси CORS Anywhere обучить ChatGPT получать доступ к внешним сайтам, анализировать извлекаемый с их страниц контент и искать в нем ответ на заданный вопрос.
Куча советов по программированию, которые я дал бы себе сам после 15 лет опыта
Маркус Баффетт — известный на HackerNews автор конструктора шахматного репертуара напоминает: «Изучайте Ваш инструмент, почти всегда оно того стоит». А ещё бойтесь писать код, который можно быстро поправить, если ошибки не критичны. В конце поста автор делится идеями ускорения отладки, которые уже работают на Chessbook и могут стать полезными для Вас.
Обучение «на всякий случай» против обучения «точно в срок»
Как программист должен поступить с новой информацией? Выучить «на всякий случай», мало ли пригодится в будущем? Или выучить «точно в срок» тогда, когда эти...
Битва трендов: React vs Angular vs Vue
Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...
7 малоизвестных команд и приемов Git
Контроль версий ПО - важная часть любого проекта, и решать эту задачу позволяет Git. Повысить эффективность работы с онлайн-репозитариями этого инструмента помогут эти стандартные, но довольно редко используемые команды Git.
Все, что нужно знать о цифровых людях
Фотошоп и немного изобретательности — вот два инструмента, с помощью которых создаются современные знаменитости. Нет, я не об известных Instagram-моделях с отредактированными фотографиями. Я говорю о...
Будущее графических дизайнеров в эпоху машинного обучения
Сможет ли искусственный интеллект заменить графического дизайнера? Этот вопрос волнует многих. Расскажем, как машинное обучение и искусственный интеллект действуют сегодня и поделимся прогнозами экспертов.
Список инструментов для обязательного использования
Будучи бедным студентом, я являюсь огромным фанатом различных бесплатных вещей, особенно программного обеспечения. Когда дело доходит до программного обеспечения, я, буквально, могу сделать что...
Мои заметки по программной инженерии
О процессе разработки
Код предназначен не только для его непосредственного выполнения, но он также является средством общения в команде и способом описать другим решение...
Спецификация API — основа успешной разработки
Докажем, почему спецификации API имеют важное значение для долгосрочного успеха приложений. Расскажем о преимуществах, а также перечислим негативные последствия их отсутствия.
Руководство по Docker. Часть 3: Amazon Web Services, Travis CI и Elastic Beanstalk
Руководство по Docker. Часть 1: образ, контейнер, сопоставление портов и основные команды.
Руководство по Docker. Часть 2: Docker Compose для JavaScript, Python и Redis
С помощью первых...
#03TheNotSoToughML | Регрессия: Ошибки → Спуск с вершины горы
По меткому высказыванию Педро Домингоса, машинное обучение - это результат слияния необъяснимой эффективности математики с такой же необъяснимой эффективностью данных. Некоторые склонны впадать в панику при беглом знакомстве с МО, полагая, что оно требует сложнейших математических вычислений. В специальной серии статей мы поставили перед собой задачу развеять этот миф.
10 API консольных утилит Chrome
1. monitor
Используется для мониторинга функции:
function traceFunc (arg) { }
monitor(traceFunc)
Функция traceFunc передается в качестве аргумента в monitor. Теперь при каждом вызове traceFunc на мониторе будет...
Освоение безопасной для типов JSON-сериализации в TypeScript
Предлагаем руководство по использованию TypeScript для безопасной для типов сериализации и десериализации данных в формате JSON. Освоение этой стратегии позволит своевременно обнаруживать потенциальные ошибки во время разработки приложения.
15 бизнес-идей агентов на основе ИИ в 2025 году
Агенты на базе ИИ открывают невероятные возможности перед предпринимателями. Они помогают достичь успехов в самых различных бизнес-сферах - будь то автоматизация поддержки клиентов, оптимизация продаж или разработка инновационных SaaS-решений. Не упустите и вы свой шанс извлечь выгоду с помощью ИИ в 2025 году!
10 Java-трендов, которые определяют бэкенд-разработку 2026 года
Бэкенд-разработка на Java в 2026 году — это уже не монолиты и многомесячные релизы. Это легковесные сервисы, мгновенный запуск и архитектуры, где ИИ принимает решения наравне с кодом. Разбираем 10 трендов, которые прямо сейчас меняют индустрию — от виртуальных потоков до нативной компиляции и встроенной безопасности.








































































































