Как научиться не только писать код, но и быть хорошим программистом

Как научиться не только писать код, но и быть хорошим программистом

Писать код - дело текущего дня. А вот умение быть отличным инженером ПО - навык, который будет актуален всегда. Порассуждаем над тем, почему так важно постоянно совершенствовать навыки, знания и опыт.
Почему трудно писать полезные библиотеки

Почему трудно писать полезные библиотеки

Легко представить, как выглядит полезный продукт, гораздо сложнее его произвести. Вот почему стоит поговорить о том, как создаются полезные библиотеки, которых, к сожалению, не так много, как хотелось бы. 
Обнаружение и извлечение текста из изображения с помощью Python

Обнаружение и извлечение текста из изображения с помощью Python

Представляем удобные техники OCR и OpenCV для обнаружения и извлечения текста в цифровом изображении.
Искусственный интеллект и пользовательский опыт: погружение в новую эру визуализации данных

Искусственный интеллект и пользовательский опыт: погружение в новую эру визуализации данных

Рассмотрим роль искусственного интеллекта в визуализации. Изучим способы обработки и анализа данных на основе ИИ. Узнаем, как это влияет на пользовательский опыт. Проанализируем конкретные примеры визуализации данных на основе ИИ. Рассмотрим нюансы визуализации с помощью ИИ.
UX

Почему все веб-сайты выглядят одинаково?

Интернету не хватает креативных решений, поэтому я попросил своих учеников разработать редизайн уже существующих веб-сайтов. Современный интернет однообразен. Все выглядит одинаково: одинаковые шрифты, похожие страницы,...
Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение

Из криптовалюты в криптоактив: как биткойн потерял свое изначальное предназначение

22 мая 2010 года один из первых майнеров по имени Ласло Ханец купил, возможно, самую дорогую в истории человечества пиццу: он заплатил 10 000...
Framework

Фреймворк или язык программирования?

Программисты сегодня… …толком и не знают где заканчивается язык программирования и начинается фреймворк. Что я под этим имею в виду? Примерно до 1988-ого года большинство программ, которые...
Что делает невозможную фигуру невозможной?

Что делает невозможную фигуру невозможной?

Невозможные фигуры образуются линиями, соединенными между собой самым противоречивым образом, с искажением перспективы. При зрительном восприятии таких изображений возникает эффект оптической иллюзии, запредельной реальности....
Terraform: реализация технологии “инфраструктура как код”

Terraform: реализация технологии “инфраструктура как код”

Предлагаем ознакомительный обзор Terraform  —  инструмента, которым должен овладеть каждый инженер-программист. Экспресс-демонстрации помогут вам быстро освоить основной функционал Terraform, чтобы успешно использовать инновационную технологию “инфраструктура как код”.
Interview

Худшие способы нанять хороших программистов

Хорошее собеседование  —  это просто неформальная беседа двух увлеченных программистов Чарльз Баркли поразительно точно отметил: Я не считаю себя тем, кто дает интервью. Я просто веду...
Топ-5 примеров комментирования кода

Топ-5 примеров комментирования кода

Ничто не может объяснить код лучше самого кода. Но в некоторых случаях без комментирования не обойтись. Узнайте, как правильно использовать комментарии и тем самым повысить читабельность кода.
Дизайн для искусственного интеллекта

Дизайн для искусственного интеллекта

Чем дизайн для ИИ отличается от традиционного дизайна? Расскажем про преимущества и недостатки использования ИИ в UX-дизайне, а также рассмотрим перспективы развития данного вида дизайна.
Что стоит знать дизайнеру перед первым хакатоном

Что стоит знать дизайнеру перед первым хакатоном

Опыт и уроки, извлеченные из участия и победы на хакатоне Одна из причин, по которой я так люблю дизайн, заключается в том, что его постоянное развитие...
JavaScript

Три нашумевших диаграммы. Исследование JavaScript в 2018

Вы думали статистика и графики — это скука? Подумайте ещё раз… Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
Топ-5 самых простых и востребованных языков программирования в 2025 году

Топ-5 самых простых и востребованных языков программирования в 2025 году

Какой язык программирования подойдет для старта в IT-сфере? Рассмотрите 5 самых востребованных и простых в изучении языков. Каждый из них имеет свои преимущества, которые обеспечат вам успешную карьеру в конкурентном мире разработки ПО.
Web Design

9 лучших примеров макетов сайта и идей для веб-дизайна в 2018

Есть всего одна возможность создать хорошее первое впечатление. Качественный дизайн сайта может в первую же секунду поразить посетителя. Именно поэтому дизайн главной страницы очень...
Практики быстрого программирования

Практики быстрого программирования

Быть быстрым - не значит быстро программировать. Следование лучшим практикам (включая метапрограммирование, автоматизирование ручных операций, создание личного набора инструментов и др.) поможет оперативнее решать задачи, экономя время для себя и команды. 
Software Development

Чему я научился за первые два года работы программистом

Университет и работа Шел 2015 год, когда я был студентом Флоридского университета. Тогда я учился у профессора, который по самому сложному предмету задавал в...
Как стабильно извлекать метаданные из сложных документов

Как стабильно извлекать метаданные из сложных документов

Извлечение ключевых данных из документов — типичная, но критически важная задача для бизнеса. В этой статье — готовое руководство по стабильному извлечению метаданных из любых, даже самых сложных документов. Мы разберем три подхода: от простых регулярных выражений до передовых моделей с поддержкой визуальных модальностей, — чтобы вы могли выбрать оптимальный инструмент для своих задач и избежать типичных подводных камней.
Обнаружение банковских троянов на устройствах Android

Обнаружение банковских троянов на устройствах Android

Представляем механизмы обнаружения вредоносных приложений, устанавливаемых на устройствах Android и злоупотребляющих функцией AccessibilityService. Основное внимание уделим мерам по защите легитимных приложений от такого ПО.
5 лучших бесплатных текстовых редакторов для Windows

5 лучших бесплатных текстовых редакторов для Windows

В представлении большинства людей современный писатель  —  это человек, печатающий на компьютере Apple MacBook. Они недалеки от истины, вот только не всегда учитывается один...
Как оставаться в тренде dev-индустрии

Как оставаться в тренде dev-индустрии

Вряд ли кто-либо станет отрицать актуальность этого вопроса для большинства разработчиков: “Как оставаться в курсе последних новостей в области разработки, ее трендов и технологий?” Этот...
Database

Какую СУБД начать изучать в первую очередь?

Какую систему баз данных стоит изучить в первую очередь? И стоит ли вообще изучать какие-либо СУБД, ведь для этой работы есть специально обученные люди? Да,...
7 недооцененных GitHub-проектов, которые могут быть полезны

7 недооцененных GitHub-проектов, которые могут быть полезны

Участие в этих недооцененных проектах может оказаться для вас бесценным. Это позволит приобрести навыки в таких востребованных областях, как e-коммерция, создание десктопных приложений, управление контентом, планирование, low code разработка и бэкенд как сервис.
Learning

Как начать учиться, когда на это совсем нет времени

Как вы проводите свое время? Недостаток времени — основная причина, почему мы не учимся изо дня в день! На самом деле проблема заключается в другом! У каждого из...
Шесть принципов, которые помогут лучше писать модули для iOS-приложений

Шесть принципов, которые помогут лучше писать модули для iOS-приложений

Зачастую приходится разрабатывать не целые приложения с нуля, а дополнения, надстройки, библиотеки. Предлагаем несколько советов, благодаря которым результат такой работы окажется полезнее для конечных пользователей.
Self Improvement

Как отладка поможет вам стать лучшим разработчиком

Если бы мне предложили подвести итог своей карьере программиста с помощью двух суровых истин, я бы сказал так: Все, что может пойти не так,...
Education

Топ-5: непреднамеренная ложь программистов

Я знаю, я лгал! Признаюсь. Я был разработчиком и остаюсь им. Разработка  —  больше, чем просто работа. Это  —  состояние души. Невозможно просто перестать писать код....
Linux

4 лучших современных текстовых редактора с открытым исходным кодом для программирования в Linux

Если вы спросите опытных пользователей Linux, то скорее всего они скажут вам про Vim, Emacs, Nano и т.д. Эти легендарные редакторы великолепны вне всякого...
6 способов оптимизировать рабочий процесс в Pandas

6 способов оптимизировать рабочий процесс в Pandas

Несмотря на популярность, у Pandas есть немало скрытых возможностей. Предлагаем ознакомиться с 6 из них - они помогут повысить эффективность анализа данных.
Linux Windows

Как установить Linux Mint рядом с Windows 10 [инструкция для чайников]

Итак, вы решили перейти на Linux. Хорошее решение! А еще лучше, если вы выбрали Linux Mint! Linux Mint — один из лучших дистрибутивов для новичков. В установке...
Digital

Все, что нужно знать о цифровых людях

Фотошоп и немного изобретательности — вот два инструмента, с помощью которых создаются современные знаменитости. Нет, я не об известных Instagram-моделях с отредактированными фотографиями. Я говорю о...
9 привычек неумелого разработчика

9 привычек неумелого разработчика

Чтобы стать толковым программистом, сначала нужно понять, чего делать не надо Будьте скромнее Выстраивание и проектирование хорошего кода  —  это не мифический недостижимый идеал, а лишь то,...
4 ключевых аспекта проектирования распределенных систем

4 ключевых аспекта проектирования распределенных систем

Что конкретно подразумевают надежность, доступность, масштабируемость и обслуживаемость? В чем заключается важность этих характеристик распределенных систем?
Рынок бэкенд-разработки в 2026 году: что на самом деле нужно менеджерам по найму

Рынок бэкенд-разработки в 2026 году: что на самом деле нужно менеджерам по найму

Блестяще решаете алгоритмические задачи, но все равно проваливаете собеседования? В 2026 году рынок бэкенд-разработки сменил приоритеты. Менеджерам по найму нужны не виртуозы синтаксиса, а инженеры, которые думают о системах, рисках и бизнес-результатах. 
Менеджеры пакетов NPM, PNPM и YARN

Менеджеры пакетов NPM, PNPM и YARN

Не знаете, какой из менеджеров пакетов  —  NPM, YARN или PNPM  —  больше подойдет для вашего JS-проекта? Прежде чем принять решение, рассмотрите сильные и слабые стороны каждого варианта.
Математика, скрывающаяся за “проклятием размерности”

Математика, скрывающаяся за “проклятием размерности”

Хотите разгадать удивительные явления, возникающие в высокоразмерном пространстве? Углубитесь в понятие “проклятие размерности”, тесно связанное с переобучением, и раскройте для себя математику, которая стоит за всем этим и влияет на эффективность моделей машинного обучения.
Education

Какие ошибки можно допустить в описании пользовательских сценариев и как их исправить

Сейчас нет недостатка в информации о том, как создавать пользовательские сценарии и почему они важны. Но, тем не менее, мы продолжаем совершать ошибки, которые...
Технология составления промптов для модели ИИ на примере одного чат-бота

Технология составления промптов для модели ИИ на примере одного чат-бота 

Научимся составлять инструкции для моделей ИИ на примере конкретного чат-бота. Рассмотрим такие этапы процесса, как определение концепции мышления модели, установка контекста и формата вывода ответа, построение вопроса и проверка вывода.
Education

Как пройти собеседование по проектированию систем?

У большинства компаний в сфере информационных технологий отдельный тур собеседования посвящён проектированию систем. Кандидатов просят спроектировать масштабируемую систему типа Facebook NewsFeed, Instagram stories, WhatsApp-чата,...
Kotlin

Java против Kotlin. Android

Противостояние Java и Kotlin  —  тренд последних дней. Java  —  везде, однако Kotlin наступает, предлагая значительные преимущества. Итак, Java и Kotlin конкурируют. Мы обсудим...
Web Development

Список навыков для начинающих фронтенд-разработчиков

В наше время веб-сайты есть у всех и вся, а возможностей стать фронтенд-разработчиком великое множество. Но поскольку все вокруг меняется с огромной скоростью, становится...
Как стать ценным программистом

Как стать ценным программистом

Профессиональные знания - половина успеха в любой сфере деятельности. Знание людей и особенностей их восприятия - то, чем вам нужно овладеть в первую очередь, если хотите зарабатывать хорошие деньги. Усвойте правила, которым следуют ценные специалисты.
Education

64 совета на основе 50 лет опыта в разработке ПО

Первый урок по программированию (конечно же, FORTRAN) я посетил, когда учился в колледже в 1970. За последние же полвека я провёл уйму времени, работая...
Что делать, когда ваши сотрудники конфликтуют?

Что делать, когда ваши сотрудники конфликтуют?

Как повысить эффективность командной работы и при этом минимизировать конфликтность сотрудников? Свод основных принципов.
Отчего «паникует» даже камнеукладчик: инцидент с удалением строк

Отчего «паникует» даже камнеукладчик: инцидент с удалением строк

Разберемся с причинами необычного сбоя, который случился из-за бага сериализации. Попрактикуемся в изменении значений конкретных ключей с помощью операций над diff и сортировки.
5 секретов создания востребованной технической статьи

5 секретов создания востребованной технической статьи

Программисты часто делятся знаниями на страницах популярных сайтов и журналов. Рассмотрим несколько советов, которые помогут написать полезную и интересную для читателей статью.
Лучшие приёмы HR от Google

Лучшие приёмы HR от Google

Советы и уроки из книги Ласло Бока “Работа рулит!” Google хорошо известна тем, что берёт к себе на работу только лучших из лучших. Отбор в компанию...
Учет соседей: повышение эффективности эмбеддингов документов с помощью контекстного кодирования

Учет соседей: повышение эффективности эмбеддингов документов с помощью контекстного кодирования

Ознакомьтесь с новым подходом к поиску необходимых документов. Для повышения точности поиска он предполагает учет соседних документов с помощью контекстно-зависимых эмбеддингов.
Внедрение зависимостей, или Разработчики совсем обленились

Внедрение зависимостей, или Разработчики совсем обленились

Внедрение зависимостей  —  это круто. Реально круто. Но это ещё и ад. Идея о том, чтобы IoC-контейнер разрешал все зависимости объектов явного конструктора, всячески поддерживается...
IBM

В борьбу с коронавирусом вступил мощнейший в мире суперкомпьютер

В то время как Covid-19 продолжает заражать людей, учёные спешат найти лекарства, которые помогут пациентам выздоравливать, как можно быстрее. Невиданный доселе патоген вызывает симптомы,...
Ментальная модель файла Linux, жесткие и мягкие ссылки

Ментальная модель файла Linux, жесткие и мягкие ссылки

Автор делится иллюстрированной шпаргалкой, которая помогает понять, как в общих чертах работают жесткие и мягкие ссылки на файлы в Linux. В конце автор делает вывод о том, что мягкие и жесткие ссылки названы не совсем точно. Возможно, именно в этом кроется путаница при работе с ними. Подробности читайте ниже.
Linux

Моя среда разработки в Linux 2018

В этой статье я немного пройдусь по приложениям на моем ноутбука на базе Linux. На написание материала меня вдохновил этот пост, только в моем случае...
Education

10 программистов-самоучек, ставших преуспевающими разработчиками

Если вы читаете эту статью, потому что находитесь в начале пути самообучения программированию или уже достигли его середины и начинаете сомневаться, то воспользуйтесь приведёнными...
JavaScript

Лучшие JavaScript библиотеки за 2019 год для построения диаграмм

Вступление По мере того, как увеличиваются объёмы и сбор данных, необходимость визуализации этих данных становится всё более актуальной. Разработчики ищут способы объединять миллионы записей баз...
SCDB: простая Open Source БД типа «ключ - значение»

SCDB: простая Open Source БД типа «ключ — значение»

Рассмотрим особенности нового решения для хранения данных. Приведем пример кода, обозначим перспективы.
Что если LLM лучше, чем мы думаем? 

Что если LLM лучше, чем мы думаем? 

Последние достижения в области LLM открывают новые возможности для оптимизации процесса аннотирования, особенно для обнаружения ошибок в метках в существующих наборах данных. Ознакомьтесь с новым подходом, использующим ансамбль LLM для выявления потенциально ошибочно помеченных примеров.
Философия как инструмент совершенствования программистов

Философия как инструмент совершенствования программистов

Что объединяет философию и программирование? Похожий образ мышления! Разберемся, как философия может улучшить разработку ПО.
Motivation

7 секретов для поддержания мотивации при изучении программирования

В Codementor мы с гордостью можем похвастаться более 6000 наставников по программированию, которые помогают людям во всем мире научиться программировать. Одной из самых больших...
Искусственный интеллект и машинное обучение

Искусственный интеллект и машинное обучение

Это руководство послужит отличной шпаргалкой на собеседовании по искусственному интеллекту (ИИ) и машинному обучению (МО). Углубите свои знания в этой области, систематизируйте информацию о ключевых концепциях и сферах применения ИИ, типах и стандартных алгоритмах МО.
Асинхронная опасность: mmap неявно блокирует ввод-вывод

Асинхронная опасность: mmap неявно блокирует ввод-вывод

Отображение файла в память для чтения — звучит красиво: превратить неудобные вызовы чтения и ручную буферизацию в простое индексирование памяти… но под капотом оно блокирует ввод-вывод, превращает массивы байтов &[u8] в асинхронную опасность и делает "конкурентный" асинхронный код фактически синхронным!
Причины, по которым проект может потерпеть неудачу

Причины, по которым проект может потерпеть неудачу

Предвкушение успеха нередко оборачивается грандиозным провалом. Узнайте о том, как избегать неожиданных подвохов при разработке проектов и доводить их до победного конца.
Руководство по выбору оптимального карьерного пути в IT-сфере

Руководство по выбору оптимального карьерного пути в IT-сфере

Найти свое предназначение - это цель. Правильный выбор - это путь. Пройти этот путь, сделать его короче и легче, избежать досадных ошибок и не потерять драгоценное время поможет модель "Иерархия карьерных приоритетов".
Education

21 серьёзная ошибка за 21 год работы программистом

7 апреля 2020 года — знаменательная дата для меня, ведь ровно 21 год назад в этот день началась моя карьера программиста. Уф! Всё было будто вчера, а...
Clean Code

Подсказки по именованию логических переменных

Существует определенное соглашение  —  снабжать имена логических переменных и функций префиксами “is” или “has”. Ну, знаете, что-то вроде isLoggedIn, hasAccess или наподобие этого. Но на...
17 успешных примеров дизайна логотипов для различных бизнес-целей

17 успешных примеров дизайна логотипов для различных бизнес-целей

Процесс создания дизайна для логотипа крайне важен. Давайте рассмотрим несколько примеров хорошо разработанных логотипов для различных сфер деятельности.
От 0 до 300 SQL-запросов в месяц: 3 практических совета

От 0 до 300 SQL-запросов в месяц: 3 практических совета

SQL - это связующее звено между пользователем и системой управления БД. Предлагаем несколько лайфхаков от практикующего аналитика данных, которые позволяют упрощать SQL-запросы и эффективно загружать данные в дашборд.
Education

4 шага для повышения концентрации

Одним из наиболее важных навыков, выделяющих успешных людей, является умение выполнять работу сфокусированно в течение продолжительного времени. Если вы работаете в среде знаний (исследователь, разработчик...
Как стать разработчиком проектов с открытым исходным кодом

Как стать разработчиком проектов с открытым исходным кодом

Разработчики пишут код большую часть времени, внося таким образом вклад в проекты, которые входят жизненный цикл разработки ПО. Как правило, чтобы стать известным разработчиком,...
Education

10 признаков того, что программирование не для вас

Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди...
VSCode

Школа ленивого разработчика: ускоренный курс по созданию фрагментов кода в VS Code

Каждый разработчик сталкивался с утомительной необходимостью вводить один и тот же повторяющийся код бесконечное количество раз, начиная с цикла for и заканчивая логированием данных...
Полное руководство по установке Magento 2 с включенным SSL на Ubuntu ≥ 18.04

Полное руководство по установке Magento 2 с включенным SSL на Ubuntu ≥ 18.04

Пошагово пройдем весь процесс с самым важным аспектом - настройкой веб-сервера. Как избежать типичных ошибок?
Как обеспечить обмен данными между микросервисами

Как обеспечить обмен данными между микросервисами

Разберемся в особенностях организации обмена данными между микросервисами, а также рассмотрим способы решения возникающих проблем с помощью RabbitMQ.
Mermaid: универсальный инструмент для создания диаграмм

Mermaid: универсальный инструмент для создания диаграмм

Пополним рабочий арсенал новым революционным инструментом для построения диаграмм, имя которому Mermaid. Рассмотрим принцип работы и его преимущества по сравнению с PlantUML.
Java Script

Слабо решить эти задачи по программированию?

Программирование всегда связано с решением различных задач. Я подготовил список из шести различных заданий и отсортировал их по сложности решения. Первая — самая простая, шестая — самая сложная....
7 способов ускорить ревью кода

7 способов ускорить ревью кода

Зачем мучиться, когда можно работать с удовольствием! Поделимся 7 продуктивными рекомендациями о том, как ускорить и оптимизировать ревью кода.
10 способов повысить эффективность RAG-системы

10 способов повысить эффективность RAG-системы

Хотите создать эффективную RAG-систему для генерации ответов, дополненной результатами поиска? Предлагаем 10 стратегий повышения качества RAG, которые обеспечат успешный переход от прототипа к производству.
JavaScript

Введение в Subject в реактивном программировании

Subject — это «особый» тип наблюдаемого объекта, который позволяет транслировать значения сразу нескольким подписчикам. Самое классное здесь то, что Subject предоставляет ответы в режиме реального времени. Например,...
Когда программисты выходят на пенсию? 35 - новые 55?

Когда программисты выходят на пенсию? 35 — новые 55?

Обсудим правду, слухи и закат карьеры программистов Не задумывались, почему в офисе нечасто можно увидеть седых разработчиков? Куда все деваются, когда становятся старше? Неужто компании...
IT job

Как получить работу в крутой компании

Пару лет назад я разговаривал со своей подругой, Бернадетт Лангман, которая на данный момент занимает должность старшего технического рекрутера в американской технологической компании Qualtrics....
Как перенести сайт с WordPress на GitHub Pages

Как перенести сайт с WordPress на GitHub Pages

Хотите перевести свой WordPress-блог в архив на GitHub Pages или продолжать использовать WordPress для ведения блога, а GitHub - для хостинга страниц? В обоих случаях поможет это руководство.
Репозитории GitHub, которые помогут подготовиться к техническому собеседованию

Репозитории GitHub, которые помогут подготовиться к техническому собеседованию

Предлагаем вашему вниманию коллекцию учебных ресурсов, которые помогут легко пройти собеседование по программированию.
Базовый классификатор: наглядное руководство с примерами кода для начинающих

Базовый классификатор: наглядное руководство с примерами кода для начинающих

Отправной точкой в машинном обучении является установление стандартов с помощью базовых моделей. Ознакомьтесь со основным механизмом, стратегиями и ключевыми параметрами этого процесса, чтобы оценить эффективность простейшего инструмента МО - базового классификатора.
GitHub Actions и Vercel - быстрое развертывание проектов

GitHub Actions и Vercel — быстрое развертывание проектов

На практическом примере научимся настраивать GitHub Actions для развертывания проекта на Vercel.
Education

Почему сниппеты кода со StackOverflow могут повредить ваш проект

StackOverflow стал спасением для многих программистов, включая меня. Некоторые из нас никогда не посещали домашнюю страницу StackOverflow. Единственный способ, по которому мы попадали на...
Введение в конвейерную обработку данных с использованием бессерверной архитектуры

Введение в конвейерную обработку данных с использованием бессерверной архитектуры

Сегодня мы расскажем вам о построении сквозных конвейеров данных с использованием бессерверных технологий. Мы сосредоточимся на Amazon Web Services (AWS) для построения конвейера, однако подобную архитектуру можно легко воспроизвести на любой другой облачной платформе, включая Google Cloud Platform (GCP), Microsoft Azure и т. д.
Linux

10 лучших легких дистрибутивов Linux для старых компьютеров

10. Peppermint   Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной...
Атака Activity hopping: угроза безопасности

Атака Activity hopping: угроза безопасности

А вы знаете, когда и как нужно устанавливать атрибут exported="true", чтобы не подвергать приложение рискам несанкционированного доступа и утечки данных? В любом случае рекомендуем узнать о мерах предосторожности при использовании exported="true".
Антишаблоны программирования

Антишаблоны программирования

Познакомьтесь с ошибками, которые часто сопровождают процесс разработки ПО. Даже встретив среди них грабли, на которые вы уже наступали, не поленитесь повторить пройденное, чтобы в следующий раз не облажаться!
Чистота и порядок: 3 правила для идеальной базы кода

Чистота и порядок: 3 правила для идеальной базы кода

В любом деле важен порядок, особенно если речь идет о чистоте кодовой базы. Рассмотрим 3 правила, выполнение которых помогает своевременно обнаружить грязный код и помешать его проникновению в базу.
Containers

Как настроить Docker и Windows Subsystem for Linux (WSL): история о любви?

Вы когда-нибудь чувствовали себя прекрасной принцессой, которую злой волшебник превратил в лягушку? Как будто происходит что-то не то? У меня такое бывает. Я пользуюсь...
Clean code

Руководство по написанию чистого и читабельного кода для начинающих разработчиков. Часть 1

Часть 1, Часть 2 Написание чистого и читабельного кода — непростая задача, но данное краткое руководство поможет вам овладеть этим искусством.  Представьте, что читаете статью, во вступительном абзаце...
Education

Программирование- это искусство и никак иначе!

Программирование, на первый взгляд, носит маску науки и служит тому, чтобы приложения, с которыми мы работаем ежедневно, функционировали как следует. Но в действительности оно — нечто...
Основные правила код-ревью

Основные правила код-ревью

Code review или обзор кода - работа, требующая высокого уровня профессионализма. Ознакомьтесь с его лучшими практиками: вот что нужно и что нельзя делать разработчику при обзоре кода.
WebSocket

Как украсть секреты разработчиков через Websocket?

Это история о запутанном и не очень полезном методе извлечения кода, создаваемого ничего не подозревающими JavaScript разработчиками, занятыми над секретными проектами.  Недавно в сети появилась...
ULTRA: базовые модели для формирования рассуждений на графах знаний

ULTRA: базовые модели для формирования рассуждений на графах знаний

Рассмотрим основные принципы машинного обучения на графах знаний и основные проблемы базовых моделей. Подробно изучим мультиреляционные графы. Узнаем особенности и возможности уникальной модели ULTRA.
Education

Программное обеспечение без конструкции if-else

Не откладывая в долгий ящик скажу: зачастую конструкция if-else —  плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг. Тем не...
Основы аутентификации для начинающих

Основы аутентификации для начинающих

Без аутентификации не обойтись, пожалуй, почти ни в одном реальном проекте, рассчитанном на людей. Рассмотрим два основных подхода к аутентификации пользователей: как они работают, в чем их преимущества и недостатки.
Извините, но мы не можем воскресить вас

Извините, но мы не можем воскресить вас

Мы не можем загрузить ваш мозг в компьютер, потому что вы ни в малейшей степени не определяетесь связями между вашими нейронами.
Живи и программируй: обретение баланса

Живи и программируй: обретение баланса

Поделимся ценными советами, как продуктивно работать и при этом меньше уставать. Эффективность рекомендаций проверена на личном опыте автора.
Защита бэкенда на Go: шифрование, предотвращение уязвимостей и не только

Защита бэкенда на Go: шифрование, предотвращение уязвимостей и не только

Обсудим, как обезопасить бэкенд от SQL-инъекции, межсайтовых скриптинга и подделки запросов, настроить безопасные заголовки и логирование. Дадим рекомендации, проиллюстрируем фрагментами кода.
Планы на отпуск с Python и HERE Maps

Планы на отпуск с Python и HERE Maps

Лето в самом разгаре, и вы наверняка уже готовы отправиться в путешествие. Эта статья как раз поможет его распланировать.  Интернет пестрит туристическими путеводителями, рассказывающими о...
11 новых возможностей JavaScript в ES13

11 новых возможностей JavaScript в ES13

Представляем новейшие возможности JavaScript в ES13. Используйте их, чтобы повысить свою производительность и писать более чистый код с высокой степенью лаконичности и ясности.
JavaScript превращается в TypeScript?

JavaScript превращается в TypeScript?

В интернете резко возросло количество пользователей, проводящих онлайн более 6 часов в день. Такой скачок привел к увеличению спроса на вакансии в сфере веб-разработки,...
Обзор команд Git для отмены изменений

Обзор команд Git для отмены изменений

Откроем двери в мир Git и рассмотрим полезные команды для отмены самых разных изменений.