Как известно, Андроид устройств существует много… очень много. Это дает нам огромное число экранов, с различным сочетанием разрешения и плотности пикселей, что значительно усложняет разработку приложений. В определенный момент захотелось постараться упростить проверку приложения на разных экранах и избежать запуска на многих устройствах и эмуляторах. Анализ проблемы показал, что все необходимое для решения проблемы есть и, используя Adb, можно обойтись одним подключенным устройством. В итоге была разработана кроссплатформенная утилита для автоматического сохранения скриншотов приложения на разных параметрах экрана одного устройства, не требующая никаких дополнительных манипуляций с исходным кодом приложения (с эмуляторами также все работает). После работы утилиты получаются скриншоты приложения в том виде, в каком оно выглядит на различных устройствах. В дальнейшем, используя полученные скриншоты, можно выявлять артефакты отображения приложения и анализировать оптимальность лэйаутов.
Denis Deryabin @ehles
User
django-controlcenter
13 min
21KВсем привет, хочу поделиться своей небольшой разработкой — django-controlcenter. Это приложение для создания дешбоардов для вашего django-проекта.
+30
Порог вхождения в Angular 2 — теория и практика
16 min
124KTutorial
Добрый день, дорогие хабра: жители, читатели, писатели, негативно-комментаторы.
В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.
Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.
В общем, если коротко, то чукча не программист, чукча просто душой и сердцем уважает тех, кто из непонятных строчек кода делает офигенные вещи, которые хорошо работают.
В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.
Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.
В общем, если коротко, то чукча не программист, чукча просто душой и сердцем уважает тех, кто из непонятных строчек кода делает офигенные вещи, которые хорошо работают.
+38
История ещё одного 3д-куба 10х10х10
6 min
33KВ последнее время на портале появлялись статьи о создании светодиодных кубов. Это своего рода игрушки, которые могут формировать трёхмерную картинку, но сделать большое разрешение очень проблематично и трудоёмко. Большинство работ ограничивается форматом 3х3х3, или в лучшем случае 5х5х5. Спустя время я нашёл свой старый 10 “этажный” куб, немного восстановил его и решил написать о своём опыте создания устройства.
Первый куб я спаял где-то в 2012 году, на подарок, с разрешением 4x4x4, в нем использовалась готовая схемотехника и программа, найденная в интернете. Увлёкшись, решил сделать такой же себе, но, увеличив разрешение до 5x5x5. Схемотехнику, опираясь на готовое решение, сделал сам, полностью скопировав саму логику подачи напряжения на ноги светодиодов.
Первый куб я спаял где-то в 2012 году, на подарок, с разрешением 4x4x4, в нем использовалась готовая схемотехника и программа, найденная в интернете. Увлёкшись, решил сделать такой же себе, но, увеличив разрешение до 5x5x5. Схемотехнику, опираясь на готовое решение, сделал сам, полностью скопировав саму логику подачи напряжения на ноги светодиодов.
+58
Альтернативы сервису parse.com
6 min
37KTranslation
Как известно, в следующем январе сервис Parse будет закрыт. Большинство разработчиков ищут альтернативу для этого сервиса. В одном из проектов guthub собралось достаточно много альтернатив, со ссылками и описанием. Перед вами — перевод этой страницы.
Провайдеры, предоставляющие информацию в реальном времени, помечены (*).
AnyPresence MBaaS (Mobile backend as a service). Упрощает процесс создания мобильных приложений предприятия, работающих на разных устройствах, не ущемляя гибкость средств, доступных разработчику. Легок в использовании даже для неопытных пользователей. Опытные разработчики получают доступ к исходникам всех компонентов.
ApiOmat позволяет процессам предприятия работать как мобильным приложениям. Мобилизует сложные бизнес-структуры и процессы путём объединения существующих IT-систем с мобильными приложениями и устройствами. Его можно устанавливать прямо в дата-центре компании, что позволит работникам выполнять свою работу через приложения вне зависимости от их местонахождения.
Appcelerator Arrow (*) Состоит из двух основных компонентов, Builder и Cloud. Arrow Builder позволяет быстро создавать API, модели данных и соединители данных как через мастер настройки, так и через написание кода. Arrow Cloud – это эластичный облачный сервис, где выполняются API и происходит анализ их использования, плюс обеспечивается работа двух десятков смежных сервисов (гео, хранение фотографий и т.п.) с использованием ArrowDB
Appery.io Интегрированные сервисы MBaaS – чтобы разработчики могли сконцентрироваться на приложениях, не отвлекаясь на инфраструктуру.
Часть 1: универсальные сервисы
Провайдеры, предоставляющие информацию в реальном времени, помечены (*).
AnyPresence MBaaS (Mobile backend as a service). Упрощает процесс создания мобильных приложений предприятия, работающих на разных устройствах, не ущемляя гибкость средств, доступных разработчику. Легок в использовании даже для неопытных пользователей. Опытные разработчики получают доступ к исходникам всех компонентов.
ApiOmat позволяет процессам предприятия работать как мобильным приложениям. Мобилизует сложные бизнес-структуры и процессы путём объединения существующих IT-систем с мобильными приложениями и устройствами. Его можно устанавливать прямо в дата-центре компании, что позволит работникам выполнять свою работу через приложения вне зависимости от их местонахождения.
Appcelerator Arrow (*) Состоит из двух основных компонентов, Builder и Cloud. Arrow Builder позволяет быстро создавать API, модели данных и соединители данных как через мастер настройки, так и через написание кода. Arrow Cloud – это эластичный облачный сервис, где выполняются API и происходит анализ их использования, плюс обеспечивается работа двух десятков смежных сервисов (гео, хранение фотографий и т.п.) с использованием ArrowDB
Appery.io Интегрированные сервисы MBaaS – чтобы разработчики могли сконцентрироваться на приложениях, не отвлекаясь на инфраструктуру.
+13
43 полезных сервиса для управления проектами. Без эпитетов
13 min
692KДано: собственные и аутсорс-проекты, некоторые участники работают удаленно.
Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.
Выбирая для себя сервисы, с помощью которых мы могли бы работать над проектами в несколько раз эффективнее, у нас сложился целый список различных сервисов таск- и тайм-менеджмента, для управления и планирования проектов, командной работы, построения онлайн диаграмм и т.д.
Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:
Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.
Выбирая для себя сервисы, с помощью которых мы могли бы работать над проектами в несколько раз эффективнее, у нас сложился целый список различных сервисов таск- и тайм-менеджмента, для управления и планирования проектов, командной работы, построения онлайн диаграмм и т.д.
Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:
Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)
+26
Для всех и каждого. Лучшие альтернативы action-камерам GoPro
9 min
31KЗа последние несколько лет на рынке электроники для съёмки фото и видео выделился и прочно закрепился полноценный сегмент продуктов – action-камеры. О том, в чём достоинство таких девайсов на фоне классических средств съёмки, было сказано уже много, давно и подробно, в первую очередь – на примере камер компании GoPro: они компактные, удобны для путешествий и экстремальных вылазок, могут быть оборудованы различными аксессуарами, не говоря о главной фиче – возможностью понаблюдать за тайной жизнью своего кота.
Камера рекламирует сама себя – неудивительно, ведь GoPro делает камеры давно и очень качественно, пытаясь захватить все ниши сравнительно молодого рынка. Всё в ней хорошо… кроме цены – чтобы стать участником GoPro-сообщества, придётся неплохо потратиться. На помощь приходят китайские производители, благодаря которым у покупателей есть несколько альтернатив с не менее впечатляющей функциональностью и гораздо более доступной ценой. В преддверии зимнего action-сезона поговорим как раз об альтернативных камерах – добро пожаловать под кат.
Камера рекламирует сама себя – неудивительно, ведь GoPro делает камеры давно и очень качественно, пытаясь захватить все ниши сравнительно молодого рынка. Всё в ней хорошо… кроме цены – чтобы стать участником GoPro-сообщества, придётся неплохо потратиться. На помощь приходят китайские производители, благодаря которым у покупателей есть несколько альтернатив с не менее впечатляющей функциональностью и гораздо более доступной ценой. В преддверии зимнего action-сезона поговорим как раз об альтернативных камерах – добро пожаловать под кат.
+19
Тестирование аккумуляторов: первые выводы
3 min
44KПосле моего Грандиозного тестирования батареек многие просили меня заняться таким же подробным тестированием аккумуляторов.
Уже две недели практически круглосуточно идёт процесс тестирования. За это время я успел протестировать 22 вида аккумуляторов АА десяти брендов: IKEA, Ansmann, GP, Duracell, Energizer, Robiton, Panasonic, Panasonic Eneloop, Varta. На подходе аккумуляторы Turnigy, Космос, Camelion.
Пока не протестированы все аккумуляторы, я не буду приводить подробные результаты, но некоторыми интересными выводами уже могу поделиться.
Уже две недели практически круглосуточно идёт процесс тестирования. За это время я успел протестировать 22 вида аккумуляторов АА десяти брендов: IKEA, Ansmann, GP, Duracell, Energizer, Robiton, Panasonic, Panasonic Eneloop, Varta. На подходе аккумуляторы Turnigy, Космос, Camelion.
Пока не протестированы все аккумуляторы, я не буду приводить подробные результаты, но некоторыми интересными выводами уже могу поделиться.
+46
Выбор видеокарты, кризис эдишн. Что взять в 2015 году для игр?
4 min
50KПривет, GT! Мои личные сообщения регулярно бомбят вопросами по статьям о GTX 970 (1, 2, 3) и GTX 980Ti: в основном, описывают юзкейс и просят посоветовать железку. Ну а в свете прошедшего Игромира так и вообще труба полная. Так как я один, а вас — много, держите гайд по выбору видеокарточки. Надеюсь, он поможет всем желающим проапгрейдиться.
+14
40 ключевых концепций информационных технологий доступно и понятно
16 min
160KTranslation
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.
Важные замечания:
- Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
- Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
- Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.
Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
+88
Прекратите скручивать (восклицательный знак)
6 min
1.7MTutorial
+652
С нуля до миллиарда: Создатель Slack делится историей успеха
13 min
27KTranslation
«Дорогой SlackHQ, я тебя люблю. Твой Дэн».
Вероятно, вы слышали про поразительный рост Slack. Вы, возможно, читали, что платформу для внутрикорпоративного общения (которой всего 2 года отроду), уже активно используют более 30000 команд и оценивают в 1 миллиард долларов. Но видели ли вы все эти сообщения о Slack в Twitter?
Все эти твиты настоящие, и о подобном мечтают все руководители. Slack не проводила больших комплексных маркетинговых кампаний – у них нет детально проработанной стратегии email-маркетинга, и они не покупали рекламные билборды за миллионы долларов (На самом деле им удалось достичь такого количества пользователей, не имея сотрудника на должности директора по маркетингу).
Как же компании удалось запустить продукт, вызвавший такой завидный резонанс, и быстро завоевать сердца пользователей? Когда основатель Slack Стюарт Баттерфилд (Stewart Butterfield) говорит про успех компании, то всегда упоминает в своей речи, что она возвела отзывы своих клиентов о продукте во главу угла.
В этом эксклюзивном интервью Баттерфилд (в прошлом один из основателей Flickr) рассказал, что стратегия выхода на рынок была успешной, быстрой и активной. Здесь он объясняет, насколько важно концентрировать свое внимание на уникальных особенностях проекта (и почему вы можете опустить остальное), и делится советами о том, как стать незаменимыми для своих клиентов.
+15
Изменение схемы разбивки диска на арендуемом VPS
5 min
13K«Можно ли сделать произвольную схему разбивки диска на виртуальном сервере?» Такой вопрос однажды возник в моей голове. Сразу скажу — речь о случае, когда нет доступа к гипервизору (иначе это было бы слишком легко). На первый взгляд может показаться, что вопрос не решаемый. В самом деле — чтобы переразбить раздел, его нужно отмонтировать. В случае с домашними компьютерами для этого используют Live{CD,USB}. Но если в вашем распоряжении только ssh? Пару секунд на обдумывание — и я нашёл решение. Казалось, на этом можно успокоиться: сам проблему придумал, сам решил. Но потом я в шутку задал этот же вопрос коллеге, будучи уверен, что у него так же не возникнет затруднений с решением вопроса. Результаты меня удивили. Опросив других, оказалось что все опрошенные уверены, что переразбить диск на VPS невозможно. Дальше всех пошёл только один парень, который сказал: «Можно, но не корневой раздел».
Если вы тоже не знаете решения этой задачки или просто хотите посмотреть на пример реализации — добро пожаловать в статью!
Если вы тоже не знаете решения этой задачки или просто хотите посмотреть на пример реализации — добро пожаловать в статью!
+9
Оптимизация Ubuntu (и прочих Linux-ов) под SSD
4 min
205KДоброго времени суток всем читающим. В данной мини-статье мне хотелось бы собрать и рассмотреть основные моменты оптимизации работы (и, конечно, продления жизненного цикла ) твердотельных накопителей. Практически всю информацию можно легко найти в сети, но тут я попытаюсь упомянуть пару подводных камней.
+108
Реализация протокола ws2812b на ATmega
2 min
61K Светодиоды ws2812b весьма интересная штука. О реализации протокола их работы я и хочу сейчас поведать. Как и в прошлой статье, код написан в среде IAR под микроконтроллер ATmega32 c 16МГц кварцем. Хочу сразу уточнить, что кварца менее 16МГц скорее всего не хватит, данный протокол рассчитан на весьма жесткие тайминги. Ноль выставляется временным интервалом 0.4 мкс, единица 0.8 мкс.
+25
Разворачиваем СвоёОблако в облаке. Установка CoreOS
6 min
40KTutorial
Меня всегда интересовали облачные технологии. В том числе и наиболее трендовые из них — это децентрализация, кластеризация, оптимизация и распределенние всего: вычислительных ресурсов, данных, пончиков и власти. Поэтому я не мог пройти мимо CoreOS, о которой в IT-сообществе сейчас много разговоров, и которая стала для меня отправной точкой для экспериментов.
Чтобы совместить приятное с полезным, я стал искать подходящее приложение, на котором, с одной стороны, было бы интересно применить облачные технологии, а с другой, — могло бы пригодиться в будущем. Поэтому, я решил развернуть инсталляцию OwnCloud на базе CoreOS.
Теперь я расскажу, к чему это привело, и по ходу действия приведу ссылки, чтобы интересующийся мог углубить свои знания в предметной сфере. Но если возникнут вопросы — смело задавайте их в комментариях.
Чтобы совместить приятное с полезным, я стал искать подходящее приложение, на котором, с одной стороны, было бы интересно применить облачные технологии, а с другой, — могло бы пригодиться в будущем. Поэтому, я решил развернуть инсталляцию OwnCloud на базе CoreOS.
Теперь я расскажу, к чему это привело, и по ходу действия приведу ссылки, чтобы интересующийся мог углубить свои знания в предметной сфере. Но если возникнут вопросы — смело задавайте их в комментариях.
+14
TOP'ай сюда
5 min
180KОбзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).
Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
top
Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.atop
Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
+377
Грандиозное тестирование батареек
4 min
363KКаждый раз при покупке батареек у меня возникало много вопросов:
Насколько дорогие батарейки лучше дешёвых?
Насколько ёмкость литиевых батареек больше обычных?
Насколько ёмкость солевых батареек меньше, чем у щелочных?
Отличаются ли батарейки для цифровых устройств от обычных?
Какие из батареек, стоящих одинаково, лучше покупать?
Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.
Насколько дорогие батарейки лучше дешёвых?
Насколько ёмкость литиевых батареек больше обычных?
Насколько ёмкость солевых батареек меньше, чем у щелочных?
Отличаются ли батарейки для цифровых устройств от обычных?
Какие из батареек, стоящих одинаково, лучше покупать?
Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.
+230
Программируем квадрокоптер на Arduino (часть 1)
18 min
365KЗдравствуйте, хаброжители!
В этой серии статей мы с вами приоткроем крышку квадрокоптера чуть больше, чем этого требует хобби, а также напишем, настроим и запустим в воздух собственную программу для полетного контроллера, которым будет являться обычная плата Arduino Mega 2560.
У нас впереди:
- Базовые понятия (для начинающих коптероводов).
- PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
- Собственно программа для Arduino и настроечная программа на Qt.
- Опасные тесты квадрокоптера на веревке. Первые полёты.
- Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
- Окончательные успешные тесты. Подведение итогов. Куда дальше?
Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
+105
Пересмотренное руководство по Grunt для начинающих
6 min
51KTutorial
Translation
Еще в марте 2013 года я написал статью руководство по Grunt для начинающих и она стала самой посещаемой статьей на моем сайте. Я написал ее в то время, когда сам только начинал своё знакомство с Grunt, и это было скорее руководство для себя, чем для кого-то ещё. Теперь, спустя 18 месяцев, я почувствовал, что пришло время пересмотреть как я использую Grunt потому что сейчас я знаю гораздо больше, чем в то время.
Если вам не терпится просто увидеть код, то весь он есть на Github.
Если вам не терпится просто увидеть код, то весь он есть на Github.
+18
Information
- Rating
- Does not participate
- Location
- Нижний Новгород, Нижегородская обл., Россия
- Date of birth
- Registered
- Activity