Рубрика «orm» - 5

CRM-систему по управлению репутацией, включающую в себя полный цикл бизнес-процессов по работе с мнениями пользователей интернета, представил клиентам услуг SERM и ORM отдел SMM Kokoc Group.

Элементарное управление репутацией - 1Читать полностью »

Вместо дисклеймера

На Хабре уже есть множество статей на тему работы с Hibernate, однако, как мне показалось, все они довольно сложные для новичков. Эта статья направлена на разъяснение основ работы с ORM и будет полезна в первую очередь тем, кто только начинает разрабатывать собственные приложения и имеет мало опыта работы с базами данных в общем, и с инструментами, вроде Hibernate, в частности. Матерые разработчики вряд ли найдут в статье для себя что-то новенькое; всех остальных прошу под кат.
Читать полностью »

Всем привет!

Сегодня мы хотим рассказать о том, какие интересные темы вы сможете обсудить со спикерами и найти неравнодушных к этим темам людей.

Ни для кого не секрет, что основной целью наших конференций является дать возможность людям познакомиться на почве профессиональных интересов. Доклады являются пищей для размышления и вводной частью к последующим дискуссиям различной степени детальности. На наш взгляд, такое общение способствует осознанию собственных убеждений в более глубокой мере, так как вы сталкиваетесь с другими, порой диаметрально противоположными мнениями. Так что же приготовлено для конференции Desktop UI & Business Application?

Представление спикеров конференции Desktop UI & Business Application. Про бэкенд - 1

Сначала представим темы, которые относятся к бэкенду, к серверной части, которая будет интересна всем разработчикам, занятым в сфере энтерпрайз разработки. Т.е. это и WPF, и WinForm, и ASP.NET.

История представления реальных данных и процессов в мире программ имеет богатую и долгую историю. Можно сказать, что все началось с транзакционных скриптов, и процедурного программирования. Когда доменную модель пытались полностью представить в виде набора процедур и данных, которые хранятся в базе данных. По сути, все крутилось вокруг таблиц. Шагом вперед, вместе с ООП разработкой стала модель табличных данных, которые уже были представлены набором данных в памяти программы. Теперь таблицы стали отправной точкой в представлении доменной логики. Процедуры уже не объявлялись в глобальном пространстве имен, а были «пристегнуты» к определенной таблице, в зависимости от своих функций. Дальнейшее удешевление и распространение компьютеров привело к тому, что все более широкое применение находило компьютерное моделирование. В то же время сложные реальные доменные модели надо было отображать как можно более проще для поддержки и расширения. Так Мартин Фаулер предложил, а Эрик Эванс развил идею Domain Driven Design, которой большинство сейчас придерживается, в той или иной степени.
Читать полностью »

Привет, коллеги!

Совсем недавно мы анонсировали конференцию, посвященную Desktop UI & Business Application. В поддержку, чтобы посмотреть на настроения публики, была опубликована статья «WPF живее всех живых», которая оказалась дискуссионной и заставила нас в несколько другом свете взглянуть, на то, что и как мы хотим донести до широкой публики.

Как показали комментарии, не WPF единым живет десктоп разработка. Есть порты Qt для .NET, есть WinRT, если в эпсилон окрестности от дефолт-сити есть спецы по этим технологиям, которые хотят высказаться – у нас есть трибуна! Для этого все и задумано, чтобы показать различные варианты для ваших проектов.

Бэкенд и «золотые молотки» - 1

Буквально вчера закончилась онлайн конференция dotNetConf 2015, которую, исходя из сообщений, Microsoft скорее возродила, нежели придумала заново. Конференция, судя по содержанию старается покрыть все основные области использования языка, это мультиплатформенность, веб, десктоп, доставка приложений, интеграция с Xamarin, будущее .NET, .NET Core, Roslyn Analyzer и другие темы. На мой взгляд, это генеральная репетиция перед конференцией //build, которая состоится в конце апреля-начале мая.

Про золотые молотки

Кроме WPF для энтерпрайз разработчиков есть еще много тем, на которое можно поговорить, и львиная доля разговоров всегда упирается в бэкенд. Различных дизайн-шаблонов для корпоративных приложений очень много, и большая их часть посвящена бэкенду. Мартин Фаулер посвятил этому книгу, которая, насколько я смог увидеть за время тренингов, является настольной для многих разработчиков и тим-лидов. Из шаблонов, описанных там, вырастают конкретные инструменты, которые позволяют решать задачи наиболее эффективным способом.
Читать полностью »

Всем привет!

Про Django модели уже много статей на хабре, но хочется поделится с общественностью, как эффективно использовать их и не наступать на грабли.

Стартовые данные

  • 2 сервера с Django, запущенные под uWSGI
  • 1-2k запросов в секунду
  • Проект с движением денег внутри

Читать полностью »

image Уже закончен долгообещанная третья версия PHPixie ORM компонента. Он теперь полностью независим от фреймворка и может спокойно использоваться сам по себе. В связи с этим, пока продолжается работа над другими компонентами и пишется документация, разработчики составили небольшой туториал для того чтобы можно было уже начать работу с ОРМ. Ниже я предоставлю его перевод и добавлю несколько вещей от себя, но сначала давайте посмотрим чем полезным порадует нас эта версия:

  • Большинство ORM используют Model классы, которые используются как для выполнения запросов так и для репрезентации самых записей в базе данных. Например так делают Kohana и Laravel. PHPixie разделила модель на Repository, Entity и Query, каждая из которых имеет строго свое предназначение.
  • Кроме SQL баз данных (SQLite, PostgreSQL, MySQL) полностью поддерживается также Mongo. Вы сможете связать отношениями модели с SQL баз данных с моделями хранящимися в коллекциях Mongo.
  • Чтобы поддерживать связи между разными базами ( например между таблицами в разных базах в MySQL ) много ORM используют отдельные запросы вместо join-ов и субзапросов. PHPixie же использует субзапросы всегда где это возможно.
  • Поддержка встроенных сущностей в Mongo
  • На 97% покрыта юнит тестами ( планируется 100% до конца этой недели), и еще на 75% функцыоналными тестами.
  • Эффектывное использование Query позволяет уменьшить число запросов к базе. Например вам надо связать все топики автора с какими-то тегами. В большинстве ОРМ вам придется сначала найти топики, потом теги и тогда связать их ( 3 запроса к БД ). PHPixie позволяет сделать это за один запрос. Кстати пример этого есть в туториале снизу

Надеюсь я смог вас заинтересовать, теперь посмотрим на пример с ссылки вверху в переводе:
Читать полностью »

Привет.

При работе над проектом VirCities нашей студии, мы столкнулись с неудовлетворительной скоростью обработки запросов к БД через CakePHP 2.6, на котором написан бек-сайд. После проведения нагрузочного тестирования и профилирования приложения, мы обнаружили наше самое «узкое место», им оказался ORM кейка.
Читать полностью »

5 лучших ORM для Android

Как вы понимаете, мы имеем самое непосредственное отношение к разработке приложений для Android, ведь именно эта ОС установлена на YotaPhone. И этим постом мы открываем серию публикаций, в которых будем освещать различные аспекты разработки приложений под Android, делиться опытом, как своим, так и других специалистов. Кстати, некоторое время назад мы уже писали об SDK и особенностях архитектуры YotaPhone, что тоже отчасти перекликается с темой данной публикации: полностью разработанная нами SDK построена по принципам, аналогичным стандартной SDK для Android, чтобы дать разработчикам интуитивно понятные инструменты.

Если вы разрабатываете приложения под Android, то вам, скорее всего, нужно где-то хранить данные. Вы можете выбрать один из облачных сервисов (в этом случае удобно пользоваться SyncAdapter) или воспользоваться встроенной SQLite-базой данных. Во втором случае вам придётся выбрать между записью SQL-запросов с помощью Content Provider (если вы планируете использовать данные несколькими приложениями) или ORM.

В этом посте мы рассмотрим некоторые из Android ORM, которые вы можете использовать в своих приложениях.
Читать полностью »

Наконец-то я созрел, чтобы начать свой веб-проект. Очередной todo-менеджер, который агрегирует задачи с нужных мне источников. Планировался как проект для души, такой чистый и правильный. Никаких компромиссов в архитектуре и технологиях. Только best-practices, только хардкор. И, конечно же, кнопать это все собрался в любимой Intellij IDEA.

После 7 лет Java, последних двух вперемешку с Scala, захотелось попробовать Groovy. Для сборки, конечно же Gradle — популярно и удобно. Рельсы показались слишком «заезженные», так что решил использовать Spring для веб, причем по современному, через Spring Boot. И все было просто замечательно, только с ORM не сложилось. На работе мы Hibernate выпилили, заказчик лично невзлюбил (не смейтесь и такое бывает — отдельная история) и заменили своим велосипедом. Негативный опыт и нежелание тянуть монстра ради пары сущностей сделали свое — хибернейту твердое нет! Захотелось попробовать что-то совсем другое. По воле случая наткнулся на Ebean, который и был выбран.

После окончательной подборки стека начала кипеть работа. Но вот незадача, воз с функционалом пока не сдвинулся с места. Под катом искреннее оправдание почему.
Читать полностью »

Добрый день!

Решил написать небольшой обзор с примерами на легковесный ORM для Scala — Squeryl 0.9.5

Начнем с основных достоинств данного фреймворка

1) Squeryl предоставляет DSL для SQL запросов. К примеру

def songs =  from(MusicDb.songs)(s => where(s.artistId === id) select(s))

def fixArtistName = update(songs)(s =>
  where(s.title === "Prodigy")
  set(
    s.title := "The Prodigy",
  )
) 

Синтаксис напоминает C# LINQ. Как вы могли заметить в запросах используются лямбда выражения, что значительно сокращает объем кода.

В данном примере метод songs возвращает объект Query[Song] который реализует интерфейс Iterable, что позволяет работать с ним как с обычной коллекцией.

Также стоит отметить, что запросы можно будет использовать в качестве подзапросов, для этого достаточно указать запрос в конструкции from вместо таблицы.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js