Мой первый опыт работы с языком Gleam
Gleam - надежный инструмент в мире функционального программирования. Проведем объективное исследование возможностей этого языка и выделим его сильные стороны.
ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев
Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
Использование конкурентности при создании API в Go
Когда в 2014 году я впервые начинал писать приложения на Golang, мое внимание сразу же привлекло самое необычное и интересное, что есть в этом...
Как настроить внешний вид Visual Studio Code
Хотите, чтобы редактор кода способствовал вашей продуктивности и не вызывал усталости глаз? Ознакомьтесь с подборкой популярных тематических пакетов, делающих VS Code визуально приятным и более производительным.
Освоение функциональных возможностей Kotlin
Ознакомьтесь с основными функциями Kotlin. Их эффективное использование позволит создавать более упорядоченный, чистый, удобочитаемый и многократно используемый код.
Методы лингвистического моделирования с использованием Python
Лингвистическое моделирование как способ адекватной интерпретации текста, выявления и предупреждения в нем ошибок - один из конкурентных инструментов Python. Научитесь владеть этим инструментом и станьте грамотным программистом.
Как восстановить положение прокрутки виджета RecyclerView
Возможно, у вас была проблема, когда RecyclerView терял позицию прокрутки при повторном создании Activity/Fragment. Обычно это происходит из-за того, что данные Adapter загружаются асинхронно...
Повышение безопасности Angular-приложения путем интеграции OCR и биометрии
Хотите защитить пользователей своих приложений от мошеннических действий? Сделайте это с помощью автоматического извлечения данных путем OCR и биометрических технологий. Предлагаем подробное руководство по интеграции OCR с биометрическими решениями.
Обработка файлов на C
Какие функции используются для открытия, редактирования и закрытия файлов? Рассмотрим особенности их применения с текстовыми и двоичными файлами.
Вопросы для собеседования iOS — Swift. Часть 2
Продолжаем разбирать вопросы. Рассмотрим конкретные и абстрактные типы, псевдоним типа, обработку исключений и спецификаторы доступа.
Scrum: 5–3–5–3–3
В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где:
первые “3” — три роли Scrum;“5” — пять событий...
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
Слияние больших языковых моделей с помощью mergekit
Слияние — инновационный способ создания передовых языковых моделей. В сегодняшнем гайде рассмотрим слияние с помощью библиотеки mergekit, подробно опишем, как работают механизмы SLERP, TIES, DARE и passthrough, а также приведем примеры конфигураций.
Лучшие практики написания кода в Spring Boot
Фреймворк Spring Boot позволяет быстро создавать и легко запускать высокопроизводительные Spring-приложения корпоративного уровня. Рекомендации опытного специалиста помогут максимально упростить разработку такого приложения.
Нормальное завершение работы в Go
Go очень популярен среди разработчиков бэкенда, а его сообщество с каждым днем только растет.Лично я предпочитаю писать код на Go.
В этом кратком руководстве описывается...
Заменят ли потоки данных циклы в Java?
Затронем такую тему, как потоки данных в Java. Сравним их показатели производительности с циклами, а также выявим преимущества и ограничения в применении.
Топ-6 инструментов и фреймворков для искусственного интеллекта
Инженеру искусственного интеллекта требуется множество навыков. Один из них - знание инструментов и фреймворков, используемых в области ИИ. Предлагаем ознакомиться с самыми популярными и значимыми из них.
Событийно-ориентированная архитектура
Создадим простой проект Spring Boot с темами и разделами Kafka для публикации событий отправителями и подписки получателей. Разберем стратегии реализации повторных попыток, масштабируем микросервисы.
Ошибка дублированного класса в Android для Kotlin
Разберем сценарий, в котором появилась ошибка, и поэтапно ее устраним. Воспользуйтесь предлагаемым решением, чтобы быстро с ней справиться.
C++: практическое руководство по priority_queue
На примерах покажем, как создаeтся приоритизированная очередь, применяются пользовательские типы, обходятся ограничения. Рассмотрим реальный сценарий.
Python — идеальный инструмент для любой проблемы
Размышления о моей первой программе на Python.
Размышления это всегда помогающее (а иногда и развлекающее) занятие. Из ностальгических соображений, конечно, если можно испытывать ностальгию по...
Создание простого клиента RabbitMQ с помощью Go
Как известно, Go — это язык программирования с открытым исходным кодом, позволяющий легко создавать простое, надёжное и эффективное программное обеспечение.
RabbitMQ представляет собой общедоступный программный...
MVVM на Android с компонентами архитектуры + библиотека Koin
Введение
С MVVM (Model-View-ViewModel) процесс разработки графического интерфейса для пользователей делится на две части. Первая — это работа с языком разметки или кодом GUI. Вторая — разработка бизнес-логики или...
Кодифицируйте схемы архитектуры AWS уже сегодня
Разберем преимущества этой альтернативы интерфейсам drag-and-drop. Создадим простую схему бессерверной архитектуры.
Использование строк в Rust
Копировать одну переменную в другую и ожидать, что значение будет доступно в первой переменной — это обычное дело для многих языков программирования. Но это не совсем...
Как с легкостью создать установщик пакетов Android
Ищете простой способ создания установщика пакетов Android? Библиотека Ackpine позволит выполнить этот процесс, избавив вас от многих забот и большого объема кода.
Элегантное ООП в Python
Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится!
Что за магические методы?
Магические методы — это специальные методы в python, обрамленные двумя...
Как специалисту по данным написать веб-приложение, используя простой Python
Проект машинного обучения нельзя назвать действительно законченным, пока у вас нет хорошего способа его продемонстрировать.
Раньше для демонстрации проекта хватало хороших визуализаций или небольших PPT,...
Как PyPy ускоряет Python до уровня C?
Обзор PyPy, быстрого интерпретатора Python: улучшение производительности программы без изменения кода!
Почему микросервисы нужны каждому разработчику
Изучим преимущества и недостатки микросервисов: как здесь создается, развертывается и сопровождается ПО, определяются границы сервисов. Разберем стратегии надежной микросервисной архитектуры.
C++: практическое руководство по Transform
Изучим разновидности и нюансы этого универсального инструмента. Проиллюстрируем примерами, разберем реальный сценарий и типичные ошибки.
На собеседование в Google через челлендж Python #1
Как-то раз я искал в гугле что-то насчёт Python, как вдруг всплыло приглашение принять участие в испытании по программированию от Google (так называемое foo.bar...
Сетевое программирование в Go
Предлагаем пошаговый гайд по созданию надежного TCP-сервера с использованием Go. Такой сервер обеспечивает регистрируемую и контролируемую доставку потока одновременных соединений.
Принципы SOLID в инженерии данных. Часть 1
Продемонстрируем на примерах, как нарушается и соблюдается каждый принцип и что получается при расширении кодовой базы. Разберем достоинства и недостатки, в каких ситуациях принципы SOLID нужны, в каких - нет.
Не самые очевидные советы по написанию DTO на Java
Как облегчить себе жизнь при работе с Data Transfer Object: создаем неизменяемые DTO, избегаем нулевых значений и упрощаем инициализацию, руководствуясь книгой "Java: эффективное программирование".
7 малоизвестных, но полезных библиотек Python
Эти библиотеки отлично справятся с вашими повседневными задачами. Они помогут оживить вывод консоли, сгенерировать фиктивные данные, выполнить стилизацию в духе ASCII-арта, упростить работу с датами и изображениями, облегчить обработку NLP, спланировать время выполнения функций.
Прощай, Python! Здравствуй, C#!
Рассказ о том, как один программист перешел с Python на C# и что его к этому побудило.
Запечатанный класс
Часто нам приходится представлять ограниченный набор возможностей: веб-запрос либо успешно выполняется, либо не выполняется, User может быть либо про-пользователем, либо обычным.
Чтобы смоделировать это, мы...
5 Расширенных возможностей Pandas и как ими пользоваться
Pandas — это золотой стандарт в обработке данных. А функциональные возможности библиотеки по загрузке, фильтрации, обработке и изучению данных быстро сделали ее излюбленным инструментом аналитиков.
Конечно же,...
Постквантовая криптография на Python, C и Linux
Предлагаем руководство для начинающих по постквантовой криптографии - лучшему методу защиты ценных данных от квантовых угроз. Вместо сугубо теоретического анализа, будем опираться на примеры кода на языках Python, C и Linux.
Введение в модульное тестирование на Python
Вы только что написали фрагмент кода и не знаете, что делать дальше. Отправлять ли pull request, чтобы коллеги провели ревизию кода или же протестировать...
Почему Go прекрасно подходит для DevOps
Go — это язык программирования с открытым исходным кодом, история которого началась в Google примерно десять лет назад. Сегодня Go стремительно приобретает популярность как язык будущего....
Разработка макроса Rust для автоматического написания шаблонного кода SQL
Макросы облегчают жизнь разработчикам, позволяя автоматизировать некоторые процессы. Сегодня поговорим о возможностях метапрограммирования в Rust.
Устранение неполадок в Kubernetes - стратегический подход
Работа с Kubernetes может серьезно озадачивать, особенно когда дело доходит до отладки и устранения сбоев. Основная сложность кроется в недостатке подробных сообщений об ошибках...
3 секретных оружия в арсенале Python
Я уже пишу на Python более 5 лет. Примечательно, что при этом мой арсенал инструментов с течением времени не увеличивался, а наоборот уменьшался. Многие...
Отображение превью камеры с помощью PreviewView
Расскажем, почему лучше использовать класс PreviewView для отображения превью в приложениях для камеры на Android.
Как автоматизировать удаление ненужных файлов с помощью Python
Пошаговое руководство по автоматизации удаления ненужных файлов. Поработаем с Python и планировщиком задач cron.
C++: полное руководство по параметризованным классам
Изучим особенности создания и реального применения этих классов. Проиллюстрируем практическими реализациями и примерами.
Долгожданные инструкции Switch-Case в Python
Python 3.10 обрел немало интересных возможностей, одна из которых привлекла мое внимание в особенности — структурное сопоставление с шаблоном, иначе говоря инструкции switch/case.
Несмотря на...
Шаблоны функционального программирования. Рецепты
Эти рецепты будут наиболее полезны для тех, кто переходит от функциональных библиотек, таких как ramda, к использованию алгебраических типов данных (ADT). Мы будем использовать...
Язык C: константы и литералы
Константы - фиксированные величины, которые не изменяются во время выполнения программы. Эти фиксированные величины также называются литералами.
Инструмент, который автоматически находит уязвимости в Python-коде
TL;DR
В январе 2019 года мы запустили инструмент, который эффективно находит уязвимости в Python-коде. Мы создали автоматизированную систему, в которой объединили алгоритмы анализа потока данных...
О дивный читаемый код
Введение
Большинство начинающих программистов сталкивается со многими дилеммами в процессе написания кода, например задумываются о том, какой код будет востребован в индустрии. У каждой компании...
Как стать разработчиком Go: в 6 шагах от карьеры
Golang (иначе Go) является востребованным языком программирования, особенно у тех, кто работает с продуктами Google. Он используется многими крупными компаниями такими, как Uber, Medium,...
C++: подробно о реализации двусторонней очереди
Изучим особенности реализации deque, ее отличия от vector и разберем нюансы производительности. Проиллюстрируем примерами и реальным сценарием.
Как написать на Java функцию, подобную sizeof в C
В качестве упражнения реализуем функцию sizeOf() на Java, чтобы без проблем получать размеры разных типов данных, как в C.
7 Лучших курсов и книг по программированию на Rust для начинающих в 2021 году
Если вы хотите изучить в 2021 году язык программирования Rust и ищете какие-нибудь полезные ресурсы, например книги, руководства и онлайн-курсы, то эта статья специально...
Реализация конвейера CI/CD «от и до»
Как эффективно автоматизировать интеграцию кода, ускорить разработку и выпуск надежных приложений, оптимизировав процессы? Полностью настроим конвейер с приложением Java, усовершенствовав автоматизацию.
7 фреймворков для работы с LLM
Предлагаем детальное описание 7 фреймворков с открытым исходным кодом для развертывания и обслуживания LLM. Сравните особенности, преимущества, ограничения и затратность таких фреймворков, как vLLM, Text Generation Inference, OpenLLM, Ray Serve, CTranslate2 и MLC LLM.
Как усилить электронные таблицы Google возможностями ChatGPT
Предлагаем улучшить электронные таблицы Google с помощью ChatGPT и начать работать с ними по-новому: более качественно, продуктивно и творчески.
С Kotlin приведение стало еще удобнее
Приведение — это необходимое зло в программировании. Мы обожаем его ненавидеть. В Kotlin выполнять приведение намного приятнее, чем в Java. Читайте ниже об очень известном, малопонятном...
Интерфейсы в Go для повышения тестируемости кода
Интерфейсы в Go
Интерфейсы — это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира...
Запуск тестовых сценариев с Maven
Не знакомы с Maven? Здесь представлена кое-какая информация об этом инструменте. Ее должно быть достаточно для начала работы с ним.
Для запуска тестовых сценариев традиционно...
Модульное тестирование с помощью JUnit в Android
Тестирование — неотъемлемая часть полноценной разработки программного обеспечения. Сегодня рассмотрим фреймворк JUnit, а также функции и правила, которые помогут провести тесты Android-продукта на достойном уровне.
Kotlin-реализация RecyclerView на Android
RecyclerView - улучшенная замена устаревшего и во многом несовершенного ListView. С помощью этого краткого обзора вы легко сможете создать свой собственный пользовательский RecyclerView.
Swift: ссылочные типы и циклы сохранения, weak и unowned
Разберем один из 10 технических вопросов недавнего собеседования по Swift и Objective C. На примере покажем, почему для предотвращения цикла сохранения применяется слабая ссылка weak, а не бесхозная unowned.
Альтернатива Docker Desktop, которая работает быстрее
Как сэкономить ресурсы процессора и памяти? Представляем быстрый, сверхлегкий, мощный и простой инструмент, с которым нормально работается на ноутбуке, открываются Chrome и любое другое приложение.
Подробно об акторах в Swift
Чем акторы похожи на очереди и как ими решаются типичные проблемы параллелизма? Разберем на примерах эффективное применение акторов, опишем правила взаимодействия с ними.
Как протестировать код на Go с Github Actions
Введение
Процесс тестирования очень важен при разработке программного обеспечения. Разработчики должны быть уверены в стабильности своего кода и в том, что он соответствует требованиям проекта....
Зачем Python столько знаков подчеркивания?
Неочевидные примеры использования символа нижнего подчеркивания для обеспечения инкапсуляции и улучшения читаемости вашего кода на Python
Сможет ли Julia занять место рядом с Python
Julia и Python —языки программирования, которыми я очень дорожу. Использование Julia вместо Python обладает множеством преимуществ, таких как меньшее время написания кода и более...
Генерация API-документации из docstrings на Python
pdoc3 - профессиональная документация с LaTeX и markdown, автоматическая генерация HTML и CSS из docstrings
C++: практическое руководство по инициализированию вектора размером
Изучим способы инициализации - от простых до самых сложных вроде пользовательских типов и многомерных структур. Разберем их нюансы и типичные ошибки, проиллюстрируем примерами и поможем выбрать оптимальный способ.
Микросервисы. Руководство для начинающих
Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы? Я постараюсь...
Rust или Си: кто Усэйн Болт в мире программирования?
Си — это сэнсэй черепашек-ниндзя
«Си — язык небезупречный, со странностями, но невероятно успешный». (Деннис Ритчи).
Си — это императивный язык программирования общего назначения и один...
Улучшение Python кода: замените if-elif условие на словарь!
Сегодня вы узнаете про быстрый, элементарный, но оттого не менее полезный совет, крайне редко упоминающийся в статьях о словарях Python.
Если вы уже знакомы с...
fastquadtree: Как я использовал Rust, чтобы сделать максимально быстрое квадродерево на Python
Как увеличить производительность муравьиного симулятора в 10 раз, а потом создать самое быстрое квадродерево на Python? История библиотеки fastquadtree — от решения конкретной задачи до высокопроизводительного open-source инструмента.
Многозадачность и параллелизм: руководство для начинающих
Многие новички в программировании путают понятия "многозадачность" и "параллелизм". Большинство ошибочно считает, что это одно и то же. Разберемся в сути этих понятий с помощью простых примеров, ярких образов и прозрачных аллегорий.
Использование методов расширения в C# для элегантного и плавного кода
Методы расширения являются неотъемлемой частью современной платформы .NET и широко применяются в языке запросов LINQ, одной из лучших функциональных возможностей .NET. К сожалению, многих они отпугивают:...
Создание интерфейсов RESTful API в Golang
Часть 1, Часть 2, Часть 3
В предыдущей статье мы говорили о создании «идеальной» настройки для Golang проекта. Теперь пришла пора найти для неё...
Овладей Python, создавая реальные приложения. Часть 1
Создаем интерактивный словарь
В этой серии из 10 статей мы будем использовать Python для написания 10 реальных приложений. И в процессе создания этих приложений мы...
LOESS в Rust
Пришло время перенести LOESS-код из Python на Rust? Предлагаем описание процесса переноса с оптимальными решениями при переписывании кода. Вы будете впечатлены возросшей производительностью переписанного кода!
Простое объяснение интерфейсов на Golang
Что общего у электророзеток с интерфейсами? Как создавать интерфейсы правильно? Попробуем понять этого непонятного зверя!
Переход на PgCat — прокси-сервер Postgres следующего поколения
Сравним функционал PgCat по временно́й задержке и корректности. Рассмотрим особенности балансировки нагрузки и отработки отказа реплики, клиентов с плохим поведением и поддержку сегментированных БД.
C++: полное руководство по перечислениям
Что придумали разработчики для преодоления ограничений C++? Познакомимся с практическими подходами к прохождению перечислений, дополним примерами кода и реальными сценариями.
Как загружать файлы и изображения в приложении Django
Вы каждый день загружаете какой-нибудь контент, будь то документы коллегам по работе или же различные файлы в любимую социальную сеть. В этом гайде вы узнаете, как это делается в приложении Django.
Инструменты для создания виртуального окружения в Python
В этой статье я хочу поделиться инструментами для создания виртуального окружения в Python, а также разобрать их преимущества и недостатки.
Различные инструменты для создания виртуального...
Эффективные шаблоны архитектуры программного обеспечения
Ознакомьтесь с востребованными шаблонами архитектуры программного обеспечения и их практическим применением. Четкое представление о том, какие из шаблонов наиболее эффективно работают в определенных ситуациях, - ключ к созданию оптимальной архитектуры.
Как создать анимацию кругового вытеснения в Jetpack Compose
Хотите разработать анимацию плавного кругового вытеснения, часто используемую в видеомонтаже и презентациях для создания плавных переходов между кадрами и слайдами? Предлагаем освоить как ручной, так и автоматический случаи использования этого анимационного эффекта.
Меньше образы Docker => быстрее CI-конвейер
CI/CD позволяет разработчикам и организациям реализовывать циклы задач быстрее. Автоматизируя такие процессы, как сборка, тестирование и развертывание ПО, мы затрачиваем меньше времени на типовые...
Python 3.11: функционал, который вам понравится
Стоит ли переходить на новую версию? Рассмотрим пять самых интересных новинок и одно суперкрутое улучшение.
Рабочая очередь в Go с RabbitMQ
Мы создадим систему рабочих очередей, в которой будут появляться новые задания. Обработчики (workers) будут следить за очередью и выполнять работу по мере поступления. Система...
Список важнейших команд в Docker
Содержание
#1. Сборка;
#2. Запуск контейнеров;
#3. Отладка контейнеров;
#4 О Docker в AWS ECS;
#5. Очистка образов Docker;
#6. Извлечение образов Docker из удалённого регистра;
#7. Экспорт и импорт...
20 фрагментов Python, которые стоит выучить прямо сегодня
Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности.
Как говорится в дзене Python:
Красивое лучше, чем уродливое.Явное лучше, чем неявное.
Вот...
C++: полное руководство по динамическим массивам
Изучим практическое применение этих массивов, оптимизацию их производительности. Проиллюстрируем примерами и реальным сценарием использования.
Автоматизируем задачи на Python с помощью ChatGPT
Используйте мощь искусственного интеллекта для построения графиков, отправки электронных писем и скрейпинга. Каждая из этих операций при участии ИИ займет всего несколько секунд.
Анализ инструментов Go для проверки уязвимостей безопасности
Уязвимости безопасности существуют в любом языке и любом коде. Одни из них пишут сами программисты, но большая часть проистекает из исходных зависимостей и даже базового Linux. Проведем полноценный обзор официальных инструментов Go для защиты кода: govulncheck, Github security dependency scan и gosec.
Объединение множеств C++: практическое руководство с реальными примерами
Научимся эффективно применять в проектах алгоритм std::set_union, оптимизировать его. Разберем нюансы, проиллюстрируем примерами и реальным сценарием.
Навигация по ландшафту ИИ в 2024 году: тренды, прогнозы, возможности. Часть 2
2024-й обещает стать годом инноваций, когда ИИ и технологии объединятся, чтобы перекроить карты наших возможностей. Узнайте о катализаторах демократизации и персонализации ИИ, первых маркетплейсах для сервисов и агентов ИИ, новых моделях ценообразования и маркетинговых диджитал-стратегиях.
Обзор полезных инструментов для интроспекции объектов Python
Поделимся полезными советами и приемами для проверки объектов Python и получения информации о коде во время выполнения. В связи с этим рассмотрим такие инструменты интроспекции, как встроенные функции, атрибуты объектов и модуль inspect.
Зачем усложнять разработку с AWS Lambda?
Время подискутировать! Автор рассматривает наметившуюся тенденцию усложнять бессерверную разработку с помощью AWS Lambda и высказывается за сохранение простоты и модульности данного сервиса.
Как составить Data Science портфолио? Часть 2
Предыдущие части: Часть 1
Портфолио — итеративно
У Фавио Васкеса есть отличная статья на тему того, как он получил работу в сфере Data Science. Как вы уже поняли, в своей статье он...
#01TheNotSoToughML | Что означает “подогнать линию”
Настало время восполнить пробелы в отношении алгоритмов и концепций машинного обучения. Разбираем интуитивные решения, которые стоят за построением прогностической модели в машинном обучении.
Анализ независимых компонент в Python
Предположим, вы на вечеринке беседуете с милой девушкой. Вас атакует множество звуков: разговоры людей по всему дому, громко играющая на фоне музыка. Тем не...
Реализация кэширования новостных тем в приложении TrendNow. Часть 5
В этой части вы узнаете о том, как эффективно реализовать кэширование новостных тем на стороне клиента с использованием базы данных Room. Это может быть полезно для снижения ограничения скорости API, уменьшения нагрузки на сервер, повышения эффективности приложения.








































































































