Доброго времени суток уважаемые Хабрецы!
Здесь я расскажу вам об использовании DBIx::Class, с помощью которого вы сможете реализовать Object Relation Mapping (ORM) на языке Perl. опросы о том, полезен или бесполезен ORM как таковой и другие
риторические размышления в стиле «жили же раньше люди как-то без компьютеров, и зачем они нужны сейчас?!», я обошел стороной. Обо всем об этом прошу в кОменты.
А теперь собственно об использовании DBIx::Class.
Читать полностью »
Метка «orm» - 4
Perl: ORM с помощью DBIx::Class (DBIC)
2012-07-26 в 16:32, admin, рубрики: database, orm, perl, sql, sqlite, метки: database, orm, perl, sql, sqliteHyperActive Record – недо-ORM на CodeIgniter
2012-07-25 в 11:40, admin, рубрики: codeigniter, innodb, mysql, orm, php, Веб-разработка, записи, объекты, связи, фреймворки, метки: codeigniter, innodb, mysql, orm, PHP, записи, объекты, связи, фреймворки
Общее описание
HyperActive Record – это надстройка над классом DB для фреймворка CodeIgniter 2.0 и выше, позволяющая получать значения полей связанных с записью объектов по внешним ключам (foreign keys) без дополнительного описания связей и данных. Такая недо-ORM
Читать полностью »
Откуда тормоза в ORM?
2012-07-18 в 16:10, admin, рубрики: django, orm, python, высокая производительность, производительность, метки: Django, orm, python, производительностьАнализ некоторых python ORM на непроизводительные расходы
Введение
При разработке приложения на python django, я столкнулся с его неадекватным торможением.
После нескольких попыток улучшить довольно сложные алгоритмы расчетов, я обратил внимание, что существенные улучшения этих алгоритмов приводили к весьма скромному результату — из чего я сделал вывод, что узкое место вовсе не в алгоритмах.
Последующий анализ показал, что действительно, основным непроизводительным потребителем ресурсов процессора оказался django ORM, который был использован для доступа к данным, необходимым при расчетах.Читать полностью »
DroidParts — библиотека для Android 8-in-1
2012-06-04 в 12:40, admin, рубрики: android development, dependency injection, orm, Разработка под android, метки: android development, dependency injection, orm Этой статьёй я открываю цикл, посвящённый разработке Android-приложений. Но не типичных для Google Play, написанных, очевидно, задней левой mНогой, а приложений корректных и элегантных. В этом деле нам поможет DroidParts — швейцарский нож Android-библиотек с 8 лезвиями:
- Dependency Injection: инициализация системных и собственных зависимостей;
- Object-Relational Mapping для SQLite: CRUD-операции «из коробки»;
- Поддержка Fragments, ActionBarSherlock;
- Простая (де-)сериализация JSON;
- AsyncTasks, IntentService с обработкой Exсeptions;
- RESTful HTTP client с поддержкой JSON;
- L.og без указания тега, конфигурируемый через AndroidManifest;
- Утилиты типа асинхронного http-загрузчика с кешированием, View- и Intent-помощников.
Буквально час назад*
увидела свет первая версия библиотеки, но сначала…
Читать полностью »
Django и особенности использования транзакций в MySQL
2012-05-20 в 16:00, admin, рубрики: django, innodb, mysql, orm, python, transactions, проблемы, транзакции, метки: Django, innodb, mysql, orm, python, transactions, проблемы, транзакции Наверное всем известно, что Django является одним из самых популярных фреймворков для web-разработки на python-е. И даже если в основе web-проекта лежит сторонний код, то зачастую при разработке используют отдельные части этого фреймворка — например ORM. В данной статье я хотел бы рассказать об особенностях использования Django ORM при работе с базой данных MySQL, а именно про транзакции и подводные камни, связанные с ними. Так, например, если в какой-то момент вы осознаёте, что вместо ожидаемых данных, возвращается совершенно другой результат, то возможно, данная статья поможет разобраться что к чему.
Читать полностью »
А как выглядит ваш прикладной код?
2012-05-18 в 11:51, admin, рубрики: .net, ERP, ERP-системы, Oreodor, orm, Проектирование и рефакторинг, метки: .net, Erp, Oreodor, ormПри разработке платформы я считаю крайне важным уделять особое внимание простоте, понятности и удобстве работы с прикладным кодом. Испробовав разные подходы, я хочу поделиться удобными рецептами из своего опыта.
Под прикладным кодом имеется в виду код, относящийся непосредственно к бизнес-логике конкретного приложения, при этом, в отличии от ядра (framework-а, платформы) такой код максимально подвержен изменениям и в крупных проектах может составлять львиную долю проекта. От удобства прикладного разработчика зависит скорость и качество разработки самым существенным образом.
Например на языке Brainfuck Hello world выглядит так:
А вот наши критерии удобства:
- Строгая типизация
- Документированность
- Отсутствие “мусора”
- Однотипность
- Лаконичность
ORM в Android c помощью ORMLite
2012-05-12 в 17:40, admin, рубрики: android, greendao, java, java orm, orm, ORMLite, Разработка под android, метки: android, greendao, java orm, orm, ORMLiteНа данный момент для платформы Android существует несколько решений, позволяющих реализовать ORM-подход для работы с базой данных, но основных два. Это ORMLite и GreenDAO.
Для новичков стоит сделать отступление и рассказать что такое ORM вообще. ORM — object-ralational mapping. Объектно-реляционное отображение означает, что программисту гораздо удобнее оперировать с объектами, которые он использует в своём приложении, нежели чем с таблицами, в которых хранятся данные в реляционных базах данных. Для связи реляционных СУБД с объектной моделью приложения используются ORM-технологии. Так для решения задач объектно-реляционного отображения в Android используют один из сторонних фреймворков. GreenDAO и ORMLite — являются библиотеками с открытым кодом.
Читать полностью »
Автоматическая миграция БД в Entity Framework
2012-05-04 в 10:28, admin, рубрики: .net, .net 4.0, orm, метки: .net 4.0, ormВ процессе разработки ПО, когда ещё не весь функционал определён окончательно, структура БД часто изменяется. И если используется какой-либо ORM-framework, изменение БД после изменения модели данных доставляет некоторые неудобства (по сути нужно проделать двойную работу по изменению класса модели и структуры БД). Вкратце, как сделать миграцию в EF4 Code First с помощью Package Manager Console описано здесь, я же постараюсь описать как работает автоматическая миграция без участия разработчика (точнее, при минимальном участии).
Фреймворк Autodafe — работа с моделями
2012-05-03 в 20:17, admin, рубрики: activerecord, autodafe, javascript, logging, mvc, mysql, node.js, orm, routing, websockets, метки: activerecord, autodafe, javascript, logging, mvc, mysql, node.js, orm, routing, websocketsВышла версия 0.3 node.js фреймворка для разработки веб приложений Autodafe
У фреймворка появился сайт autodafe.ws, который стремительно обрастает документацией и статьями. (Документация на сайте генерируется автоматически из кода, задокументированного по правилам jsdoc. Поэтому если вы хотите быстро поднять сайт с документацией вашего проекта, можете спросить меня «как?»)
В новой версии фреймворка значительно улучшена работа с моделями, писать классы для сохранения данных стало удобнее, а сами они стали выглядеть красивее. Множественное задание атрибутов, их неявная фильтрация во время присвоения, асинхронная валидация моделей и изумительное использование статических методов моделей несомненно сделают вашу жизнь лучше и проще :) Работа с моделями в Autodafe
Использование ORM при разработке корпоративных приложений
2012-04-03 в 8:24, admin, рубрики: .net, ERP, ERP-системы, linq, Oreodor, orm, sql, ооп, метки: .net, c++, Erp, linq, Oreodor, orm, sql, оопЕсть много споров о плюсах и минусах ORM, попробуем сделать акцент на плюсах при его использовании в ERP приложениях.
Я 5 лет разрабатываю платформу для ERP, разработал три версии платформы. Всё начиналось с EAV, после была нормальная модель, хранимые процедуры, view-хи, и сейчас эволюционировало до использования ORM. Позвольте поделиться опытом, почему ORM — хорошо.
Для демонстрации преимуществ такого подхода я разработал небольшое приложение для риэлтерского агентства (вдохновение черпал из Циан, из него же и модель данных) и попробую описать, почему благодаря ORM я все сделал за 1 день.