Давненько я не писал. Набирался практических умений. Думаю пришла пора поделиться некоторыми заметками по использованию Django
среда, 1 декабря 2010 г.
понедельник, 14 июня 2010 г.
воскресенье, 6 июня 2010 г.
Освоение BulkInsert
Хочу поделиться своими впечатлениями о технологии BulkInsert для FireBird.
Возникла задача еженедельного обновления справочника в БД из внешнего присылаемого файла. Справочник оказался не маленьким, примерно 1150000 записей, размер csv файла составляет 26МБ.
На первых шагах, для исполнения задания, было принято самое простое решение, а именно, чтение строки из файла, её преобразование и загрузка в БД.
Проблема возникла в том, что после первой загрузки, удалять данные нельзя поскольку на них могут ссылаться из других таблиц, а значит, что при повторной загрузке, старые данные должны быть обновлены, а новые добавлены.
Для решения данной проблемы была разработана логика по определению того, что необходимо сделать, обновить запись или вставить новую. Как результат всех стараний время работы процедуры составило около 6 часов работы, это примерно по 3500 записей в минуту. Данный результат абсолютно не устраивал и пришлось искать решение.
Пшеничный Николай Юрьевич посоветовал использовать BulkInsert, было обещано многократное ускорение.
Возникла задача еженедельного обновления справочника в БД из внешнего присылаемого файла. Справочник оказался не маленьким, примерно 1150000 записей, размер csv файла составляет 26МБ.
На первых шагах, для исполнения задания, было принято самое простое решение, а именно, чтение строки из файла, её преобразование и загрузка в БД.
Проблема возникла в том, что после первой загрузки, удалять данные нельзя поскольку на них могут ссылаться из других таблиц, а значит, что при повторной загрузке, старые данные должны быть обновлены, а новые добавлены.
Для решения данной проблемы была разработана логика по определению того, что необходимо сделать, обновить запись или вставить новую. Как результат всех стараний время работы процедуры составило около 6 часов работы, это примерно по 3500 записей в минуту. Данный результат абсолютно не устраивал и пришлось искать решение.
Пшеничный Николай Юрьевич посоветовал использовать BulkInsert, было обещано многократное ускорение.
пятница, 21 мая 2010 г.
Java проблемы новичка. Часть 1
Маленькая предыстория.
Давно хотел написать программу? которая поможет отвлечься от компьютера на пару минут. Основная её задача - сообщить пользователю о том, что необходимо отвлечься от компьютера и отдохнуть.
Требования к проекту:
Далее я опишу проблемы возникшие при работе над проектом. Проект разрабатывается на Java, место его расположения здесь, используемое IDE - Eclipse.
Поехали.
Давно хотел написать программу? которая поможет отвлечься от компьютера на пару минут. Основная её задача - сообщить пользователю о том, что необходимо отвлечься от компьютера и отдохнуть.
Требования к проекту:
- Программу можно закрывать только в рабочий период;
- Программа не должна сворачиваться в период отдыха.
Далее я опишу проблемы возникшие при работе над проектом. Проект разрабатывается на Java, место его расположения здесь, используемое IDE - Eclipse.
Поехали.
среда, 21 апреля 2010 г.
python. Как отсортировать массив, как воспользоваться Random, ...
Сегодня на habr habr проскочила очень забавная статья:
Только 10% программистов способны написать двоичный поиск
Я бы сказал что меня зацепило. И стало интересно, а смогу ли я написать его с первого раза.
Только 10% программистов способны написать двоичный поиск
Я бы сказал что меня зацепило. И стало интересно, а смогу ли я написать его с первого раза.
понедельник, 8 марта 2010 г.
Знакомство с django, Работа с БД.
Сразу скажу спасибо www.djbook.ru, русский перевод онлайн книги http://djangobook.com/en/2.0/, именно отсюда я черпал данные для написания поста. Здесь я попытаюсь кратко описать общие сведения.
Современные приложения не мыслимы без использования баз данных, в связи с этим требуется уделять особое внимание взаимодействию приложений с базой данных. Django обладает мощным api для работы с БД.
Здесь я создам проект, сформирую модель БД, построю таблицы и выполню простейшие 3 действия вставка (insert), обновление (update), удаление (delete).
Современные приложения не мыслимы без использования баз данных, в связи с этим требуется уделять особое внимание взаимодействию приложений с базой данных. Django обладает мощным api для работы с БД.
Здесь я создам проект, сформирую модель БД, построю таблицы и выполню простейшие 3 действия вставка (insert), обновление (update), удаление (delete).
суббота, 30 января 2010 г.
AutoIt3 и Регулярные выражения
Просматривая статистику входа в блог.
Довольно часто ко мне попадают по запросу "AutoIt3 Регулярные выражения".
Но, к сожалению, у меня нет информации на данный запрос.
Так что, думаю, пришла пора исправить эту ошибку, да и к тому же, оправдать ожидания :).
Довольно часто ко мне попадают по запросу "AutoIt3 Регулярные выражения".
Но, к сожалению, у меня нет информации на данный запрос.
Так что, думаю, пришла пора исправить эту ошибку, да и к тому же, оправдать ожидания :).
среда, 6 января 2010 г.
Delphi переделываем цикл For на While
С новым годом!
Так получилось, что руководству захотелось попробовать перейти во всём проекте с Integer на Int64. Причём перейти хотелось малой кровью, простой заменой. Вроде ничего сложного, но есть в этом деле не приятные моменты.
Я не говорю о функциях которые описаны в системных модулях, которым не нравится, что в них подставляют Int64, а не ожидаемый Integer.
Я говорю, о проблеме с циклом For, хороший цикл, и очень часто используется в нашем проекте. Но вот проблема, у цикла итератор может быть только Integer, и что делать? Как быть? Как победить эту напасть?
Так получилось, что руководству захотелось попробовать перейти во всём проекте с Integer на Int64. Причём перейти хотелось малой кровью, простой заменой. Вроде ничего сложного, но есть в этом деле не приятные моменты.
Я не говорю о функциях которые описаны в системных модулях, которым не нравится, что в них подставляют Int64, а не ожидаемый Integer.
Я говорю, о проблеме с циклом For, хороший цикл, и очень часто используется в нашем проекте. Но вот проблема, у цикла итератор может быть только Integer, и что делать? Как быть? Как победить эту напасть?
Подписаться на:
Сообщения (Atom)