Pull to refresh
66
0
Артем Зубков @artzub

Визуализация данных, Веб-разработка

Send message

Canvas Gauges 2.0

Reading time4 min
Views14K
image

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


Как и раньше, библиотека OpenSource и распространяется по лицензии MIT, так что берите, используйте и, вообще, далайте что хотите без каких-либо ограничений.


Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments17

19-летний гик нашел работу благодаря восстановлению старого мейнфрейма IBM

Reading time3 min
Views44K


Весной этого года мы в своем блоге публиковали статью о том, что 18-летний гик купил по объявлению мейнфрейм IBM z890 (2004 год), восстановил его и провел ряд испытаний. Купил он его на сайте «GovDeals» всего за $237. Продавцом выступил университет, обновлявший парк оборудования. Зачем энтузиасту мейнфрейм? Конечно же, для того, чтобы установить в подвале собственного дома и привести в рабочее состояние.

Физическая установка мейнфрейма заняла у покупателя два дня, поскольку разборка по блокам, загрузка в подвал и повторная сборка — это очень небыстрый процесс. Плюс ко всему, мейнфрейм достался покупателю без системы хранения данных — он с трудом нашел подходящую систему по не слишком высокой цене. Автор пишет, что решений очень много, но стоимость их превышает на порядок стоимость его покупки. Поэтому было найдено вот это решение.
Total votes 46: ↑41 and ↓5+36
Comments57

Визуализация кодовой эволюции

Reading time9 min
Views8.4K
image

От переводчика:


На этого интересного автора, Адама Торнхила, я набрел при поиске видео с конференции GOTO. Кому данная статья покажется интересной, советую посмотреть его выступление. Я немного заморочился с переводом (благодарен Тане за помощь!), потому что тематика показалась очень своеобразной, не встречал ранее аналогичные работы (буду рад ссылкам в комментариях!). Статья свежая, августа 2016, в оригинале называется Software ®Evolution — Part 1. В тексте идет повествования от первого лица, но имеется в виду автор оригинальной статьи.


Как эволюция кода позволяет понимать большие кодовые базы


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


Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments7

Как оптимизировать игру с помощью полигональных атласов

Reading time5 min
Views30K
Как всем известно, жизнь разработчика мобильных игр непроста. Он должен найти свой путь на очень узкой дорожке. С одной ее стороны — требования гейм-дизайнеров, уверенно устремляющиеся к бесконечности. Больше функционала, больше красивой графики, больше эффектов, больше анимаций, больше звуков. А с другой стороны — ограниченные ресурсы мобильного устройства. И раньше всего, как правило, заканчивается оперативная память.

Например, iPad 2 — всего в нем 512 Мб RAM. Однако приложению доступно только примерно 275 Мб. Когда занимаемая приложением память будет приближаться к этой границе, операционная система пришлет так называемое «Memory warning» — мягко, но настойчиво предложит освободить память. И если лимит все же будет превышен, операционная система остановит приложение. Пользователь будет думать, что ваша игра упала и побежит писать гневное письмо в саппорт.



Главный потребитель памяти — это, конечно, графика. В этой статье мы попробуем рассказать о пусть немного сложном, но эффективном способе, который используется для уменьшения занимаемой текстурами памяти, а также для повышения скорости отрисовки.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments69

Сжатие мобильной графики в формат ETC1 и открытая утилита

Reading time9 min
Views17K
При развитии free-to-play мобильной игры вместе с новыми фичами регулярно добавляется и новая графика. Часть ее включается в дистрибутив, часть скачивается в ходе игры. Для возможности запуска приложения на устройствах с небольшим размером оперативной памяти разработчики применяют аппаратно сжатые текстуры.



Формат ETC1 обязателен к поддержке на всех Android-устройствах с OpenGL ES 2.0 и является хорошей отправной точкой оптимизации потребляемой оперативной памяти. По сравнению с форматами PNG, JPEG, WebP загрузка текстур ETC1 осуществляется без интенсивных расчетов обычным копированием памяти. Также улучшается производительность игры по причине меньших размеров данных текстур пересылаемых из медленной памяти в быструю.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments15

Horizon — realtime JavaScript бэкэнд

Reading time4 min
Views18K


Что такое Horizon?


Horizon — это продукт содержащий в себе NoSQL базу данных RethinkDB, консольную утилиту horizon (hz), авторизацию и ACL, клиентскую JS библиотеку horizon.js для работы с БД на клиенте.

Другими словами: Horizon — это тонкий бэкэнд: БД и правила доступа пользователей к базе на уровне запросов.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments14

Разбор графики Supreme Commander

Reading time9 min
Views27K

Total Annihilation занимает в моём сердце особое место, потому что это была моя первая RTS; вместе с Command & Conquer и Starcraft это одна из самых лучших RTS, выпущенных во второй половине 90-х.

Через десять лет, в 2007 году, был выпущена её наследница: Supreme Commander. Благодаря тому, что над игрой работали одни из основных создателей Total Annihilation (дизайнер Крис Тейлор, программист движка Джонатан Мейвор и композитор Джереми Соул), ожидания фанатов были очень высокими.

Supreme Commander была тепло принята критиками и игроками благодаря своим интересным особенностям, таким как «стратегический зум» и физически реалистичная баллистика.

Давайте посмотрим, как движок SupCom под названием Moho рендерит кадр игры. RenderDoc не поддерживает игры под DirectX 9, поэтому реверс-инжиниринг выполнялся при помощи старого доброго PIX.
Читать дальше →
Total votes 73: ↑73 and ↓0+73
Comments14

Tower Defence на движке Unity — Часть 1

Reading time4 min
Views29K
Привет всем! Это моя первая статья для хабра и она предназначена для новичков. В ней я хотел бы рассказать о том, как создать маленькую 3D игру жанра Tower Defence на движке Unity.

Я как и вы только изучаю этот движок. Учусь вместе с вами и могу допускать ошибки. Если статья интересна, то прошу пожаловать под кат! Только осторожно, там очень много картинок…

image
Total votes 42: ↑35 and ↓7+28
Comments19

Tower Defence на движке Unity — Часть 2

Reading time4 min
Views17K
Всем привет! Это вторая часть урока для новичков о том, как создать маленькую игру жанра Tower Defence на движке Unity. Мы остановились на создании скрипта для спауна крипов. Если интересно, прошу под кат.

Total votes 25: ↑21 and ↓4+17
Comments11

4 вида утечек памяти в JavaScript и как с ними бороться

Reading time16 min
Views128K

В этой статье мы рассмотрим распространённые виды утечек памяти в клиентском JavaScript. Также мы узнаем, как их обнаружить с помощью Chrome Development Tools.


timeline в Chrome Dev Tools

Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments16

10 особенностей Webpack

Reading time8 min
Views78K
Webpack считается лучшим инструментом для сборки приложений на React и Redux. Полагаю, многие из тех, кто сегодня использует Angular 2 и другие фреймворки, не обходят вниманием и Webpack. И поскольку начинать работу с данным инструментом всегда непросто, я решил посвятить этой теме несколько публикаций в надежде облегчить старт другим разработчикам и заодно продемонстрировать некоторые особенности Webpack.

Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments52

Webpack + React. Как уменьшить бандл в 15 раз

Reading time3 min
Views55K
image

Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:

  • Гибкость настройки
  • Большое количество плагинов и лоадеров
  • Lazy loading
  • Использование es6 и es7 синтаксиса с помощью babel-loader

Читать дальше →
Total votes 47: ↑39 and ↓8+31
Comments31

Важные аспекты работы браузера для разработчиков. Часть 2

Reading time8 min
Views27K
image
Автор: Антон Реймер
В первой части статьи, основанной моем вебинаре, мы рассмотрели общие принципы работы браузера. Во второй — я сконцентрировал внимание на важных событиях: repaints и reflows — и на принципах работы event loop.

Repaints and reflows

При загрузке страницы, если она не пустая, всегда выполняется, как минимум, по одному reflow и repaint. Далее эти события возникают в следующих случаях:

1. Часть дерева отображения нуждается в перерасчете, т. е. у какого-то узла изменились ширина, высота или координаты. Вызывается событие reflow.

2. В результате изменений часть отображаемого контента должна обновиться. Речь идет, в первую очередь, о свойствах стилей: цвет фона, радиус и т. д. Вызывается событие repaint.

Если вызывается reflow, после него обязательно вызовется и repaint. Но обратное неверно: repaint может вызываться независимо от reflow.

Какие действия вызывают reflow и/или repaint
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments12

Сражаясь с БЭМ: 10 основных ошибок и как их избежать

Reading time13 min
Views88K

Не важно, узнали ли вы о БЭМ только сейчас, или следите за ним с самого начала, вы, возможно, уже оценили столь полезную методологию. Если вы не знаете, что такое БЭМ, я рекомендую прочитать вам об этом на сайте БЭМ перед тем, как продолжить чтение этой статьи, потому что я буду использовать термины, которые предполагают базовое понимание этой CSS методологии.
image
Эта статья нацелена на людей, которые уже используют БЭМ и желают использовать его более эффективно, а также на тех, кто хочет узнать о нем больше.

Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments22

Пропорции в искусстве. Есть ли что-то лучше золотого сечения? Исследование более 1 000 000 старых и современных картин

Reading time39 min
Views71K


Перевод поста Майкла Тротта (Michael Trott) "Aspect Ratios in Art: What Is Better Than Being Golden? Being Plastic, Rooted, or Just Rational? Investigating Aspect Ratios of Old vs. Modern Paintings".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации

Содержание


Предисловие: золотое сечение — красивая математическая концепция
Работа Фехнера 1876 года об эстетичности прямоугольников и соотношениях сторон в картинах
Легкий старт: анализ «Artwork» — области базы знаний Wolfram Knowledgebase
Первая часть: особенности вероятностного распределения соотношений сторон
Соотношения сторон для разных веков, жанров и художников
Анализируя пять старых немецких музейных каталогов
Коллекция Кресса: четыре больших PDF файла
У нас представлены коллекции следующих галерей: Метрополитен (Metropolitan), институт искусств Чикаго, Эрмитаж, Национальная Галерея (National Gallery), Рейксмюзеум (Rijks) и Тейт Британия
Исключение в соотношениях сторон: Национальная портретная галерея
Веб-галерея изящных искусств: удобная база данных, готовая к использованию
Примечание II: важность точности в измерениях
WikiArt: еще один крупный веб-ресурс
Коллекция Французского государственного музея
Картины в итальянских церквях: высота есть всё
Смитсоновская коллекция
Большая коллекция картин в Великобритании
Нынешний рынок изящных искусств: рациональней чем когда-либо
Проданные картины: большинство написаны недавно, а у распределения длинный хвост
Восток: все показатели отличаются
Пропорции пакетов, автомобилей, этикеток, логотипов, эмблем, бумаги, банкнот, почтовых марок и фильмов
Продукты из супермаркета
Винные этикетки
Этикетки немецких сортов пива
Логотипы продуктов питания
Банкноты
Размеры автомобилей
Бумажные листы
Марки
Эмблемы команд NCAA (Национальной ассоциации студенческого спорта)
Эмблемы немецких футбольных клубов
Форматы фильмов
Заключение: так какое соотношение самое «лучшее»?
Картины великих мастеров — едва ли не самое прекрасное из человеческого наследия. Ими дорожили и восхищались, бережно хранили и продавали за сотни миллионов долларов, и, возможно, не по случайности они являются главной целью похитителей предметов искусства. Их композиции, цвета, детали, темы могут держать нас в восхищении и внимании часами. Но что можно сказать об отношении их внешних размеров — высоты к ширине?

В 1876 году немецкий ученый Густав Теодор Фехнер изучал человеческое восприятие прямоугольных форм, а после заключил, что прямоугольники с золотой пропорцией (то же, что и золотое сечение) наиболее приятны для человеческого глаза. Чтобы проверить свои экспериментальные наблюдения, Фехнер также проанализировал соотношения более десяти тысяч картин.
Читать дальше...
Total votes 89: ↑83 and ↓6+77
Comments29

UX-дизайн кнопки: советы по созданию, типы и состояния

Reading time6 min
Views161K
Ник Бабич разработчик, UX/UI специалист написал заметку в блоге UX Planet про UX-дизайн кнопки: советы по созданию, типы и состояния. Наша команда выполнила перевод данной статьи

image

Кнопки – это самый обычный, «повседневный» элемент дизайна взаимодействия. Именно поэтому на них нужно обратить особое внимание, ведь кнопки являются важнейшим элементом, обеспечивающим беспрепятственное взаимодействие в сети и приложениях. Мы обсудим типы и состояния кнопок — эту информацию нужно знать, чтобы создавать эффективные кнопки и совершенствовать опыт пользователя.

Советы по созданию кнопок


Кнопки должны выглядеть как кнопки

Давайте на минуту представим, как с помощью дизайна донести возможность выбора. Как пользователь поймет, что данный элемент и есть кнопка? Он ориентируется на цвет и форму.

image
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments19

Поиск связей в социальных сетях

Reading time6 min
Views18K
Привет, Хабр! В этом посте мы хотим поделиться нашим решением задачи по предсказанию скрытых связей в корпоративной социальной сети “Улей” компании Билайн. Эту задачу мы решали в рамках виртуального хакатона Microsoft. Надо сказать, что до этого хакатона у нашей команды уже был успешный опыт решения таких задач на хакатоне от Одноклассников и нам очень хотелось опробовать наши наработки на новых данных. В статье мы расскажем про основные подходы, которые применяются при решении подобных задач и поделимся деталями нашего решения.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments4

Делаем крутые Single Page Application на basis.js — часть 1, вступительно-теоретическая

Reading time7 min
Views32K
Всем доброго времени суток!
Данная статья начинает цикл публикаций, посвященных basis.js – фреймворку для создания полноценных Single Page Application.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments28

Progressive Enhancement или всё-таки Graceful Degradation

Reading time6 min
Views93K
SerenityНельзя просто так взять и рассказать про progressive enhancement, не упомянув о graceful degradation. В чем же разница между этими понятиями? Как уже говорилось в более ранней статье, graceful degradation можно перевести, как отказоустойчивость. Это очень широкое понятие, но в контексте веба его можно понимать как отказоустойчивость клиентских веб-интерфейсов, серверной части сайтов и так далее. В этой статье graceful degradation будет пониматься как отказоустойчивость клиентских веб-интерфейсов.

Graceful degradation может выражаться в возможности работы при отключенном JavaScript, в достаточно аккуратном отображении интерфейса в браузере, не поддерживающем новые свойства CSS3, в адекватном отображении сайта при отключенных изображениях. В каждом из этих случаев работа пользователя с интерфейсом будет в принципе возможна, хотя и не так удобна.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments49

Работа мечты и бесплатный кластер на 1 миллион мета-данных

Reading time4 min
Views12K
Доброго времени суток!

Мы решили дать публичный доступ к архиву 1 млн насыщенных мета-данными сообщений соцмедиа (несколько сотен источников, включая посты и комментарии соцсетей, блогов, форумов, СМИ и т.п.).
Предлагаем попробовать свои силы в создании различных эвристик, закладываемых в классические SMA-системы (Social Media Analytics). Чем больше эвристик вы придумаете и сможете реализовать, тем выше ваш класс в Data Scientist. Возможно в вас живет настоящий профи: Data Scientist — одна из крутых профессий ближайшего будущего!

Для состоявшихся фанатов-профи — это возможность проверить и показать свои способности, а также, при обоюдном желании и радости, получить годовой контракт на $30.000 — $50.000.



Подробнее под катом
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments18

Information

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