Python 3.11: функционал, который вам понравится
Стоит ли переходить на новую версию? Рассмотрим пять самых интересных новинок и одно суперкрутое улучшение.
10 шаблонов поведения для UX-дизайна
При разработке любого продукта важно понимать и учитывать ожидания пользователей. Если создавать продукт в вакууме, не принимая во внимание существующие варианты на рынке или...
Go: стратегия встраивания и ограничение
ℹ️ В статье используется Go 1.13.
Процесс встраивания состоит в замене вызова функции на тело этой функции. И хотя такая оптимизация увеличивает размер двоичного кода,...
Знакомство с функциональным программированием в Python, JavaScript и Java
Функциональное программирование (ФП) представляет собой процесс создания ПО путем компоновки чистых функций. В современном мире работодатели ищут программистов, способных применять к решению задач различные...
Уведомления о контактах
Android 11 мы делаем более ориентированным и выразительным для людей, переосмысливая то, как мы разговариваем по телефону, и создавая ОС, которая может распознавать и...
Реализация подсказок с помощью Modifier в Jetpack Compose
Занимаетесь проектированием интуитивно понятных интерфейсов? Тогда вам не обойтись без подсказок, особенно необходимых при обновлении приложения. Предлагаем упрощенную версию реализации подсказок с использованием Modifier — компонента библиотеки Jetpack Compose.
Язык С: типы данных
Типы данных в языке C - это обширная система, используемая для объявления переменных или различных функций. Тип переменной определяет, сколько места она занимает в памяти и как интерпретируется хранящийся битовый паттерн.
Как специалисту по данным написать веб-приложение, используя простой Python
Проект машинного обучения нельзя назвать действительно законченным, пока у вас нет хорошего способа его продемонстрировать.
Раньше для демонстрации проекта хватало хороших визуализаций или небольших PPT,...
Защита секретов в Android: от ключей API до хранения в продакшене
В Android-разработке хранение секретов в коде приложения — прямая угроза безопасности. Ключи API, токены и другие конфиденциальные данные могут быть извлечены из APK-файла. Узнайте, как построить надежную защиту, исходя из того, что клиентское приложение всегда может быть скомпрометировано.
Настройка Swagger документации для API в Golang
Часть 1, Часть 2, Часть 3
В предыдущей статье мы создали RESTful API в Golang. Теперь, когда у нас есть готовый проект, надо понять, как...
Терминал: 3 команды для продуктивности
Вот несколько важных вещей, помогающих мне быть продуктивным в течение всего рабочего дня:
Псевдонимы для команд.Команда pbcopy.Обратный поиск и другие трюки.
Псевдонимы
Псевдоним может быть одним из...
Шесть фич YAML, о которых не знает большинство программистов
YAML — это формат файла, обычно используемый для сериализации данных. Существует множество проектов, использующих файлы YAML для настройки, таких как Docker-compose, pre-commit, TravisCI, AWS...
R - язык для статистической обработки данных. Часть 2/3
Часть 1, Часть 2
Предыдущую часть мы закончили темой векторов, а в этой — переходим к матрицам.
9. Что такое матрица?
Матрица, как структура данных, тоже часто встречается в R.
Её...
Для чего нужен указатель в Си?
Указатель в Си — это переменная, содержащая адрес другой переменной. Сложность указателей заключается в понимании где и для чего они могут пригодиться.
Перед тем, как...
Контейнеры Docker и их связывание в сети
Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Почему ИИ не может предсказывать будущее
Большие языковые модели блестяще угадывают следующее слово в предложении. Но могут ли они предсказывать будущее человечества? Способны ли они предвидеть случайные смысловые сдвиги в человеческом языке, рождающиеся из нашего телесного опыта взаимодействия с миром? Предлагаем поразмышлять над этими глубоко человеческими вопросами.
Борьба с веб-скрейперами с помощью Rust
Боты, использующие инструменты веб-скрейпинга, могут быть использованы злоумышленниками в самых неприглядных целях. Можно ли им противостоять? Да! Сегодня рассмотрим мощный инструмент для борьбы с такими непрошенными гостями, построенный на Rust.
Как заказывали: админ-панель от Django Jet
Нет пределов совершенству! Под таким девизом займемся улучшением панели администратора в приложении Django. А в качестве волшебной палочки воспользуемся шаблоном django-jet-reboot.
Конкурентность на Go: объяснение шаблона Worker Pool
Введение
Если хотите, можете пропустить вводную часть и переходить сразу к подробному разбору реализации.
Когда я только начинал работать с языком Go, то немного скептически относился...
10 эффективных методов написания Python-кода в одну строку
Ознакомьтесь с руководством по сокращению Python-кода до одной строки с использованием передовых методов. Наглядные примеры и экспертные рекомендации помогут оптимизировать код, сделать его более лаконичным и эффективным.
Использование LLM в реальном мире
Как настроить большую языковую модель? Как составить промпт, чтобы получить приемлемый результат от ИИ? Как минимизировать количество токенов для снижения затрат? Предлагаем отправиться в увлекательное путешествие в мир ИИ и найти ответы на все эти вопросы.
Альтернатива switch в Python
Во многих языках программирования (например, JavaScript) есть операторы switch. Это блок кода, в котором значение сравнивается с цепочкой переключателей case. При обнаружении соответствия выполняется...
UseCase: лучшие практики чистой архитектуры и красные флаги
Предлагаем подробное руководство по юзкейсам, на которых основана чистая архитектура. Корректное использование юзкейсов - с учетом красных флагов - поможет пользователям приложений достигать желаемых результатов без лишних нервов и усилий.
Малоизвестные функции JavaScript
Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
Руководство по модулю Python itertools
Ознакомьтесь с 10 наиболее полезными функциями модуля Python itertools. Они помогут вам подняться на новый уровень программирования и стать более эффективным Python-разработчиком.
3 применения исключений, которые улучшат навыки программирования на Java
В статье мы узнаем:
1. Как выбрасывать исключение в пустом классе «Optional».2. Как тестировать и просматривать исключение.3. Как использовать ошибки утверждения.
1. Как выбрасывать исключение в...
Проект API с точки зрения разработчика Android
Обучающее руководство по созданию API с точки зрения разработчика Android. Рассмотрим разные аспекты данного процесса: структуру проекта, архитектуру, точки входа, внедрение зависимостей и тестирование.
Презентации в терминале
Забудьте о постоянных переключениях контекста, из-за которых убивается демонстрационный процесс. Создавайте терминальные презентации.
Разбираемся с компилятором Go
В статье речь идёт о Go 1.13
Компилятор Go занимает важное место в экосистеме Go. Компиляция — необходимый этап создания исполняемого двоичного кода. Компилятор проходит долгий путь:...
Почему имена Android-пакетов имеют вид com.xyz.abc?
Узнайте, почему необходимо использовать реверсивный домен организации при именовании пакетов в Android-проекте. Усвоив этот простой способ именования, вы сохраните свой код чистым, организованным и готовым к последующим изменениям.
C# — создаем клиент-серверный чат на TCP
Сделаем простую TCP-настройку, чтобы приложения C# «общались» по сети, как старые друзья. Снабдим сервер «ушами», а клиента - рацией.
Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium
Open Data Barcelona - это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и...
Анимируем скучные табличные представления в iOS-приложении
Почти в любом iOS-приложении присутствуют табличные представления. Их применяют для отображения одиночного столбца содержимого с вертикальной прокруткой, разделённого на строки.
Анимация — отличный способ привлечь...
Настройка компонентов и тем Material UI: современный подход
Воспользуйтесь руководством по созданию ультрамодульной библиотеки компонентов с помощью Bit и Material UI. Она обеспечит расширенный набор настраиваемых компонентов и тем с предварительным просмотром и документацией, а также многократно используемую среду разработки.
Как с легкостью создать установщик пакетов Android
Ищете простой способ создания установщика пакетов Android? Библиотека Ackpine позволит выполнить этот процесс, избавив вас от многих забот и большого объема кода.
Псевдоним типа в Swift
Рассмотрим практические применения typealias: упрощение сигнатур и типов функций, кортежи, рефакторинг и миграции, ограничения, замыкания, словари, протоколы. Изучим на примерах, как создаются четкие, лаконичные, гибкие структуры кода, благодаря чему в Swift совершенствуется процесс разработки, упрощаются сложные типы, повышается удобство восприятия кода.
Ознакомление с Work Manager в Android
Work Manager - это компонент Android Jetpack, который помогает выполнять задачи как можно быстрее и в наиболее подходящее время. Ознакомьтесь с его базовыми и продвинутыми возможностями, а также лучшими практиками использования.
Совместное использование кода в приложениях React и React Native
Хотите существенно сократить свои усилия и улучшить пользовательский опыт? Воспользуйтесь руководством по совместному использованию в веб- и мобильных приложениях общих элементов кода и дизайна в качестве зависимостей.
Не заблудитесь при работе с кластерами Kafka — возьмите компас
Представляем инструмент мониторинга кластеров KafkaCompass. Рассмотрим функционал этого приложения - со слов его разработчиков.
Python и Java: комплексное сравнение двух популярных языков программирования
Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
5 Расширенных возможностей Pandas и как ими пользоваться
Pandas — это золотой стандарт в обработке данных. А функциональные возможности библиотеки по загрузке, фильтрации, обработке и изучению данных быстро сделали ее излюбленным инструментом аналитиков.
Конечно же,...
Как Snowflake повышает эффективность dbt-моделей на Python
Исследуйте Snowflake - новейшую облачную платформу, позволяющую сделать более эффективным dbt-моделирование на языке Python. Сравните простоту, мощность и производительность dbt-моделей Python на Snowflake с настройками, необходимыми для запуска этих моделей на других платформах.
Как я создал веб-скрапер на Python для поиска жилья
Через несколько месяцев мне придется съехать из съемной квартиры и искать новую. Как бы это ни было тяжело, особенно учитывая замаячивший на горизонте ценовой...
Java-библиотеки, которые повысят вашу производительность
Время - деньги, так что повышая эффективность труда - вы экономите одно и помогаете преумножить второе. Расскажем о нескольких полезных библиотеках, с помощью которых вы сможете избавиться от шаблонного кода и сосредоточиться на разработке бизнес-логики.
Python. Пять уловок, которые нужно знать, уже сегодня
Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Почему вам стоит написать свой API-шлюз с нуля
Любой организации, имеющей в своем распоряжении пару микросервисов, необходим контроль за тем, кто получает к ним доступ и на каких условиях. Такой контроль помогает...
Знакомство с Anaconda: что это такое и как установить
Простое руководство по Anaconda и его установке на Ubuntu 16.04 (64-bit).
Что такое Anaconda?
Перед тем, как изучать Anaconda, рассмотрим Conda.
Цитируем определение Conda с официального блога:
Conda — это...
Реализация бесконечной прокрутки списка новостей в приложении TrendNow. Часть 4
Реализация бесконечной прокрутки в Lazy Column Jetpack Compose - новый шаг в создании новостного приложения TrendNow. Она позволит без проблем загружать больше трендовых новостей по мере того, как пользователь прокручивает список.
Порты Docker: что вы на самом деле открываете?
Docker - превосходный инструмент, но по умолчанию небезопасный. И дело тут не в портах, которые могут оказаться общедоступными. Дело в людях, которые сидят за клавиатурой. Подключайтесь к решение этой проблемы.
Почему не стоит использовать or для проверки нескольких условий в Python
Все еще пользуетесь or для проверки условий при программировании на Python? Разберем несколько причин, почему делать этого не стоит.
C++: полное руководство по перечислениям
Что придумали разработчики для преодоления ограничений C++? Познакомимся с практическими подходами к прохождению перечислений, дополним примерами кода и реальными сценариями.
Как поразить интервьюеров умением инспектировать App Bundle
Хотите произвести неизгладимое впечатление при собеседовании на новую должность? Воспользуйтесь приведенными ниже советами по получению и инспектированию App Bundle.
Интересные новые функции в .NET 10 и C# 14
Вышел .NET 10 — долгожданный релиз, который станет новой рабочей лошадкой для предприятий. Вместе с ним появляется C# 14 с синтаксическими улучшениями, которые делают код чище и выразительнее. В этой статье мы рассмотрим ключевые нововведения, которые действительно стоит внедрить в ваши проекты.
Как создать компонент Toast в SwiftUI
Расскажем, как, не напрягаясь, создать интересный компонент Toast в SwiftUI. Присоединяйтесь - скучно не будет!
Flash 2.0 — полная победа Google над DeepSeek и OpenAI
Оцените невероятные возможности Flash 2.0 - новой модели от Google - в сравнении с DeepSeek R1 и GPT o3-mini. Предлагаем результаты тестирования этих моделей по точности и скорости при решении сложных задач рассуждения, а также данные по стоимости каждой из них.
Обработка аргументов в Python с помощью argparse
Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Управление средами Python на профессиональном уровне
Все еще используете virtualenv? Попробуйте новый инструмент - virtualenvwrapper. Хотя virtualenv отлично управляет средами, virtualenvwrapper является его рекомендуемым дополнением. Сходство его команд с командами Linux облегчает запоминание операций.
Хитрости объектно-ориентированного программирования. Часть 4: Шаблон Starter для Android
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1, Часть 2, Часть 3.
Создание
Обычно мы создаем объекты в одном месте. Это может...
Понимание и реализация смарт-указателя Arc и мьютекса на Rust
Изучим модель владения, функционал потоков области видимости, попробуем самостоятельно разобраться с типажами-маркерами Send и Sync.
Отмена в корутинах
Часть 1, Часть 2
В разработке, как и в жизни, мы знаем, что важно избегать делать больше работы, чем необходимо, так как это может привести...
Go: трассировочный пакет
ℹ️ В статье речь идёт о Go 1.13.
В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
Почему гейм-дизайнеру нужно программирование
Программисту не обязательно быть гейм-дизайнером, но каждый гейм-дизайнер должен быть программистом. Узнайте о том, почему навык написания кода жизненно важен в разработке игр и как им овладеть.
QR-разложение матрицы
Наука о данных и разложение матриц
Специалистам по данным стоит хорошо знать несколько разложений матриц, потому что они помогают находить методы для актуальных вычислений и...
Как создать форму текстового фона в Jetpack Compose
Красивое оформление повышает привлекательность текста для пользователей. Сегодня расскажем, как с помощью Jetpack Compose "одеть" текст в фоновую форму.
382 часа на изучение Rust и блестящая обезьянка
Как создать игровой движок для физически корректного рендеринга? Впечатления о разных аспектах языка от инженера-программиста Unity, сравнение Rust и C#.
Новости об Android
Обновления для Android 11
Мы все еще находимся на стадии предварительного обзора для разработчиков Android 11.
Developer Preview 4
Превью-релиз был выпущен пару недель назад. О Developer Preview 4...
Как создать пользовательскую поисковую панель SwiftUI с LazyVStack
Решаем практическую задачу по созданию инструмента для выбора кода страны - реализуем пользовательскую поисковую панель LazyVStack, содержащую данные с разделами и их индексами.
Настройка приложения Go с проблемами сборки мусора
Как, выделяя больше памяти, сократить общее время сборки мусора и использования процессора? Расскажем, что получилось в настройке производительности.
Знакомство с объектно-ориентированным программированием в Python: классы и экземпляры
Новичок в ООП? Узнай, как создавать классы и экземпляры в Python
Про объектно-ориентированное программирование в Python писали многие. Большинство специалистов по обработке данных, в том числе...
Реализация структурированной конкурентности в Java и Kotlin
Направим наш пытливый ум в область изучения структурированной конкурентности, рассмотрим принципы ее реализации в Kotlin и Java, а по итогам научимся легко и безопасно запускать несколько программ.
Стоит ли заменить Python на Julia?
В течение последних двух лет популярность интерпретируемого языка Python, который был написан на C, резко возросла. Хоть он и является полезным языком, который стал...
Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap
Настроим веб-страницу index.html в поде Kubernetes с ConfigMap и веб-сервером Nginx. Убедимся в ее работоспособности, выведя сообщение в командную строку и веб-браузер.
Sealed-интерфейс Kotlin: полное руководство для Android-разработчиков
Хотите подняться на новый уровень производительности, эффективности и качества кода? Освойте sealed-интерфейсы Kotlin и начните внедрять их в свои проекты. Предлагаем исчерпывающее руководство по применению sealed-интерфейсов в Android-разработке.
5 приемов Python, которые отличают профессионалов от новичков
Чем отличается senior- от junior-программиста? Ответить на этот вопрос поможет Advent of Code. Этот обучающий сервис для программистов отлично иллюстрирует различия в подходах к решению задач специалистами разного уровня.
Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?
Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
Использование Kotlin Flow для отображения наблюдаемого состояния UI на экране в Android
Узнайте, что такое реактивное программирование и как оно реализуется в Android с помощью Kotlin Flow. Понимание разницы в использовании различных типов Flow позволит создавать отзывчивые, неблокирующие и реактивные пользовательские интерфейсы.
Наблюдаемость как суперспособность
Автор рассказывает о платформе отслеживания инцидентов incident.io, а ее устройстве изнутри и рекомендует, где и как разместить трассировки, чтобы облегчить жизнь разработчиков ПО.
Признания начинающего главного инженера-программиста. Часть 1
Говорят, чужой опыт дороже денег. Приобщаясь к нему, мы приобретаем не только мудрость, но и веру в себя. Ознакомьтесь с опытом начинающего главного инженера. Его признания станут для вас той опорой, которая поможет обойти подводные камни и выбраться из плена собственных иллюзий.
От Pandas к Pyspark
Если Pandas удобно использовать для небольших наборов данных, то Pyspark - отличный инструмент для распределенных вычислений огромных массивов данных. Возьмите на заметку готовую инструкцию по преобразованию кода Pandas в Pyspark.
Динамическое извлечение видеокадров в Android
Предлагаем пошаговое руководство по извлечению кадров из воспроизводимого видео в Android-приложениях с использованием ExoPlayer и MediaMetadataRetriever. Описанные здесь методы предлагают эффективные решения - будь то редактирование видео, анализ кадров или улучшение пользовательского опыта.
Продвинутые методы и техники списков в Python
Списковое включение
Это продвинутая функция списков Python, делающая код более чистым и читабельным. Композиция - это способ выполнения ряда операций над списком с использованием одной...
Создание кольцевой диаграммы на JavaScript
Предлагаем пошаговое руководство по созданию и настройке на JavaScript интерактивной кольцевой диаграммы. Следуя ему, вы приобретете навыки и знания, которые позволят создавать персонализированные кольцевые диаграммы.
5 продвинутых шаблонов React на пальцах
Знакомство с наиболее эффективными шаблонами через примеры их реализации, а также сопоставление основных плюсов и минусов.
Возможности контроля в JavaScript: методы AbortSignal.timeout() и AbortSignal.any()
Представляем два малоизвестных, но очень полезных метода управления асинхронными задачами: AbortSignal.timeout() и AbortSignal.any(). Оба эти метода поддерживаются основными веб-браузерами и позволяют корректно прервать асинхронные операции.
7 советов по очистке кода React
В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React.




















































































