Рейтинг@Mail.ru

Архив

Публикации с меткой ‘ORM’

Hibernate: Удаление объектов из БД.

10 Февраль 2010

По работе пришлось изучать работу Java’вского ORM’а, пока что знаком только бегло, но некоторые полезные штуки для новичка решил записать. Может кому пригодится, может нет, но хотя бы самому гуглить придётся меньше =). Кстати, примеры будут не на Java, а на Jython’е, т.к. с первым я тоже не очень знаком :).

Итак, опустим настройку и подключение Hibernate, предположим, что вы это уже сделали :). Быть может, напишу об этом позже. Требуется удалить из таблицы player (которая маппится с классом Player, естественно… или наоборот :) ) некоторые записи. Если мы знаем id игрока, тогда всё элементарно (как и в других случаях)):

player = session.load(Player, player_id)
session.delete(player)

Теперь рассмотрим случай, когда надо удалить много записей. Читать далее…

lizz Программирование , , , ,

PHP: Пример использования ORM Doctrine.

20 Май 2009

В данном посте рассмотрим простенький пример использования ORM, а именно, Doctrine. Если кто не в курсе, то ORM (Object-Relational Mapping, объектно-реляционная проекция) – такая штука, которая обеспечивают классам прозрачный доступ к базе данных. Правда не всяким классам, а тем, которые представляют описание нашей модели данных. В общем мне бы пару лет назад узнать о такой штуке, может быть я и не забросил изучение php, и вообще, много чего полезного сделал :D. Если кто-то знаком с паттернами проектирования, то можно сказать, что Doctrine соответствует шаблону Active Record. К своему стыду, сам я не знаком с ними, поэтому ничего конкретней сказать не могу пока что :-).

Кстати, мы уже затрагивали мельком тему ORM, но только для python. Можете посмотреть тут про SQLAlchemy.

Далее будет рассмотрен пример написания модуля на php с использованием ORM Doctrine для отправки личных сообщений между пользователей.
Читать далее…

lizz web, Программирование , ,

Python: Работа с потоками. Часть 2.

21 Декабрь 2008

Мы уже недавно рассматривали примитивную работу с потоками, а именно – запуск потоков и передача им параметров, использование замков и, по большому счёту, всё. Теперь пришло время изучить другие способы взаимодействия потоков в python’е.

Для лучшего понимания советую прочитать этот пост.
Читать далее…

lizz Программирование, параллельное , , ,

Python: Работа с потоками.

10 Декабрь 2008

В данной статье будет рассмотрена реализация многопоточного приложения на Python’е. Сама задачка выглядит примерно так:
1. Главный поток запрашивает у пользователя md5-сумму какого-либо файла и директорию для поиска файла с такой же суммой. Получив эти параметры первый поток запускает 2й и продолжает свою работу (опять ожидает данных от пользователя).
2. Запущенный поток проверяет есть ли в БД приложения файл с таким хешом. Если есть – выводит результат, иначе – запускает 3й поток с такими же параметрами (путь и хеш) и по его завершении заново проверяет БД. Выводит результат.
3. 3й поток хеширует все файлы с помощью md5 по указанному пути и результат записывает в базу данных.
Читать далее…

lizz Программирование, параллельное , , ,

Python: Бесплатная отправка SMS через mail.ru.

18 Ноябрь 2008

В mail.ru агенте есть возможно одна полезная вещь – отправка до 50 sms в сутки с одного аккаунта. Протокол агента является открытым и его можно посмотреть на сайте, однако выложена не совсем свежая версия и не сказано ни слова об отправке sms, но это не проблема.
Читать далее…

lizz Программирование, сетевое , , , , ,