Search
Write a publication
Pull to refresh
11
0
Андрей Годин @xilix

Разработчик

Send message

Stellaris — глоток свежего воздуха в жанре космических стратегий

Reading time6 min
Views53K
image

Предисловие


Все мы любим космос, а те, кто говорят, что не любят — просто боятся в этом признаться. Большинство из присутствующих здесь, кроме стандартных игр для детей «про войну», имели болезненную тягу к конструкторам, научной фантастике и, возможно, ролевым играм. И, на мой взгляд, Stellaris — это то, что объединяет в себе все эти наши увлечения: космос, созидание, отыгрывание выбранной роли и, конечно же, покорение мира.

Автор данной публикации, как некоторые могли заметить, больше тяготеет ко всяческим MOBA в лице Dota 2 и соревновательным шутерам класса CS. Однако, путь заядлого геймера, потратившего солидную часть своей жизни на компьютерные игры, начался со стратегий, как TBS, так и RTS: HoMM II, HoMM III, Warcraft 3, Stronghold, Red Alert II, Zeus: Master of Olympus (Poseidon: Master of Atlantis) и даже Industry Giant II.

Единственное, что было автору недоступно, в силу нетерпеливости, — это жанр глобальных стратегий, или, как их еще называют, 4Х-стратегий, ярчайшим представителем которого всегда была Civilization от Сида Мейера.

Мимо прошли и Master of Orion и все остальное прочее, поэтому углубляться в историю жанра не будем, а поговорим об игре, которая тихо и без какого-либо шума, вышла в релиз всего полторы недели назад — 9 мая 2016 года. Разработчик — достаточно известная в этом жанре компания Paradox Interactive (Серии «Crusader Kings», «Europa Universalis», «Hearts of Iron»).

Цена вопроса и системные требования


Сейчас за Stellaris на просторах СНГ просят более-менее лояльные 19,99$, для РФ цена еще ниже и составляет 699 RUB или около 10,7$. Базовая стоимость игры в США и ЕС поднимается до более солидных 39,99$/евро.
Читать дальше →

Лучшие практики Go, шесть лет в деле

Reading time18 min
Views60K
В 2014 году я выступил на открытии конференции GopherCon с докладом под названием «Go: Best Practices for Production Environments». В SoundCloud мы были одними из первых пользователей Go и к тому времени уже два года писали на нём и поддерживали Go в бою в той или иной форме. За это время мы кое-чему научились, и я попытался поделиться частью этого опыта.

С тех пор я продолжал программировать на Go в течение всего рабочего дня, сначала в командах SoundCloud, отвечающих за операционную деятельность и инфраструктуру, а теперь работаю в компании Weaveworks над Weave Scope и Weave Mesh. Также я усердно трудился над Go kit, набором инструментов для микросервисов с открытым исходным кодом. И всё это время я принимал активное участие в развитии сообщества Go-программистов, встречался со многими разработчиками на митапах и конференциях по всей Европе и в США, коллекционируя их истории успехов и провалов.

В ноябре 2015-го, на шестую годовщину релиза Go, я вспоминал то своё первое выступление. Какие из лучших практик прошли проверку временем? Какие из них устарели или стали неэффективными? Появились ли какие-то новые методики? В марте мне представилась возможность выступить на конференции QCon London, где я рассказал о лучших практиках 2014 года и дальнейшем развитии Go до 2016 года. В этом посте представлена выжимка из моего выступления.

Ключевые положения я выделил в тексте в виде Top Tips — лучших советов.

А вот и cодержание:

  1. Среда разработки
  2. Структура репозитория
  3. Форматирование и стиль
  4. Конфигурация
  5. Разработка программы
  6. Логирование и метрики
  7. Тестирование
  8. Управление зависимостями
  9. Сборка и развёртывание
  10. Заключение
Читать дальше →

Конвертируем HTML в PDF при помощи Dompdf

Reading time6 min
Views117K

PDF — формат, ставший уже стандартом. Он был изначально создан Adobe для представления текста и изображений в документе с фиксированной структурой. Давно не редкость для веб-приложений, поддерживающих скачку данных, таких как счета или отчеты, отдавать их в PDF формате. Так что в этой статье мы пройдем простую генерацию PDF документов используя PHP.

Dompdf — это отличная библиотека, способная генерировать PDF из HTML-разметки и CSS-стилей (в большинстве случаев это стили, совместимые с CSS 2.1 с поддержкой некоторых свойств CSS3). Мы можем определить, как наше содержимое должно выглядеть, используя эти знакомые технологии, и после легко конвертировать его в фиксированный документ. Также эта библиотека имеет и другие полезные и интересные функции.
Читать дальше →

Мы ещё повоюем! Выжимаем «все соки» из устаревшего смартфона

Reading time9 min
Views59K
Привет, Гиктаймс! Сторонники экономии всегда спорят с оппонентами, которые считают, что нужно просто больше зарабатывать, а любители оптимизации в IT заводятся с пол-оборота от фразы «купите уже себе нормальное железо». И те, и другие по-своему правы, но сегодня мы перейдём на сторону «романтиков», и расскажем, как заставить работать старый смартфон с полной отдачей.
Читать дальше →

10 способов справиться с токсичными членами семьи

Reading time6 min
Views111K
image

Считается, что семья изначально должна быть любящей и безопасной, но так происходит не всегда. Некоторые родные люди деструктивны, сложны и склонны к доминированию. Особенно трудно, если проблемным членом семьи оказывается кто-то из родителей. Как с этим справиться?
Читать дальше →

Реклама в Instagram руководство для начинающего

Reading time7 min
Views225K
image

На данный момент в России Инстаграм как инструмент рекламы всё ещё используется довольно редко, поэтому мы в наших переодических публикациях не могли пропустить интересную статью на эту тему, надеюсь она принесёт вам пользу.
Читать дальше →

Разработка чат-бота для Facebook Messenger

Reading time10 min
Views90K
В настоящее время наблюдается, действительно, бум чат-мессенджеров. Один за другим платформы для обмена мгновенными сообщениями объявляют о запуске платформы для разработки ботов.
Не стал и исключением Facebook. 12 апреля на конференции F8 Facebook представила платформу для разработки ботов для своего мессенджера.
В данной статье хочу поделиться опытом разработки чат-бота для Facebook на PHP.
Читать дальше →

Обзор смартфона ASUS ZenFone Max

Reading time5 min
Views14K


Когда-то деревья были большими, трава зеленее, небо голубее, а мобильные телефоны работали на одной зарядке с неделю. А сегодня нельзя представить себе и дня без пользования зарядным устройством. Для современных мобильников аккумулятор никогда не бывает слишком большим, и потому так популярны стали карманные power bank'и. На этом фоне вызывает любопытство новый смартфон от ASUS — ZenFone Max, оснащённый ёмким аккумулятором и умеющий подзаряжать другие устройства.
Читать дальше →

Переезжаем в Болгарию: 4 года в другой стране

Reading time11 min
Views60K
Давно просили написать про мою жизнь в Болгарии, способы заработка и качества жизни. Прошло уже 4 года как я здесь, у меня сформировалось чёткое представление о стране и её особенностях, решил поделиться с сообществом.

Пляж в Созополе

Мой пост для тех, кто задумывается о переезде и пока не знает куда.
Преимущества и недостатки жития в Болгарии

Текстовый туториал по React.js и Redux на русском

Reading time2 min
Views204K

(у учебника по Основам React вышло второе издание, Redux-учебник в процессе обновления)

Закончил работу над парой подробных текстовых туториалов на русском. Постарался уделить как можно больше времени практике. По ходу повествования есть вопросы, задачи и решения.


Курс про Redux попал в официальную документацию.


Оба руководства бесплатны и выложены на gitbook (можно скачать PDF, ePub, mobi).


В текстах нарочно участвуют термины переведенные на русский (например, состояние), английские (state), либо английский термин написанный по-русски — стейт. Считаю это допустимым, и даже более того, удобным для читателя.

Читать дальше →

Бэтмен: вселенная Нолана

Reading time16 min
Views58K
Всем привет!

В прошлом голосовании, с небольшим отрывом, в последний момент победил Темный Рыцарь. Но, как по мне, победа была не объективной. Несмотря на то, что Темный Рыцарь победил, есть вероятность, что многие голосовали против ТР, просто их голоса разделились между двумя другими вариантами. Изначально я хотел изменить голосование на ранжирование, но это лишние действия для вас и очень много работы по подсчету для меня. Потому, для начала, попробую просто дать возможность голосовать за несколько вариантов. Тогда, если кто-нибудь решит голосовать против варианта, он сможет проголосовать за все остальные.

По традиции, Q&A

Что это?



Несколько фанатских теорий касательно трилогии Нолана о Бэтмене. Если вы впервые натыкаетесь на такую статью, тут и тут две предыдущие статьи, а здесь можете почитать о том, почему фанатские теории — это интересно. В этот раз я попробовал охватить более широкий круг теорий, независимо от личных предпочтений. Дайте мне знать, если вам не нравится такой подход.

Мы говорим только о фильмах?



Вселенная DC довольно просторное место, а история Бэтмена тянется уже более 70 лет. Охватить такой объем в одной статье невозможно, не говоря уже о том, что в самих комиксах есть невообразимое количество противоречий и перезапусков. Потому теории будут касаться исключительно трех фильмов Нолана. Это не значит, что я не буду делать отсылки к комиксам, просто сами теории будут базироваться на фильмах.

Спойлеры?



Фильмы, игры, комиксы о Бэтмене + спойлер из книги Бойцовский Клуб.



Читать дальше →

Такие страшные логистические компании

Reading time6 min
Views5.4K
image

Несколько месяцев назад наши коллеги и партнёры из компании «Ямбокс» решили развернуть свои бизнес процессы в сторону работы с малыми интернет-магазинами и на этом пути столкнулись с одной забавной проблемой…
Читать дальше →

Установка и настройка совместной работы GitLab + Redmine на Debian 8 jessie + Nginx — Часть 1

Reading time5 min
Views32K

Вступление


Так сложилось, что для ведения проекта не хватало обычного GitHub или GitBucket. Оснавная причина в хранении и контроле версий больших бинанрых файлов psd, 3dsmax и других. На самом деле вариантов решения масса, можно например было использовать Облачный диск или git Large Files System, представленный GitHub. Но взвесив все плюсы и минусы разных подходов к организации, мы пришли к связке GitLab + redmine.

Я не думаю, что есть смысл описывать продукты, я лишь приведу основные достоинства, которые подтолкнули нас на этот выбор.
Основные плюсы GitLab:

  • Свой репозиторий.
  • Тонкая настройка прав.
  • Поддержка git lfs почти из коробки.

Также оба проекта Open Source.
Читать дальше →

Релиз ownCloud 9.0 — opensource альтернативы Dropbox и другим облачным хранилищам

Reading time4 min
Views53K


Вышел новый релиз персональной облачной платформы ownCloud 9.0.

Я уже писал про ownCloud раньше. Я очень люблю этот комбайн из хранилища данных с синхронизацией, версионированием, галереей, календарем, хранением контактов и прочими плюшками. Серверная часть написана на PHP, поддерживаются протоколы WebDAV, CardDAV, CalDAV. Клиентский софт есть под Linux, OS-X, Windows, мобильных платформы и через web интерфейс. В теории может работать с петабайтными объемами данных.

Сервис может работать в федеративном режиме — есть возможность объединять и линковать независимые ownCloud-инстансы, делиться каталогами и другими данными. В качестве файловой системы можно использовать GPFS, GlusterFS и другие распределенные варианты. Хорошо допилена интеграция в инфраструктуру Amazon.

Changelog:
  1. Возможность добавлять комментарии и теги к файлам
  2. Новая система уведомлений
  3. (Федеративный режим) Автодополнение имен пользователей
  4. (Федеративный режим) Списки доверенных серверов
  5. Код для дополненией и основных файлов наконец подписан
  6. Добавили новую систему обновления
  7. Улучшения производительности при совместном доступе к каталогам
  8. Новое API для External Storage
  9. Различные улучшения системы безопасности

Читать дальше →

DASH «Эволюция» анонсирована как «Социальная платёжная сеть»

Reading time4 min
Views14K
image

Эван Даффилд (Evan Duffield), создатель и ведущий разработчик криптовалюты DASH (текущий рейтинг — №5 по капитализации), раскрыл планы по развитию следующего поколения DASH “Evolution” на ежегодной Латино-Американской Биткоин конференции LaBitconf-2015. Следующий этап развития этой криптовалюты реализует: Децентрализованное хранение персональной информации, Социальный функционал, Защищённую идентичность, Децентрализованный API (DAPI) и много другое.

В ходе видео-интервью на LaBitconf-2015, Эван Даффилд рассказывает о планах по развитию DASH, нацеленных на создание “Paypal-подобного” функционала у цифровой валюты (криптовалюты), что должно обеспечить рядовым пользователям значительные преимущества в плане простоты использования и т.д.
Читать дальше →

Как создать свой собственный Dependency Injection Container

Reading time9 min
Views35K
Привет всем!
Это вольный перевод статьи How to Build Your Own Dependency Injection Container.
Т.к. это мой первый перевод для хабра, прошу указывать на ошибки, неточности.

Как создать свой собственный Dependency Injection Container.


Поиск “dependency injection container” на packagist на данный момент выдает более 95 страниц результата. С уверенностью можно сказать, что это особое “колесо” уже изобретено.

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

В этой статье мы собираемся учиться делать простой dependency injection container пакет. Весь написанный в статье код плюс PHPDoc аннотации и unit-тесты с 100% покрытием доступны на GitHub. Все это так же добавлено на Packagist.
Читать дальше →

Go с точки зрения PHP программиста

Reading time8 min
Views69K
Предлагаю вашему вниманию перевод статьи Go from PHP engineer's perspective с сайта sobit.me.

Будучи PHP программистом, задумывались ли вы об идее изучения других языков программирования?

Уже много лет выбор многих компаний падает на PHP для создания полноценных монолитных приложений. Более того, за последние 5 лет фреймворки (Symfony, Laravel, Zend), инструменты (Composer, Monolog) и стремительно растущее сообщество (PHP-FIG) помогли многим разработчикам в создании программного обеспечения на уровне предприятий. Многие компании, такие как Facebook, Yahoo!, Wikipedia, Wordpress, Tumblr, начинали свою историю с PHP, и это не помешало им стать успешными в последующие годы.

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

В этой статье мы попытаемся понять, как далеко мы сможем зайти, имея в арсенале только PHP, и где может вступить Go, чтобы помочь решить проблемы, с которыми нам предстоит столкнуться.
Читать дальше →

Поняв Docker

Reading time14 min
Views223K

Если вы еще никогда не поддерживали чужие приложения, или пусть даже свои, но таких размеров, что уже не помещаются в одной голове, то прошу вас расслабиться, откинуться на спинку кресла и воспринимать прочитанное как поучительную сказку с надуманными проблемами, забавным сюжетом и очевидным счастливым концом. В противном случае, если реальный боевой опыт у вас имеется, добро пожаловать в ад, но с IDDQD и IDKFA.


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity