2007-09-14

Написал статью для pixel.lt

После долгих лет молчания я вновь вернулся на публичную сцену Литвы.

Первый (и последний на тот момент) раз, на публику я свою статью выложил в августе 2002 года, на литовский сайт посвещённый PHP. Это было короткое писание класса SDF - Serialized Data File. Он до сих пор болтается на phpClasses. Тогда, в 2002, это было небольшой сенсацией для Литвы - MySQL был тогда достаточно дорог, его нужно было заказывать отдельно, бывали проблемы со стабильностью - а этот класс для маленьких проектов решал многое и был удобен при переносе сайта.

После чего были долгие годы молчания. Небыло ни интересных тем, ни времени, ни особого желания. Тем более есть 2 блога.

Что меня толкнуло в сентябре 2007 написать поверхностную статью о росте сайтов и том, как добавляются серверные ресурсы для pixel.lt на литовском - Tinklalapių augimas - ką daryti, jei jiems pasidaro ankštoka? - я до сих пор не знаю. Особых надежд победить в конкурсе у меня нет, XBOX 360 мне без нужды (но если выиграю делиться или отказываться не буду), „Microsoft“ Bluetooth клавиатуру или „Microsoft“ Wireless Optical мышь я бы хотел конечно. Если мою статью опубликуют в журнале “NK” - будет очень даже круто.

Вот такие новости у меня на сегодняшний день. Вчера был день программиста, 256 день в году, а я его так и не отметил…

Кстати, мою статью опубликовали 13 числа… Символично. Как-то по жизни с числом 13 мне везёт (серьёзно).

Blog, Web — Sergej Kurakin @ 10:19
Таги: , ,
2007-09-10

В памятку об MS Office и ссылках на документы в WebDAV

Локальный WebDAV сервер переводим в стадию тестирования. Даже нашли в интернете способ, как заставить MS Office на Windows платформе документы по ссылке на WebDAV сервере в режиме редакции а не read-only.

Нужно в регистрах для ветки HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Internet создать запись OpenDocumentsReadWriteWhileBrowsing типа DWORD со значением 1.

Blog, Memories — Sergej Kurakin @ 11:05
Таги: , , , , ,

Месяц тишины и воз интересной работы

Месяц тишины. Её причина - воз интересной работы (которая была как вызов - а смогу ли я).

Итак, к примеру, на прошлой неделе, я переделывал CMS для поддержки MSDE 2000 и ставил WebDAV на Apache 2.2.

Ну чтож, можно сказать что я точно овладел основами MSDE 2000. Поставил с поддержкой нужной аутентификации со второй попытки, без проблем переписал структуру таблиц с MySQL на MSSQL, определил тип полей, вобщем тут всё прошло относительно складно. Если кому придётся ставить MSDE 2000, то у инсталлера есть несколько занимательных параметров, которые вам помогут и запускать его лучше из коммандной строки.

Перепись самодельной абстракции для работы с базой данных и нескольких кастомных запросов заняла около 6 часов (при создании этой системы никто никогда не думал о других платформах), плюс время на тестирование каждой функции и отлов мелких глюков. Самое не приятное было то что в MySQL прекрасно хавает запросы типа INSERT INTO `table` SELECT * FROM `other_table` при одинаковой структуре таблиц, а MSSQL нужно указать конкретные поля и для INSERT и для SELECT частей.

Потом у меня было 2 загвоздки: не латинские символы и кол-во символов в полях text и ntext. При работе с PHP mssql_* функциями примеров в мануале почти минимум. Никаких Warning и Notice нету. Сидишь и как слепой котёнок дёргаешься туда-сюда.

Первый косяк был - не латинские символы, а точнее UTF-8. Так как в начале я использовал поля ntext, вся INSERT прошли нормально, а читать он от туда не смог. Всё время кидало сообщение “Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library”. Так не весело знаете… Структуру базы ис MYSQL перенёс, данные перенеслись, и если смотреть через менеджеры - удачно, а читать не могу. Правда потом нашёл решение в сети - рекомендовали использовать поля типа text. Поменял, заново импортировал данные - всё заработало.Да, была попытка использовать ODBC, но тоже ничем хорошим не увенчалась.

Вылез второй косяк - некоторые очень длинные тексты были обрезаны. Оказалось у PHP mssql_* есть 2 параметра в php.ini, которые ограничивают длину полей ntext и text. это параметры mssql.textsize и mssql.textlimit (кстати нихера не документированные и нигде не упомянаются в мануале), значение в PHP4 которых равно 4096 (чего-то там). Если им вписать -1, то это ничего не меняет, а если вписать магическое число 2147483647 - всё встаёт на свои места.

Итак, всё работает. После MySQL впечатления о MSSQL никакие. Я бы не хотел ещё раз возвращаться к таким проектам, где нужно использовать MSSQL.

С WebDAV у меня всё пошло куда на много быстрее. Apache я знаю достаточно хорошо, чтобы за полтора-два часа на нём всё запустить да так, что-бы всё работало. Особых косяков небыло, за исключением аутентификации. Какой-то чёрт меня дёрнул использовать AuthType Digest, но от него позже я отказался и перешёл на AuthType Basic. Так-же не давал покоя error.log, в котором постоянно была строчка configuration error: couldn’t check access. No groups file?. Создание group файла ему не помогло, тогда чисто методом научного тыка я включил все модули аутентификации, которые идут с Apache 2.2 - помогло, ошибки нет, всё работает. Сейчас это тестируется, и пока с Windows и MAC OS X платформы работает нормально.

Теперь я подумываю о создании WebDAV шаринга с использованием Subversion для автоматического отслеживания версионности файлов.

А ещё я: получил на работе новую машинку - Intel Core 2 Duo 2.33 GHz и 2 GB RAM, и 300 GB SATA2 диском, удачно на неё перенёс все проекты над которыми работаем и приготовился к резервному копированию (старый но нужных файлов). Таки нашёл способ работать над одним сложным и большим проектом в команде из людей, находящихся в разных концах офиса и планеты. Наконец добрались руки поставить реверс-прокси на Apache 2.2 и решить проблему 80 порта и одного IP в офисе. Да и просто сделал много классной работы и выпил не один бокал хорошего пива.

Blog, Web — Sergej Kurakin @ 10:15