Сегодня на почту пришло оповещение о новом сообщении в социальной сети "В Контакте".
Прочитав его я с изумлением обнаружил, что сообщение от моей же жены и представляет собой явный и неприкрытый спам.
Поскольку мне совершенно точно известны две вещи - первая: жена мне этого не отправляла, второе: пользы от этой социальной сети для меня никакой, я попросту удалил аккаунт.
Днями доберусь и поудаляю аккаунты из всех соц. сетей, где в своё время регистрировался. Они меня совершенно не радуют.
Внимание: комментарии проходят премодерацию
если они не появились сразу — всё в порядке
21.02.2009
Тысячный пост
написано в
12:02
6
прокомментировало
Зашёл в блоггер и обнаружил, что это сообщение будет юбилейным. :)
Тысячный пост - это всё-таки веха.
С 15 июня 2004 года я пишу здесь. Пишу о разном - интересном и не очень. О личном и не только. Об операционных системах и интернете.
Но всегда я стараюсь писать в первую очередь о людях и для людей.
Надеюсь, творческий запал ещё не иссяк, а периодически случающиеся творческие кризисы будут нечастыми.
С юбилеем меня! :)
Тысячный пост - это всё-таки веха.
С 15 июня 2004 года я пишу здесь. Пишу о разном - интересном и не очень. О личном и не только. Об операционных системах и интернете.
Но всегда я стараюсь писать в первую очередь о людях и для людей.
Надеюсь, творческий запал ещё не иссяк, а периодически случающиеся творческие кризисы будут нечастыми.
С юбилеем меня! :)
20.02.2009
Из dbf в MySQL и обратно. Производственная драма с эпилогом.
написано в
12:09
3
прокомментировало
В декабре прошлого года я описывал свои злоключения с конвертацией некой БД из dbf в MySQL и vice versa. Что ж - вот и продолжение.
Поскольку dbf2mysql в части перегона dbf в MySQL меня вполне устраивал (несмотря на кульбит с "сделать дамп базы с принудительным выставлением latin1, sed'ом заменить в нём latin1 на utf8 и iconv'ом сменить кодировку с cp866 на utf8"), то я сосредоточился на написании простенькой утилиты позволяющей взять произвольную таблицу произвольной БД в MySQL и конвертировать её в dbf-формат.
В качестве инструментов для этой задачи были выбраны Ruby и Python. Поскольку мои знания обоих языков абсолютно одинаковы (т.е. равны нулю), то выбор между ними решался высоконаучным методом "подбрось монетку".
В качестве первого варианта был использован Ruby.
За 40 минут был слеплен скрипт, который считывал данные из таблицы в MySQL и загонял их в dbf с помощью модуля rbase.
Тестовый прогон показал, что всё работает. За одним исключением - полученный dbf упорно отказывался открываться. Сходив на сайт проекта и обнаружив открытый аж в январе 2007 года баг на эту же тему я задумался...
В итоге, было принято судьбоносное решение писать следующий вариант на python'е. Что и было сделано.
Первоначально был использован модуль YDbf. На тестовой таблице, состоящей из пяти полей и полумиллиона записей, он показал весьма неплохую скорость и управился за полторы минуты. Увы, на реальных данных (те же полмиллиона записей, но уже 70 полей), он попросту молча умирал примерно через 15 минут.
Несмотря на это, не могу не выразить благодарность его автору, который оперативно проконсультировал меня по jabber'у, когда у меня возник вопрос.
Следующим был опробован модуль dbfpy.
С ним проблем практически не возникло, за исключением того, что вместо пустых полей (тип дата) он вписывал текущее число. Учитывая наличие в тестовой таблице пустого поля "дата смерти", увидеть в итоговом файле кучу людей с текущей датой в этом поле было несколько... неожиданно. Эдакий массовый геноцид.
Однако один из разработчиков откликнулся довольно быстро и немедленно выложил в CVS обновлённую версию. С ней всё заработало как надо и стало выдавать на-гора нужные результаты.
Итоги:
- написание собственного скрипта - задача вполне посильная даже при отсутствии знания ЯП как такового.
- кроме того, что это само по себе увлекательно, я выявил довольно много ляпов в самой БД, которые иначе могли бы оставаться там долго.
- чёткое ощущение, что dbf-модули н сегодняшний день разрабатывают только русскоговорящие программисты. :)
Эпилог.
К моменту когда я закончил писать скрипт, меня пригласили на другую работу. Поскольку остающийся вместо меня человек с линуксом не работал и не предполагает этого делать, я озадачился поиском клиента к MySQL для windows. Таковым стал Navicat, который, как выяснилось, умеет импортировать из dbf в MySQL и экспортировать из MySQL в dbf. С последним не всё гладко, но всё же. Так что если кто-то может подсказать, как обычная российская контора может купить этот самый Navicat - мне интересно. Да, это не реклама Navicat'а. Это жизнь такая. :)
Поскольку dbf2mysql в части перегона dbf в MySQL меня вполне устраивал (несмотря на кульбит с "сделать дамп базы с принудительным выставлением latin1, sed'ом заменить в нём latin1 на utf8 и iconv'ом сменить кодировку с cp866 на utf8"), то я сосредоточился на написании простенькой утилиты позволяющей взять произвольную таблицу произвольной БД в MySQL и конвертировать её в dbf-формат.
В качестве инструментов для этой задачи были выбраны Ruby и Python. Поскольку мои знания обоих языков абсолютно одинаковы (т.е. равны нулю), то выбор между ними решался высоконаучным методом "подбрось монетку".
В качестве первого варианта был использован Ruby.
За 40 минут был слеплен скрипт, который считывал данные из таблицы в MySQL и загонял их в dbf с помощью модуля rbase.
Тестовый прогон показал, что всё работает. За одним исключением - полученный dbf упорно отказывался открываться. Сходив на сайт проекта и обнаружив открытый аж в январе 2007 года баг на эту же тему я задумался...
В итоге, было принято судьбоносное решение писать следующий вариант на python'е. Что и было сделано.
Первоначально был использован модуль YDbf. На тестовой таблице, состоящей из пяти полей и полумиллиона записей, он показал весьма неплохую скорость и управился за полторы минуты. Увы, на реальных данных (те же полмиллиона записей, но уже 70 полей), он попросту молча умирал примерно через 15 минут.
Несмотря на это, не могу не выразить благодарность его автору, который оперативно проконсультировал меня по jabber'у, когда у меня возник вопрос.
Следующим был опробован модуль dbfpy.
С ним проблем практически не возникло, за исключением того, что вместо пустых полей (тип дата) он вписывал текущее число. Учитывая наличие в тестовой таблице пустого поля "дата смерти", увидеть в итоговом файле кучу людей с текущей датой в этом поле было несколько... неожиданно. Эдакий массовый геноцид.
Однако один из разработчиков откликнулся довольно быстро и немедленно выложил в CVS обновлённую версию. С ней всё заработало как надо и стало выдавать на-гора нужные результаты.
Итоги:
- написание собственного скрипта - задача вполне посильная даже при отсутствии знания ЯП как такового.
- кроме того, что это само по себе увлекательно, я выявил довольно много ляпов в самой БД, которые иначе могли бы оставаться там долго.
- чёткое ощущение, что dbf-модули н сегодняшний день разрабатывают только русскоговорящие программисты. :)
Эпилог.
К моменту когда я закончил писать скрипт, меня пригласили на другую работу. Поскольку остающийся вместо меня человек с линуксом не работал и не предполагает этого делать, я озадачился поиском клиента к MySQL для windows. Таковым стал Navicat, который, как выяснилось, умеет импортировать из dbf в MySQL и экспортировать из MySQL в dbf. С последним не всё гладко, но всё же. Так что если кто-то может подсказать, как обычная российская контора может купить этот самый Navicat - мне интересно. Да, это не реклама Navicat'а. Это жизнь такая. :)
16.02.2009
Печаль моя светла
написано в
17:53
7
прокомментировало
Неделю назад у меня умер дед. 84 года.
В войну воевал с японцами, после - работал в милиции. И в армии, и в милиции дослужился до старшины.
Срочная поездка в Кяхту, краткий звонок коллеге - "на работе не ждите", мрачные родственники, потерянная бабушка, малая часть хлопот, которая досталась мне.
Почётный караул у гроба, сухой треск прощального салюта, холодный ветер режет глаза.
Год назад я готовил заметку по обработке фотографий в GIMP'е. Для примера взял старую фотографию деда, провёл базовую цветокоррекцию. Заметки не получилось, а фото пригодилось. Не дай Бог никому такого "пригодилось".
Как-то так.
В войну воевал с японцами, после - работал в милиции. И в армии, и в милиции дослужился до старшины.
Срочная поездка в Кяхту, краткий звонок коллеге - "на работе не ждите", мрачные родственники, потерянная бабушка, малая часть хлопот, которая досталась мне.
Почётный караул у гроба, сухой треск прощального салюта, холодный ветер режет глаза.
Год назад я готовил заметку по обработке фотографий в GIMP'е. Для примера взял старую фотографию деда, провёл базовую цветокоррекцию. Заметки не получилось, а фото пригодилось. Не дай Бог никому такого "пригодилось".
Как-то так.
Подписаться на:
Сообщения (Atom)