Инструмент, который автоматически находит уязвимости в Python-коде
TL;DR
В январе 2019 года мы запустили инструмент, который эффективно находит уязвимости в Python-коде. Мы создали автоматизированную систему, в которой объединили алгоритмы анализа потока данных...
Оптимизация кода Python с помощью конечных запятых: мощная техника
Конечные запятые в списке или словаре могут показаться избыточными. Но на самом деле они позволяют улучшить читабельность Python-кода, предотвращают ошибки при перестановке строк, облегчают форматирование кода. Почувствуйте мощь этой техники, изучив примеры фрагментов кода с конечными запятыми и без них.
Программируем с ChatGPT: 10 советов
Хотите извлечь максимальную пользу из ChatGPT? Эти советы помогут ускорить работу, внедрив в нее ChatGPT, но при этом не допустить критических ошибок.
Git: простое руководство о том, как стать мастером контроля версий
Раскройте возможности контроля версий с помощью Git - системы, используемой в тысячах проектов и положившей начало новому уровню совместного написания кода.
Python-библиотеки интерпретации моделей ML
Все эти библиотеки устанавливаются через pip и сопровождаются подробной документацией. Акцент в них делается на визуализацию.
Yellowbrick
Yellowbrick — это расширение scikit-learn, которое позволяет использовать полезные и красивые...
5 удивительных скрытых возможностей Python. Часть 2
Python - эффективный и надежный язык программирования, пользующийся авторитетом в сообществе благодаря своей универсальности и динамике. Рассмотрим 5 недооцененных функций Python, которые сделают вас еще более грамотным разработчиком.
Создаем настраиваемую цепочку обязанностей в Go
Цепочка обязанностей или цепочка команд — это шаблон проектирования, позволяющий передавать запросы по цепочке Handlers. Каждый Handler решает, нужно ли обработать и расширить запрос или же...
Go — единственный выбор для бэкенд-разработчика?
Go впечатляет балансом свой простоты и мощи. Но можно ли его назвать "золотой клеткой" для бэкенд-разработчика? Способен ли он удовлетворить широкий спектр бэкенд-потребностей? Чтобы ответить на этот вопрос, оцените технические возможности языка Go.
Лучшие практики модульного тестирования
Тестирование имеет большое значение. Модульное тестирование — еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1
Увеличьте свои шансы на успех, впечатлив потенциальных работодателей знаниями и навыками. Разберем некоторые вопросы с подробными объяснениями и примерами.
Null - это зло!
Не сомневаюсь, что заголовок статьи привлек ваше внимание! А теперь позвольте мне аргументировать свою точку зрения, поскольку процентов на 50%, а то и больше,...
Parcel + Rust и WASM = идеальный ромком
Введение
Мне уже давно хотелось попробовать использовать Rust и WASM вместе. Причин для этого была масса: небольшой размер пакета, низкоуровневый доступ с надёжной производительностью и...
10 продвинутых советов по Git
Если вы уже понимаете, как работает Git, эта статья поможет вам развить умение работать с Git и стать более эффективным.
Как с легкостью создать установщик пакетов Android
Ищете простой способ создания установщика пакетов Android? Библиотека Ackpine позволит выполнить этот процесс, избавив вас от многих забот и большого объема кода.
Малоизвестные функции JavaScript
Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
18 понятий программирования, о которых вы никогда не слышали (но должны были!)
Откройте для себя "скрытые жемчужины" программирования, чтобы улучшить навыки в написании кода. Освоив эти 18 понятий, вы получите мощные инструменты для простого решения сложных проблем - будь то оптимизация производительности, безопасности или читабельности.
3 классные малоизвестные функции Pandas
Я и раньше писал о Pandas по очевидным причинам — это изумительная библиотека для анализа данных и даже для визуализации. Предыдущая статья была о функциях, которые...
Разворачиваем декораторы. Часть 1
Предпосылки
Для начала я должен убедиться, что все одинаково хорошо разбираются в теме. Если вам хорошо известны такие понятия как: переменные, параметры, возвращение значений переменной...
Байт-код Java: назначение, структура и использование
Занимаетесь разработкой компиляторов, современных фреймворков или Java-инструментов? Тогда вам необходимо знать, как что такое байт-код, какова его структура, зачем он нужен и как с ним работать. Эти знания позволят эффективно использовать байт-код Java в своих целях.
Как создать плавающую кнопку для Android приложения
Для начала создайте пустой Android проект.
Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и вставьте её в свой проект.
implementation 'com.android.support:design:28.0.0'
Если...
Использование строк в Rust
Копировать одну переменную в другую и ожидать, что значение будет доступно в первой переменной — это обычное дело для многих языков программирования. Но это не совсем...
Мутационное тестирование: создай мутанта и прокачай тест
Какая же проблема связана с модульными тестами? Дело в том, что можно написать их сколько душе угодно, и они даже пройдут, но это совсем...
5 рекомендаций по оптимизации пул-реквестов
Создание пул-реквеста (запроса на размещение изменений в основной ветке) и ожидание результатов ревью — стандартные процедуры в процессе написания кода, являющиеся важной и неотъемлемой...
Kotlin Coroutines для Android — Прощай RxJava?
Недавно JetBrains анонсировала новую фичу, которая известна как coroutines (coroutines является экспериментальной функцией в Kotlin 1.1+). Кстати, jetbrains — это место, где можно найти настоящее сокровище,...
Принципы SOLID в инженерии данных. Часть 3
Выясним, как с принципами SOLID сочетается функциональное программирование, каковы их достоинства и недостатки. Продемонстрируем на примерах нарушение и соблюдение этих принципов.
Прогнозирование настроений на фондовом рынке с помощью OpenAI и Python
Хотите помочь своим клиентам овладеть алгоритмическим трейдингом? Тогда вас должны заинтересовать возможности LLM в анализе акций. Предлагаем комплексную методологию по извлечению значимых сведений о рыночных тенденциях на основе настроений, выраженных в новостях.
5 проектов Go: управление безопасностью и контейнерами, создание бэкендов
Расскажем об интересных проектах Golang, связанных в том числе с разведкой по открытым источникам. Используйте их в своих приложениях.
Переход на PgCat — прокси-сервер Postgres следующего поколения
Сравним функционал PgCat по временно́й задержке и корректности. Рассмотрим особенности балансировки нагрузки и отработки отказа реплики, клиентов с плохим поведением и поддержку сегментированных БД.
VS Code Remote-SSH для удаленной разработки
Зачем ограничивать себя nano и vi, когда есть удобное расширение VS Code Remote-SSH для удаленной разработки? Вперед за знаниями!
10 наиболее эффективных CLI-инструментов
Эти утилиты способны значительно повысить продуктивность работы. Они помогут расширить возможности терминала и навигации, оптимизируют взаимодействие с системами контроля версий, автоматизируют повторяющиеся задачи, возьмут на себя управление задачами и организацию информации.
Go: точечная вставка значения в структуру
Подробно и с примерами рассмотрим функционал мощного и элегантного пакета dot для сложноиерархических структур. На основе тестов дадим рекомендации по его использованию.
Как удаленно отлаживать сайты для Android с помощью Chrome DevTools
Поскольку под управлением Android работает более 2,5 млрд устройств, разработчики не могут игнорировать оптимизацию веб-страниц для этой операционной системы (ОС). Обычно на устройствах с...
Как пользоваться Thread.sleep на JVM без блокировки
У таких языков JVM, как Java и Scala, есть возможность запускать параллельный код с помощью класса Thread. Потоки, как известно, сложны и подвержены ошибкам,...
Улётные пакеты Julia для машинного обучения - мечта программиста!
Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Базовый класс Android ViewModel за 5 минут
Класс ViewModel служит прослойкой между View и Model в структурном паттерне проектирования MVVM. Рассмотрим особенности реализации ViewModel на реальном примере.
Создание пользовательских аннотаций в Java
Продолжаем разговор об аннотациях в Java - теперь кроме предопределенных "из коробки" аннотаций научимся писать и применять свои собственные.
Как создать Android-приложение чат-бота с генеративным ИИ Google
Реализуем функционал с каналами, большими языковыми моделями, единым тематическим оформлением компонентов. Настроим параметры генерации контента и интерфейс чата, добавим возможности генерирования текста и формирования рассуждений по фото.
Диагностика кода на Rust
Отладка кода на Rust — дело непростое. Может быть, она и возможна, но здесь и близко нет таких инструментов, которые позволяют осуществлять её в...
Сопоставление LiveData, SingleLiveEvent и MediatorLiveData в Android
Хотите эффективно управлять данными и событиями в приложении Android, а также создавать удобный в обслуживании код? Уделите внимание таким важным структурам Android Architecture Components, как LiveData, SingleLiveEvent и MediatorLiveData.
Думаете, хеш-карты нельзя отсортировать? Еще как можно!
Научимся реализовывать интерфейс sort.Sort в любой структуре данных. Узнаем, какие методы задействуются в Golang для добавления сортировки.
7 признаков того, что Flutter готов к разработке корпоративных приложений
Есть ли у Flutter будущее в корпоративной сфере? Ответить на этот вопрос разработчики смогли только после бета-тестирования движка. Flutter доказал свою перспективность, предоставив программистам массу встроенных средств, облегчающих разработку платформозависимых приложений.
Понятие о виртуальных средах в Python
Введение в виртуальные среды Python с использованием VR
Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой статьи. Будет достаточно внимательности и интереса...
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab
Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
Злые единицы - добрый Frink
Введение
Единица измерения — это физическое свойство, представляющее собой число, например, расстояние или время. Мы почти всегда говорим о системе единиц СИ.
У единиц могут быть...
Когда стоит использовать перечисления в Java?
Где же все-таки можно, а где не стоит использоваться перечисления? Краткое руководство "в картинках".
Хотите стать классным разработчиком? Работайте с UX
В свою первую стажировку я проработал продукт-менеджером и UX-дизайнером всего лишь два месяца, однако узнал о проектировании куда больше, чем за время работы разработчиком.
Технические...
Представление концепций ООП с реальными сценариями
Что общего между разработчиком и архитектором, которому поручено спроектировать дом? Подробно разберем понятия ООП для применения в реальных проектах.
45 сочетаний клавиш в VSCode, чтобы ускорить написание кода
Visual Studio Code (VS Code) — бесплатный редактор кода с открытым исходным кодом, выпущенный Microsoft. Благодаря легкому дизайну, мощным функциям и обширным возможностям настройки VS Code быстро стал самым популярным редактором кода среди разработчиков. VS Code также имеет богатую коллекцию расширений, поддержку широкого спектра языков программирования, автодополнение кода IntelliSense, возможности отладки и встроенное управление Git.
Разработка приложения на основе генеративного ИИ в React IDE
Создание приложений сопряжено с проблемами, способными замедлить процесс разработки и затруднить совместную работу. Codux - бесплатная визуальная среда разработки для приложений React + TypeScript - сделает этот процесс намного проще и эффективнее.
Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 и Часть 5.
Элементарные функции
Должен признать: очень долгое...
3 интерактивных инструмента для управления командами в Linux
Эти инструменты позволят находить и отфильтровывать нужные команды, добавлять их в избранное для мгновенного выполнения и предоставят множество других полезных возможностей.
Поддержание документации в актуальном состоянии с помощью Bit и GitHub
Написание документации для кода (будь то небольшая библиотека или полный набор микросервисов, взаимодействие с которыми необходимо другим разработчикам) — это занятие кропотливое и утомительное.
Основная...
Портируем решатель судоку с Java на WebAssembly
Мне давно хотелось приступить к изучению WebAssembly, но никак не находилось подходящего материала. Однако недавно я просматривал некоторые старые программы и вспомнил, что как-то...
Мониторинг приложения Golang с Prometheus, Grafana, New Relic и Sentry
Изучим, как осуществляются мониторинг и логирование службы Go. Напишем код приложения и модульный тест, создав конфигурационные и тестовые файлы, и посмотрим метрики в дашборде Grafana.
Двусторонняя связь без интернета: Nearby Connections
Nearby Connections API позволяет пользователям соединяться друг с другом даже в тех случаях, когда интернет недоступен. При этом API использует Bluetooth и другие технологии, способные обеспечивать одноранговую связь на близком расстоянии (обычно в пределах 100 метров).
Роль Fragments в современной разработке приложений для Android
Функция библиотеки Fragments при разработке приложений для Android серьезно изменилась. Посмотрим, в чем заключаются изменения и к чему они приводят.
Под капотом модификатора suspend
Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена...
Рисуем Дораэмона с помощью Python
Хотите нарисовать популярного аниме-персонажа Дораэмона с помощью языка Python и его библиотеки turtle? Воспользуйтесь пошаговым гайдом, который поможет вам успешно справиться с этой задачей.
Понятие об умных указателях Rust
В этой статье мы разберемся, что именно представляют собой умные указатели, откуда они берутся и как работают.
Если по-простому, умный указатель — это абстрактный тип...
Запечатанный класс
Часто нам приходится представлять ограниченный набор возможностей: веб-запрос либо успешно выполняется, либо не выполняется, User может быть либо про-пользователем, либо обычным.
Чтобы смоделировать это, мы...
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций
Пакет embed, который появился в Go 1.16, предоставляет возможность встраивать файлы и каталоги в бинарные файлы Go. Предлагаем узнать, как этот пакет используется для встраивания файлов миграции SQL в бинарный файл.
Ключевое слово vararg и оператор spread в Kotlin
Что осталось за кадром?
В некоторых случаях необходимо определить функцию с переменным числом параметров; Вот пара примеров, с которыми вы, вероятно, сталкивались в Android:printf(String format, Obj......
Android 12: радикально новый дизайн от Google
Material You — новая веха в эволюции текущего поколения Material Design (“материального дизайна”), используемого Android-устройствами (и почти всеми продуктами Google). Идея, лежащая в основе...
Инструкция для новичка: как программировать дополненную реальность для Smart Glass
Обзор
В этом туториале я поделюсь основной информацией об умных очках. Затем, используя пример проекта с хакатона, проведу вас через весь процесс. А начнем мы...
Как реализовать в Golang двухфакторную аутентификацию с TOTP
Поэтапно настроим среду, интегрируем в проект библиотеку и рассмотрим различные аспекты 2FA, включая генерирование и хранение секретов, обработку аутентификации пользователя и проверку кодов TOTP. Дадим рекомендации по реализации в приложении Golang.
Топ-10 самых распространенных ошибок в проектах Go. Часть 2
Предыдущая часть: Часть 1, Часть 2
Инициализация среза
Иногда конечная длина среза бывает известна. Допустим, нужно преобразовать срез Foo в срез Bar, что означает, что они...
Создание пользовательских метрик Prometheus в Golang и отправка оповещений в Slack с Grafana
Создадим настраиваемые показатели Prometheus с Go, подробно разберем метрики. При наличии оповещения в Grafana отправим сообщение на канал Slack.
Как я создал свою первую видеоигру
В прошлом году во время новогодних праздников мне очень захотелось начать новый параллельный проект. Я не знал, чего именно хочу, но я был уверен,...
Мифы Go, в которые мы верим: емкость
Узнаем правильный ответ на вопрос: «Как растет емкость среза?» В каких случаях она удваивается, а в каких нет?
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana
Как определять производительность и поведение контейнеров и хост-систем? С помощью метрик. Поэтапно пройдем весь процесс: установка серверов, настройка Prometheus, запуск брандмауэра и экспортера Docker для извлечения метрик, создание дашборда в Grafana.
Навигация по настраиваемой доставке
Android App Bundle — это новый формат публикации для Android-приложений, заменяющий монолитный APK. Сам пакет приложений непосредственно не устанавливается. Вместо этого Google Play генерирует оптимизированные APK...
Тест рабочего цикла C++ через написание кода для декодера base85
Всем привет! Меня зовут Герман Диаго, по образованию я инженер компьютерной науки и уже долгое время увлечён разработкой разного рода ПО.
Большую часть своей карьеры...
Создание и отслеживание первого рабочего потока Github Actions
Github Actions — это собственное решение Github для CI/CD (непрерывной интеграции и непрерывного развёртывания ПО). Оно стало доступно сообществу разработчиков с момента запуска Github...
Знакомство с фабричным методом
Фабричный метод упрощает процесс создания объектов, делает код более удобным в обслуживании и обеспечивает ряд других преимуществ. Разберем принцип его работы на реальном примере создания игровых персонажей.
Решение крупномасштабных задач машинного обучения на Python
Представляем краткое руководство по использованию библиотеки xLearn. Алгоритмы, поддерживаемые этой библиотекой, позволят решать многие задачи машинного обучения.
Ссылки на методы в Java
Ссылки на методы появились вместе с лямбда-выражениями в Java 8, и с тех пор упрощают жизнь разработчикам. Но у их применения есть некоторые ограничения. Как обойти одно из них - на использование метода с параметром - расскажем в этом материале.
Подключение приложений Android к серверу с помощью gRPC
Пройдем весь процесс поэтапно: создание проекта, файл Gradle, канал взаимодействия клиента и сервера. Настроим локальный сервер, потоковую передачу от клиента и двунаправленную с асинхронной «заглушкой», а также «защелкой» с обратным отсчетом для ожидания текущего потока.
Go: как циклы преобразуются в ассемблерную программу?
ℹ️ В статье речь идёт о Go 1.13.
Циклы в программировании — понятие мощное и довольно простое. Тем не менее возникает необходимость преобразовывать их в основные команды,...
Визуализация стратегии автоматизированного тестирования
Стратегия тестирования — это подход к автоматизированному тестированию вашего программного обеспечения. Она очень важна, и к ней следует отнестись серьезно. Я предложу визуальный способ...
В ожидании Java 16: Stream.toList() и другие методы преобразования
Только самообслуживание
В 2004 году я работал архитектором ПО на Java в крупной финансовой компании. На тот момент в этом языке отсутствовало большинство эффективных функциональностей...
Новый API форматировщика дат в Swift
В версии Swift 5.5 и iOS 15 у нас появился новый API средства форматирования. С ним строковое отображение дат будет более декларативным и интуитивно...
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3
В этой части рассмотрим использование рефлексии и загрузчика классов на примере добавления функциональности плагина в Java-приложение и модификации классов во время выполнения. В завершение поговорим о том, почему две мощные функции Java - динамическая типизация и изменяемые во время выполнения классы - должны войти в арсенал каждого программиста.
Внимание: работает пакет Python Tweepy!
Обучающее руководство по извлечению любых данных из твитов посредством пакета Python Tweepy и форматированию их в датафрейм Pandas.
Что такое Flutter и зачем его изучать?
Сегодня доступно множество инструментов для мобильной разработки. Одним из них является Flutter, который в последнее время стал довольно популярным. Рассказываем, в чем секрет успеха Flutter и почему стоит обратить на него внимание.
SQL: загадки на сообразительность
Насколько хорошо вы владеете языком SQL? Всегда ли добиваетесь ожидаемых результатов? Попробуйте решить три головоломки по SQL, которые включают временную метку, зависимые и независимые фильтры, а также неправильно действующие левые объединения. Верные ответы прилагаются!
Почему большинство программистов выбирают Python
Python - второй (после JavaScript) по распространенности язык программирования, который используют 15,7 млн человек. Рассказываем, с чем связана его популярность и как понять, подходит ли он именно вам.
Xcode: шпаргалка для iOS разработчиков
Приводим исчерпывающий список клавиш быстрого доступа: сборка, запуск, отладка, навигация и редактирование кода, рефакторинг и преобразование… Сохраните в закладках.
Как заказывали: админ-панель от Django Jet
Нет пределов совершенству! Под таким девизом займемся улучшением панели администратора в приложении Django. А в качестве волшебной палочки воспользуемся шаблоном django-jet-reboot.
Тестирование для не тестировщиков
Тестирование является одним из ключевых этапов разработки. Вне зависимости от того, над каким проектом вы работаете, тестирование — это залог того, что вы сможете поставлять качественные...
Раскройте потенциал VS Code для программирования на Ruby
Рассмотрим расширения и библиотеки для повышения продуктивности при работе с кодом на Ruby. Настроим альтернативную RubyMine, бесплатную среду разработки.
Внедрение зависимостей в Android с помощью Koin
Как и Dagger-Hilt, Koin является популярным фреймворком для внедрения зависимостей. Однако пользоваться им гораздо проще. Вы можете убедиться в этом на примере написания простого приложения для получения данных.
Выполнение AES/GCM в Android
Столкнувшись с рядом проблем, связанных с выполнением шифрования и расшифровки AES в Android, я решил поделиться своим опытом.
TL;DR: здесь можно найти готовое решение. Если...
Феномен NFT и причины его популярности
NFT расшифровывается как non-fungible token (невзаимозаменяемые токены).
Взаимозаменяемость — это способность актива быть обмененным или замещенным аналогичными активами с одинаковой стоимостью.
Предположим, у вас есть одна...
Что такое бессерверная платформа?
Понятие о бессерверной платформе
Бессерверная платформа помогает разрабатывать и развёртывать функции AWS Lambda вместе с необходимыми им инфраструктурными ресурсами AWS. Фактически это интерфейс командной строки,...
Навигация во Flutter с использованием AutoRoute
Как настроить библиотеку пакетов AutoRoute? Как назвать страницы маршрута? Как управлять стеком и полностью очищать его, чтобы возвращаться на первую экранную страницу? Предлагаем краткое руководство по навигации во Flutter - оно даст ответы на эти и многие другие вопросы.
Kubernetes: установка MicroK8s на локальном компьютере за 5 минут
В чем преимущества MicroK8s перед Minikube? Запустим его, проверим состояние кластера, добавим дополнения, научимся останавливать.
Базовая торговая стратегия, позволяющая переиграть рынок
Предлагаем руководство по созданию на Python и бэктесту простой, но эффективной торговой стратегии. Используя всего два базовых финансовых показателя, она обеспечит быстрый и стабильный рост дохода в течение длительного времени.
PEG парсеры и Python
Несколько лет назад кто-то спросил, имеет ли смысл переключать Python на парсер PEG. Или на грамматику PEG. Не помню точно. Тогда я ещё не...
Зачем и как реализовать ленивую загрузку компонентов в Angular
Ленивая загрузка — это техника загрузки чего-то по требованию.
Она применяется к различным уровням процесса разработки приложений — от модулей до компонентов. Ленивая загрузка на...
Хитрости объектно-ориентированного программирования. Часть 2: Закон Деметры
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1
Единственный закон в программировании — это отсутствие законов. А закон Деметры — это, скорее, рекомендации, а...
Создание простого веб-скрейпера на Ruby
Введение
Один из лучших способов доступа к данным сайта — через его API (интерфейс прикладного программирования). Но что, если у сайта нет API? Тогда стоит...
Будет ли ИИ главенствовать в 2021 году? Большой вопрос
Технологии, связанные с искусственным интеллектом, развиваются в стремительном темпе. Узнаем, что ожидает ИИ в будущем.
В 2020 году ИИ претерпел быстрые преобразования, неожиданные разработки и...
21 лайфхак для новичков в JavaScript
В JavaScript есть эксклюзивные практики, которые используют профессионалы и о которых даже не подозревают новички. Ознакомьтесь с некоторыми из них, чтобы усовершенствовать свои навыки в написании кода и преуспеть в динамичном мире JavaScript-разработки.
ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев
Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
Многопоточность на Rust: ускоряем приложения, делаем их эффективнее
Продемонстрируем мощный подход к выполнению операций в многосхемных базах данных и к параллельной обработке данных. Из строгой системы типов Rust, асинхронных возможностей и потоковой модели создадим надежное приложение.








































































































