Как стать автором
Обновить
-1
0
Yelshat Duskaliyev @semior001

Пользователь

Отправить сообщение

RabbitMQ. Часть 2. Разбираемся с Exchanges

Время на прочтение7 мин
Количество просмотров177K

Exchange — обменник или точка обмена. В него отправляются сообщения. Exchange распределяет сообщение в одну или несколько очередей. Он маршрутизирует сообщения в очередь на основе созданных связей (bindings) между ним и очередью.


Exchange не является Erlang-процессом. Из соображений масштабируемости exchange — это строка (ссылка на модуль с кодом, где лежит логика маршрутизации) во встроенной базе данных mnesia. 1 тысяч обменников будут потреблять всего 1МБ памяти.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии10

6 лучших практик безопасности для Go

Время на прочтение8 мин
Количество просмотров5.9K
Перевод статьи подготовлен специально для студентов курса «Разработчик Golang».





Популярность Golang за последние годы существенно увеличилась. Успешные проекты, такие как Docker, Kubernetes и Terraform, сделали большую ставку на этот язык программирования. В последнее время Go де-факто стал стандартом для создания инструментальных средств командной строки. Что касается безопасности, то Go успешно справляется согласно своим отчетам об уязвимостях, имея только один реестр CVE с 2002 года.

Однако отсутствие уязвимостей не означает, что язык программирования является сверхбезопасным. Мы, люди, можем создавать небезопасные приложения, если мы не следуем определенным правилам. Например, зная правила написания безопасного кода от OWASP, мы можем задуматься о том, как применять эти методы при использовании Go. И это именно то, чем я займусь в этот раз. В этом посте я покажу вам шесть практик, которые необходимо принимать во внимание при разработке с применением Go.
Читать дальше →
Всего голосов 17: ↑7 и ↓100
Комментарии11

Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира

Время на прочтение12 мин
Количество просмотров7.9K
image

На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделен на процедурно-генерируемые чанки, состоящие из тайтлов. Сервер будет написан на языке Golang, который как мне кажется отлично для этого подходит, клиентская часть будет на JavaScript с использованием фреймворка — Phaser.js

Создаем генерацию мира


И так в этой статье мы напишем генератор чанков для ММО на Голанг, мы не будем пока рассматривать Phaser. Для процедурной генерации нам потребуется шумовая функция, мы будем использовать Шум Перлина, рекомендую ознакомиться с данной статьей и переписать код на Го или взять мой вариант.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+19
Комментарии9

Локализация по Aruco маркерам

Время на прочтение14 мин
Количество просмотров17K
В прошлом посте мы рассказали, как проехать из точки А в точку Б, не задев при этом ничего. Но, чтобы что-то объехать, нужно понять, где находимся мы сами, и где находятся динамические препятствия (наши противники и не только).

У человека есть глаза, уши и заложенный природой и личным опытом софт для того, чтобы он мог спокойно передвигаться и ориентироваться в пространстве. Система локализации — почти что глаза и уши для роботов. Она нужна, чтобы робот мог ориентироваться в пространстве и, подстраиваясь под окружающую среду, перемещаться в нем.

Сегодня мы расскажем про то, как решали проблему определения положения роботов на поле Eurobot, как всё это сделать, запустить и настроить под себя.


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

ACE: самый функциональный редактор кода

Время на прочтение8 мин
Количество просмотров89K


Здравствуйте, господа!

Я был достаточно приятно удивлен, когда узнал, что проект Ajax.org, именуемый Ace почти ни разу не упоминался на хабре. Ace — это веб-редактор исходного кода нового поколения. Он поддерживает уйму различных функций, среди которых: наличие режимов подсветки синтаксиса для более чем 60 языков программирования, поддержка сумашедшего количества цветовых схем из различных популярных IDE, функций, среди которых: широкая кастомизация, проверка синтаксиса для нескольких скриптовых языков. Так уж получилось, что эта статья скорее всего будет разносторонняя, т.е. содержать материал для веб-разработчиков и С++ программистов, которых я так успешно агитирую в сторону Qt. Итак, что вы можете прочитать в этой статье?

  • Быстрый старт с Ace. Где я могу использовать Ace? Почему?
  • Портирование Ace на Qt и обертка его API: How-To для создателей Qt5-based библиотек (таких как мой порт Ace — Novile

Сейчас позволю себе показать пару скриншотов example-приложения, которое использует мою библиотеку Novile:

Читать дальше →
Всего голосов 86: ↑67 и ↓19+48
Комментарии44

Python и красивые ножки: как я бы знакомил сына с математикой и программированием

Время на прочтение4 мин
Количество просмотров109K
Раньше мы уже искали необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.



Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии65

Проблема читов в онлайн-играх

Время на прочтение8 мин
Количество просмотров85K


Большинство крупных многопользовательских игр рано или поздно сталкиваются с тем, что не все пользователи играют честно. В нашем шутере Warface в какой-то момент это стало ощущаться особенно сильно. Для борьбы с читерами мы используем целый комплекс решений. Одним из компонентов этого комплекса является наша внутренняя разработка под названием MRAC (Mail.Ru AntiCheat). После ее внедрения мы добились хороших результатов: среднее количество ежедневно улетающих в бан читерских аккаунтов упало с 17000 в начале года до 1500 сейчас, при том, что количество жалоб от пользователей на читеров существенно уменьшилось. На выявление подозрительной активности и блокировку аккаунта сейчас уходит примерно 5 минут, вместо прежних 20. Сейчас система распознает и реагирует на более чем 200 сигнатур читерского ПО и постоянно совершенствуется.
Читать дальше →
Всего голосов 61: ↑50 и ↓11+39
Комментарии98

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность