пятница, 30 сентября 2011 г.

Использование контекста EF во времени

Меня давно интересовал такой вопрос: какой продолжительностью времени жизни должен обладать контекст Entity Framework?

И вот недавно я нашел ответ:
http://stackoverflow.com/questions/3653009/entity-framework-and-connection-pooling

Если кратко, то каждый раз когда мы выполняем логическую (бизнес?) операцию, так как EF позаботится о сохранении всех метаданных и поэтому повторное создание контекста будет быстрым. В свою очередь DB provider должен позаботиться о пуле соединений.

пример:
using (SupplierServiceEntities Context = GetContext())
      {
        Session s = (from sess in Context.Sessions
               where sess.Sid == sid && EntityFunctions.AddMinutes(sess.DateOfLastAction, ExpireSessionTimeoutMinutes) > DateTime.Now
               select sess).FirstOrDefault();
        if (s != null)
          return true;

        return false;
      }


* This source code was highlighted with Source Code Highlighter.

пятница, 9 сентября 2011 г.

Компилированные запросы Linq (Compiled query) и ADO.Net 4.0

Многие пытаются сравнить производительность Entity Framework с чистым SQL. В любом случае запрос выполненный с помощью прямого SQL запроса будет быстрее чем использование LINQ хотя бы за счет маппинга полей.

Но эту разницу можно сократить до минимума. В EF 4.0 Linq запрос компилируются (разбираются) каждый раз когда к ним обращаются. Сама по себе эта операция дорогостоящая и мы должны от нее избавиться.

Делается это с помощью класса CompiledQuery

понедельник, 2 мая 2011 г.

OpenGL ES 2.0 на android. MultiTexturing

MultiTexturing - это простая техника, с помощью которой можно смешивать 2 и более текстуры. Данная техника применяется, например, для отображения света фонарика на стене.

воскресенье, 10 апреля 2011 г.

OpenGL ES 2.0 на android. Простой и текстурированный квадрат

Вот такой пример создания простых фигур. Создаем простой квадрат, а потом еще один, но уже с текстурой.
Под катом как написать такое приложение

четверг, 7 апреля 2011 г.

OpenGL ES 2.0 на android. Начало

Пожалуй, самое главное отличие версий OpenGL ES 1.x и 2.0 - это появление в версии 2.0 pipeline with programmable shading, то есть шейдеров (shaders). Почти все красоты современных игр сделаны с использованием шейдеров. В  OpenGL ES шейдеры бывают двух типов: Vertex shaders и Fragment shaders. Описание и использование OpenGL ES 2.0 можно найти в книге OpenGL®ES 2.0 Programming Guide.

Реализация OpenGL ES 2.0 в android, используя java классы, появляется начиная с версии android 2.2. Создать приложение для android очень просто, а вот отладку производить не очень, так как эмулятор не имеет поддержки OpenGL ES 2.0 (по крайней мере, я не смог этого добить на данный момент, а сейчас у меня есть устройство с поддержкой второй версии, и эмулятор не требуется :-) )

Под катом, как написать простое приложение на  OpenGL ES 2.0 для android

суббота, 2 апреля 2011 г.

Отладка приложений на реальном android

Удивительно, но как удобно и быстро можно запускать на моем планшете (и не только на моем) из eclipse проекты andorid. Все очень просто, настраиваем устройство, устанавливаем драйвер Google Windows USB Driver. В манифесте проекта устаналиваем android:debuggable="true", либо через интерфейс редактирвания манифеста, либо вручную. Все. Запускаем и работаем.

Утилита DDMS из папки tools android SDK может делать скриншоты. Вот например мой скриншот:

пятница, 1 апреля 2011 г.

четверг, 31 марта 2011 г.

Что такое TAPI и как его готовить

TAPI - это интерфейс прикладного программирования для телефонии. Достаточно мощный API для создания приложений, связанных с телефонией.

Есть три основные версии: 1,2 и 3 :-). Первая и вторая версии представляют собой набор C-style функций, третья же объектно-ориентированная, COM и может быть использована хоть где без особых усилий: .Net, VB, VBS - там, где можно использовать COM объекты. 

Вообщем случае, требуется АТС, TSP драйвер от производителя АТС и приложение, использующее API TAPI.

среда, 30 марта 2011 г.

Китайский "Убийца iPad"

После месячного ожидания  наконец таки пришла посылка  из Гонгконга с моим планшетом-андроидом.

Из плюсов:

  • android 2.2
  • G-сенсор
  • вполне ничего видео 
  • 8"
  • шустренький
Из минусов:
  • тачскрин НЕ мультитач
  • процессор 800 MHz, а не 1000 MHz
Даже учитывая минусы я крайне доволен этим аппаратом. Еще не проверял, как будет работать разработка в эклипсе на нем, и я так и не понял насчет поддержки OpenGL ES 2.0

UPDATE:

OpenGL ES 2.0 есть!

Использование Microsoft UCCAPI вместе с asterisk

Появилась задачка написать SIP телефон используя .Net, который бы мог работать с астериском (asterisk). Встал вопрос что использовать. Погуглив на предмет опенсорсных инструментов, нашел различные стеки SIP'а на C#, но без реализации RTP стека. Есть полностью готовые к использованию стеки с возможностью потокового аудио/видео, но чаще всего они платные. Ну нет совершенно желания платить денежку :-)