пятница, 8 апреля 2011 г.

Несовершенство мира как услоивие задачи

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

Позже я начал считать несовершенство досадным недоразумением. Дескать так получилось, ну что же поделаешь. Лучше, конечно, что бы всё было сделано как надо, но иногда получается немного не так. Ещё не достаточно было опыта, что бы сказать, что не "иногда", а "всегда" результат отличается от того, что хотели получить, и жизнь всегда вносит коррективы. Конечно, отличия могут быть как косметическими, так и основопологающими...

Одно из самых важных моих открытий за последнее время - несовершенство мира является одним из условий задачи, ничем не лучше и не хуже других. То есть, приниясь за проект, следует учитывать, что что-то обательно пойдёт не так. В простейшем варианте, прибавлять ~20% к оценке трудоёмкости. Учитывать, что чаще всего делается проект не с нуля, а на основе уже чего-то сущетсвующего, наследуя все недостатки родителя. Это может быть и фреймворк, и бизнес-процессы организации, и имеющаяся система, с которой нужно интегрироваться и ещё множество факторов.

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

ЗЫ Кстати, на мой вчерашний простой вопрос про Java никто ещё не ответил.

четверг, 7 апреля 2011 г.

особенности явы

а ну как ответте не компилируя и не загугливая.
что выведет на экран этот код? и почему? (это java если что)

Integer a = 127;
Integer b = 127;
Integer c = 128;
Integer d = 128;
System.out.println(a==b);
System.out.println(c==d);

понедельник, 28 марта 2011 г.

ChachedQuery - простое кеширование уровня запросов к БД

Вот например я адовый класс кеширования сделал http://www.ilich.me/cachedquery/.

Назначение - уменьшение количества запросов к БД и обеспечение функционирования в случае отказа БД.

В архиве файл example.php из которого становится, как ChachedQuery использовать. Есть несколько known bugs, но для версии 0.1 вполне рабочая штука.

Буду рад услышать отзывы и пожелания.

среда, 16 марта 2011 г.

Вывод последних сообщений с форума PhpBB

Снёс Джумлу с последнего сайта. Теперь больше никакой Джумлы, всё. В Joomla всё плохо, кроме обилия компонентов. Одного из них мне сильно стало нехватать - это вывод последних сообщений с форума PhpBB. И вот я решил написать маленький класс, реализующий доступ к данным PhpBB.

Вот он: http://www.ilich.me/phpbbworkshop/

Использовать очень просто.
include "phpbbworkshop.php"; // инклюдим
$phpBBWorkshop = new PhpBBWorkshop(); //инстанцируем
$phpBBWorkshop->connect(); // коннектимся
$posts = $phpBBWorkshop->getLastPosts("5, 10, 1",10); //получаем последних сообщений из форумов с айдишниками 5, 10 и 1
$phpBBWorkshop->disconnect(); //дисконектимся

А выводить сообщения можно например так:

foreach($posts as $post){
echo '<a href="' . $post['url'] . '">' . $post['title'] . '</a>';
}

Буду рад, если этот класс пригодится кому-нибудь)