Тренды

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

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

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

Пошаговое руководство по автоматизации удаления ненужных файлов. Поработаем с Python и планировщиком задач cron.
Основы безопасного программирования

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

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

Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода

Рассказываем, как во Flutter использовать методы API-вызова HTTP, POST, GET и как создавать модели для представления данных, получаемых с сервера. Следуя этим практикам, вы будете писать более надежный и эффективный код.
Python

Контейнеризация в Python. Часть 3

Часть 1, Часть 2, Часть 3 Это последняя статья серии, посвящённой контейнеризации, в которой мы рассмотрели настройку и оптимизацию контейнеризованной среды разработки Python. В Части...
Приемы работы в терминале Linux для повышения продуктивности

Приемы работы в терминале Linux для повышения продуктивности

Освоим приемы, хитрости, рекомендации, сочетания клавиш в терминале Linux. С им помощью упростим повседневную рутину и облегчим выполнение многих задач.
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 1

Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 1

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

Выбор лучшего фреймворка для создания мобильного приложения

Для создания мобильных приложений есть множество фреймворков. Но выбрать нужно лишь один. Совсем недавно каждый разработчик занимался разработкой мобильных приложений, используя Software Development Kit (SDK),...
Middleware Django: пользовательское ПО промежуточного слоя

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

Что такое middleware, как создать пользовательский Django middleware и как проверить стандартные? Всё, что нужно знать о связующем ПО.
Как работает шлюз API на Golang: на примере одного симпатичного платья

Как работает шлюз API на Golang: на примере одного симпатичного платья

Совместим просмотр красивых платьев в веб-магазинах и заодно разберем принцип работы шлюза API на Golang!

Знакомство с Papermill

Как превратить Jupyter Notebook в рабочий процесс по обработке данных 1. Введение Jupyter Notebook — это «золотой стандарт» в разведочном анализе данных (EDA-анализ) и отличный инструмент для документирования...
Жажда скорости: Python с расширениями С

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

Хотите, чтобы Python работал на всех скоростях? Тогда пора познакомиться с расширениями С. Узнаем, как их создавать, применять в программах Python, а затем сравним скорость программы с расширениями и без.
Переоткрываем для себя эмулятор Android для ускорения тестирования

Переоткрываем для себя эмулятор Android для ускорения тестирования

Нет смысла подслащивать пилюлю: UI-тесты на Android могут быть медленными, особенно если со временем у вас накопилось их много. Итак, что же делать, когда у...
Koin

Релиз Koin 1.0.0✨

Так, так, так… вот оно! Уважаемые пользователи Koin, настал момент релиза нашей первой стабильной версии Koin. Спустя чуть больше года после начальной версии, мы...
Как создать инструмент PGP-шифрования на основе Python

Как создать инструмент PGP-шифрования на основе Python

Сделаем первый шаг в мир кибербезопасности и шифрования. Для этого создадим инструмент командной строки для PGP-шифрования с помощью Python.
Реализация GitHub Action в контейнере Docker

Реализация GitHub Action в контейнере Docker

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

Анимируем скучные табличные представления в iOS-приложении

Почти в любом iOS-приложении присутствуют табличные представления. Их применяют для отображения одиночного столбца содержимого с вертикальной прокруткой, разделённого на строки. Анимация  —  отличный способ привлечь...
Android

Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?

Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...

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

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

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

Скорее всего, для большинства из вас эти две концепции означают одно и то же, или же вы затрудняетесь объяснить, в чём между ними разница....
8 частых ошибок в Android-разработке

8 частых ошибок в Android-разработке

Ошибка № 1: не учитывать, что всё должно быть на своих местах Экосистема Android стремительно распространяется по всему миру. Вместе с этим растёт и сообщество, состоящее...
Java

Синхронизация в Java. Часть 2

Часть 1, Часть 2 Состояние гонки Вновь приветствую вас в теме “Синхронизация в Java”! Надеюсь, что вы прочли мою предыдущую статью. Давайте разберёмся, что же такое состояние...
Python и Java: комплексное сравнение двух популярных языков программирования

Python и Java: комплексное сравнение двух популярных языков программирования

Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
Основы ​программирования на Ruby

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

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

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

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

Дизайн системы для Чайников. Создаём стиль для приложения на React Native за 3 простых шага

В наше время, создать собственное приложение уже не кажется чем-то сложным. Ещё несколько лет назад вам пришлось бы освоить две экосистемы, чтобы создать кроссплатформенное...
Как создать на Python скринер акций и выполнить анализ настроений на основе ИИ

Как создать на Python скринер акций и выполнить анализ настроений на основе ИИ

Ищете продвинутый способ скрининга акций для инвестирования? Предлагаем руководство по запуску программы, которая поможет получить список "недооцененных" акций с их обзором и список статей с последними финансовыми новостями с их общим настроением.
Почему Dockerfile больше не нужен для создания контейнера в Go

Почему Dockerfile больше не нужен для создания контейнера в Go

Интегрируя, адаптируя и обучая новых инженеров в FlowUp, я пришел к выводу: на формирование глубокого понимания того, как работают Dockerfiles, уходит слишком много времени....
Логирование  -  корень всех проблем отладки

Логирование  —  корень всех проблем отладки

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

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

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

Как создать приложение Android за 7 шагов

Хотите создать свое первое Android-приложение и ищете доступное руководство? Оно перед вами: всего 7 простых шагов - и приложение успешно работает на Android-устройстве.
Python

Обработка аргументов в Python с помощью argparse

Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Python

Овладей Python, создавая реальные приложения. Часть 3

Создаем блокировщик сайтов в 3 шага   Предыдущие части: Часть 1, Часть 2   Технологии стремительно развиваются, как и мир в целом. Каждый день вы сталкиваетесь с чем-то, о чем раньше...
Рефакторинг кода Go для тестопригодности: возможности интерфейсов

Рефакторинг кода Go для тестопригодности: возможности интерфейсов

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

Как пересчитать слова в массиве используя JavaScript

Считаем слова в массиве Дано: let array = ; Задача: посчитать все слова в данном массиве. Способ №1: используем цикл for function getWordCount() { let map = {}; for...
RxPermissions: простой способ управления разрешениями в Android M

RxPermissions: простой способ управления разрешениями в Android M

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

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

Принципы создания крупного масштабируемого проекта Для начала определим нормы разработки крупного приложения: Сокращение зависимостей. Любое изменение должно затрагивать как можно меньшее количество кода.Возможность повторного использования. Отдельные...
Null

Null - это зло!

Не сомневаюсь, что заголовок статьи привлек ваше внимание! А теперь позвольте мне аргументировать свою точку зрения, поскольку процентов на 50%, а то и больше,...
Магия совместимости XML и Jetpack Compose

Магия совместимости XML и Jetpack Compose

Статья подскажет, как перевести проект с представлений XML на Jetpack Compose и воспользоваться всеми его преимуществами.
10 лайфхаков для Linux, которые повысят продуктивность

10 лайфхаков для Linux, которые повысят продуктивность

Эти 10 лайфхаков для работы с CLI Linux помогут вам повысить производительность. Все они довольны просты и показывают, как делать больше меньшими средствами.
Rust

Parcel + Rust и WASM = идеальный ромком

Введение Мне уже давно хотелось попробовать использовать Rust и WASM вместе. Причин для этого была масса: небольшой размер пакета, низкоуровневый доступ с надёжной производительностью и...
Python

Полезные Python модули, которыми мало кто пользуется

Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код. Цель В данной статье мы будем работать с малоизвестными методами...
Эти декораторы Python позволят сократить код вдвое

Эти декораторы Python позволят сократить код вдвое

Декораторы  -  интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Rust

Кросс-компиляция программ Rust для запуска на маршрутизаторе

Вы никогда не задумывались о том, чтобы запустить на домашнем роутере какой-нибудь пакет Ubuntu? Для этого можно было бы использовать контейнеры LXC. Всё это...
Хотите поразить рекрутеров своими знаниями в области корутин или стремитесь повысить свой квалификационный уровень? В любом случае будет полезно изучить основные вопросы для собеседования по корутинам, актуальные для Android-разработчиков в 2024 году.

Корутины в Kotlin: топ-50 вопросов для собеседования с Android-разработчиками в 2024 году 

Хотите поразить рекрутеров своими знаниями в области корутин или стремитесь повысить свой квалификационный уровень? В любом случае будет полезно изучить основные вопросы для собеседования по корутинам, актуальные для Android-разработчиков в 2024 году.
Python

Разворачиваем декораторы. Часть 1

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

Малоизвестные функции JavaScript

Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
Python

Овладей Python, создавая реальные приложения. Часть 5

Делаем анализ тональности высказываний в Twitter за 3 минуты Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 В этой части мы создадим скрипт Python, который при помощи Twitter поможет...
Python

Инструмент, который автоматически находит уязвимости в Python-коде

TL;DR В январе 2019 года мы запустили инструмент, который эффективно находит уязвимости в Python-коде. Мы создали автоматизированную систему, в которой объединили алгоритмы анализа потока данных...
Распространенные и нелепые ошибки разработчиков Android-приложений

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

Создание Android-приложений - интересное занятие. Некоторым разработчикам оно позволяет создать собственный рынок и получить немалую прибыль. Хотите стать одним из них? Тогда постарайтесь избежать ошибок, которые могут помешать приложению стать хитом.
Обзор итераторов в Go

Обзор итераторов в Go

Релиз Go 1.22 запланирован на февраль 2024 года, но уже сегодня можно оценить некоторые из его возможностей. Поговорим о том, как будут выглядеть итераторы и как может расшириться стандартная библиотека для их поддержки.
Pandas

3 классные малоизвестные функции Pandas

Я и раньше писал о Pandas по очевидным причинам — это изумительная библиотека для анализа данных и даже для визуализации. Предыдущая статья была о функциях, которые...
Jetpack DataStore: улучшенная система хранения данных

Jetpack DataStore: улучшенная система хранения данных

Что такое DataStore На протяжении многих лет разработчики Android хранили небольшие фрагменты конфиденциальных пользовательских данных с помощью общих настроек (shared preferences). Этот подход имеет следующие...
Обеспечьте молниеносную обработку данных с помощью экспертных методов. Используя преимущества оптимизации форматов файлов и параллельной обработки, вы существенно повысите производительность операций загрузки данных в Python.

Выполняйте загрузку Excel-файлов в Python в 1000 раз быстрее

Обеспечьте молниеносную обработку данных с помощью экспертных методов. Используя преимущества оптимизации форматов файлов и параллельной обработки, вы существенно повысите производительность операций загрузки данных в Python.
Java 21: новый подход к созданию строк

Java 21: новый подход к созданию строк 

Рассмотрим и сравним существующие техники конкатенации и интерполяции строк в Java, обратив особое внимание на новую функциональность Java 21 - шаблоны строк.
Карусель изображений в React Native

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

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

Python-библиотеки интерпретации моделей ML

Все эти библиотеки устанавливаются через pip и сопровождаются подробной документацией. Акцент в них делается на визуализацию. Yellowbrick Yellowbrick — это расширение scikit-learn, которое позволяет использовать полезные и красивые...
Android

Как создать плавающую кнопку для Android приложения

Для начала создайте пустой Android проект. Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и вставьте её в свой проект. implementation 'com.android.support:design:28.0.0' Если...
5 рекомендаций по оптимизации пул-реквестов

5 рекомендаций по оптимизации пул-реквестов

Создание пул-реквеста (запроса на размещение изменений в основной ветке) и ожидание результатов ревью  —  стандартные процедуры в процессе написания кода, являющиеся важной и неотъемлемой...
Rust

Использование строк в Rust

Копировать одну переменную в другую и ожидать, что значение будет доступно в первой переменной — это обычное дело для многих языков программирования. Но это не совсем...
Git: простое руководство о том, как стать мастером контроля версий

Git: простое руководство о том, как стать мастером контроля версий

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

Kotlin Coroutines для Android — Прощай RxJava?

Недавно JetBrains анонсировала новую фичу, которая известна как coroutines (coroutines является экспериментальной функцией в Kotlin 1.1+). Кстати, jetbrains — это место, где можно найти настоящее сокровище,...
Создаем настраиваемую цепочку обязанностей в Go

Создаем настраиваемую цепочку обязанностей в Go

Цепочка обязанностей или цепочка команд — это шаблон проектирования, позволяющий передавать запросы по цепочке Handlers. Каждый Handler решает, нужно ли обработать и расширить запрос или же...
Как создать чат-бот на основе данных CSV с LangChain и OpenAI

Как создать чат-бот на основе данных CSV с LangChain и OpenAI

Хотите пообщаться с чат-ботом, основанном на вашем собственном файле CSV? Не стоит отказываться от такого интересного опыта. При создании чат-бота поработаем с Langchain и OpenAI.
Кастомизируем дефолтную заставку во Flutter

Кастомизируем дефолтную заставку во Flutter

Во Flutter невозможно переопределить экран заставки, который задан по умолчанию, а значит любой виджет-заставка, созданный внутри Flutter, будет отображаться только после дефолтной заставки. Пока...
5 удивительных скрытых возможностей Python. Часть 2

5 удивительных скрытых возможностей Python. Часть 2

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

Миграции баз данных с Golang

Изучим достоинства и недостатки очень полезного инструмента не только для тестирования, но и для контроля и управления версиями БД. Разберем особенности написания и применения SQL-миграций в службах на Go.
7 признаков того, что Flutter готов к разработке корпоративных приложений

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

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

Что возвращать в Go: структуры или интерфейсы?

В подробном руководстве исследуем преимущества и особенности возвращения структур и интерфейсов на Go. Рассмотрим реальные сценарии с практическими примерами, рекомендации, альтернативные стратегии.
Swift: 7 секретов оптимизации

Swift: 7 секретов оптимизации 

Обзор 7 функциональностей Swift для создания качественного кода: ключевое слово indirect, атрибут @autoclosure, свойства Lazy и другие.
5 визуально эффектных программ для командной строки

5 визуально эффектных программ для командной строки

Долой унылые черно-белые приложения для командной строки. Добавим в рабочий процесс красок, анимации и динамики с помощью отличных программ: WTF, htop, mapscii, btop и wttr.
Как оптимизировать навигацию в Jetpack Compose

Как оптимизировать навигацию в Jetpack Compose

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

Хотите стать классным разработчиком? Работайте с UX

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

Язык С: типы данных

Типы данных в языке C - это обширная система, используемая для объявления переменных или различных функций. Тип переменной определяет, сколько места она занимает в памяти и как интерпретируется хранящийся битовый паттерн.
Мутационное тестирование: создай мутанта и прокачай тест

Мутационное тестирование: создай мутанта и прокачай тест

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

Злые единицы - добрый Frink

Введение Единица измерения  —  это физическое свойство, представляющее собой число, например, расстояние или время. Мы почти всегда говорим о системе единиц СИ. У единиц могут быть...
5 проектов Go: управление безопасностью и контейнерами, создание бэкендов

5 проектов Go: управление безопасностью и контейнерами, создание бэкендов

Расскажем об интересных проектах Golang, связанных в том числе с разведкой по открытым источникам. Используйте их в своих приложениях.
Как удаленно отлаживать сайты для Android с помощью Chrome DevTools

Как удаленно отлаживать сайты для Android с помощью Chrome DevTools

Поскольку под управлением Android работает более 2,5 млрд устройств, разработчики не могут игнорировать оптимизацию веб-страниц для этой операционной системы (ОС). Обычно на устройствах с...
Julia

Улётные пакеты Julia для машинного обучения - мечта программиста!

Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Как пользоваться Thread.sleep на JVM без блокировки

Как пользоваться Thread.sleep на JVM без блокировки

У таких языков JVM, как Java и Scala, есть возможность запускать параллельный код с помощью класса Thread. Потоки, как известно, сложны и подвержены ошибкам,...
Python

Понятие о виртуальных средах в Python

Введение в виртуальные среды Python с использованием VR Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой статьи. Будет достаточно внимательности и интереса...
Создание общей библиотеки Linux

Создание общей библиотеки Linux

Краткая вводная инструкция по написанию общей библиотеки Linux на C++. Разберемся, что такое библиотека, и поэтапно ее создадим.
3 способа мониторинга изменений лог-файлов в Java

3 способа мониторинга изменений лог-файлов в Java

Научимся отслеживать изменения файлов тремя разными способами: запланированная задача + File.lastModified, WatchService и Apache Commons-IO.
Kotlin

Запечатанный класс

Часто нам приходится представлять ограниченный набор возможностей: веб-запрос либо успешно выполняется, либо не выполняется, User может быть либо про-пользователем, либо обычным. Чтобы смоделировать это, мы...
Рост производительности машинного обучения с Rust

Рост производительности машинного обучения с Rust

Сделаем с нуля небольшой ML-фреймворк на Rust для создания нейросетевых моделей. За счет чего скорость обучения здесь в 5,5 раза выше, чем с Python и PyTorch?
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
TypeScript

Как создать простую браузерную игру с помощью Phaser 3 и TypeScript

Большую часть своего времени я занимаюсь backend-разработкой, поэтому я не могу похвастаться большим опытом во frontend. Какое-то время назад у меня возникло желание создать...
Программируем с ChatGPT: 10 советов

Программируем с ChatGPT: 10 советов

Хотите извлечь максимальную пользу из ChatGPT? Эти советы помогут ускорить работу, внедрив в нее ChatGPT, но при этом не допустить критических ошибок.
Создание оркестратора для событийно-ориентированного приложения с Golang и RabbitMQ

Создание оркестратора для событийно-ориентированного приложения с Golang и RabbitMQ

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

Портируем решатель судоку с Java на WebAssembly

Мне давно хотелось приступить к изучению WebAssembly, но никак не находилось подходящего материала. Однако недавно я просматривал некоторые старые программы и вспомнил, что как-то...
Поддержание документации в актуальном состоянии с помощью Bit и GitHub

Поддержание документации в актуальном состоянии с помощью Bit и GitHub

Написание документации для кода (будь то небольшая библиотека или полный набор микросервисов, взаимодействие с которыми необходимо другим разработчикам)  —  это занятие кропотливое и утомительное. Основная...
4 способа улучшить навыки написания кода

4 способа улучшить навыки написания кода

Чтобы достичь карьерных высот в сфере программирования, нужно постоянно работать над мастерством написания кода. Воспользуйтесь советами опытного программиста, которые помогут стать профессионалом.
OOP

Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 и Часть 5. Элементарные функции Должен признать: очень долгое...
Go - единственный выбор для бэкенд-разработчика?

Go — единственный выбор для бэкенд-разработчика?

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

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

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

Под капотом модификатора suspend

Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена...
Android 12: радикально новый дизайн от Google

Android 12: радикально новый дизайн от Google

Material You  —  новая веха в эволюции текущего поколения Material Design (“материального дизайна”), используемого Android-устройствами (и почти всеми продуктами Google). Идея, лежащая в основе...
Принципы SOLID в инженерии данных. Часть 3

Принципы SOLID в инженерии данных. Часть 3

Выясним, как с принципами SOLID сочетается функциональное программирование, каковы их достоинства и недостатки. Продемонстрируем на примерах нарушение и соблюдение этих принципов.
Game Development

Как я создал свою первую видеоигру

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

Понятие об умных указателях Rust

В этой статье мы разберемся, что именно представляют собой умные указатели, откуда они берутся и как работают. Если по-простому, умный указатель  —  это абстрактный тип...
Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2

Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2

Хотите получить должность Java-разработчика или повысить свой профессиональный уровень? Ознакомьтесь с актуальными ответами на 50 ключевых вопросов по микросервисам Spring Boot, которые задают во время собеседования на должность Java-программиста или инженера ПО.
Производительность в Jetpack Compose: стабильность и неизменяемость

Производительность в Jetpack Compose: стабильность и неизменяемость

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

Почему в React важен порядок вызова хуков?

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

Автоматический импорт библиотек в IPython или Jupyter Notebook

Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ: Перейдите к ~/.ipython/profile_defaultСоздайте папку...
ClickHouse: оконные функции с нуля

ClickHouse: оконные функции с нуля

Узнаем, как в ClickHouse упрощаются анализ и агрегирование сложных данных, компактно и эффективно внутри запроса вычисляются нарастающие итоги, ранжирование, процентили. Разберем синтаксис оконных функций, приведем примеры из реальных сценариев.
Настройка Apache для PHP

Настройка Apache для PHP

Apache HTTP-сервер - свободный веб-сервер, основными достоинствами которого считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.