Pull to refresh
10
0
Андрей Годин @xilix

Разработчик

Send message

Визуализация с Google Chart Tools API

Reading time4 min
Views54K
Google Chart Tools API – это многофункциональный набор инструментов для визуализации данных. С помощью него можно относительно легко строить графики и диаграммы на сайте.

Функционал Google Chart Tools API включает в себя:

  • Динамические пиктограммы;
  • Карты;
  • Циферблаты и дисплеи;
  • Формулы;
  • QR-коды;
  • Возможность создавать свои инструменты визуализации и использовать сторонние.

Карта


image
Сделаем визуализацию данных с помощью карты, раскрашенной в соответствии с внесенными данными. Для начала подключаем файлы, loader.js обязателен.
Читать дальше →

Пишем расширение под PHP (7.0.7) без знаний о С/C++ и как это вообще работает

Reading time7 min
Views19K
Можно ли написать свой модуль (расширение) к PHP без особых знаний, требующих большого времени изучения теории? Если умеешь программировать на самом PHP, то написать простейший код на С не составит особого труда, тем более, что PHP позволяет генерировать каркас под разрабатываемое расширение, в рамках которого потом пишешь код. Есть еще набирающий популярность зефир на хабре для этого вопроса. Данная публикация для тех, кто решил покопаться в исходниках PHP, немного посмотреть его внутренности, преследуя цель лишь поверхностного исследования. В данный момент я тот же самый исследовать без необходимых знаний. На собеседованиях по PHP часто просят написать код подсчета факториала. Вот такую функцию мы и напишем сейчас на С, которую потом можно вызывать из кода PHP. Я буду описывать действия, которые я сам делал и при этом ничего не знаю изначально по этой части. В интернете можно найти много статей по этому вопросу, большинство из них описывает информацию с использованием zval «старого» формата, но я не думаю, что будет хуже если и я еще добавлю от себя.
Читать дальше →

Давайте уже разберемся в DNS

Reading time8 min
Views455K

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

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

Az.js: JavaScript-библиотека для обработки текстов на русском языке

Reading time8 min
Views29K
Как чуден и глубок русский курлык
Генератор постов

Обработка естественного языка (natural language processing, NLP) — тема, на мой взгляд, очень интересная. Во-первых, задачи тут чисто алгоритмические: на вход принимаем совершенно примитивный объект, строчку, а извлечь пытаемся вложенный в него смысл (ну или хотя бы частичку смысла). Во-вторых, необязательно быть профессиональным лингвистом, чтобы решать эти задачи: достаточно знать родной язык на более-менее приличном уровне и любить его.

А ещё с небольшими затратами можно сделать какого-нибудь бестолкового чат-бота — или, как вот я, генератор постов на основе того, что вы писали на своей страничке в соцсети. Возможно, кто-то из вас уже видел это приложение — оно довольно глупое, чаще всего выдает бессмысленный и бессвязный текст, но изредка всё же дает повод улыбнуться.

Бессвязность текстов в нынешней версии «Генератора» вызвана тем, что на самом деле никакого анализа он производить не умеет. Просто в одних случаях «предсказывает» продолжение предложения по собранным биграммам, а в других — заменяет в готовом предложении некоторые слова на другие, которые заканчиваются похоже. Вот и вся начинка.

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

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
Views61K
В 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
Views60K
Привет, Гиктаймс! Сторонники экономии всегда спорят с оппонентами, которые считают, что нужно просто больше зарабатывать, а любители оптимизации в IT заводятся с пол-оборота от фразы «купите уже себе нормальное железо». И те, и другие по-своему правы, но сегодня мы перейдём на сторону «романтиков», и расскажем, как заставить работать старый смартфон с полной отдачей.
Читать дальше →

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

Reading time6 min
Views113K
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
Views61K
Давно просили написать про мою жизнь в Болгарии, способы заработка и качества жизни. Прошло уже 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. Различные улучшения системы безопасности

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

Information

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