Как стать автором
Обновить
3
0
AlexBar @AlexBar

Пользователь

Отправить сообщение

LINQ to SQL и пространственные данные SQL Server

Время на прочтение9 мин
Количество просмотров13K
Начиная с версии 2008 (и пока что заканчивая ей) MS SQL Server имеет встроенную поддержку пространственных данных. Прекрасно!

На данный момент времени уже существует несколько СУБД, предлагающих индексированное хранение пространственных данных. Наверное, самые популярные из них, это: «народная» MySql и PostGIS.

Программируя на c#, естественно, в очень многих случаях, отдаёшь предпочтение продуктам и решениям Microsoft. Причины просты: полнее поддержка одних технологий другими, хорошая документация, более полная реализация, например провайдеров данных, и гораздо меньшая глючность. Я выбрал SQL Server. Заодно захотелось освоить LINQ в общем и LINQ to SQL в. частности.

Поначалу всё было хорошо. Для меня хороший старт сделала, обнаруженная на msdn, статья «LINQ to SQL: .NET Language-Integrated Query for Relational Data».
Но я не сильно удивился, когда «всё хорошо» закончилось.

Для хранения геометрических данных в SQL Server были введены два дополнительных типа: geometry и geography. Первый используется для хранения геометрических объектов, описанных в декартовой системе координат, а второй — для геометрических объектов заданных географическими координатами (широта/долгота).
Такое разделение, по всей видимости, пришлось сделать из-за того, что пространственный индекс реализован в SQL Server на основе B-деревьев. При использовании этого индекса пространство шаблонно разбивается сеткой несколько раз и в «ячейки» этой сетки сохраняются ссылки на геометрические объекты. И оказалось невозможно строить универсальное разбиение и для прямоугольной системы координат и для эллипсоидальной. В MySql, например, выбран другой алгоритм индексирования, основанный на R-деревьях, работающий на совершенно другом принципе, и используется один тип данных. Какой способ индексирования лучше, а какой хуже — не очевидно, так что пока не понятно на кого ругаться и стоит ли.

Оказалось, что LINQ to SQL не понимает этих типов данных и работать с ними, а также со встроенными геометрическими функциями, отказывается. Хотя, наверное, правильнее сказать, что их не понимает провайдер. В любом случае, уверен, что поддерживаться эти данные будут, но сейчас такой поддержки нет.

Я не смог найти в интернет решения, обходящего эту проблему, поэтому пришлось изобрести его самому. Здесь нет никаких удивительных ходов, но есть детали, которые, думаю, будут интересны. Также в этой большой заметке, для вашего интереса, я чуть-чуть опишу работу с LINQ to SQL.
посмотрим
Всего голосов 28: ↑24 и ↓4+20
Комментарии12

Linq-to-Sql: Узнаем nullable поля из метаданных (или рассказ о небольшом баге)

Время на прочтение3 мин
Количество просмотров1.5K
Итак, перед нами Linq-to-Sql. Перед нами стоит задача узнать какие поля могут иметь значения null, а какие нет — решение данной задачи может, например, помогать в подсветки обязательных полей на форме, либо просто для валидации данных, перед их установкой в свойства объекта.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии7

Интеграция вкусностей jQuery в другие сайты

Время на прочтение4 мин
Количество просмотров2.4K
Есть у меня небольшой проект с user-generated content-ом. Встала задача сделать код кнопки с ссылкой на страничку пользователя, для интеграции в пользовательские блоги и сайты. Но делать скучные кнопки, как у большинства конкурентов, не хотелось. Хотелось, на равне с простыми кнопками и ссылками, сделать что-то особенное, jQuery-евское, с аяксом и анимацией :).

Суть простая: пользователь размещает у себя на сайте скрипт, который динамически вставляет кнопку. При нажатии на кнопку всплывает окошко с подгружённой пользовательской страничкой с нашего ресурса.

Проблемы очевидны:
  1. Необходимо определить, используется ли jQuery и нужный плагин на сайте пользователя. Если нет, то обоих динамически подгрузить. Делать отдельно коды для тех кто использует jQuery на своем сайте и для тех кто нет — не комильфо, а тем более подгружать при любом раскладе (могут возникнуть глюки, особенно у плагинов).
  2. Пережатый jQuery весит около 60 кБ, и в случае подкачки может не успеть полностью загрузиться и инициализироваться до исполнения кода.

В качестве вкусности я использовал плагин fancybox. Он позволяет не только отображать фотографии с lightbox-эффектом, но и любой другой контент в iframe.

Ниже представлен код.
Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии66

Эта неделя в jQuery, том 6

Время на прочтение2 мин
Количество просмотров1.3K
Другая неделя, другая коллекция ссылок на некоторые из самых интересных и захватывающих событий в Сети, касающихся jQuery.

Одним из самых интересных событий на этой неделе стал выпуск Glimmer. Glimmer позволяет легко создавать интерактивные элементы на вашей веб-странице, используя мощь библиотеки jQuery. Вы можете использовать мастера Glimmer для генерации скриптов jQuery, отрабатывающих самые общие интерактивные сценарии. Glimmer также имеет расширенный режим, обеспечивая дизайнер для создания эффектов на основе уже существующих HTML и CSS. — примечание от переводчика — есть отдельная статья на Хабре про Glimmer.

Также стоит упомянуть новый облик сайта jQuery для дизайнеров от Реми Шарпа.
Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии14

Версия 0.4 — Stable Release Candidate

Время на прочтение4 мин
Количество просмотров626
Web Optimizer Веб Оптимизатор (Web Optimizer) — приложение для автоматизации всех действий по клиентской оптимизации — достиг версии 0.4. Список поддерживаемых систем ширится и растет с каждым днем: Drupal 5 и 6, Joomla 1.0 и 1.5, Joostina, Wordpress 2.7, PHP-Nuke, LiveStreet, vBulletin 3.8 и так далее.

Подробное руководство по установке (немного устарело уже, правда)
Загрузить версию 0.4.0
Загрузить мини-установщик
Помочь проекту материально
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии39

Popup с затухающим фоном с помощью jQuery

Время на прочтение8 мин
Количество просмотров43K
imageМногие из нас сталкивались с всплывающими окнами, когда при этом постепенно потухает фон. Взгляд пользователя невольно фокусируется только на той части экрана, где что-то требуется от этого самого пользователя. Достаточно полезно, не правда ли?

Конечно же, не претендую на какую-то новизну, и данная заметка будет больше полезна начинающим с jQuery (коим и сам являюсь), чем людям, имеющим существенный опыт с данным javascript фреймворком.

под катом пример и описание
Всего голосов 83: ↑63 и ↓20+43
Комментарии71

Плагин для jQuery, реализующий наследование

Время на прочтение2 мин
Количество просмотров2.4K
Наверняка, многие разработчики, использующие jQuery, сталкиваются в крупных проектах, использующих ООП, с проблемами наследования. Так как самому недавно пришлось озадачиться подобной проблемой, решил написать плагин для jQuery, помогающий в этом нелегком деле. Некоторые идеи заимствованы из Base2.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии14

Заметки о лучшем хостинге: часть первая

Время на прочтение5 мин
Количество просмотров14K
imageТак получилось, что до недавнего времени все мои web-проекты реализовывались на своих собственных серверах. И по этой причине мне ни разу не приходилось иметь дела с хостингом. Но всему приходит конец и в конце 2008 года я вдруг решил, что просто обязан купить себе хостинг и пару доменов.

Мысль эта пришла не внезапно, но обсасывалась несколько месяцев. Я старался рассмотреть все возможные варианты, прикинуть оптимальный вариант. Кроме того, я пытался сформулировать для самого себя, зачем же все-таки мне нужен хостинг. В конце концов, выбор был сделан, хостинг проплачен на год вперед, домены куплены.

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

UPD: доступна вторая часть статьи
Читать дальше →
Всего голосов 108: ↑84 и ↓24+60
Комментарии128

Последовательные процессы в Workflow Foundation

Время на прочтение10 мин
Количество просмотров6.7K
Всем привет! Сегодня мы наконец-то перейдем к практической части нашей мини-программы по изучению Workflow Foundation. В этой статье я немного подробнее остановлюсь на последовательных процессах (Sequential Workflow) и опишу пример создания приложения для резервного копирования файлов. Напомню, что это скорее пример работы с редактором, чем описание реального применения. Все описанное в практическом примере можно и нужно делать без использования WF. =)
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии22

Введение в Microsoft Workflow Foundation

Время на прочтение4 мин
Количество просмотров22K
Хочу предложить вашему вниманию серию статей, посвященных Microsoft Workflow Foundation. Данная технология представляет новый, более высокий, уровень абстракции в программировании под .net. Мы начнем с вводной статьи, описывающей предпосылки возникновения технологии, два основных вида рабочих процессов и средства разработки. В дальнейшем мы более подробно ознакомимся с различными аспектами Microsoft Workflow Foundation.

Заинтересовались — читайте дальше.
Читать дальше →
Всего голосов 66: ↑53 и ↓13+40
Комментарии100

10 Tips to improve Linq2Sql performance

Время на прочтение5 мин
Количество просмотров5.3K
Добрый день.
Если вы собираетесь использовать LINQ в проектах, стоит узнать, как ускорить работу этой технологии.
Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии22

ASP.NET MVC на реальном примере. Теория и вступление.

Время на прочтение9 мин
Количество просмотров64K
Команда Microsoft очень интенсивно развивает свои продукты и средства для разработчиков. На эту тему уже и выхлопы шуточные были, по поводу выхода новых версий фреймворков. Разработчики, которые работают в крупных компаниях, ввязаны в большие проекты в общем-то без особого энтузиазма на это смотрят, так как такие махины нельзя в короткие сроки перевести на новую версию. Может быть чревато как всплыванием багов, так и изменением всей структуры проекта, что делать не всегда получается легко. Сказанное выше, к сожалению (или к счастью), меня не касается и это дает мне возможность использовать все самое новое без оглядки на бекграунд. Проекты довольно таки обозримые, часто переводятся на новую версию безболезненно, и новые фичи начинаю внедрять уже при реализации следующей задачи в пректе. На момент внедрения это, конечно, вносит некий хаос в код, так как в разных кусках кода используются разные принципы (например, внедрение LINQ), но последующий рефакторинг кода приводит все к единому виду и все приходит в норму.

К чему все это?


Одним из таких нововведений является ASP.NET MVC — реализация шаблона Model-View-Controller под платформу .NET. Попробуем разобраться что же это такое, зачем нужно, и применим наши знания на простом, но реальном приложении.
Приступим
Всего голосов 36: ↑33 и ↓3+30
Комментарии166

MVC Framework: большое введение для начинающих

Время на прочтение16 мин
Количество просмотров80K
Необходимое отступление: не так давно я разместил статью предназначавшуюся для печатного издания. Приведенная ниже статья имеет ту же самую судьбу: она не попала в печать в связи с тяжелым положением журнала. Как и в прошлый раз, я решил опубликовать статью на Хабре, благо тематика попадает под формат. Необходимо заметить, что статья оформлена и содержит текст для журнала, если бы она готовилась для Хабра, то некоторые часть могли бы быть изменены. Надеюсь, статья вам понравится.

В последнее время заметно, что компания Microsoft уделяет повышенное внимание развитию своих средств разработки, новым инструментам и механизмам разработки программ на своей платформе .net. Быстро развивается язык C#, четвертая версия которого не за горами. Представлен и активно продвигается новый язык F#. Для разработчиков баз данных разработан Entity Framework, который уже доступен в виде финальной версии в первом сервиспаке к .Net Framework 3.5 и Visual Studio 2008. Microsoft активно занялась и клиентской частью разработки web-проектов. Для нашего внимания предложен путь развития Ajax.Net 4.0. Internet Explorer 8 все больше соответствует стандартам и становится привлекательным инструментом для web-программистов, так например, его вкладка Developer Tools включает в себя профайлер JavaScript. Очень хорошей новостью стало недавно объявление о полной поддержке и включении JavaScript-библиотеки jQuery в следующее обновление Visual Studio. В этом свете возникает вопрос, что же предложено разработчикам ASP.NET? Ответ — MVC Framework. Целью данной статьи рассмотреть некоторые общие проблемы, с которыми могут столкнуться программисты, решившие использовать MVC Framework для своих web-проектов, и их решения.
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии71

jQuery для JavaScript-программистов

Время на прочтение12 мин
Количество просмотров70K
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

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

Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии121

jQuery для начинающих

Время на прочтение9 мин
Количество просмотров503K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Всего голосов 251: ↑230 и ↓21+209
Комментарии83

jQuery in Action. Глава 1. Введение в jQuery.

Время на прочтение3 мин
Количество просмотров21K
Как я уже писал, я начал читать книгу «jQuery in Action» (авторы Bear Bibeault и Yehuda Katz). В данной серии статей (а я планирую довести дело до конца) я буду выкладывать самые интересные моменты из каждой главы этой книги. Это будут основные идеи, примеры или и то и другое вместе :-)

Читать дальше →
Всего голосов 97: ↑77 и ↓20+57
Комментарии28

Первые шаги с Unity: DI/IoC & AOP

Время на прочтение7 мин
Количество просмотров70K

Введение


Если Вы когда-нибудь слышали такие слова, как IoC, DI, AoP, но не имеете четкого понимания этих терминов, надеюсь, эта статья поможет в них разораться на примере работы с Microsoft Unity контейнером.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии19

Mono приносит C# на iPhone и Wii

Время на прочтение2 мин
Количество просмотров2.5K
Mono, open-source реализация платформы .NET была использована для разработки игр для iPhone и Wii. Посмотрим, как статическая компиляция сделала возможным, чтобы приложения на Mono удовлетворили требованиям Apple к приложениям, размещаемым в App Store.
Интересно, как же?
Всего голосов 64: ↑55 и ↓9+46
Комментарии55

ajax загрузка нескольких файлов с php формой

Время на прочтение2 мин
Количество просмотров36K
Как-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
подробнее
Всего голосов 56: ↑49 и ↓7+42
Комментарии55

Наследование в ADO.NET Entity Framework

Время на прочтение5 мин
Количество просмотров8.3K
О чём вы, Морфеус?


Приветствую всех!
Моя первая статья на хабре была оценена хабраюзерами достаточно высоко. Что же, спасибо всем кто оставил своё мнение о статье, мне было приятно вас почитать, я продолжаю.

В новой статье хотелось бы поговорить о наследовании. Признаться честно, до изучения ADO.NET Entity Framework я вообще даже не задумывался о том, чтобы вводить в свои проекты наследование сущностей в объектно-ориентированных обёртках для БД. Обычно базу строили так, чтобы максимально избегать наследования. Хотя, порой оно и маячило на горизонте, но обходилось. Сейчас я опишу, как я добавил в свой проект два очень простых класса, которые были отнаследованны от уже имеющихся таблиц.

Опять же, замечу, что я не буду углубляться в теорию, всё показываю на практике. Для теории я сделаю отдельный цикл статей.

И так,
погружаемся...
Всего голосов 38: ↑26 и ↓12+14
Комментарии15
12 ...
16

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Зарегистрирован
Активность