Неправильная арифметика в PHP или недетерминированность в действии

wrong-arifmetic

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

Неочевидные моменты в Phalcon

chupakabra

Так случилось, что в один прекрасный день меня закрепили разработчиком на один из проектов, где использовался Phalcon, на тот момент это была версия 1.3.1, на текущий момент это версия 2.0.9, но некоторые утверждения (возможно не все) будут справедливы и для Phalcon третьей версии. Ранее я не особо интересовался данным фреймворком,… Читать далее »

Особенности работы auto increment в InnoDB

numbers

Полагаю, что понятие auto increment (далее AI) у каждого разработчика ассоциируется с механизмом приращивания значения, которое всегда идет только в направлении увеличения и никогда не будет использоваться повторно для новых записей. К сожалению, у разработчиков InnoDB свое мнение, которое не укладывается в вышеописанный стереотип. Но обо всем по порядку. Итак, мы… Читать далее »

Длина VARCHAR в MySQL или все полезно в меру

udav

Каждому разработчику, хоть немного работавшему с реляционными базами данных и с MySQL в частности, так или иначе приходилось иметь дело с типом данных VARCHAR. Этот тип данных переменной длины достаточно удобен, компактно хранит содержимое на диске и соответственно экономит пространство на нем. Минус состоит в том, что обработка таких данных производится… Читать далее »

Phalcon\Paginator адаптер Model и производительность

paginator

Когда речь заходит о выводе большого количества данных, как правило, используется подход порционного или фрагментного вывода данных, более известного как постраничный вывод, где порцией является страница. Это благотворно влияет на юзабельность сайта конечным пользователем, снижает нагрузку на сеть, и уменьшает накладные расходы на backend-е. При использовании большинства СУБД, процесс получения порции… Читать далее »