+2.27
5 читателей, 17 топиков

Перестановка символьных значений местами без использования промежуточной переменной в PHP

PHP

Вводная


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

Есть несколько вариантов такой перестановки: «Перестановка через XOR», «Перестановка через арифметические вычитание и сложение», не буду приводить их здесь полностью, любопытные могут воспользоваться ссылкой в конце текста.

Собственно созерцание этих алгоритмов навело меня на мысль о возможности перестановки строковых (символьных) значений.

Читать дальше →

Sliding Expiration в memcached

PHP
Разрабатывая в основном под .NET столкнулся с тем, что в memcached отсутствует Sliding Expiration вариант хранения данных.

Первым шагом что бы решить эту проблему было написание «менеджера» дописывающего к данным, которые кладутся в кэш тип (Абсолютный или Sliding) и время хранения, что бы при последующих чтениях из кэша брать эти дополненные данные, смотреть на тип хранения и в случае Sliding перезаписывать данные.

Будут рассмотрены только Get и Set операции, т.к. остальные делаются по аналогии. Increment / Decrement тут не поддерживаются.

Выглядело это примерно так:

Читать дальше →

Оптимизация формирования страницы каталога web-магазина с множеством фильтров

PHP
В одном из разработанных мною движков сайтов требовалось оптимизировать процесс формирования страницы каталога интернет-магазина с фильтрами выбора товаров.

Cайт представляет из себя онлайн-каталог б/у бытовой техники сети оффлайн магазинов Украины. Все товары на сайте фильтруются по следующим критериям:

Читать дальше →

CakePHP 2.0-dev released

PHP
В канун Нового Года команда CakePHP преподнесла всем подарок: вышел первый релиз второй ветки поплуярного фреймворка — CakePHP 2.0.0-dev. Этот релиз содержит множество изменений, несовместимых с предыдущими версиями кейка. По словам разработчиков, этот релиз пока еще сыроват и не предназначен для использования «в бою». Для работы CakePHP 2.0.x потребуется как минимум PHP 5.2.6 (наконец-то разработчики отказались от поддержки PHP4 и PHP5 < 5.2.6). Подробности по катом.

Читать дальше →

Создание документации на основе PhpDocumentor или немного про комментирование кода

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


Читать дальше →

Что такое ИИН и как проверить его корректность

PHP
Топик будет важен для казахстанских разработчиков, потому что в интернете по этой теме нашел только один непонятный топик.

ИИН — Индивидуальный Идентификационный Номер, 12-значный цифровой код, который присваивается физическому лицу один раз и пожизненно. с 1 января 2012 года заменит РНН и СИК.


Читать дальше →

Пример использования статического класса для удобной работы с базой

PHP
PHP продолжает развиваться и с каждой новой версией радует всякими плюшками.
Вот захотел поделится интересной идеей использования статических классов на php.

Задачи которые должен был реализовывать класс:
1. Уменьшать количество буков которые надо набирать(минимум лишней писанины)
2. Соединение с базой должно происходить непосредственно при необходимости(перед запросом)
3. Упростить жизнь, если в дальнейшем захочется сменить базу данных.


Читать дальше →