Как стать автором
Обновить
21
0
Роман @softaria

Программист и немного предприниматель

Трейсинг в Go — это просто

Время на прочтение 13 мин
Количество просмотров 6.3K
Go *
Из песочницы

В эпоху быстрорастущих приложений важно иметь возможность контролировать состояние системы в любой момент времени. Одними из требований для достижения этого являются логи и метрики, которые помогают нам следить за многими параметрами, такими как количество запросов в секунду (RPS), потребление памяти, cache git и т.д. Однако, есть ещё один полезный инструмент - трейсинг. В этой статье мы ознакомимся со стандартом OpenTelemetry в языке Go и инструментом Jaeger

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 13

Docker. Зачем и как

Время на прочтение 6 мин
Количество просмотров 482K
Виртуализация *
Есть множество прекрасных публикаций для тех, кто уже пользуется docker-ом. Есть хорошие статьи для тех, кто хочет этому научиться. Я пишу для тех, кто не только не знает, что такое docker, но и не уверен стоит ли ему это знать.

Я сознательно опускаю некоторые технические подробности, а кое где допускаю упрощения. Если вы увидите, что docker – то, что вам нужно, вы легко найдете более полную и точную информацию в других статьях.
Читать дальше
Всего голосов 62: ↑60 и ↓2 +58
Комментарии 159

Особенности установления соединения между участниками сетевой игры типа «равный к равному»

Время на прочтение 10 мин
Количество просмотров 7.8K
Разработка игр *Сетевые технологии *
Из песочницы
Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP.

Статья расчитана на начинающих разработчиков игр. Попытался написать такую статью, которую я сам хотел бы прочитать в то время, когда только начал разбираться в этой теме: чтобы все нужные ньюансы были собраны в одном месте, но при этом ничего лишнего, простым языком, и с наглядными картинками. Возможно кому-то пригодится.

Опытные геймдевелоперы вряд ли найдут тут для себя что-то новое. Но буду благодарен за замечания и комментарии.


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

15 лучших и крупнейших библиотек иконок

Время на прочтение 3 мин
Количество просмотров 31K
Блог компании Edison
Перевод


В этой статье ознакомимся с 15 лучшими и крупнейшими доступными библиотеками иконок для веб-сайтов. Многие из них предлагают тысячи, а то и миллионы пиктограмм, так что обязательно найдётся именно то, что нужно.

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 12

Применение зашифрованных данных для машинного обучения без их расшифровки

Время на прочтение 17 мин
Количество просмотров 10K
Блог компании VK Ненормальное программирование *Криптография *Алгоритмы *Машинное обучение *
Туториал
Перевод

Применение зашифрованных данных для машинного обучения без их расшифровки
В этой статье обсуждаются передовые криптографические методики. Это лишь обзор исследований, проводимых в Julia Computing. Не используйте приведённые здесь примеры в коммерческих приложениях. Всегда консультируйтесь с криптографами, прежде чем применять криптографию.

Здесь можно скачать пакет, реализующий всю магию, а здесь находится код, который рассматривается в статье.
Читать дальше →
Всего голосов 55: ↑54 и ↓1 +53
Комментарии 6

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Время на прочтение 12 мин
Количество просмотров 156K
Python *Программирование *Обработка изображений *Машинное обучение *Искусственный интеллект
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 27

Почему вам стоит перестать использовать продуктовые роадмапы и попробовать GIST

Время на прочтение 7 мин
Количество просмотров 20K
Блог компании Kolesa Group Управление разработкой *Управление проектами *Развитие стартапа Управление продуктом *
Перевод

Вольный перевод статьи Итамара Гилада, консультанта по росту и стратегии, бывшего продакт-менеджера Google, о подходе к стратегическому планированию развития продуктов.




На протяжении лет я разработал немалое количество продуктовых стратегий, роадмапов и диаграмм Ганта по проектам. Но больше я их не делаю. Я нашёл альтернативу получше, о которой сейчас расскажу.

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 8

Автоматическая сборка Unity-проектов для Android и iOS с помощью Gitlab CI

Время на прочтение 14 мин
Количество просмотров 12K
Unity *
Из песочницы

В этой статье хочу рассказать о подходе к сборке Unity-проектов на android и ios через Gitlab на собственных сборщиках с macOS.


Я работаю в небольшой gamedev компании, и задача автоматизации сборки появилась из-за следующих проблем:


  • 5 распределенных команд должны собирать проекты из любой точки мира
  • должны поддерживаться разные версии юнити
  • сборщик должен обеспечивать как минимум 5 сборок в неделю от каждой команды
  • сертификаты должны храниться централизованно, а не у разработчиков
  • собранные билды должны быть доступны по ссылке в любой точке мира
  • проекты должны проверяться на наличие обязательных библиотек (рекламные sdk и коды, локализация, сохранения)
  • конфигурирование сборки для команд должно производиться в одном месте
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 4

Многопоточное программирование в Android с использованием RxJava 2

Время на прочтение 13 мин
Количество просмотров 37K
Java *Разработка под Android *
Перевод
Если вы новичок в общении с RxJava или пытались разобраться в этом, но не довели дело до конца, то ниже вы найдете для себя кое-что новое.

image
Оригинал статьи написан 29 ноября 2017. Перевод вольный.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 0

Как бесплатно рассказать о своем стартапе в зарубежных СМИ с миллионной аудиторией: сложности и способы их обхода

Время на прочтение 5 мин
Количество просмотров 16K
Интернет-маркетинг *Контент-маркетинг *Развитие стартапа


Миллионы предпринимателей во всем мире мечтают о том, чтобы об их проекте написали ведущие англоязычные издания. Сегодня я расскажу о сложностях, которые могут возникнуть в попытках реализовать это желание, и том, как их можно обойти.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 1

Миллион WebSocket и Go

Время на прочтение 11 мин
Количество просмотров 93K
Блог компании VK Высокая производительность *Разработка веб-сайтов *Go *

image


Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.


Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.


Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.

Читать дальше →
Всего голосов 119: ↑115 и ↓4 +111
Комментарии 78

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

Время на прочтение 7 мин
Количество просмотров 31K
Программирование *Разработка мобильных приложений *Разработка под Android *
Из песочницы
Привет, Хабр! Давно не виделись… С прошлой публикации — «Чему я научился на своих ошибках или как сделать вторую игру лучше» прошло уже целых 2 года! Сегодня я расскажу о том, что нового я попробовал в продвижении, монетизации приложения и конечно же о том, что из этого вышло.


Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 60

Организация кода в Go

Время на прочтение 8 мин
Количество просмотров 40K
Go *
Туториал
Перевод

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


Каждое Go приложение, с которым я работал, похоже, имеет свой ответ на вопрос "Как я должен организовать код?". Некоторые приложения засовывают всё в один пакет, в то время, как другие группируют логику по типам или модулям. Без хорошей стратегии, которой придерживаются все члены команды, вы рано или поздно увидите, что код сильно разбросан по многочисленным пакетам. Нам нужен некий стандарт для дизайна кода в Go приложениях.


Я предлагаю подход получше. Следуя набору простых правил, мы можем добиться того, что код будет несвязанным, легко тестируемым и структура проекта будет цельная. Но прежде, чем мы углубимся в детали, давайте посмотрим на наиболее часто используемые подходы к структуризации Go кода.

Читать дальше →
Всего голосов 40: ↑34 и ↓6 +28
Комментарии 8

Безопасное использование языка Go в веб-программировании

Время на прочтение 6 мин
Количество просмотров 20K
Информационная безопасность *Программирование *Go *
Из песочницы
Статья писалась для разработчиков, которые начинают осваивать язык программирования Go с целью соблюсти в их коде безопасные требования к написанию веб-приложений. В статье приведены возможные уязвимости, которые могут оставить веб-программисты, а также способы устранения либо с помощью стандартных библиотек, либо с помощью сторонних решений, которые проявили уже себя.


Читать дальше →
Всего голосов 44: ↑41 и ↓3 +38
Комментарии 11

Сугубо ненаучно: Tarantool 1.6 vs Golang (по скорости)

Время на прочтение 7 мин
Количество просмотров 26K
Разработка веб-сайтов *NoSQL *Go *

Зачитался я последнее время про Tarantool, интересно стало. Идея хорошая — код рядом с базой данных, хранимка в такой быстрой Redis-подобной среде.


И что-то задумался — мы вот сейчас используем активно на работе Golang, собственно, мысль пришла что на Go написано много всего, в т.ч. и встраиваемых баз. А что если сравнить, например, Go+LevelDB (собственно, можно было бы и любую другую) против Tarantool. Тестировал еще Go+RocksDB, но там оказалось все немного сложнее, а результат примерно тот же на небольших данных.


Тестировал простую задачу — HTTP сервер, при запросе — записать ключик в базу, достать его же по имени (без всяких проверок на race), отправить назад простенький JSON из этого value.


Сравнил: go+leveldb, tarantool, go+go-tarantool, nginx upstream tnt_pass

Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Комментарии 101

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Lead
Java
Docker
React
TypeScript
Java Spring Framework
Designing application architecture