Архив за 28 февраля 2014 - 6

Бородатая присказка гласит: админы делятся на тех, кто не делает бэкапы, и тех, кто уже делает. У большинства осознание необходимости делать резервные копии приходит после крупной личной потери данных. И, несмотря на обилие душещипательных историй о том, как люди теряли всё, до сих пор многие продолжают надеяться на то, что бэкапы кто-то сделает за них. В качестве напоминания о неверности такого подхода, я хочу привести несколько примеров того, как люди совершенно неожиданным образом лишались своих данных или были на грани этого.

Форс мажоры, или как люди теряли свои данныеЧитать полностью »

В последнее время производители гаджетов от мала до велика вовсю практикуют «клонирование» iPad mini – это своего рода модный тренд. На выходе получаются модели на операционной системе Android с 7,85-дюймовыми экранами, изящными и тонкими корпусами, а также в разы более низкими ценниками. На поток «клонирование» поставили многие российские бренды, хотя не брезгуют таким походом и конторы покрупнее – например, Acer и MSI. Да и HP не так давно представила в Китае линейку недорогих планшетов Compaq, среди которых есть – вот тебе и раз – «клон» iPad mini.

bb mobile Techno 7.85 3G: «клон» iPad mini с телефонным функционалом и 4 ядрами

В этом посте речь пойдет как раз об «Android-копии» iPad mini, а именно о модели bb-mobile Techno 7.85 3G. Читать полностью »

Как известно, использование виртуальных машин, работа которых строится на программной интерпретации кода, позволяет создавать универсальные приложения, выполняемые на различных аппаратных платформах без рекомпиляции. Технология EFI Byte Code является типичным примером успешного применения данного подхода. Но при всех его преимуществах есть очевидный недостаток – программно реализованный процессор существенно медленнее аппаратного. В предлагаемой статье рассматривается метод, позволяющий нивелировать падение производительности EBC-программ на примере операций заполнения блока памяти константой и копирования содержимого блока памяти. Причем, об использовании «вставок» нативного кода центрального процессора речь не идет, поскольку это дискредитирует саму идею кроссплатформенности.Читать полностью »

Прочитав статью Базы данных в онлайн играх и особенно комменты к ней, я в очередной расстроился от мысли, что многие разработчики меняют БД в своём проекте, пытаясь этой сменой решить свои проблемы, не исчерпав, однако, всех возможностей, предоставляемой заменяемой БД. Я принимаю участие в работе над проектом, БД которого характеризуется:

  • Количеством транзакций порядка 5'000 — 10'000 в секунду
  • Объемом примерно в 100ГБ (который бодро растёт)
  • Примерно равным количеством операций на чтение/запись
  • Преимущественно мелкими транзакциями

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

Я опишу некоторые проблемы, с которыми мы сталкиваемся, и применённые решения. Если кто-то сочтёт это полезным — ради Бога. Если кто-то поправит — я буду только рад обнаружить уязвимость в используемых подходах и увеличить эффективность работы БД. Описанное может быть применено без вмешательства в логику приложения, исключительно путём модификации схемы БД.
Читать полностью »

В последнее время появилось множество устройств, использующих мобильный интернет. Это и системы охранной сигнализации, и автоматика, и автомобильные трекеры, и навигаторы с пробками. Все эти устройства потребляют мобильный интернет в очень маленьких количествах и нерегулярно. К примеру, у меня есть GSM-сигнализация, отправляющая по GPRS фото грабителя и не умеющая отправлять фото по запросу. Другой пример: автомобильный трекер отправляет несколько байт каждые 30 секунд во времяя движения автомобиля. Безлимитные тарифы для таких устройств совершенно не нужны. В обычных тарифах всех операторов мобильный интернет стоит около 10 рублей за мегабайт с округлением до 100 килобайт, поэтому та же работа автомобильного трекера обойдётся весьма недёшево.

Я изучил все тарифы всех трёх операторов в Москве и нашёл тарифы, более-менее подходящие для устройств с симкой, использующих мобильный интернет. Данные актуальны на 28.2.2014.

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

При тестировании js интерфейса иногда возникает необходимость авторизации, ниже опишу очень простое и удобное решение.

Создаем файл spec/support/request_helpers.rb со следующим содержимым:

require 'spec_helper'
include Warden::Test::Helpers
 
module RequestHelper
 
  def create_current_user
    user = FactoryGirl.create :user
    login_as user, scope: :user
    user
  end
 
end

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

На одном из моих первых тренингов один из присутствующих менеджеров задал вопрос:

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

Когда меня называют экспертом, надо понимать эффект. Мне становится очень приятно, я отрываюсь от земли, мозг отключается и дальше начинается словесный поток. (Если хотите поставить эксперимент, подойдите к докладчику на любой конференции после доклада и скажите что-нибудь вроде: “Спасибо, очень понравился Ваш доклад. Вот Вы, как эксперт, как считаете...” Дальше можно спрашивать что угодно, но человек будет уже не с вами. Мы поэтому просим никогда не обращаться к нам как к экспертам.)

В общем, меня понесло…

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

В России уже доступны модели Volvo S60 и XC60 с системой Sensus Connect на борту. В то же время на MWC компания только сейчас представляет множество решений, включая технологии от Ericsson, которые делают жизнь автомобилиста комфортнее.

В этом ролике — что обещает Volvo, а под хабракатом — подробности об оснащении автомобилей.

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

Кадры решают все
Учиться или не учиться? — вот в чем вопрос.
Как ни странно, ответ на него зависит от вашего личного взгляда на экономику. Не претендую на истину в последней инстанции, просто хотелось разобраться и внести некоторую ясность.
Читать полностью »

Найдена ошибка в PVS-Studiuo и CppCat В списке вопросов, которые всегда задают нам после прочтения наших статей есть вопрос: «А вы проверяете код своего анализатора им самим?». И дается ответ в том ключе, что у нас всегда проверяется код во время написания с помощью режима инкрементального анализа (проверки файлов сразу после компиляции). А также запускаются ночные проверки для всего кода. И в связи с этим мы, к сожалению (ирония), никогда не сможем написать статью про ошибки в наших программных продуктах.

Однако сегодня – именно статья про одну нашу ошибку и про то, сколько она нам стоила. Заинтриговал?

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


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