четверг, 20 ноября 2008 г.
пятница, 24 октября 2008 г.
Чудесный Erlang
Посмотрел ещё одну презентацию про Erlang - http://highload.ru/papers2008/7179.html. Очень позабавил один из первых слайдов:
"На самом деле системы на Erlang вовсе не масштабируемые и не надежные. Это системы на Java такие. Системы на Erlang просто непробиваемы как скалы. Вячеслав Ахмечет"
четверг, 11 сентября 2008 г.
Как скрестить ужа и ежа --- интеграция Erlang и Java
Прочитал интересную статью про то как можно скрестить Erlang и Java.
К сожалению я не искушён в Эрланге, и у меня не получилось отослать сообщение от клиента к серверу. Была ошибка - {badrpc,nodedown}. Насколько я помню, вызов можно делать и другими способами, но пока ограничен во времени и не разобрался что к чему.
среда, 3 сентября 2008 г.
Learn Cocoa
понедельник, 1 сентября 2008 г.
CC 2008
Завершился Chaos Construction 2008. Хотя работ было не очень много, а если честно - очень даже мало. Спасало обилие реалтайм конкурсов, да семинары.
Поскольку я был организатором, мне многое увидеть не удалось. Одну работу я пожалуй отмечу - это первое место в конкурсе Procedural Graphics - klava by unc, Ized. Рекомендую посмотреть, работа есть на ftp.
Краем уха послушал семинар про ОС Фантом. Также заставил себя послушать половину семинара "Маленькая Java с большими возможностями" - докладчик либо очень очень сильно волновался, либо попросту был неподготовлен.
В общем и целом - всё было как всегда, суета, бессоница, интересные люди.
пятница, 15 августа 2008 г.
Oracle. Перевод интервала времени в секунды.
Недавна столкнулся с типовой и тривиальнейшей задачей:
Есть время начала, время окончания. Нужно вычислить интервал между двумя этими временами в секундах, при чём сделать это на Oracle PL/SQL.
Но как оказалось, здесь Oracle ставит нам подножку, т.к. не даёт человеческого способа сделать это. В Oracle результат операции разницы двух дат (переменных типа timestamp) является переменная типа interval. Так вот функции, которая конвертировала бы этот interval в секунды (минуты, часы, дни) нет.
Немного поискав, я понял что не одинок в поиске решения задачи.
Вот и получается что приходится извращаться:
SQL> select
2 EXTRACT(YEAR FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) YEAR to month) YEAR,
3 EXTRACT(month FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) YEAR to month) month,
4 EXTRACT(day FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) days,
5 EXTRACT(hour FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) hour,
6 EXTRACT(minute FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) minute,
7 EXTRACT(second FROM (to_date('2008-07-13 17:48:34')-to_date('2005-06-15 15:22:01')) day to second) second
8 from dual;
YEAR MONTH DAYS HOUR MINUTE SECOND
---------- ---------- ---------- ---------- ---------- ----------
3 1 1124 2 26 33
пятница, 25 июля 2008 г.
"Совершенный код" ("Code complete")
Сегодня дочитал "Совершенный код" Стива Макконелла. Даже и не помню, когда читал руководство и получал такое удовольствие. Сей труд монументален, многогранен. Список литературы, которым оперирует автор, впечатляет.
Эту книгу должен прочесть каждый уважающий себя разработчик, в ней содержится кладезь информации по конструированию ПО. Масса примеров, очень жизненно. В общем, кто ещё не читал - бегом в магазин покупать книжку.
Единственное что мне не понравилось в книжке - это небрежная работа верстальщика, в остальном всё просто великолепно.
среда, 23 июля 2008 г.
Занятный генератор облака тэгов
Намедни прочитал у Скотта Беркуна в блоге про инетересную программу - Wordle. Программа генерирует облако тэгов (редкая вещь, не правда ли?).
Выглядит симпатично, есть набор настроек и приятная кнопка "Randomize". Можно сидеть и медитировать.
Тэги по произведению Пушкина Евгений Онегин:
вторник, 8 июля 2008 г.
Yahoo pipes
среда, 2 июля 2008 г.
Oracle sequences
Век живи, век учись - дураком помрёшь.
Сегодня открыл для себя, что значение параметра Cache для сиквенса в оракле - это количество кэшируемых значений, и к параметру increment_by не имеет отношения. Я ошибался, когда думал, что установив значение Increment_by в 10, а Cache в 30, буду получать обращение к внутреннему словарю данных оракла в 3 (три) раза реже (Cache/Increment_by). На самом деле будет закэшировано Cache значение, и обращений к внутреннему словарю будет в Cache раз меньше. Документация по последовательностям ввела в заблуждение не только меня :)
Ещё интересный момент - это что кэш значений последовательностей храниться в shared_pool, откуда может быть вытеснен, кэш также может быть потерян при падении инстанса (как будет на RAC'е не пробовал).