Архив за 17 октября 2013 - 5

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

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

Итак, введение.
Читать полностью »

Компания SanDisk, являющаяся одним из крупнейших игроков рынка флэш-накопителей и карт памяти, опубликовала отчет о своей работе в третьем квартале.

Значение выручки или дохода от реализации оказалось в минувшем квартале рекордным для SanDisk. Компания получила 1,63 млрд. долларов, что на 28% больше, чем в третьем квартале 2012 года и на 10% больше, чем в предшествующем квартале.

Читать полностью »

Предыдущий пост посвященный производительности, описывал Pony ORM, показавший фантастические результаты по сравнению с Django ORM и SQLAlchemy.

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

Читать полностью »

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

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

Для начала терминология. Пентаграммой называют совокупность всех диагоналей пятиугольника, в случае гексаграммы — это уже не все диагонали, а только те, которые соединяют непротивоположные вершины шестиугольника. Во обоих случаях эти вершины идут через одну друг от друга. Например, если вершины пятиугольника перенумеровать (0, 1, 2, 3, 4), то пентаграмма — совокупность линий (0, 2), (1, 3), (2, 4), (3, 0), (4, 1). Гексаграмма (0, 1, 2, 3, 4, 5), соответственно, является совокупностью линий (0, 2), (1, 3), (2, 4), (3, 5), (4, 0), (5, 1). Нули в качестве начальной точки взяты не случайно и не как дань програмистскому мышлению, удобство этого обозначения я опишу ниже. Линии, образующие полиграмму, я буду называть ребрами. Вершинами полиграммы я буду называть вершины исходного полигона, а не все точки пересечения ребер.

О звездах

Читать полностью »

Open Source

Вот уже два года наша компания занимается разработкой опенсорсных проектов. В мае 2011 года был зарегистрирован наш аккаунт на GitHub. О некоторых из размещенных там под свободными лицензиями продуктах мы уже писали, но это было давно — имеющиеся публикации датируются всё тем же 2011 годом. За прошедшее с тех пор время мы реализовали и выложили в свободный доступ много интересных и полезных проектов (общее число созданных нами репозиториев составляет около трех десятков), и о некоторых из них стоит рассказать более подробно.
Читать полностью »

FlyKly – умное колесо для велосипеда с GPS и Bluetooth, новый проект, ищущий финансирования на KickStarter.

Главная его функция заключается в электромоторе и аккумуляторе, которые помогают тебе ехать (до 25 км/ч на расстояние в 50 км). Аккумулятор может заряжаться от обычной сети (полная зарядка – до трех часов) или при помощи кинетической энергии (например, при движении с горки), а управляется FlyKly от смартфона – надо выставить в специальном приложении желаемую скорость и мотор будет разгонять байк в соответствии с этим. Читать полностью »

Краткий список того, что нужно контролировать на хосте виртуализации под управлением Xen'а. На полноценное «почитать» не тянет, но тем, кто с Зеном работает, будет полезно. Дополнения и уточнения приветствуются.

В заметке идёт о мониторинге именно хоста, а не запущенных на нём виртуальных машин или их сервисов.

Итак, начнём с простого:
Читать полностью »

в 10:30, , рубрики: CakePHP, метки:

Доброго времени суток уважаемый %username%.

Каждый программист хоть раз в своей жизни сталкивался с унаследованным кодом. Иногда такой код вызывает реакцию: «Что это за дрянь|лапша|говнокод, давайте его перепишем».

Так произошло и с проектом к которому я присоединился. 200-300 строчные методы, дублирование кода, процедурный подход вместо использования ООП не вызывали ни каких положительных эмоций. К счастью ПМ оказался очень адекватным человеком и не отмахнулся от просьбы выделить время на рефакторинги. Один из таких рефакторингов в итоге вылился в плагин валидации HTML-форм, которым я и хочу поделиться.
Читать полностью »

Инвижин? Хуижин!* Как мы делали бесплатный аналог InvisionApp
*Whoision — официальное название сервиса, с налетом еле заметной иронии.

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

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

На весь проект у нас одни сутки. Сознаемся, дизайн и верстку мы вынесли за пределы хакатона — делали всё это непосредственно перед ним. Как и тестирование, которое мы перенесли на следующий день. Всё это, с одной стороны, нивелирует наш героический подвиг, но с другой — романтики в нем меньше не становится.

Итак, хроника рабочего процесса со слов участников. В конце — ссылка на сам сервис, для нетерпеливых.
Читать полностью »

Нештатное выведение спутника: варианты развития событий
К сожалению, в последнее время тема различных аварий при выведении космических аппаратов не теряет актуальности, поэтому (исходя из собственного опыта) хотелось бы рассказать о том, какие задачи решают инженеры при возникновении такой нештатной ситуации. В статье рассказывается о возможных вариантах развития событий в случае нештатного выведения космического аппарата на примере завершения функционирования телекоммуникационного спутника «Экспресс — АМ4» после отказа разгонного блока «Бриз-М». Также немного расскажу о том, что делается в мире для уменьшения рисков столкновения космических аппаратов при нештатном выведении.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js