Бесконечное количество репозиториев Git на Cloudflare Worker с быстрым развертыванием

Бесконечное количество репозиториев Git на Cloudflare Worker с быстрым развертыванием

Авторы Gitlip рассказывают о своем продукте — инструменте совместной разработки в эпоху искусственного интеллекта. Это комплексное сочетание контроля версий на основе Git, совместного написания кода и развертывания в один клик. Цель — упростить практическое применение современных моделей искусственного интеллекта.
C++: полное руководство по параметризованным классам

C++: полное руководство по параметризованным классам

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

Программа на Си для проверки числа: положительное или отрицательное

Чему вы научитесь в этой статье? Проверять, является ли число (введенное пользователем) отрицательным или положительным. Какие нужны знания для понимания этой программы? Потребуются знания по следующим темам на...
Программирование на Java. Глубокое погружение в ключевой функционал Java 21

Программирование на Java. Глубокое погружение в ключевой функционал Java 21

Разберем новый LTS-выпуск: детализацию, проверку типов, решаемые с помощью записей проблемы, запечатанные классы/интерфейсы и подробнее  -  сопоставление с образцом. Чем обусловлены актуальность и популярность, каковы факторы значимости Java?
Топовые пакеты Python для очистки данных

Топовые пакеты Python для очистки данных

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

Перехват сетевых запросов из мобильного приложения

Предлагаем пошаговое руководство по установке и настройке перехвата сетевых запросов с помощью прокси-сервера. Этот процесс открывает широкие возможности для отладки, оптимизации производительности и анализа безопасности приложений.
Анализ тональности в 3 шага: использование quick_sentiments в Python

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

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

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

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

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

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

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

Хотите порадовать пользователей анимацией с вращающимися разноцветными кругами? Выполнить ее в Jetpack Compose позволит функция SpinningCirclesLoader. Предлагаем руководство с несколькими вариантами ее использования. 
Встроенная поддержка контейнеров для .NET 7  -  контейнеризация приложений .NET без Dockerfile

Встроенная поддержка контейнеров для .NET 7  —  контейнеризация приложений .NET без Dockerfile

Рассмотрим стандартный подход Dockerfile для приложений .NET 6 и функционал нового SDK-пакета с настройками и параметрами для целей локальной разработки. Сделаем рабочий процесс GitHub Action для создания приложения, сборки образа Docker и отправки на DockerHub.
Создание и отслеживание первого рабочего потока Github Actions

Создание и отслеживание первого рабочего потока Github Actions

Github Actions  —  это собственное решение Github для CI/CD (непрерывной интеграции и непрерывного развёртывания ПО). Оно стало доступно сообществу разработчиков с момента запуска Github...
Докеризируем среду разработки в VS Code

Докеризируем среду разработки в VS Code

Работая над последним проектом, я столкнулся с проблемой, которая заключалась в последовательном запуске проектов в нескольких ОС. Я потратил несколько недель, пытаясь исследовать файлы...
Как создать бессерверное приложение с помощью AWS Chalice

Как создать бессерверное приложение с помощью AWS Chalice

Недавно я наткнулся на AWS Chalice и был очарован его простотой и удобством пользования. AWS Chalice  —  это бессерверная платформа, которая позволяет создавать бессерверные приложения...
Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

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

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

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

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

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

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

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

Как Nginx справляется с тысячами конкурентных запросов

Изучим безблокировочную архитектуру Nginx. Из каких компонентов она состоит и почему этот событийный подход быстрее?
Темная сторона однонаправленных архитектур Swift

Темная сторона однонаправленных архитектур Swift

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

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

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

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

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

18 понятий программирования, о которых вы никогда не слышали (но должны были!)

Откройте для себя "скрытые жемчужины" программирования, чтобы улучшить навыки в написании кода. Освоив эти 18 понятий, вы получите мощные инструменты для простого решения сложных проблем - будь то оптимизация производительности, безопасности или читабельности. 
[SwiftUI] @AppStorage: управление UserDefaults с помощью ViewModel

[SwiftUI] @AppStorage: управление UserDefaults с помощью ViewModel

Чем @AppStorage отличается от @State и как решается потенциальная проблема @AppStorage с самим SwiftUI? Применим подход со ViewModel.
8 полезных приемов программирования на C++

8 полезных приемов программирования на C++

1. Как включить все стандартные библиотеки одной командой Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени...
Загрузочные представления в SwiftUI

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

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

12 проверенных способов оформления продакшн-кода на Python

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

Обучение Inception в Google распознаванию пользовательских изображений

Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем выпить чашку...
Поврежден жесткий диск? Python спешит на помощь!

Поврежден жесткий диск? Python спешит на помощь!

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

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

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

Как последовательно писать аналитические SQL-запросы за 8 шагов

Сразу никогда не бывает очевидно, как перейти от простого SQL-запроса к сложному, особенно если запрос содержит сложные вычисления. Одна из «опасностей» SQL заключается в том, что можно создать исполнимый запрос, но вернуть неверные данные. Например, легко увеличить значение вычисляемого поля, объединив его с несколькими строками. Автор материала показывает, как строить SQL последовательно, чтобы сократить количество ошибок.
5 функций CLI на Rust для оптимизации привычных инструментов

5 функций CLI на Rust для оптимизации привычных инструментов

Хотите стать более продуктивным? Rust предоставит вам возможность обновить некоторые из повседневных инструментов командной строки!
Unix

Терминал: 3 команды для продуктивности

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

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Python не только самый универсальный язык программирования, но и самый гибкий, когда речь заходит об интеграции новых функций. Магические команды являются одной из таких...
Топ-13 пакетов Python в 2023 году

Топ-13 пакетов Python в 2023 году

Предлагаем обзор 13 лучших пакетов Python, которые помогут ускорить процесс разработки. Оцените невероятные возможности Python, широту и глубину доступных ему задач (особенно в сфере машинного обучения).
Matplotlib или Plotly: как выбрать библиотеку для визуализации данных в Python

Matplotlib или Plotly: как выбрать библиотеку для визуализации данных в Python

Не знаете, что предпочесть: Plotly или Matplotlib? Неправильный выбор может стоить вам часов работы и свести на нет всю эффективность дэшборда. Секрет в том, что "лучшей" библиотеки не существует — есть та, что идеально подходит под ваши цели. Готовы узнать, какая из них сделает ваш проект по-настоящему мощным?
Подключение приложений Android к серверу с помощью gRPC

Подключение приложений Android к серверу с помощью gRPC

Пройдем весь процесс поэтапно: создание проекта, файл Gradle, канал взаимодействия клиента и сервера. Настроим локальный сервер, потоковую передачу от клиента и двунаправленную с асинхронной «заглушкой», а также «защелкой» с обратным отсчетом для ожидания текущего потока.
Пример сквозного ELT-процесса для хранилища данных с Postgres

Пример сквозного ELT-процесса для хранилища данных с Postgres

Поэтапно сделаем витрину данных со всеми аспектами, разложим все по полочкам. Рассмотрим разные сценарии ее построения.
Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Решение GitHub полностью отказаться от тостовых уведомлений в своих продуктах, мотивированное заботой о доступности, вызвало бурную дискуссию в сообществе. Но является ли запрет действительно решением проблемы?
Android

Изменение типа с помощью typealias

Когда определения типов отвлекают от значения вашего кода из-за нечитабельности, выразительности или просто длины, у Kotlin есть подходящая функция: typealias! Typealias позволяет давать альтернативные...
Jetpack Compose Canvas: 10 практических примеров

Jetpack Compose Canvas: 10 практических примеров

Разрабатываете пользовательское представление, игру или визуализацию данных? API Canvas обеспечит вам необходимые гибкость и контроль. Ознакомьтесь с его возможностями по созданию пользовательских рисунков.
Как подключить визуальный отладчик к задачам МО в Kubernetes

Как подключить визуальный отладчик к задачам МО в Kubernetes 

С ростом размеров и сложности моделей МО все более востребованными становятся облачные ресурсы для их обучения. В связи с этим особую актуальность приобретает вопрос отладки. В статье рассмотрим способ подключения визуального отладчика VSCode к удаленной среде глубокого обучения, что позволит оптимизировать и повысить эффективность отладки.
Насколько С++ быстрее Python

Насколько С++ быстрее Python

Есть миллион причин любить Python (особенно специалистам по данным). Но сильно ли он отличается от более профессиональных низкоуровневых языков программирования, таких как С или С++? Скорее всего, многие дата-специалисты или пользователи Python задавались этим вопросом или однажды задумаются об этом.
9 первоклассных функций Pandas Python для работы с данными

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

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

Продвинутый функционал Git: хитрые приемы и команды

git  —  очень мощный инструмент, который практически каждый разработчик задействует ежедневно. Но для большинства его использование сводится всего к нескольким командам: pull, commit и...
Пакет Lambda-слоев AWS для Python

Пакет Lambda-слоев AWS для Python

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

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

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

Rust: безопасный парсинг с нулевым копированием

В Rust парсинг с нулевым копированием избавляет от ошибок безопасности памяти, возникающих в других языках. Руководство по использованию такого алгоритма позволит повысить общую производительность системы.
SQL

Инъекция SQL: руководство для начинающих

Внедрение кода или инъекция SQL — это уязвимость системы безопасности в Интернете, позволяющая злоумышленнику завладеть доступом к SQL-запросам в базу данных. Так он может получить...
JavaScript

Подробнее о функциях высшего порядка

В JavaScript, функции являются “функциями первого класса”, соответственно они могут: храниться в переменной, объекте или массиве. передаваться как аргументы в другую функцию. и даже...
Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

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

10 практических примеров использования функций высшего порядка при разработке Android

Функции высшего порядка могут значительно повысить качество и удобство сопровождения кода. Рассмотрим 10 полезных примеров того, как их можно использовать.
Модули Python для ускоренной обработки JSON

Модули Python для ускоренной обработки JSON

Познакомимся с 5 модулями Python, которые значительно расширяют возможности разработчиков при работе с JSON. Среди них: orjson, tortilla, jsonpickle, jsondiff и GenSON.
Элегантное ООП на Python

Элегантное ООП на Python

Сила Python в его гибкости. Это один из самых простых языков для объектно-ориентированного программирования. Иногда его даже критикуют за чрезмерную гибкость. Я покажу самый...
Python

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

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

Последовательное объединение адаптеров с помощью MergeAdapter

Пример использования: отображение верхнего и нижнего колонтитулов списка. MergeAdapter — это новый класс, доступный в recyclerview:1.2.0-alpha02, который позволяет последовательно объединять несколько адаптеров для отображения в одном RecyclerView....
Поиск утечек памяти с помощью автоматизированных тестов

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

Процесс управления памятью может стать фактором, весьма затрудняющим работу в приложениях iOS. В связи с этим нужно уделять пристальное внимание размещенным в памяти object...
Космическое приключение компилятора Golang

Космическое приключение компилятора Golang

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

Рабочий процесс в Linux, который должен освоить каждый бэкенд-разработчик

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

C++: практическое руководство по пересечению множеств

Изучим нюансы set_intersection, проиллюстрируем примерами. Дадим рекомендации по производительности.
Как создать CSV-файл с помощью C++

Как создать CSV-файл с помощью C++

На примерах разберем разные подходы, дадим рекомендации по повышению производительности. Рассмотрим реальный сценарий и типичные ошибки.
Шаблон «Стратегия» на Go

Шаблон «Стратегия» на Go

Изучим нюансы шаблона: когда, зачем, как и где применяется. Поэтапно отследим его реализацию, проиллюстрируем кодом.
Однострочный for на Python: списковое включение и генераторные выражения

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

Генератор словарей и генератор кортежей - как написать цикл for в одну строчку при помощи специальных генераторных выражений?
OOP

Хитрости объектно-ориентированного программирования. Часть 2: Закон Деметры

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1   Единственный закон в программировании — это отсутствие законов. А закон Деметры — это, скорее, рекомендации, а...
Как создать атомарный загрузчик в Jetpack Compose

Как создать атомарный загрузчик в Jetpack Compose

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

C++: подробное руководство по выводу массива

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

Ошибка дублированного класса в Android для Kotlin

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

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

Хотите крепко спать, зная, что ваш код не будет взломан? Обеспечьте себе спокойную жизнь с помощью модульных тестов. Узнайте о том, что такое модульное тестирование, зачем оно применяется и как его реализовать на Python.
Продвинутые концепции Kafka для старшего инженера-программиста

Продвинутые концепции Kafka для старшего инженера-программиста

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

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

Ищете эффективные средства управление рисками информационной безопасности? С Netlas - инструментом интернет-разведки - потребуется всего несколько минут, чтобы создать область видимости любого целевого объекта и досконально исследовать ее.
Мир Docker и Kubernetes в аналогиях с жизнью разработчика

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

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

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

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

Строим собственный блокчейн на Python и разбираемся в его особенностях

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

Управление зависимостями в Python: файл pyproject.toml 

Познакомимся с файлом pyproject.toml, рассмотрим его практическое применение и возможности в управлении зависимостями в проектах Python.
Регулярные выражения в Python: необходимый запас знаний

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

Хотите овладеть силой регулярных выражений? Тогда вы обратились по адресу. Расскажем об основных принципах их действия, раскроем значения ключевых символов и рассмотрим 3 конкретные ситуации использования.
Golang

Сравнение Go и Rust через написание CLI-инструмента

В этой статье я описал свой увлекательный опыт создания небольшого CLI-приложения на двух малознакомых мне языках — Go и Rust. Если вы предпочитаете сразу перейти к самому...
Байт-код Java: назначение, структура и использование

Байт-код Java: назначение, структура и использование

Занимаетесь разработкой компиляторов, современных фреймворков или Java-инструментов? Тогда вам необходимо знать, как что такое байт-код, какова его структура, зачем он нужен и как с ним работать. Эти знания позволят эффективно использовать байт-код Java в своих целях.
Понятия "связанности" и "связности" в объектно-ориентированном программировании

Понятия “связанности” и “связности” в объектно-ориентированном программировании 

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

10 советов по созданию чистого кода для мобильной разработки на Kotlin в 2024 году

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

Фреймворк Executor в Java

Вплоть до Java 5 создавать потоки и управлять ими было возможно только на уровне приложения. Объекты Thread требуют значительного объема памяти. Таким образом, если...
Java

Java-Lombok: нужны ли геттеры и сеттеры?

Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap

Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap

Настроим веб-страницу index.html в поде Kubernetes с ConfigMap и веб-сервером Nginx. Убедимся в ее работоспособности, выведя сообщение в командную строку и веб-браузер.
Android

Повторное использование UI в Android - 5 главных ошибок

За последние пару месяцев у меня была возможность пересмотреть кое-какие реальные интерфейсы Groupon с целью вывести качество таких интерфейсов на новый уровень. Мы начали...
Лучшие практики для эффективного кода на Golang. Часть 1

Лучшие практики для эффективного кода на Golang. Часть 1

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

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

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

От отправителя к получателю: подход Rust к локальной передаче файлов

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

Операционная система Android

Android  —  это операционная система с открытым исходным кодом, созданная для мобильных устройств на основе модифицированного ядра Linux. Эта ОС разработана консорциумом Open Handset...
Новые способы оптимизации стабильности в Jetpack Compose

Новые способы оптимизации стабильности в Jetpack Compose

C выпуском Compose 1.5.4 появился новый режим работы - Strong Skipping. Он позволяет сделать большее количество классов стабильными без дополнительного кода. Предлагаем на конкретных примерах кода разобраться, насколько это удобно и эффективно.
Реализация шаблона Saga на Go: практический подход

Реализация шаблона Saga на Go: практический подход

Разберем нюансы управления продолжительными транзакциями в распределенных системах, реальные сценарии применения. Проиллюстрируем примером действие компенсации в этапах транзакций, откат предыдущих транзакций.
Как заказывали: админ-панель от Django Jet

Как заказывали: админ-панель от Django Jet

Нет пределов совершенству! Под таким девизом займемся улучшением панели администратора в приложении Django. А в качестве волшебной палочки воспользуемся шаблоном django-jet-reboot.
Golang

Приключения Java-разработчика, решившегося изучать Go

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

Контейнеризация проекта GO с Envoy

Контейнеризируем приложение и задействуем Envoy как прокси-службу взаимодействия. В итоге настроим, соберем, запустим и протестируем контейнер.
Скрытые нововведения в iOS 15

Скрытые нововведения в iOS 15

Самая интригующая часть нового функционала, появившегося по итогам проведения конференции WWDC21, была запрятана в замечаниях к выпуску Xcode 13. Все программы и библиотеки dylib, имеющие...
C++: полное руководство по циклам while

C++: полное руководство по циклам while

Разберем сценарии применения, проиллюстрируем практическими примерами, дадим рекомендации. Когда предпочтительнее цикл do-while?
Python

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

Создаем интерактивный словарь В этой серии из 10 статей мы будем использовать Python для написания 10 реальных приложений. И в процессе создания этих приложений мы...
Оптимизация начальной загрузки сервера с RocksDB

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

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

Чистая архитектура с MVVM

Для лучшего понимания чистой архитектуры давайте создадим примерный проект. Это приложение, на первой странице которого показывается список персонажей из мультсериала «Рик и Морти» с...
Golang

Интерфейсы в Go для повышения тестируемости кода

Интерфейсы в Go Интерфейсы  —  это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира...
Как создать пользовательскую поисковую панель SwiftUI с LazyVStack

Как создать пользовательскую поисковую панель SwiftUI с LazyVStack 

Решаем практическую задачу по созданию инструмента для выбора кода страны - реализуем пользовательскую поисковую панель LazyVStack, содержащую данные с разделами и их индексами.
C++: подробно о реализации двусторонней очереди

C++: подробно о реализации двусторонней очереди

Изучим особенности реализации deque, ее отличия от vector и разберем нюансы производительности. Проиллюстрируем примерами и реальным сценарием.
От отправителя к получателю: подход Rust к локальной передаче файлов

От отправителя к получателю: подход Rust к локальной передаче файлов

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

Python: публикация ваших пакетов в PyPi

Примечание: исходный код можно найти на GitHub. Если вы работаете с Python, то, вероятно, знаете о пакетах, которые можно загрузить и импортировать в свои проекты...
Django REST Framework: REST API на Python с нуля

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

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

PHP: типы переменных

Основным способом хранения информации внутри PHP-программы является использование переменных. Рассмотрим типы данных для их создания.
Data Science

4 способа обработки ошибок для стеков

Обработка ошибок — это часть рабочих будней каждого программиста. Всегда были и будут ситуации, когда по какой-либо причине код не заработает, и наша задача — следить за тем,...