Тренды

Все что касается разработки: образовательные статьи, тренды, технологии, языки, фреймворки и многое другое!

Java-библиотеки, которые повысят вашу производительность

Java-библиотеки, которые повысят вашу производительность

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

7 наиболее полезных расширений VS Code, представленных в 2021 году

Представляем самые крутые расширения VS Code, выпущенные в 2021 году. Они помогут разработчикам расширить рабочий процесс и повысить продуктивность.
Как определить содержимое ZIP-файла без скачивания

Как определить содержимое ZIP-файла без скачивания

Расскажем, как определить содержимое ZIP-файла и при этом обойтись без его скачивания! Для этого нам понадобятся всего 52 строки кода и немного полезных знаний!
Управление памятью в Python: 3 частых вопроса на собеседовании

Управление памятью в Python: 3 частых вопроса на собеседовании

Занять вакантную должность разработчика Python - заветная мечта многих программистов. Наш краткий гайд поможет вам не ударить в грязь лицом на собеседовании.
Циклы Java в сторону - даешь потоки!

Циклы Java в сторону - даешь потоки!

Как вам идея использовать в Java вместо циклов - потоки? К этому есть все основания, о которых и пойдет речь. Рассмотрим способы создания потоков и операции с терминальными/промежуточными операторами.
Как PyPy ускоряет Python до уровня C?

Как PyPy ускоряет Python до уровня C?

Обзор PyPy, быстрого интерпретатора Python: улучшение производительности программы без изменения кода!
Генерация API-документации из docstrings на Python

Генерация API-документации из docstrings на Python

pdoc3 - профессиональная документация с LaTeX и markdown, автоматическая генерация HTML и CSS из docstrings
Структурированное логирование JSON в приложениях на Golang

Структурированное логирование JSON в приложениях на Golang

Структурированные логи важны для отладки программного обеспечения. К счастью, это очень легко реализовать на Golang. Узнаем, как сэкономить время при отслеживании багов и как использовать уровни ведения журнала для контроля за логами, а также научимся создавать настраиваемые логгеры.
Почему не стоит использовать or для проверки нескольких условий в Python

Почему не стоит использовать or для проверки нескольких условий в Python

Все еще пользуетесь or для проверки условий при программировании на Python? Разберем несколько причин, почему делать этого не стоит.
Вся правда об использовании навигационной библиотеки Jetpack в модульных проектах

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

Jetpack - популярный инструмент современного разработчика. Но так ли удобна эта библиотека для модульных проектов?
Реляционные базы данных в контейнерах Docker Compose

Реляционные базы данных в контейнерах Docker Compose

Простое и быстрое руководство по контейнеризации базы данных MySQL.
Эффективная передача сообщений между процессами в C ++

Эффективная передача сообщений между процессами в C++

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

Обучение программированию лучше начать с языка С. И вот почему

Изучать основы программирования можно на любом языке, но более эффективно это получится на C! И на это есть 4 причины.
Как выполнять выражения и процедуры PL/SQL в Python

Как выполнять выражения и процедуры PL/SQL в Python

Расскажем о том, как выполнять процедуры и выражения PL/SQL в Python.
Создаем бота клиентской службы с помощью Python, Flask и Pinecone

Создаем бота клиентской службы с помощью Python, Flask и Pinecone

Простой и наглядный пример создания бота, способного заменить специалиста клиентской службы по основным вопросам. Экономит время и не требует зарплаты.
Управление средами Python на профессиональном уровне

Управление средами Python на профессиональном уровне

Все еще используете virtualenv? Попробуйте новый инструмент - virtualenvwrapper. Хотя virtualenv отлично управляет средами, virtualenvwrapper является его рекомендуемым дополнением. Сходство его команд с командами Linux облегчает запоминание операций.
Среда разработки Entity Framework в Docker

Среда разработки Entity Framework в Docker

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

Практикум по созданию сценариев командной строки

Сценарии командной строки играют важную роль в современных операционных системах. Предлагаем углубиться в это понятие и поучиться писать скрипты shell.
Отправка push-уведомлений с помощью Firebase Cloud Messaging

Отправка push-уведомлений с помощью Firebase Cloud Messaging

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

Создание анимированных диаграмм в Python

Изображение вместо тысячи слов - такой принцип лежит в основе визуализации данных. А если добавить в нее анимацию? Представляете, какой живой отклик она вызовет у вашей аудитории! Так что самое время научиться создавать анимированные диаграммы в Python.
Python FastAPI: OpenAPI, CRUD, PostgreSQL в Docker и внедрение зависимостей

Python FastAPI: OpenAPI, CRUD, PostgreSQL в Docker и внедрение зависимостей

Все шаги разработки первого приложения на FastAPI: настройка ORM SQLAlchemy, валидация схем Pydantic и менеджер пакетов Poetry.
Мир Docker и Kubernetes в аналогиях с жизнью разработчика

Мир Docker и Kubernetes в аналогиях с жизнью разработчика

Новый подход к объяснению основных концепций платформы Kubernetes! Автор находит аналогии объектам K8s в реалиях разработчика, что значительно упрощает понимание принципов их работы.
Хитрости и приемы эффективного программирования на Kotlin

Хитрости и приемы эффективного программирования на Kotlin

Проведем краткий обзор крутого функционала Kotlin. Начнем писать код по-котлиновски, сделав его более лаконичным и удобным для человеческого восприятия.
Новинка Python 3.10: оператор переключения Structural pattern matching

Новинка Python 3.10: оператор переключения Structural pattern matching

Разбираемся в работе механизма сопоставления с образцом из обновления Python до версии 3.10: новые операторы match и case.
От Pandas к Pyspark

От Pandas к Pyspark

Если Pandas удобно использовать для небольших наборов данных, то Pyspark - отличный инструмент для распределенных вычислений огромных массивов данных. Возьмите на заметку готовую инструкцию по преобразованию кода Pandas в Pyspark.
Реализация ViewPager в Swift 5

Реализация ViewPager в Swift 5

Без всякой помощи сторонней библиотеки, опираясь на подробное пошаговое руководство, научимся создавать переключатель страниц в Swift 5. Он будет состоять из представлений со вкладками и страницами.
Карусель изображений в React Native

Карусель изображений в React Native

Пошаговое руководство по созданию карусели изображений с помощью библиотеки React Native Snap Carousel, которая превращает этот процесс в истинное удовольствие.
Создание рекомендательного движка статей на основе ИИ/МО

Создание рекомендательного движка статей на основе ИИ/МО

Обучающее руководство по созданию приложения Flask на Python с реализацией рекомендательного движка статей, в основе которого лежит поиск по сходству и алгоритм МО.
3 функции Python Matplotlib: повысьте информативность визуализации данных

3 функции Python Matplotlib: повысьте информативность визуализации данных

Форма представления так же важна, как и содержимое. Python Matplotlib поможет вам в создании понятных и лаконичных визуализаций.
Kotlin-реализация RecyclerView на Android

Kotlin-реализация RecyclerView на Android

RecyclerView - улучшенная замена устаревшего и во многом несовершенного ListView. С помощью этого краткого обзора вы легко сможете создать свой собственный пользовательский RecyclerView.
Python/C API  -  ускорение Python при помощи кода на C

Python/C API  -  ускорение Python при помощи кода на C

Пакет ctypes для начинающих: запуск библиотек на C из Python и функции CUDA ускорят не только вычисления, но и процесс разработки.
Конструкция контейнера в Docker

Конструкция контейнера в Docker

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

Улучшение визуализации данных с помощью двухосевых диаграмм в Python

Хотите анализировать и представлять данные в удобном для чтения виде? Библиотека Plotly поможет улучшить визуализацию данных с использованием двухосевых диаграмм.
Как использовать PHP для вывода данных?

Как использовать PHP для вывода данных?

Функциональность и простота PHP не вызывают сомнений. Однако знание нюансов этого языка не повредит разработчику, приступающему к его изучению. Сегодня поговорим о выводе данных с помощью PHP.
Lombok: хорошее и плохое применение

Lombok: хорошее и плохое применение

Lombok - популярная библиотека, облегчающая рутинную работу с классами в Java. Но даже хороший инструмент можно применять неправильно. Дадим несколько рекомендаций, как этого избежать.
6 отборных практик для определения метода _init_ в Python

6 отборных практик для определения метода __init__ в Python

Создание читаемого и удобного в обслуживании кода Python начинается с грамотного определения метода __init__. В связи с эти предлагаем 6 наилучших практик, проверенных личным опытом автора.
Kotlin 1.5.30 и KMM/KMP

Kotlin 1.5.30 и KMM/KMP

Узнайте, почему специалисты называют Kotlin 1.5.30 поворотным моментом в мультиплатформенном программировании.
Методы лингвистического моделирования с использованием Python

Методы лингвистического моделирования с использованием Python

Лингвистическое моделирование как способ адекватной интерпретации текста, выявления и предупреждения в нем ошибок - один из конкурентных инструментов Python. Научитесь владеть этим инструментом и станьте грамотным программистом.
Инструменты DevOps: интерфейс Docketeer для Docker Desktop

Инструменты DevOps: интерфейс Docketeer для Docker Desktop

Обзор Docketeer, удобного графического интерфейса для Docker с проработанными правами доступа и метриками.
Python PyQt5: современные графические интерфейсы для Windows, MacOS и Linux

Python PyQt5: современные графические интерфейсы для Windows, MacOS и Linux

Установка и настройка Python PyQt5 для новичков: кнопки, поля ввода, всплывающие окна и событийно-ориентированное программирование.
7 малоизвестных пакетов для визуализации на Python, о которых вы должны знать

7 малоизвестных пакетов для визуализации на Python, о которых вы должны знать

Помимо многочисленных встроенных фишек, Python вмещает в себя более 200 000 пакетов, созданных пользователями. Missingno, Bokeh, Altair, Geoplotlib и другие малоисследованные пакеты - это уникальные инструменты для оптимальной визуализации данных.
Создание дашбордов в Dash

Создание дашбордов в Dash

Дашборды - отличные инструменты для мониторинга бизнес-целей, отслеживания прогрессов и анализа данных. Читайте о том, как с минимальными усилиями создать, настроить и запустить Dash-приложение.
Bamboolib  -  одна из самых полезных библиотек Python

Bamboolib  -  одна из самых полезных библиотек Python

Почему Bamboolib считают уникальной библиотекой Python и почему вы непременно должны с ней поработать? Идея Bamboolib заключается в том, чтобы "изучать и использовать Pandas без написания кода". Это ли не мечта любого программиста?
PostgreSQL вместо Kafka: способ реализации системы очередей

PostgreSQL вместо Kafka: способ реализации системы очередей

Очереди - ключевой элемент в распределенных системах. Поэтому так важно организовать их обработку наиболее оптимальным образом. Здесь о своем подходе к решению этого вопроса рассказывает представитель платформы работы с данными RudderStack.

C++ и Java: сравнительный анализ

Рассмотрим преимущества и недостатки двух лучших в настоящее время языков. Определим, где каждый из них предпочтительнее использовать.
Rust: первые впечатления

Rust: первые впечатления

Станет ли Rust пределом мечтаний разработчиков и универсальным языком, который заменит все остальные? Что делает его таким особенным? Рассмотрим текущее положение и разберем слабые и сильные стороны Rust.
12 проверенных способов оптимизации функций Python

12 проверенных способов оптимизации функций Python

Создать образцовую функцию - дело не простое. Вот 12 проверенных способов оптимизации функций Python, которые помогут вам подняться на ступеньку выше в искусстве программирования.
5 простейших приемов работы на C#

5 простейших приемов работы на C#

Эти приемы работы на C# должен знать каждый, а тем, кто знает, полезно повторить. Типы, допускающие значения «null», обнаружение пустых строк, readonly и константы, простой способ завершения приложения и разрыв строк с «newline».
Spring Boot: реализация фабричного метода

Spring Boot: реализация фабричного метода

Шаблон Factory упрощает создание новых объектов и помогает прятать логику, ненужную для клиента. Предлагаем рассмотреть вариант реализации шаблона фабрики для простого приложения на Spring Boot.
Сниппеты Python для начинающих: распаковка кортежей, пауза в секундах и случайное число

Сниппеты Python для начинающих: распаковка кортежей, пауза в секундах и случайное число

Добавьте в закладки 12 профессиональных Python сниппетов для решения повседневных задач, ведь когда-нибудь они помогут сохранить ваш день!
Java Hibernate

Java Hibernate

Познакомимся с инструментом Hibernate, который помогает сопоставлять объекты с записями в реляционных базах данных, и выполним CRUD-операции на примере условного класса.
Сортировка и фильтрация записей с помощью базы данных Room и Kotlin Flow

Сортировка и фильтрация записей с помощью базы данных Room и Kotlin Flow

Легко и просто строим реактивные приложения на Android. Рассмотрим реализацию функций сортировки и фильтрации записей локального хранилища.
Как ИИ влияет на развитие NFT

Как ИИ влияет на развитие NFT

Искусственный интеллект - настоящий бустер для развития NFT (невзаимозаменяемых токенов). Представляем 3 передовых проекта, на которые вам стоит обратить внимание.
Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django, Folium, Leaflet и OSRM API для веб-приложения с функционалом Google Maps
Как сделать анимированную кнопку загрузки с Jetpack Compose

Как сделать анимированную кнопку загрузки с Jetpack Compose

Задействуем широкий функционал библиотеки на Android для более привлекательного приложения с меньшим кодом, мощными инструментами и интуитивно понятными API на Kotlin.
Однострочный for на Python: списковое включение и генераторные выражения

Однострочный for на Python: списковое включение и генераторные выражения

Генератор словарей и генератор кортежей - как написать цикл for в одну строчку при помощи специальных генераторных выражений?
Bash, Python или JavaScript: какой язык лучше для автоматизации?

Bash, Python или JavaScript: какой язык лучше для автоматизации?

Предлагаем сравнение преимуществ и недостатков Shell-сценариев на основе Bash, Python и JavaScript. Выбирайте язык программирования в соответствии с вашими потребностями.
12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

Анализатор настроения, виртуальный ассистент, бот-трейдер, компьютерное зрение - лучшие идеи для pet-проекта или стартапа на Python!
5 впечатляющих возможностей Julia, которых не хватает в Python

5 впечатляющих возможностей Julia, которых не хватает в Python

Считаете Python верхом совершенства? А как насчет альтернативы - высокопроизводительного языка Julia? Некоторые из возможностей Julia явно не помешали бы старому доброму Python.
Почему я перехожу с Python на Rust

Почему я перехожу с Python на Rust

Что может заставить программиста, который 10 лет предпочитал Python другим компьютерным языкам, перейти на Rust? Узнайте о 5 проблемах Python и о том, как Rust решил эти проблемы.
Кэширование в связке Spring Boot + Redis + PostgreSQL

Кэширование в связке Spring Boot + Redis + PostgreSQL

Успешное кэширование крайне важно для веб-приложений. Вкратце рассмотрим способ настройки работы с кэшем через Redis с помощью Docker.
9 первоклассных функций Pandas Python для работы с данными

9 первоклассных функций Pandas Python для работы с данными

Обзор эффективнейших функций Pandas, востребованных в работе любого ученого по данным: sort_values(), shift(), value_counts(), select_dtypes, mask(), filter(), nlargest() и nsmallest().
Новые функции стандартной библиотеки Kotlin 1.5

Новые функции стандартной библиотеки Kotlin 1.5

Рассмотрим 7 основных изменений: новые функции коллекции, целочисленные типы без знака, деление с округлением вниз, API преобразования текста с учетом регистра, функции для проверки свойств символов и т. д. Узнаем, какие функции делают преобразование отдельных символов в числа более выразительным.
Чем отличается C++ от C#?

Чем отличается C++ от C#?

Заглянем в историю возникновения C++ и C# и разберем 9 отличий, чтобы понять, какую программу использовать при написании кода для конкретного приложения. Также решим, в какой язык стоит углубляться и какой осваивать в первую очередь!
Не самые очевидные советы по написанию DTO на Java

Не самые очевидные советы по написанию DTO на Java

Как облегчить себе жизнь при работе с Data Transfer Object: создаем неизменяемые DTO, избегаем нулевых значений и упрощаем инициализацию, руководствуясь книгой "Java: эффективное программирование".
Django Google SEO: поисковая оптимизация сайта на Python для индексации в Google

Django Google SEO: поисковая оптимизация сайта на Python для индексации в Google

Показываем четыре простых шага для повышения рейтинга сайта в поисковой системе Google благодаря улучшению Django Search Engine Optimization.
Основы ​программирования на Ruby

Основы ​программирования на Ruby

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

Простое объяснение интерфейсов на Golang

Что общего у электророзеток с интерфейсами? Как создавать интерфейсы правильно? Попробуем понять этого непонятного зверя!
Зачем Python столько знаков подчеркивания?

Зачем Python столько знаков подчеркивания?

Неочевидные примеры использования символа нижнего подчеркивания для обеспечения инкапсуляции и улучшения читаемости вашего кода на Python
4 подводных камня на Go, на которые часто натыкаются

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

Эти баги приводят к ошибкам, которые пропускаются компилятором и их легко проглядеть при проверке кода. Каковы причины появления, как их можно обойти и избежать мучений при отладке?
Веб-скрейпинг с нуля на Python: библиотека Beautiful Soup

Веб-скрейпинг с нуля на Python: библиотека Beautiful Soup

Простое руководство для новичков в Data Science: извлечение данных из веб-сайтов с помощью Python-библиотек Beautiful Soup и requests.
React для начинающих: какие компоненты лучше - классы или функции?

React для начинающих: какие компоненты лучше — классы или функции?

Синтаксис, передача свойств, быстродействие, изменение и хранение состояния в двух разных типах компонентов ReactJS.
7 признаков того, что Flutter готов к разработке корпоративных приложений

7 признаков того, что Flutter готов к разработке корпоративных приложений

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

Как дизассемблировать код Python и повысить его производительность

Базовое знакомство с простой, но эффективной техникой оптимизации кода через его дизассемблирование.
Думаете, хеш-карты нельзя отсортировать? Еще как можно!

Думаете, хеш-карты нельзя отсортировать? Еще как можно!

Научимся реализовывать интерфейс sort.Sort в любой структуре данных. Узнаем, какие методы задействуются в Golang для добавления сортировки.
5 способов выйти из вложенного цикла в Python

5 способов выйти из вложенного цикла в Python

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

Распространенные и нелепые ошибки разработчиков Android-приложений

Создание Android-приложений - интересное занятие. Некоторым разработчикам оно позволяет создать собственный рынок и получить немалую прибыль. Хотите стать одним из них? Тогда постарайтесь избежать ошибок, которые могут помешать приложению стать хитом.
Python для начинающих: all, any, zip, enumerate, filter, map

Python для начинающих: all, any, zip, enumerate, filter, map

Подробные примеры применения на практике шести стандартных функций Python: all, any, zip, enumerate, filter, map.
Узнать и забыть: 4 антипрактики обработки ошибок в Python

Узнать и забыть: 4 антипрактики обработки ошибок в Python

Внимание! Обнаружены 4 практики обработки ошибок в Python, резко снижающие скорость разработки. Предупрежден - значит вооружен!
Middleware Django: пользовательское ПО промежуточного слоя

Middleware Django: пользовательское ПО промежуточного слоя

Что такое middleware, как создать пользовательский Django middleware и как проверить стандартные? Всё, что нужно знать о связующем ПО.
Тестирование производительности: rust/warp против go/fasthttp

Тестирование производительности: rust/warp против go/fasthttp

В чем причина недостаточной эффективности rust/warp и что ведет к увеличению производительности? Применим хитрые приемы, способные улучшить работу версии Rust.
Составные типы данных на Golang

Составные типы данных на Golang

Рассмотрим один за одним четыре составных типа, поддерживаемых на Go: массивы, срезы, ассоциативный массив и структуры. Узнаем все, что нужно о них знать: размер, хранимые в них данные, стили объявления, поведение копий этих типов данных и опорные данные, на которые они ссылаются.
Жажда скорости: Python с расширениями С

Жажда скорости: Python с расширениями С

Хотите, чтобы Python работал на всех скоростях? Тогда пора познакомиться с расширениями С. Узнаем, как их создавать, применять в программах Python, а затем сравним скорость программы с расширениями и без.
Бесперебойный API на Golang

Бесперебойный API на Golang

Создадим API с максимальным временем бесперебойной работы при обновлении двоичных файлов. Реализуем два решения и протестируем их примерами.
Django REST Framework: REST API на Python с нуля

Django REST Framework: REST API на Python с нуля

Прикладное руководство для новичков Python и Django по написанию API на примере сайта бронирования отелей.
Все о ключевых словах static и final

Все о ключевых словах static и final

Разберемся, как объявлять классы, методы и переменные с использованием ключевых слов static и final, а также узнаем, для каких случаев целесообразно их применять.
Как защитить учетные данные с помощью переменных среды в Python

Как защитить учетные данные с помощью переменных среды в Python

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

Очереди с приоритетом в Java

В Java включает очереди с приоритетом в рамках Collections Framework. Очередь приоритетов называется так по одному из главных способов применения  —  планирования работы в...
OpenTelemetry и Sentry - недооцененные инструменты трассировки распределенных систем на Golang

OpenTelemetry и Sentry - недооцененные инструменты трассировки распределенных систем на Golang

Краткое описание 🚶 Создадим небольшой пример инструментирования приложения на Golang с его настройкой, использованием OpenTelemetry и передачей получаемых трассировок на бэкенд Sentry. Вот ссылка на него...
Запуск тестовых сценариев с Maven

Запуск тестовых сценариев с Maven

Не знакомы с Maven? Здесь представлена кое-какая информация об этом инструменте. Ее должно быть достаточно для начала работы с ним. Для запуска тестовых сценариев традиционно...
Создание GUI PyWebIO для удаления пакетов Python

Создание GUI PyWebIO для удаления пакетов Python

Как правило, эксперименты с новыми проектами заканчиваются установкой множества библиотек Python. В связи с этим периодически возникает необходимость их чистить, удаляя старые и уже...
5 крутых приемов, которые улучшат работу на R

5 крутых приемов, которые улучшат работу на R

R  —  отличный язык, который используется для обработки данных и работы с ними. Рассмотрим пять крутых приемов работы на R, которые просто необходимо знать....
Наследование и полиморфизм в Python

Наследование и полиморфизм в Python

Наследование Наследование  —  это способность объекта принимать одну или несколько характеристик от других классов объектов, обычно переменных или функций-членов. Можно провести аналогию между этим понятием...
Конкурентность на Go: объяснение шаблона Worker Pool

Конкурентность на Go: объяснение шаблона Worker Pool

Введение Если хотите, можете пропустить вводную часть и переходить сразу к подробному разбору реализации. Когда я только начинал работать с языком Go, то немного скептически относился...
9 странностей Python для C++ программистов

9 странностей Python для C++ программистов

Python можно назвать странным языком программирования. По крайней мере, когда вы переходите с других языков вроде C, C++, C#, Java, PHP или JavaScript. Все эти...
Новый API форматировщика дат в Swift

Новый API форматировщика дат в Swift

В версии Swift 5.5 и iOS 15 у нас появился новый API средства форматирования. С ним строковое отображение дат будет более декларативным и интуитивно...
Основы безопасного программирования

Основы безопасного программирования

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

Перегрузка функций в TypeScript

Если у вас есть опыт работы с любым типизированным языком, то, вероятно, вам знакома концепция перегрузки функций. Если нет, то вкратце напомню ее суть:...
Scrum: 5–3–5–3–3

Scrum: 5–3–5–3–3

В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где: первые “3”  —  три роли Scrum;“5”  —  пять событий...
Лучшие практики модульного тестирования

Лучшие практики модульного тестирования

Тестирование имеет большое значение. Модульное тестирование  —  еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
Practice Programming

Почему разработчикам нужны “часы практики”

Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия. Зачастую, у музыкантов есть “сакральные” часы практики. Эти...
Как с With() улучшить написание кода на Swift

Как с With() улучшить написание кода на Swift

Все мы писали код, в котором какая-то функция создавала и возвращала сконфигурированный объект. func makeButton(_ title: String?) -> UIButton { let button...
JavaScript

Да не нужен вам фреймворк JavaScript!

Не устали ли мы от вездесущих фреймворков JavaScript? Возможно, что мы не обращаем внимание на эффективность и пакетные данные от наших пользователей? Вернёмся в эпоху jQuery Помните...
Data Science

Cтарая поговорка гласит: “Одна голова хорошо, а две — лучше”

Я часто слышу, как люди говорят о том, что их работа продвигается более эффективно и плодотворно когда они остаются одни. Также я знаю, что...
Не самые очевидные советы по написанию DTO на Java

Не самые очевидные советы по написанию DTO на Java

Как облегчить себе жизнь при работе с Data Transfer Object: создаем неизменяемые DTO, избегаем нулевых значений и упрощаем инициализацию, руководствуясь книгой "Java: эффективное программирование".