Как отладка поможет вам стать лучшим разработчиком
Если бы мне предложили подвести итог своей карьере программиста с помощью двух суровых истин, я бы сказал так:
Все, что может пойти не так,...
21 способ быть хреновым разработчиком
Интернет буквально кишит статьями, повествующими о том, как вы можете улучшить ваши навыки разработки. Эти статьи гласят о “лучшей коммуникации”, “работе в команде”, “постоянном...
Текстовой эмбеддинг: классификация и семантический поиск
Ознакомьтесь с применением текстового эмбеддинга в классификации текстов и семантическом поиске (с примерами Python-кода). Текстовой эмбеддинг позволит использовать более простые и дешевые LLM-методы, сохраняя при этом большую часть смысла.
Как делать заметки как программист
Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.
Потом, когда я открыл...
Построение системы распределенного кэширования
Разберемся, каким бывает кэш, какие требования предъявляются к нему и каким образом создать наиболее оптимальный дизайн системы с распределенным кэшем.
Обнаружение и извлечение текста из изображения с помощью Python
Представляем удобные техники OCR и OpenCV для обнаружения и извлечения текста в цифровом изображении.
ТОП-10 признаков плохого кода: хардкод и спагетти-код в примерах на JavaScript
Повторения, непоследовательность, длинные условия, сложность алгоритма по времени и памяти - очевидные ошибки начинающих разработчиков.
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Секрет быстрого обучения
Многие молодые разработчики боятся выглядеть глупо. Они уверены, что это преуменьшает их способности в глазах других и отрицательно влияет на их карьеру.
Однако все наоборот....
Сегментация изображений с использованием сети обратного внимания
Авторы статьи "Семантическая сегментация с обратным вниманием" разработали модель, которая обучается не только распознавать на изображении класс фона, но и дифференцировать различные объекты.
Определите свой уровень технических навыков — экспериментальный проект от Яндекса
Яндекс запускает экспериментальный проект по диагностике технических навыков. Принять участие могут бэкенд- и мобильные разработчики, а также разработчики интерфейсов и аналитики.
В рамках диагностики вы...
Наше прохождение космического CTF от RUVDS и Positive Technologies
Недавно представитель нашей команды Nuances of Programming успешно прошел CTF от RUVDS и Positive Technologies. Это был захватывающий опыт, которым он хочет с вами поделиться.
Лучшие приёмы HR от Google
Советы и уроки из книги Ласло Бока “Работа рулит!”
Google хорошо известна тем, что берёт к себе на работу только лучших из лучших. Отбор в компанию...
Как стабильно извлекать метаданные из сложных документов
Извлечение ключевых данных из документов — типичная, но критически важная задача для бизнеса. В этой статье — готовое руководство по стабильному извлечению метаданных из любых, даже самых сложных документов. Мы разберем три подхода: от простых регулярных выражений до передовых моделей с поддержкой визуальных модальностей, — чтобы вы могли выбрать оптимальный инструмент для своих задач и избежать типичных подводных камней.
Сначала графдизайн создать, потом код написать
Рассмотрим важность создания графического дизайна приложения до написания кода и нарисуем диаграмму последовательности с помощью пакета pgf-umlsd.
5 модулей Python для исследования Вселенной
Обзор 5 модулей Python для изучения космоса: PyEphem, solarsystem, geemap, turboSETI и pysat. Готовьтесь получать разнообразные данные о планетах, составлять карты, искать следы инопланетной жизни и отслеживать спутники.
Приемы работы с оболочкой Zsh, которые я хотел бы знать раньше
Хотите повысить производительность работы в терминале? Предлагаем приемы, практические советы и рекомендации по повышению эффективности работы с командной строкой с помощью Zsh.
5 советов по быстрому написанию кода на любом языке программирования
Создать работающий код - это искусство. Но ценность программиста заключается не только в теоретической, но и в практической подкованности. Мы расскажем, как писать качественный код с минимальными временными затратами.
20 уникальных сценариев использования GPT-4o
ChatGPT может облегчить повседневную жизнь! Он способен стать личным шеф-поваром, шопинг-компаньоном, гидом, переводчиком, диетологом, стилистом, гейм-коучем, техническим аналитиком, креативным консультантом и просто интересным собеседником.
5 ловких приемов Xcode для рефакторинга кода
Ищите быстрый и эффективный способ рефакторинга кода? Представляем среду разработки Xcode и ее эффективные возможности.
ИИ поможет создавать Dockerfile
CLI-команда docker init позволит легко инициализировать конфигурационные файлы Dockerfile и docker-compose, необходимые для запуска проекта в контейнере. Использование docker init избавит от лишней ручной работы, сэкономит время и сведет к минимуму ошибки.
Как оставаться на гребне волны в океане современных веб-разработок
Мир современных технологий предъявляет высокие требования к разработчикам, которые должны быть в курсе всех новейших тенденций. Выход один - исследовать, учиться и использовать верные стратегии и инструменты.
Правило 3-х часов: сколько времени в день отводить для работы
Средняя продолжительность человеческой жизни абсурдно коротка - всего 4000 недель. Как же распоряжаться нашим самым дефицитным, но самым ценным ресурсом? Правило трех часов - один из ключей к осмысленной и продуктивной жизни. Оно поможет вам установить новые отношения со временем и с самой жизнью.
Топ 3 самых популярных языка программирования в 2018 году
Нет ничего удивительного в том, что в нынешнее время человеку становится все труднее и труднее, как говорится, «взять быка за рога» и просто освоить...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
5 признаков того, что вы тратите свой потенциал разработчика впустую
Устроившись на работу, вы легко можете застрять в ловушке простого обмена своего времени на зарплату. Вы едете на работу, заходите в офис, завариваете кофе,...
То, чего вам никто не расскажет о поиске работы, связанной с анализом данных
Я физик и работаю в стартапе YCombinator. Из-за специфики работы компании я получаю много писем с просьбами дать советы по построению карьеры в области...
Упрощаем интеграцию Kafka со Spring Boot
Разберем ключевой функционал и настройку Kafka и узнаем, как он вписывается в Spring Boot. Научимся маршрутизировать и фильтровать сообщения, отправлять и получать их с помощью шаблонов и прослушивателей Kafka, а также преобразовывать форматы пользовательских данных.
2 инструмента для автоматизации тестирования производительности на стороне клиента
Представляем 2 продвинутых инструмента веб-тестирования: Lighthouse от Google и Playwright от Microsoft. Освоив их, вы избавитесь от многих проблем, связанных с тестированием приложений, и этот процесс станет намного удобнее, быстрее и легче.
Как внести свой первый вклад в открытый исходный код
Давно собирались внести свой вклад в открытый исходный код, но не знаете, с чего начать? Предлагаем простое и понятное руководство по этому процессу.
Если вы застряли между этажами: как алгоритм лифта заставляет нас бесконечно ждать
Движение лифтов - занимательная прикладная задача, подобная проблеме распределения ресурсов компьютера. Как оптимизировать лифтовой алгоритм, чтобы избежать бесконечного ожидания и потерь времени? Ознакомьтесь с простым способом решения этой задачи.
Java против Kotlin. Android
Противостояние Java и Kotlin — тренд последних дней. Java — везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим...
7 недооцененных GitHub-проектов, которые могут быть полезны
Участие в этих недооцененных проектах может оказаться для вас бесценным. Это позволит приобрести навыки в таких востребованных областях, как e-коммерция, создание десктопных приложений, управление контентом, планирование, low code разработка и бэкенд как сервис.
Программирование на квантовых компьютерах: какой язык учить?
Прямо сейчас в компьютерном мире происходит что-то удивительное. Если судить по последним разработкам, становится ясно, что мы уже находимся на пороге новой эры квантовых...
13 Горячих клавиш, которые должен знать каждый пользователь Ubuntu 18.10
Рассмотрим некоторые полезные сочетания клавиш для Ubuntu 18.10 с графическим окружением GNOME. Мы не включили в эту статью универсальные сочетания клавиш, такие как Ctrl...
2 черты отличных программистов
Что отличает отличных программистов от хороших? Это вопрос, который занимает меня с тех самых пор, как я только начал учиться программировать.
Рассмотрим основные черты, которые...
Тестируя нетестируемое — битва с легаси-кодом
Знакомимся со стратегией приведения легаси-системы в разумный вид, из которого с ней можно будет работать привычными средствами. Разбираемся, что происходит, и действуем, не боясь все сломать.
Как я столкнулся с плохим разработчиком в команде и какие выводы из этого сделал
Мы видим их издалека, а менеджерам это удаётся не всегда.
Допустим, вы находитесь в команде разработчиков, и один из сотрудников плохо выполняет свою работу, а вы...
Спецификация API — основа успешной разработки
Докажем, почему спецификации API имеют важное значение для долгосрочного успеха приложений. Расскажем о преимуществах, а также перечислим негативные последствия их отсутствия.
Два метода безопасного программирования
Мы рассмотрим два очень простых и практичных безопасных метода, которые вы можете начать применять уже сегодня. Если вы профессиональный разработчик, вы наверняка уже их...
Теория игр
Узнаем, как объяснить конфликты, ситуации и возможности повседневной жизни с помощью математики.
Нативное будущее кроссплатформенной разработки
Коротко о кроссплатформенности
Сейчас кроссплатформенная разработка не пользуется большой популярностью. Основная причина состоит в том, что существующие инструменты не в полной мере справляются со своей...
Как пройти собеседование по проектированию систем?
У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
Архитектура программного обеспечения — это совсем не просто
В апрельском отчете InfoQ архитектура ПО определяется как “командный вид спорта”. Какова роль инженеров-программистов в этом виде спорта? К каким вызовам им готовиться? И какие преимущества может дать им модель C4 в новых условиях? Присоединяйтесь к интересному и очень своевременному разговору.
Основы языка освоены. Что дальше?
Универсальная система из семи шагов для тех, кто уже освоил азы первого языка программирования и не уверен в дальнейших действиях.
Как находиться в потоке, программируя в парах
Не так давно я поинтересовался у коллег по команде, может ли разработчик находиться в потоке, программируя в паре. Ответ по-настоящему меня удивил. Дело в...
#02TheNotSoToughML | Способы “подгонки линии”
Продолжаем цикл по заполнению пробелов в области алгоритмов и концепций машинного обучения. В этой статье мы узнаем, как настроить веса и смещение в модели линейной регрессии.
20 продвинутых проектов для освоения сложных концепций программирования
Теория не заменит практики. Попробуйте свои силы в выполнении интересных проектов.
3 инструмента, чтобы начать программировать на недорогом гаджете
В твиттере я общаюсь с людьми, которые только приступают к разработке приложений. Иногда они говорят, что, чтобы начать программировать, им нужен (дорогой) ноутбук. Но для...
А вы сможете ответить на этот знаменитый вопрос из собеседования?
Разберем задачу про 100-местный самолет со всеми случаями и вариантами. Объясним, как получить правильный ответ и почему он именно такой.
Индексирование в MySQL: руководство для начинающих
Это руководство поможет расширить представление о возможностях индексирования в MySQL. Вы узнаете, когда необходимо индексирование и как формируются, оптимизируются и удаляются индексы. Кроме того, научитесь создавать уникальные индексы с первичным ключом.
Проблема эйджизма в IT-сфере
Причины возникновения эйджизма в IT-сфере и способы его преодоления
Когда вы заканчиваете школу или университет и начинаете искать работу, вы можете начать волноваться, что отсутствие...
Разрабатываем приложения для распознавания речи с помощью Python
Хотите создать своего голосового помощника и превзойти Siri и Яндекс Алису, но не знаете, с чего начать? Рассказываем и показываем, как работает распознавание речи на примере двух простых приложений, и советуем, как применить эти знания на практике.
Как комментировать файлы JSON
JSON не поддерживает комментарии, что часто вызывает затруднения. Однако есть способы обойти это ограничение. В этой статье рассмотрены различные методы добавления комментариев в JSON.
SQL в науке о данных
Введение
SQL (язык структурированных запросов) - язык программирования, используемый для запроса и управления данными в реляционных базах данных. Реляционные базы данных состоят из наборов двумерных...
Как обнаружить дублирование кода в проекте
Обнаружение повторяющегося кода - необходимая часть качественного проектирования. Пренебрежение ею чревато снижением читабельности проекта и усложнением его обслуживания. Ознакомьтесь с несколькими способами обнаружения и удаления дублирующегося кода.
Как старшие фронтенд-инженеры используют ИИ в своей работе
ИИ не проектирует архитектуру и не отлавливает состояния гонки. ИИ — это ассистент для механической работы, который дает сеньорам-разработчикам главное: время. Эта статья — про прагматичное использование нейросетей в повседневной фронтенд-разработке.
Требования к Senior Developer: как стать старшим разработчиком и что нужно знать
Опыт — обязательное требование для каждой вакансии старшего разработчика, но его не достаточно, чтобы получить повышение. Так в чем же секрет? Вероятно, на такой...
Как вернуть былой энтузиазм к программированию
Недавно я наткнулся на тему в сообществе Reddit, где люди заявляли о своей утрате интереса к программированию. Прочитав эту тему, можно сделать вывод, что...
Дизайн для искусственного интеллекта
Чем дизайн для ИИ отличается от традиционного дизайна? Расскажем про преимущества и недостатки использования ИИ в UX-дизайне, а также рассмотрим перспективы развития данного вида дизайна.
Что нового в Ubuntu 18.04
Перед тем как вы начнете устанавливать новую версию Linux Ubuntu, приготовьтесь ко всем ее нововведениям и улучшениям, которых в этом выпуске появилось немало!
Ubuntu 18.04...
Как добавить множественные примеры запросов и ответов в FastAPI
Сделаем свою документацию по API лучше - рассмотрим простой способ по добавлению дополнительных вариантов запроса и ответа с помощью создания объекта-словаря.
Какую СУБД начать изучать в первую очередь?
Какую систему баз данных стоит изучить в первую очередь? И стоит ли вообще изучать какие-либо СУБД, ведь для этой работы есть специально обученные люди?
Да,...
Что такое сервер TURN?
С помощью TURN можно запускать приложения видео- и голосовой связи, обмена сообщениями и других интерактивных онлайн-коммуникаций. Узнайте о возможностях TURN, его провайдерах, а также о том, как создать и настроить собственный TURN-сервер.
4 шага для повышения концентрации
Одним из наиболее важных навыков, выделяющих успешных людей, является умение выполнять работу сфокусированно в течение продолжительного времени.
Если вы работаете в среде знаний (исследователь, разработчик...
Карьерные трудности UX/UI дизайнера
Нейросети, "дизайноголия", банальность, невнимательность к мелочам и другие проблемы дизайнеров интерфейсов и пользовательского опыта.
4 причины, почему агенты ИИ не заменят программистов
Сегодня только ленивый не пишет про "агентов искусственного интеллекта". Предлагаем разобраться, кто такие агенты ИИ, какие проблемы с ними возникают на практике и, наконец, кому выгодно поднимать вокруг них рекламную шумиху.
Учим ИИ отвечать на сообщения
Введение
Глубокое обучение применяется во многих задачах NLP вроде перевода, добавления титров к изображениям и систем поддержки диалога. В машинном переводе оно используется для преобразования...
Манипуляции с битами. Игра в истину
Прежде всего нужно понять «Истину», как она представлена в таблице истинности. На самом деле таких таблиц несколько, но для этого урока нам хватит двух...
Mermaid: универсальный инструмент для создания диаграмм
Пополним рабочий арсенал новым революционным инструментом для построения диаграмм, имя которому Mermaid. Рассмотрим принцип работы и его преимущества по сравнению с PlantUML.
В борьбу с коронавирусом вступил мощнейший в мире суперкомпьютер
В то время как Covid-19 продолжает заражать людей, учёные спешат найти лекарства, которые помогут пациентам выздоравливать, как можно быстрее. Невиданный доселе патоген вызывает симптомы,...
Поток управления декларативным циклом в Angular 17
Следующая версия популярного фреймворка Angular (v17) обещает предоставить разработчикам удобные функции. Одним из улучшений станет новый встроенный синтаксис шаблонов потока управления.
Как галлюцинируют нейросети
Как заставить нейросеть галлюцинировать? Какие развлекательные и практические задачи при помощи этого можно решить? Знакомимся с разработанным Google алгоритмом - DeepDream.
Создаем ИИ с помощью OpenAI
Создайте с помощью Node.js собственное приложение на базе ИИ, которое на основе предоставленных инструкций будет генерировать код, изображения и текст.
Управление памятью в Ruby on Rails
Изучим модель памяти с ее компонентами, принцип работы сборщика мусора. Как оптимизируется использование памяти в Ruby, выполняются мониторинг и профилирование?
6 шагов до карьеры блокчейн-разработчика
Шаг 1: оцените свои навыки
Вероятно, что у вас, как у разработчиков, после работы со множеством разных технологий появился свой “любимый” стек технологий, которые вам оказались...
Станьте экспертом в разработке с этими продвинутыми советами по кодированию. Часть 1
Самое худшее, что может произойти с разработчиком, — это застрять в своей нынешней квалификации. Когда вы знаете о пробелах в собственных знаниях, но не понимаете, чем...
Как написать хороший проектный документ
Будучи разработчиком ПО, я трачу много времени на чтение и написание проектных документов. Прочитав и написав сотни таких документов, я заметила сильную зависимость между...
6 месяцев без Windows: ужасная правда об играх на Linux
Последние 6 месяцев я старался работать исключительно в Linux и не намерен отказываться от задуманного. Такой опыт оказался прогрессивным, обучающим и, временами, даже забавным....
9 бесплатных курсов по программированию от Гарварда, MIT, IBM, Google и Microsoft
Получение диплома в университете или институте может стоить очень много. А особенно, если вы собираетесь сменить карьеру или, может быть, всего лишь хотите обновить...
Промпт-инжиниринг мертв: DSPy — новая парадигма промптинга
Автор предлагает не промптить, а программировать нейросетевые модели, рассматривая их как устройства, работающие через глубокие нейронные сети. В статье — код, построение, выполнение и оптимизация конвейера, а также практический пример, разработанный при помощи новой библиотеки DSPy.
Первые шаги в программировании: работа без ошибок
Овладение искусством написания кода может стать неоценимым вкладом в ваше будущее, так как этот профессиональный навык востребован в современном мире как никогда раньше. Именно...
Действительно ли иранский ученый был убит оружием с ИИ?
По миру быстро распространяется оружие с искусственным интеллектом
В конце ноября был убит ведущий иранский ученый-ядерщик Мохсен Фахризаде. Теракт произошел на шоссе в пригороде Тегерана.В...
Обработка сигналов в операционных системах семейства Unix на Golang
Сигналы в операционных системах семейства Unix — это программные прерывания, которые отправляются программе для указания на возникновение какого-то важного события. Это могут быть разные...
Google Analytics: почему следует покинуть эту платформу и как это сделать
Google Analytics, похоже, не сильно беспокоится о конфиденциальности данных, поэтому стоит задуматься о переходе на альтернативные платформы. Рассказываем, как это сделать.
Как создать бессерверную форму для бессерверного сайта
Научимся создавать бессерверный бэкенд для приема входящих данных формы и отправки электронного письма с этими данными.
Топ 10 альтернатив Github для размещения Open Source проектов
Github — мощная, безопасная и самая популярная онлайн платформа для размещения проектов с контролем версий, с использованием Git. Хоть Github больше известен как платформа для разработки...
Преимущества обучения на программиста-дизайнера
Стоит ли изучать программирование для того, чтобы стать дизайнером? Какие преимущества это дает? Что нужно знать, что успешно работать над проектами, связанными с веб-дизайном? Постараемся ответить на эти вопросы в сегодняшней статье.
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
10 полезных команд для командной строки и консоли
Консольные команды позволяют продвинутым пользователям работать еще быстрее и продуктивнее, так как редактура команд вручную отнимает много времени, а написание коротких, но эффективных инструкций для консоли доставляет не меньше удовольствия, чем само написание кода.
Создание и оценка базовых и продвинутых RAG-приложений с помощью LlamaIndex и Gemini Pro в...
В 1-й части этого руководства рассмотрим этапы создания базового RAG-приложения с помощью фреймворка данных LlamaIndex и модели Gemini Pro. Кроме того, протестируем это приложение с использованием системы TruLens на релевантность контекста, а также релевантность и обоснованность ответа.
Интеллектуальная синергия: динамические отношения между искусственным и человеческим интеллектом
ИИ дополняет потенциал человека, а люди следят за тем, чтобы ИИ служил интересам человечества. Рассмотрим подробно преимущества искусственного и человеческого интеллекта, а также способы формирования ими новой парадигмы, в которой будут гармонично сосуществовать инновации и эмпатия.
4 ключевых аспекта проектирования распределенных систем
Что конкретно подразумевают надежность, доступность, масштабируемость и обслуживаемость? В чем заключается важность этих характеристик распределенных систем?
Как повысить скорость итераций при программировании
Низкая скорость итераций — одна из главных проблем в разработке, приводящая к потере времени при ожидании развертывания и ручном тестировании. Узнайте, как стать более эффективным программистом с помощью локального тестирования.
7 секретов для поддержания мотивации при изучении программирования
В Codementor мы с гордостью можем похвастаться более 6000 наставников по программированию, которые помогают людям во всем мире научиться программировать. Одной из самых больших...
Как определить цели разработчику программного обеспечения
Почему важно устанавливать цели
За последние несколько лет постановка целей стала неотъемлемой частью жизни, поскольку отслеживание процесса развития помогает в достижении новых высот.
Каждому специалисту по...
5 правил кода
За последнее время я сформировал список актуальных рекомендаций относительно того, что должен и чего не должен делать современный разработчик. Давайте ознакомимся с пятью из...
10 тенденций в разработке программного обеспечения в 2019 году
Тенденции меняются каждый день во всех сферах деятельности: в моде, в образовании, в разработке программного обеспечения. В эпоху цифровизации сфера программирования меняется чрезвычайно быстрыми...
OTP-аутентификация c Devise
Сделаем простую реализацию OTP-аутентификации с Devise-функционалом Confirmable без сторонних библиотек или обширных конфигураций. Напишем функции для обработки форм валидации OTP и повторной его отправки.
Почему не всегда стоит следовать принципу DRY
Наряду с принципом "не повторяйся", в программировании есть другой принцип "повторяйся, если в этом есть смысл". Предлагаем задуматься над тем, когда и каким принципом стоит руководствоваться, чтобы не создать код "с душком".
Глубокое погружение в режим Copy-on-Write в pandas. Часть 3
Внедрение процесса Copy-on-Write (CoW) является серьезным изменением, которое способно оказать определенное влияние на код pandas. В этой части мы изучим способы адаптации кода, чтобы избежать ошибок при включенном по умолчанию CoW.
Маршрутизация 101 в Angular 9+
Чему мы научимся?
Показывать и скрывать компоненты, используя вместо свойств input/output маршруты.Поддерживать взаимосвязь этих компонентов, передавая по маршруту данные.Настраивать маршруты в модуле маршрутизации.Использовать routerLink для...
Эволюция кортежей в C#
Углубимся в изучение кортежей в C#. Посмотрим, как они совершенствовались от версии к версии и обрастали новыми эффективными возможностями.
WebAssembly с Go: вывод веб-приложений на новый уровень
Развернем интеграцию WebAssembly с Go в браузерах, настроим среду Go, преобразуем код Go в WebAssembly и выполним его в веб-контексте. В итоге получим интерактивную платформу с конкретными, мощными возможностями.
Базовая торговая стратегия, позволяющая переиграть рынок
Предлагаем руководство по созданию на Python и бэктесту простой, но эффективной торговой стратегии. Используя всего два базовых финансовых показателя, она обеспечит быстрый и стабильный рост дохода в течение длительного времени.







































































































