Давайте поговорим о платежных технологиях и что происходит, когда клиент хочет оплатить услугу на сайте или в интернет - банке, сделать перевод или нам просто необходимо настроить интеграцию с агрегатором, магазином или платежной системой в целях вывода их услуг в своих дистанционных каналах обслуживания.
User
Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

Опыт показывает, что разработчики редко задумываются о проблемах, которые могут возникать при многопользовательском доступе к данным. При этом практически любое web-приложение является многопользовательским и так или иначе использует блокировки при доступе к данным в БД. При неправильном использовании эти блокировки могут больно бить по пользователям, а иногда и по системе в целом. Поэтому рано или поздно каждый разработчик многопользовательских систем должен задуматься о том, как ему начать работать с БД так, чтобы пользователи не мешали другу другу. Многие считают, что это сложно, давайте вместе убедимся, что это не так.
Переход с iptables на nftables. Краткий справочник

В Debian теперь нет iptables. Во всяком случае, по умолчанию.
Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.
Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.
Плохие новости: документация (man nft) содержит больше 3 тысяч строк.
Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Генерируем странные кулинарные рецепты с помощью TensorFlow и рекуррентной нейронной сети (пошаговая инструкция)
TL;DR
Я натренировал LSTM (Long short-term memory) рекуррентную нейронную сеть (RNN) на наборе данных, состоящих из ~100k рецептов, используя TensorFlow. В итоге нейронная сеть предложила мне приготовить "Сливочную соду с луком", "Клубничный суп из слоеного теста", "Чай со вкусом цукини" и "Лососевый мусс из говядины" .
Используя следующие ссылки вы сможете генерировать новые рецепты самостоятельно и найти детали тренировки модели:
- Генератор рецептов: Демо — позволяет генерировать новый рецепт прямо в браузере.
- Генератор рецептов: Тренировка — Jupyter ноутбук с деталями тренировки модели.
- Репозиторий Interactive Machine Learning Experiments — другие эксперименты, связанные с машинным обучением, такие как "Распознавание объектов", "Распознавание эскизов", "Классификация изображений" и т.д.
В этой статье описаны детали тренировки LSTM модели на Python с использованием TensorFlow 2 и Keras API.
Самопаркующаяся тачка в 500 строк кода

В этой статье мы "научим" автомобиль выполнять самостоятельную парковку с помощью генетического алгоритма.
В 1-м поколении автомобили будут иметь случайный геном и будут вести себя хаотично.
К ≈40-му поколению автомобили понемногу начнут учиться парковке и будут все ближе и ближе подбираться к парковочному месту
Чтобы увидеть эволюционный процесс прямо в браузере вы можете запустить ? симулятор эволюции, .
Генетический алгоритм для этого проекта будем реализовывать на TypeScript. В этой статье будет показан полный исходный код алгоритма, но вы также можете найти финальные примеры кода в репозитории симулятора.
Приемы оптимизации веб-графики в 2021 году
Привет, Хабр!
Сегодня я хотел бы рассказать о ряде практик, позволяющих оптимизировать загрузку и отрисовку изображений на сайте. Давайте рассмотрим, что мы может сделать на сегодняшний день помимо стандартных методик (компрессии и кеширования на клиенте).
Ломаем и чиним Kubernetes

Kubernetes отличная платформа как для оркестрации контейнеров так и для всего остального. За последнее время Kubernetes ушёл далеко вперёд как по части функциональности так и по вопросам безопасности и отказоустойчивости. Архитектура Kubernetes позволяет с лёгкостью переживать сбои различного характера и всегда оставаться на плаву.
Сегодня мы будем ломать кластер, удалять сертификаты, вживую реджойнить ноды и всё это, по возможности, без даунтайма для уже запущенных сервисов.
Как подготовиться к собеседованию на позицию системного аналитика. ТОП-5 тем

Представьте, что вам предстоит собеседование на позицию системного аналитика (СА). Что нужно знать для успешного прохождения интервью и какие вопросы могут задать? Эта статья может стать roadmap при подготовке к собеседованию.
48 полноценных бесплатных книг для программистов (happy developer's day)

Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.
Дисклеймер. Все эти книги взяты с одного ресурса, который существует за счет донейшенов. Получить книги можно без осуществления донейшенов, ресурс полностью бесплатный, пожертвования опциональны. Все книги написаны на основе контента со StackOverflow и являются код-ориентированными. Книги со временем обновляются. По ссылкам -- книги, актуальные на 15.09.2021.
Очереди сообщений в PostgreSQL с использованием PgQ

Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в них нет большой необходимости, а их установка и поддержка причинит больше боли и страданий, чем принесет пользы. Допустим, у вас есть сервис, при регистрации в котором пользователю отправляется email для подтверждения, и, если вы используете Postgres, то вам повезло — в Postgres, почти из коробки, есть расширение PgQ, которое сделает всю грязную работу за вас.
В этой статье я расскажу об организации очередей сообщений (задач) в PostgreSQL с использованием расширения PgQ. Эта статья будет полезна, если вы еще не использовали PgQ или используете самописные очереди поверх Postgres.
Зачем вообще нужен PgQ, если можно просто создать табличку и записывать туда задачи? Казалось бы, можно, но вам придется учесть паралельный доступ к задачам, возможные ошибки (что будет, если процесс обрабатывающий задачу, упадет?), а также производительность (PgQ очень быстрый, а самописные решения, как правило, нет, особенно если транзакция в базе не закрывается во время всего выполнения задачи), но самое главное, почему на мой взгляд надо использовать PgQ, это то, что PgQ уже написан и работает, а самописное решение еще надо написать (UPD: про то, почему не стоит использовать самописные очереди, можно почитать, например, тут).
(UPD: т.к. PgQ работает поверх Postgres, все прелести транзакций можно использовать и в нем)
Но у PgQ есть один огромный минус — отсутствие документации, этот недостаток я и пытаюсь компенсировать этой статьей.
Домашний сервер, или приключение длиной в 6 лет. Часть первая
Сегодня я хотел бы рассказать про свой домашний сервер: какие ошибки допустил, на какой конфигурации сейчас остановился, да и вообще — зачем я это делал.

Инфраструктура онлайн игры
Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.
Техники обработки отказов сервиса в микросервисных архитектурах, или Альтернативы Circuit Breaker

Эта статья может быть полезна для тех, кто, как и мы, пострадал от нестабильной работы внешних API. Я расскажу, какие бывают стратегии обработки отказов и какой путь борьбы с глючным почтовым сервисом избрали мы.
Основные инструменты Kubernetes в 2021 году

В этой статье я кратко расскажу о своих любимых инструментах для Kubernetes, уделяя особое внимание новейшим и малоизвестным, которые, как мне кажется, скоро станут популярными.
В основе этого списка — мой личный опыт, и чтобы избежать предвзятости, я расскажу и об альтернативных инструментах, чтобы вы могли всё сравнить и принять решение, исходя из своих потребностей. Постараюсь дать информацию сжато и привести источники, чтобы при желании вы могли изучить всё самостоятельно. Описывая инструменты для различных задач разработки ПО, я хотел ответить на вопрос: «Как я могу сделать X в Kubernetes?»
Обзор Kalm — веб-интерфейса для деплоя приложений и управления ими в Kubernetes

Kalm — бесплатное приложение с открытым исходным кодом. Представляет собой стандартный контроллер Kubernetes, который можно установить в любой кластер (версии v1.15 и выше), включая Amazon EKS и Google GKE. Основная цель Kalm — предоставить разработчикам простой пользовательский интерфейс, чтобы упростить работу с K8s.
Ускоряем запуск приложений с .NET 6, .NET на холодильнике и многое другое

Данная статья содержит небольшое введение в JIT-компиляцию и .NET Core (отныне .NET 5, .NET 6 и так далее), а также несколько практических примеров ускорения запуска приложений на .NET. Данные советы могут быть полезны как для приложений, запускаемых на больших многоядерных x64 серверах, так и для приложений, запускаемых на ARM чипах с малым числом ядер. Например, подобные оптимизации используются в операционной системе Tizen, об этом далее.
Представляем .NET MAUI Community Toolkit (Preview)

Команда Community Toolkit рада объявить о первых предварительных выпусках двух новых наборов инструментов .NET Multi-platform App UI (.NET MAUI): CommunityToolkit.Maui и CommunityToolkit.Maui.Markup.
Как было объявлено в прошлом месяце, эти библиотеки являются развитием Xamarin Community Toolkits. Они содержат .NET MAUI Extensions, Advanced UI/UX Controls, Effects и Behaviors, чтобы облегчить вам жизнь в качестве .NET MAUI-разработчика.
Функции, которые вы добавляете в .NET MAUI Toolkit, однажды могут быть включены в официальную библиотеку .NET MAUI. Мы используем наборы инструментов сообщества, чтобы представить новые функции, и тесно сотрудничаем с командой разработчиков .NET MAUI, чтобы выбирать функции для добавления.
Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон
Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook*, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.
TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Архитектура in-memory СУБД: 10 лет опыта в одной статье

База данных в оперативной памяти — понятие не новое. Но оно слишком плотно ассоциируется со словами «кэш» и «не персистентный». Сегодня я расскажу, почему это не обязательно так. Решения в памяти имеют гораздо более широкое поле применения и гораздо более высокий уровень надежности, чем кажется на первый взгляд.
В статье я рассуждаю об архитектурных принципах решений в оперативной памяти. Как можно взять лучшее от in-memory мира — производительность невероятного уровня — и не жертвовать достоинствами дисковых реляционных систем. В первую очередь, надежность — как можно быть уверенным в сохранности данных.
Этот рассказ сжимает 10 лет опыта работы с in-memory решениями в один текст. Порог входа максимально низкий. Чтобы получить пользу от прочтения, вам не нужно иметь столько же лет опыта, достаточно базового понимания IT.
Создание приложения для анализа данных машинного обучения

Нейронные сети очень мощны для выполнения предиктивного анализа и решения аналитических задач. Они широко используются для классификации данных, чтобы обнаруживать закономерности и делать прогнозы. Бизнес-кейсы варьируются от классификации и защиты данных клиентов до классификации текста, поведения потребителей и многих других задач.
Чтобы показать, как создать приложение для выполнения анализа данных для решения задач классификации, команда Windows ML создала руководство «Анализ данных с помощью Pytorch и машинного обучения Windows». В этом руководстве показано, как обучить модель нейронной сети на основе табличного набора данных с помощью библиотеки PyTorch и как развернуть эту модель в приложении машинного обучения Windows, которое может работать на любом устройстве Windows.
Хотя в этом руководстве используется набор данных в форматах Excel или csv, описанный в нем процесс работает для любого табличного набора данных и научит вас, как выполнять прогнозы и использовать возможности Windows ML для вашего собственного уникального бизнес-кейса.
Information
- Rating
- Does not participate
- Registered
- Activity