Как стать автором
Обновить
13
0

Пользователь

Отправить сообщение

Сравнение bcache и btier

Время на прочтение3 мин
Количество просмотров11K
После моего предыдущего поста о bcache, мне посоветовали использовать более быстрый btier. Через некоторое время появилась возможность попробовать его в боевых условиях. Этот пост будет о сравнении двух разных подоходов к ускорению работы жестких дисков…

image
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии14

5 правил верстки email-писем от Печкина

Время на прочтение2 мин
Количество просмотров74K

Сегодня мы хотели бы рассказать о базовых правилах верстки HTML в email-письмах. Как известно, на свете существует множество почтовых клиентов:
  • веб-версии у почтовых провайдеров (Gmail, Yandex, Mail, Yahoo итд.)
  • десктопные почтовые клиенты (Outlook, Bat, Thunderbird, Mac Mail)
  • мобильные почтовые клиенты (Blackberry, Android, Iphone, Ipad итд)


К сожалению, не существует обязательного стандарта верстки писем, который бы универсально поддерживался бы всеми клиентами. Часть поддерживает CSS3, часть нет, какие-то теги и аттрибуты поддерживаются, какие-то нет, не говоря уже о том, что поддержка HTML и CSS меняется даже в пределах одного почтового клиента от версии к версии. Последнее особенно заметно на примере Outlook (от Express и 2003 к Outlook 2011).

Что же необходимо знать тем, кто собирается самостоятельно верстать HTML-код для email-писем?
Посмотреть 5 правил верстки email
Всего голосов 56: ↑46 и ↓10+36
Комментарии24

Ускоряем базу данных. Bcache

Время на прочтение3 мин
Количество просмотров30K
Для работы мы используем postgresql + postgis базу данных с данными для всей планеты от osm.org. На диске она занимает около 350 Gb и работает не быстро, да и хранится на обычном винчестере 2Tb 7200rpm, без RAID-a. Т.к. нагрузка на базу данных постепенно растет, было решено ускорить дисковую подсистему, потратив при этом минимум денег. Вариантов было не много:
  • купить еще один такой же винчестер и объединить их в raid-0.
  • купить небольшой SSD и организовать на нем быстрый кэш:
    • dm-cache. Был добавлен в ядро 3.9, ставится просто.
    • bcache. Судя по обзорам самый быстрый. Основной минус — надо форматировать диски перед началом использования. Официально добавлен в ядро 3.10, распространяется как пропатченое ядро 3.9.
    • EnhanceIO. В обзорах я встретил упоминание его, как самого медленного, но простого в использовании.

Взвесив плюсы и минусы, а так же спросив отзывы знакомых, я решил остановиться на bcache. О нем и расскажу подробнее.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии28

10 причин, по которым Вы бросите свою работу в 2013 году

Время на прочтение9 мин
Количество просмотров809K
imageЭто перевод нашумевшей статьи с TechCrunch от Джеймса Альтушера — инвестора, программиста, автора статей и немного предпринимателя. Его последние книги: Я был слеп, но теперь я вижу и 40 альтернатив колледжу. Читайте его в Twitter @jaltucher.

Люди читают TechCrunch потому, что они хотят что-то создать, они не желают следовать приказам всю жизнь и хотят финансовой свободы. Давайте начистоту. Эти три пункта кажутся притягательными. Да благословит Вас Бог. Надеюсь, что когда Вы их обретете, Вы сможете сохранить их. Большинству людей (например, МНЕ), нужно просто немного покататься на американских горках, потому что мы тупые. Но некоторые люди умные.
Читать дальше →
Всего голосов 287: ↑206 и ↓81+125
Комментарии391

Оптимизация запросов в SQLite. Используем rowid

Время на прочтение2 мин
Количество просмотров28K
Во время недавней оптимизации запросов в базу данных наткнулся на описание работы SQLite с rowid. Если вкратце: в каждой таблице есть int64 столбец rowid, значение которого является уникальным для каждой записи в таблице. Посмотреть значение можно по имени «rowid» и в запросе * оно не показывается.

Записи хранятся как B-дерево по rowid. И это делает очень быстрым поиск и выборку по rowid. В два раза быстрее чем по primary key или по индексированному полю. Как я понял, поиск по индексированному столбцу — это поиск по B-дереву, в результате которого мы находим rowid. И уже имея rowid — ищем нужную запись.

Напрашивается очевидный вопрос: как сделать чтобы rowid и наш PRIMARY KEY совпадали?
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии6

Защита против взломов in-app покупок. Часть 2

Время на прочтение2 мин
Количество просмотров8.6K

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

Что было плохо?
  • Было недостаточно проверок на соответствие чека и данных в SKTransaction.
  • Было недостаточно проверок ответа сервера.
Как это исправить?
Всего голосов 17: ↑10 и ↓7+3
Комментарии18

Защита против универсальных взломов in-app покупок

Время на прочтение3 мин
Количество просмотров7.3K
Описанный ниже метод защиты был взломан, читайте продолжение этого поста: Защита против взломов in-app покупок. Часть 2.

Не так давно шумели новости о активации in-app покупок бесплатно и даже без джейлбрейка. Идея проста: в систему устанавливаются ssl сертификаты и прописывается кастомный dns сервер, который запросы к серверам apple будет пересылать на сервер взломщиков. Сервер взломщиков будет подтверждать покупку и она успешно активируется на устройстве. После выхода этой новости паники было много и Apple даже пришлось что-то делать и рассказывать разработчикам, как защитить их приложение. На самом деле проблема была не нова, на джейлбрейкнутых устройствах уже давно можно было активировать in-app покупки бесплатно. Решение проблемы также не ново, оно описано в документации Apple, но практической реализацией никто себя не утруждал. О моей версии такой защиты и пойдет речь ниже.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии51

Учебный курс ITIL Expert, приготовление по Lifecycle рецепту

Время на прочтение6 мин
Количество просмотров30K
На прошлой неделе сдал последний экзамен необходимый для получения сертификата ITIL Expert, о чем более подробно и хотелось бы рассказать. Далее под катом:
  1. что это вообще такое и откуда берется, а так же почему о нем никто не знает
  2. где учатся и как это проходит
  3. зачем это кому-либо вообще необходимо
  4. преимущества онлайн формы образования перед тренингами в учебных центрах
  5. немного про экзамен

Добро пожаловать под кат
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии29

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность