Pull to refresh
0
0
RayMan @RayMan

User

Send message

Исследование надёжности SSD дисков Intel опытным путём

Reading time5 min
Views43K
Тут я расскажу, как я вывел некоторые примерные цифры надёжности SSD Intel принадлежащих к mainstream серии и использующих MLC технологию. Почему Intel? Всё просто, у меня их две штуки. Да и на текущий момент это наиболее адекватные SSD на рынке по всем соотношениям, которые можно применить к SSD дискам, а именно: Скорость/Надёжность/Цена. Вдобавок к этому они достаточно популярны (если не самые популярные) и найти других пользователей данных SSD совсем не трудно. Ну и наконец, у компании Intel есть замечательная программа Intel SSD Toolbox, которая и помогла мне определить возможный уровень надёжности этих дисков. Исследование я провёл по чужим показаниям этой программы. К слову говоря, подошла бы любая программа, которая умеет читать S.M.A.R.T. значения с контроллера диска, но искать данные проще по названию известной программы.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments101

Оптимизация графики для Retina-экранов

Reading time7 min
Views210K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


Читать дальше →
Total votes 150: ↑135 and ↓15+120
Comments57

Об удалении квотированных строк из текста JavaScript

Reading time1 min
Views1.2K
Как часть программы анализа исходных кодов было необходимо вырезать из JavaScript все строковые литералы. Сначала на PHP был реализован state based парсер, но это было медленно и уныло. А сделать быстро получилось с помощью регулярных выражений.
Читать дальше →
Total votes 22: ↑10 and ↓12-2
Comments18

Больше нет писем в папке Spam: настройка SMTP-сервера

Reading time3 min
Views68K
Недавно мы настраивали SMTP-сервер для нашего проекта. Вопрос стоял так: что нужно сделать, чтобы письма, отправленные нашим пользователям, не попадали в папку со спамом или попадали туда как можно реже?

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

Приведенные советы актуальны только если вы используете свой собственный SMTP-сервер. При использовании, например, SMTP сервера Google всё уже сделано за нас. Как правило. В любом случае рекомендую проверить (см. подразделы Как проверить?).
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments29

Meteor — Новый способ создания приложений

Reading time2 min
Views23K
Meteor представляет собой набор новых технологий для быстрого создания высококачественных веб-приложений, с которым справятся не только опытные разработчики но даже и новички.

Чистый JavaScript.


Пишите всё приложение полностью на чистом JavaScript. Все API, доступны на клиенте и на сервере — в том числе API базы данных! — Так что один код может легко работать на клиенте и на сервере.

Живые обновления страниц.


Просто напишите ваши шаблоны. Они автоматически обновляются при изменении данных. Meteor поддерживает любой язык шаблонов.

Чистая, мощная синхронизация данных.


Пишите ваш код клиентской части, как если бы она была запущена на сервере, и имела прямой доступ к базе данных. Больше не придется получать данные через REST.
Читать дальше →
Total votes 80: ↑67 and ↓13+54
Comments71

PHP Unit. Опыт тестирования классов, работающих с Базой Данных

Reading time7 min
Views16K
Тестировать или нет классы, взаимодействующие с Базой данных — вопрос куда более холиварный, чем спор «покрывать код тестами или нет». Просмотрев свой проект, нам стало очевидно, что львиная доля классов основана на взаимодействии с базой данных. Поэтому было однозначно решено: «тестированию быть».
Далее я хочу поделится опытом написания модульных тестов для кода, работающего с базой данных.

PHPUnit содержит расширение для тестирования базы данных. Расширение выполняет следующие функции:
  • перевод базы данных в заранее известное состояние,
  • выполнение необходимых модификаций данных,
  • проверка, что в базе данных созданы ожидаемые записи.

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

Итак, я предлагаю 2 варианта решения проблемы: как после проведения юнит теста вернуть базу данных в исходное состояние:
Первый путь — «Транзакционный». Суть которого сводится к выполнению всего теста в рамках одной транзакции, и последующему rollback'у транзакции.
Второй — Перед выполнением теста скопировать структуру «рабочей» базы и проводить тестирование на ней.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments28

Pinba — мониторим php в реальном времени

Reading time4 min
Views56K
Как сказано на официальном сайте
Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.

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

Прочитать еще
Total votes 177: ↑176 and ↓1+175
Comments116

Оптимизация MySQL запросов

Reading time4 min
Views124K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →
Total votes 143: ↑132 and ↓11+121
Comments142

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity