C++: полное руководство по push_back

C++: полное руководство по push_back

Изучим нюансы этой операции  -  от базового применения до продвинутых техник и реальных сценариев. Как при этом управляется память и оптимизируется производительность?
Осваиваем ViewThatFits. Часть 1

Осваиваем ViewThatFits. Часть 1

Рассмотрим критерии оценки и логику представления нового адаптивного контейнера макетов. Как выбирается отображаемое представление? Разберем концепцию «идеального размера».
10 проектов для изучения Golang в 2023 году

10 проектов для изучения Golang в 2023 году

Учиться лучше на практике, и оптимальный способ освоить Golang - создавать проекты. Мы отобрали для вас подходящие проекты - не слишком сложные и не самые простые - с курсами для начинающих и опытных разработчиков.
9 советов по работе с консолью JavaScript, которые помогут оптимизировать отладку

9 советов по работе с консолью JavaScript, которые помогут оптимизировать отладку

Для отладки кода JavaScript недостаточно использовать только console.log(). Представляем более подробную информацию о различных методах работы с JS-консолью.
C++: полное руководство по перечислениям

C++: полное руководство по перечислениям

Что придумали разработчики для преодоления ограничений C++? Познакомимся с практическими подходами к прохождению перечислений, дополним примерами кода и реальными сценариями.
14 вопросов по валидациям на Ruby on Rails

14 вопросов по валидациям на Ruby on Rails

Шпаргалка для собеседования по важной теме Ruby. Некоторые ответы снабжены примерами кода.
Автоматизированное семантическое управление версиями с помощью GitVersion

Автоматизированное семантическое управление версиями с помощью GitVersion

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

Java для начинающих. Часть 1 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях о...
Django Google SEO: поисковая оптимизация сайта на Python для индексации в Google

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

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

Какие типы изображений можно создавать в Midjourney

Знакомьтесь с генератором изображений Midjourney. Эта нейросеть была создана в феврале 2022 года и уже пережила несколько апгрейдов. Рассказываем, что умеет Midjourney и как использовать этот инструмент в проектах.
API

Веб-API для улучшенного UX

Примечание: некоторые из представленных здесь API все еще находятся в разработке или не поддерживаются в некоторых браузерах. Рекомендуем прочитать полную документацию перед их использованием. Видимость...
Внимание: работает пакет Python Tweepy!

Внимание: работает пакет Python Tweepy!

Обучающее руководство по извлечению любых данных из твитов посредством пакета Python Tweepy и форматированию их в датафрейм Pandas.
Golang

Примитивы синхронизации в Go

Изучаем Mutex, WaitGroup и Once с примерами В данной статье кратко рассмотрим некоторые конструкции низкоуровневой синхронизации, которые наряду с горутинами и каналами предлагает нам один...
Интеграция Google Maps в приложение Jetpack Compose

Интеграция Google Maps в приложение Jetpack Compose 

Научимся интегрировать Google Maps в приложение Jetpack Compose с помощью библиотеки Maps Compose. В связи с этим рассмотрим ряд требуемых компонуемых функций и параметров.
Быстрое перенаправление в приложение с AutoVerify

Быстрое перенаправление в приложение с AutoVerify

Сайты с множественной переадресацией и поддержкой диплинков Представьте, что у вас есть сайт, к примеру, https://www.yoursite.com. Когда пользователь кликает по ссылке http://www.yoursite.com, где нет s...
Golang

Удалённые вызовы процедур в Golang

Что такое удалённые вызовы процедур? Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Анализ тональности в 3 шага: использование quick_sentiments в Python

Анализ тональности в 3 шага: использование quick_sentiments в Python

Устали от бесконечной предварительной обработки текста и сложных пайплайнов машинного обучения? Теперь у вас будет возможность получать готовые прогнозы тональности всего в три шага — без головной боли с настройкой моделей и очисткой данных. Откройте для себя quick_sentiments: пакет, который превращает трудоемкие задачи в минутные операции.
Как усилить электронные таблицы Google возможностями ChatGPT

Как усилить электронные таблицы Google возможностями ChatGPT

Предлагаем улучшить электронные таблицы Google с помощью ChatGPT и начать работать с ними по-новому: более качественно, продуктивно и творчески.
Принципы SOLID на Go

Принципы SOLID на Go

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

Ссылки на методы в Java

Ссылки на методы появились вместе с лямбда-выражениями в Java 8, и с тех пор упрощают жизнь разработчикам. Но у их применения есть некоторые ограничения. Как обойти одно из них - на использование метода с параметром - расскажем в этом материале.
5 визуально эффектных программ для командной строки

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

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

Эффективная стратегия тестирования Android-проектов. Часть 1

В этой части описан и обоснован сбалансированный подход к комплексному тестированию Android-приложений, включающий автоматизированные (модульные, интеграционные, сквозные, интерфейсные) и ручные тесты. Такая эффективная стратегия позволяет минимизировать время и усилия, получив максимальную отдачу.
Основы SQL: разница между GROUP BY и PARTITION BY

Основы SQL: разница между GROUP BY и PARTITION BY

Несмотря на кажущуюся простоту, SQL может таить в себе немало особенностей, о которых лучше узнать заранее. Сегодня рассмотрим основные различия между операторами GROUP BY и PARTITION BY, а также их основные сценарии использования.
OOP

Эффективное использование словаря (C#) как альтернатива оператору If

Всё больше наших коллег на практике предпочитают избегать применения операторов if. Эти условия, по их мнению, усложняют и прибавляют багов в наши приложения. Но условия...
Python

Как я создал веб-скрапер на Python для поиска жилья

Через несколько месяцев мне придется съехать из съемной квартиры и искать новую. Как бы это ни было тяжело, особенно учитывая замаячивший на горизонте ценовой...
Почему в Python по-прежнему нужна функция map()

Почему в Python по-прежнему нужна функция map()

При наличии различных альтернатив функция map() в Python кажется излишней. Так нужна ли она в Python? Предлагаем обсудить этот вопрос вместе с Python-разработчиком.
Обработка файлов на C

Обработка файлов на C

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

Не заблудитесь при работе с кластерами Kafka  —  возьмите компас

Представляем инструмент мониторинга кластеров KafkaCompass. Рассмотрим функционал этого приложения - со слов его разработчиков.
Как предотвратить утечки памяти в Android-приложении

Как предотвратить утечки памяти в Android-приложении

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

Язык выражений Spring для создания простого движка правил

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

Как сделать интеллектуальное приложение вопросов и ответов базы знаний с GPT-3 и Ruby

Подготовим базу знаний с двумя скриптами для GPT-3 вопросов и обучим модель ответам по содержимому сайта. Поэтапно создадим ИИ вопросов и ответов, разберем отладку ответов и два способа доработки модели.
5 впечатляющих возможностей Julia, которых не хватает в Python

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

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

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

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

Mito: быстрый анализ данных на Python

Выбиваетесь из графика? Боитесь, что не уложитесь в срок? Mito сэкономит драгоценное время. Эта библиотека Python поможет провести анализ данных в считанные минуты.
Знакомьтесь, компонент Navigation в Android!

Знакомьтесь, компонент Navigation в Android!

Что такое компонент Navigation?  Всем известно, что навигация между экранами является одним из фундаментальных принципов в приложениях Android. Как правило, мы осуществляем ее при помощи...
Data Analysis

Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium

Open Data Barcelona - это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и...
Xcode: шпаргалка для iOS разработчиков

Xcode: шпаргалка для iOS разработчиков

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

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

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

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

Jetpack - популярный инструмент современного разработчика. Но так ли удобна эта библиотека для модульных проектов?
Топ-10 типичных ошибок при реализации паттерна MVVM в Android 

Топ-10 типичных ошибок при реализации паттерна MVVM в Android 

Вы наверняка совершали эти ошибки при реализации паттерна Model-View-ViewModel в Android. Предлагаем на практических примерах разобраться в их причинах и рассмотреть способы их исправления. Это позволит значительно повысить сопровождаемость, тестируемость и общее качество Android-приложений. 
Ruby on Rails 7: важные рекомендации для высококачественного кода

Ruby on Rails 7: важные рекомендации для высококачественного кода

Используйте Hotwire для современного фронтенда, оптимизируйте запросы к базе данных, повышайте качество кода инструментами вроде RuboCop - и ваши проекты Rails 7 будут выгодно отличаться. Так создаются высокопроизводительные, сопровождаемые, масштабируемые приложения.
Java: оператор try-with-resources

Java: оператор try-with-resources

Изучим синтаксис try-with-resources, его преимущества по сравнению с традиционными блоками try-finally и нюансы управления ресурсами. Приведем практические примеры.
Python

Вероятность в Python: перестановки и сочетания

Теория вероятности не сложная, по крайней мере, на уровне, необходимом для начала работы в науке о данных. Возможно, прошло какое-то время с тех пор,...
4 подводных камня на Go, на которые часто натыкаются

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

Эти баги приводят к ошибкам, которые пропускаются компилятором и их легко проглядеть при проверке кода. Каковы причины появления, как их можно обойти и избежать мучений при отладке?
Создай и играй: код для игры "Змейка" с кнопками управления в SwiftUI

Создай и играй: код для игры “Змейка” с кнопками управления в SwiftUI

Вспомним классическую игру "Змейка" и создадим для нее код в SwiftUI. Задача сложная, но интересная.
Эволюция монолитных систем

Эволюция монолитных систем

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

Спецификатор constexpr в C++: зачем он нужен и как работает

Разберемся, что такое спецификатор constexpr и чем он отличается от const, а также рассмотрим особенности вычислений на этапе компиляции. Эти знания помогут избежать многих ошибок при программировании на C++.
Разработка отказоустойчивых микросервисов с шаблонами «Повтор» и «Выключатель»

Разработка отказоустойчивых микросервисов с шаблонами «Повтор» и «Выключатель»

Разберем, как преодолеваются трудности распределенных систем. Рассмотрим практический сценарий комбинирования шаблонов, дадим рекомендации по их реализации.
Имеет ли код значение?

Имеет ли код значение?

Имеет ли код значение в эпоху ИИ? Что должен делать программист, когда код пишут машины? Неожиданные ответы на эти вопросы наверняка перевернут ваше представление о сути разработки.
Java 21: новый подход к созданию строк

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

Рассмотрим и сравним существующие техники конкатенации и интерполяции строк в Java, обратив особое внимание на новую функциональность Java 21 - шаблоны строк.
Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

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

6 веских причин поговорить об f-строках в Python

Одним из первых наших шагов в самом начале изучения любого языка программирования является вывод строки “Hello, World!”. Практически то же самое мы делаем и...
Загрузочные представления в SwiftUI

Загрузочные представления в SwiftUI

Загрузочные представления являются одним из типичных компонентов приложения, и в этой статье вы научитесь грамотно их создавать и использовать с возможностью кастомизации.
Долгожданные инструкции Switch-Case в Python

Долгожданные инструкции Switch-Case в Python

Python 3.10 обрел немало интересных возможностей, одна из которых привлекла мое внимание в особенности  —  структурное сопоставление с шаблоном, иначе говоря инструкции switch/case. Несмотря на...
Join-операции в MySQL - инструмент оптимизации поиска данных

Join-операции в MySQL — инструмент оптимизации поиска данных

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

Перестановка чисел в C++: руководство

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

Quarkus — горячий тренд Java-разработки

С революционным фреймворком Quarkus разработка на Java станет еще проще, быстрее и эффективнее. Оцените его ключевые особенности и преимущества по сравнению со Spring Boot.
Regex

Шпаргалка по регулярным выражениям. В примерах

Регулярные выражения (regex или regexp) очень эффективны для извлечения информации из текста. Для этого нужно произвести поиск одного или нескольких совпадений по определённому шаблону...
Python

Пять отличных Python-библиотек для data science

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

Ruby: рефакторинг без лишних сложностей

С чего начать и как избежать ловушки усложнения? Дадим рекомендации с небольшим примером.
Что такое закрепление сертификата в Android

Что такое закрепление сертификата в Android

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

Реализация ролевого контроля доступа в Elasticsearch

Как защитить данные и предотвратить несанкционированный доступ? Пройдем этапы настройки, дадим рекомендации по эффективному ролевому контролю.
Оптимизация начальной загрузки сервера с RocksDB

Оптимизация начальной загрузки сервера с RocksDB

Усовершенствуем процесс развертывания, перейдя от Redis к локальному хранению данных. Интегрируем RocksDB в код, сделаем схему хранения данных. Попутно решим проблему устаревших данных, преодолеем трудности работы с обновлениями Kafka, разберемся с утечкой памяти.
Как использовать перечисления в Golang

Как использовать перечисления в Golang

Изучим способы создания перечислений с идентификатором iota и структурными тегами. Проверим поведения на тестовых сценариях.
Flash 2.0 - полная победа Google над DeepSeek и OpenAI

Flash 2.0 — полная победа Google над DeepSeek и OpenAI

Оцените невероятные возможности Flash 2.0 - новой модели от Google - в сравнении с DeepSeek R1 и GPT o3-mini. Предлагаем результаты тестирования этих моделей по точности и скорости при решении сложных задач рассуждения, а также данные по стоимости каждой из них. 
Лень писать игру на Rust одному? Позовите на помощь ChatGPT

Лень писать игру на Rust одному? Позовите на помощь ChatGPT

На что способен ChatGPT? Заменит ли он в итоге программистов? Разберем его возможности на примере написания игры Pong и подумаем, не пора ли искать другую работу.
Миграция UI-ориентированной библиотеки Android на Compose Multiplatform (Android/iOS)

Миграция UI-ориентированной библиотеки Android на Compose Multiplatform (Android/iOS)

Написать кроссплатформенный пользовательский интерфейс на Kotlin - уже не проблема. Теперь Android-разработчики могут создавать iOS-приложения на Kotlin с минимальными дополнительными усилиями. Убедитесь в этом на примере успешной миграции Android-библиотеки на Compose Multiplatform. 
Использование конкурентности при создании API в Go

Использование конкурентности при создании API в Go

Когда в 2014 году я впервые начинал писать приложения на Golang, мое внимание сразу же привлекло самое необычное и интересное, что есть в этом...
Навигация по ландшафту ИИ в 2024 году: тренды, прогнозы, возможности. Часть 1

Навигация по ландшафту ИИ в 2024 году: тренды, прогнозы, возможности. Часть 1

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

Почему ИИ не может предсказывать будущее

Большие языковые модели блестяще угадывают следующее слово в предложении. Но могут ли они предсказывать будущее человечества? Способны ли они предвидеть случайные смысловые сдвиги в человеческом языке, рождающиеся из нашего телесного опыта взаимодействия с миром? Предлагаем поразмышлять над этими глубоко человеческими вопросами.
Шаблон "запрос-ответ" в RabbitMQ: подход на основе EventListener в Node.js

Шаблон «запрос-ответ» в RabbitMQ: подход на основе EventListener в Node.js

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

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

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

Использование методов расширения в C# для элегантного и плавного кода

Методы расширения являются неотъемлемой частью современной платформы .NET и широко применяются в языке запросов LINQ, одной из лучших функциональных возможностей .NET. К сожалению, многих они отпугивают:...
Вкратце о прокси Spring Boot

Вкратце о прокси Spring Boot

Изучим нюансы прокси-системы Spring и сформулируем ее золотые правила. Сравним прокси JDK и CGLIB, поможем определиться с выбором. Рассмотрим дополнительные сценарии.
Go & RabbitMQ

Рабочая очередь в Go с RabbitMQ

Мы создадим систему рабочих очередей, в которой будут появляться новые задания. Обработчики (workers) будут следить за очередью и выполнять работу по мере поступления. Система...
5 простейших приемов работы на C#

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

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

Docker для разработки Go с горячей перезагрузкой

Создание модуля Go В Go 1.13 были введены модули. Это означает, что больше не нужно размещать все проекты в одно рабочее пространство Go. Для начала создаем...
Kotlin-реализация RecyclerView на Android

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

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

Kotlin изнутри: как работают inline-функции

Inline-функции могут как и увеличить код, так и повысить его производительность. Чтобы с выгодой использовать этот Kotlin-инструмент, необходимо понять принцип его действия, а заодно разобраться в том, зачем нужен crossinline и как работает reified.
Как разбить текст на абзацы с помощью Python

Как разбить текст на абзацы с помощью Python

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

С Kotlin приведение стало еще удобнее

Приведение — это необходимое зло в программировании. Мы обожаем его ненавидеть. В Kotlin выполнять приведение намного приятнее, чем в Java. Читайте ниже об очень известном, малопонятном...
Android

Dynamic Feature Modules: навигация

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

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

Научимся работать с такими инструментами статического анализа, как MyPy, Bandit и Radon. Они предоставляют мгновенную обратную связь об уязвимостях и ошибках в коде, а также снабжают разработчика полезными метриками.
Создание расширяющих методов на C#

Создание расширяющих методов на C#

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

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

Часть 1, Часть 2 Это вторая статья серии, посвящённой контейнеризации разработки в Python. В Части 1 мы уже разобрали лучшие практики контейнеризации Python-сервиса. Здесь мы...
Утраченное искусство красоты кода 

Утраченное искусство красоты кода 

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

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

Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5 Многие считают, что наука о данных— это крутые алгоритмы машинного обучения и машины на автопилоте. Позвольте вас...
Для чего нужен указатель в Си?

Для чего нужен указатель в Си?

Указатель в Си  —  это переменная, содержащая адрес другой переменной. Сложность указателей заключается в понимании где и для чего они могут пригодиться. Перед тем, как...
Pattern

Шаблоны функционального программирования. Рецепты

Эти рецепты будут наиболее полезны для тех, кто переходит от функциональных библиотек, таких как ramda, к использованию алгебраических типов данных (ADT). Мы будем использовать...
AWS

Автоматизация скриптов на Python при помощи AWS Lightsail

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

MVVM на Android с компонентами архитектуры + библиотека Koin

Введение С MVVM (Model-View-ViewModel) процесс разработки графического интерфейса для пользователей делится на две части. Первая — это работа с языком разметки или кодом GUI. Вторая — разработка бизнес-логики или...
Data Science

Анализ независимых компонент в Python

Предположим, вы на вечеринке беседуете с милой девушкой. Вас атакует множество звуков: разговоры людей по всему дому, громко играющая на фоне музыка. Тем не...
Добавляем в приложение SwiftUI холст Freeform, чат и видеозвонки

Добавляем в приложение SwiftUI холст Freeform, чат и видеозвонки

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

4 ситуации из жизни лямбда-функций в Python

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

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

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

9 Уровней применения функции zip в Python

Введение В Python есть несколько встроенных функций, которые делают код очень элегантным. Одна из них  —  функция zip. Но начинающим не всегда бывает понятно, как...
Как создать загрузчик с вращающимися кругами в Jetpack Compose

Как создать загрузчик с вращающимися кругами в Jetpack Compose

Хотите порадовать пользователей анимацией с вращающимися разноцветными кругами? Выполнить ее в Jetpack Compose позволит функция SpinningCirclesLoader. Предлагаем руководство с несколькими вариантами ее использования. 
Эффективные шаблоны архитектуры программного обеспечения

Эффективные шаблоны архитектуры программного обеспечения

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

Начало работы с Elasticsearch

Что такое Elasticsearch? Elasticsearch(ES) — это распространенная поисковая система с открытым исходным кодом, основанная на индексе Lucene. Написана она на языке Java и доступна для многих платформ....
Python

5 задач для Python

Лучший способ укрепить знания и попрактиковаться в Python Цель этой статьи — помочь вам разобраться в основах языка, а не поделиться готовыми ответами, которые легко вызубрить и списать. 5...
Python

Избегайте этих нелепых ошибок при работе с Python

Чем больше вы практикуетесь, тем легче программирование становится для вас, но суть не меняется: программирование — это сложно. Оно может стать ещё сложнее при неудачном сочетании обязательств и рабочих...
Python

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

Предыдущие части: Часть 1 Вспомним о чем шла речь Предыдущий пост я писал про основы декораторов в Python. Для тех, кто не читал её, в двух...
Git

Руководство для начинающих по Git: что такое журнал изменений и как его создать

Допустим, вы разработчик и на одном из ваших проектов используете Git. Вы хотите поделиться сделанными вами изменениями с другими пользователями, но не знаете, как....
Java

Кто на свете всех сильнее - Java, Go и Rust в сравнении

Мне показалось интересным провести сравнение между Java, Go и Rust. Речь идет не о бенчмарке, а о сравнении таких характеристик, как размер выходного исполняемого...
Angular

Веселимся с Angular и трансформаторами в TypeScript

Вам знакома проблема обработки подписок на RxJs вручную? Помните, как забыли одну? Или однажды подумали, что использование AsyncPipe в шаблоне будет безопасно, но...