LINQ to objects сейчас прочно вошел в нашу жизнь, победоносными шагами ступая по всему стеку .net приложений. В этой статье я бы хотел привести примеры нескольких не очевидных вещей, с которыми довелось столкнуться, работая с LINQ. Интересно — прошу под кат.
AdrenalinHunter @AdrenalinHunter
User
Разработка приложения живого поиска по Twitter с помощью Knockout, jQuery и ASP.NET MVC 3
14 min
7KTranslation
Достаточно не тривиально разработать хорошо спроектированный front-end веб-приложения с уровнем отклика, производительностью и фичами, которые ожидают пользователи сегодня. Легко потеряться в кипящей смеси jQuery обработчиков событий, HTML разметки и AJAX вызовов и даже относительно простой GUI быстро может стать кошмаром для сопровождения.
Один из способов добавления некоторой структуры и порядка на клиентской стороне – использование фреймворка вроде Knockout. Knockout – это свободная Javascript библиотека с открытым исходным кодом, которая помогает реализовать Model-View-View Model (MVVM) паттерн на клиенте. Она хорошо документирована и официальный веб сайт великолепная точка старта с кучей реальных примеров, которые не только демонстрируют использование встроенных фич библиотеки, но и показывают, как расширить её свои собственными фичами.
В этом посте мы рассмотрим, как Knockout может быть использован совместно с плагином отображения, каким-нибудь jQuery и ASP.NET MVC 3 backend (или модель, как вам нравится) для построения простого, но эффективного приложения для живого поиска в Twitter.
Один из способов добавления некоторой структуры и порядка на клиентской стороне – использование фреймворка вроде Knockout. Knockout – это свободная Javascript библиотека с открытым исходным кодом, которая помогает реализовать Model-View-View Model (MVVM) паттерн на клиенте. Она хорошо документирована и официальный веб сайт великолепная точка старта с кучей реальных примеров, которые не только демонстрируют использование встроенных фич библиотеки, но и показывают, как расширить её свои собственными фичами.
В этом посте мы рассмотрим, как Knockout может быть использован совместно с плагином отображения, каким-нибудь jQuery и ASP.NET MVC 3 backend (или модель, как вам нравится) для построения простого, но эффективного приложения для живого поиска в Twitter.
+20
Инструменты для работы с XML в Visual Studio 2008
8 min
21KTranslation
XML используется повсюду от веб-служб, баз данных, конфигурационных файлов, до офисных документов. Эта статья познакомит вас с инструментальной поддержкой предлагаемой Visual Studio 2008, которая облегчает работу с XML. В статье рассматривается редактирование XML файлов, работа со схемами XML, отладка стилевых таблиц XSLT и расширение Visual Studio при помощи написания собственных XML дизайнеров.
+17
Прототипирование в Expression Blend + SketchFlow. Часть 1. Немного истории
2 min
26KTranslation
Введение
Этой статьей я хочу начать цикл статей, посвященных созданию прототипов с помощью Expression Blend и SketchFlow. Мы постепенно пройдемся от базовых концепций и понимания, как работает SketchFlow, до отдельных нюансов вроде настройки и брендирования проигрывателя прототипов. Местами, я буду включать переводы статей других авторов.
В качестве введения в тему и для того, чтобы получить общее представление, предлагаю посмотреть вот это короткое видео (всего 90 секунд!) с обзором текущих возможностей SketchFlow:
А начнем мы со статьи Christian Schormann об истории SketchFlow.
SketchFlow: Немного истории
SketchFlow, инструмент динамичного прототипирования для Expression Blend, наконец официально вышел (от переводчика: статья писалась к выходу Expression Blend 3)! Вы можете скачать триальную версию здесь.
Так как мне всегда нравилось наблюдать за развитием людей, идей и продуктов, я подумал, что вам тоже будет интересно узнать немного о прошлом SketchFlow — сейчас, кажется, подходящий момент, чтобы взять школьные тетрадки со столика и рассказать немного о том, как рос SketchFlow. Если вы хотите узнать больше о сегодняшем состоянии SketchFlow, смотрите этот пост…
+34
+71
Десять советов начинающим программистам
5 min
110KПредисловие
Хорошо, когда работаешь с человеком, который отлично знает толк в своём деле. А что, если случается работать с коллегой, опыт которого не столь большой. Особенно это касается профессионально-личностных качеств. Невольно приходится подсказывать, местами помагать ему, а где-то даже откровенно учить. Все мы когда-то начинали. Все эти действия требуют немалых усилий, которые можно было бы применить по прямому назначению — в разработке проекта, но без подготовки новых специалистов будет тяжелее.
Так вот, чтобы минимизировать эти затраты, давайте «создадим» хорошего, а возможно и идеального начинающего программиста, с высоким потенциалом и светлыми горизонтами.
Предлагаемые здесь десять советов не претендуют на оригинальность и, в основном, базируются на моем небольшом пятилетнем опыте разработок. Итак, начнем.
1. Будьте самостоятельными
Если у вас есть какой-то вопрос, и вы не знаете как с ним поступить, то вначале постарайтесь исследовать его самостоятельно. Не ждите постоянной помощи от коллег — у них и без вас работы хватает. Используйте всю мощь поисковых систем, специализированных ресурсов (например, stackoverflow), профессиональных блогов, форумов разработчиков, и конечно же хабра. Большинство типичных «граблей» можно обойти различными эффективными вариантами, а для решения базовых задач есть дюжины готовых решений. Просто пойдите и возьмите.
+72
ASP.NET MVC 3: подробный обзор нововведений
8 min
10K
Спустя более чем четыре месяца с момента выхода финальной версии фреймворка ASP.NET MVC 2, команда разработчиков рада представить первую предварительную версию ASP.NET MVC 3. Анонс и ссылку на загрузку можно найти здесь.
В этой статье будет дан обзор нововведений и изменений, которые произошли в новой версии фреймворка.
Совместимость и поддержка .NET Framework 4.0
В отличии от предыдущей версии, ASP.NET MVC 3 поддерживает только четвертую версию .NET Framework. Кроме того, компоненты разработчиков для интеграции в Visual Studio поддерживаются только для Visual Studio 2010 и Visual Web Developer Express 2010.
Фреймворк ASP.NET MVC 3 может быть установлен вместе с ASP.NET MVC 2, они могут использоваться отдельно друг от друга.
+43
Xaps Minifier. Дополнение для Visual Studio 2010, позволяющее уменьшать размер Silverlight приложений
6 min
2KЯ постоянно работаю с Silverlight приложениями и выкладываю релизы регулярно. Как правило, я использую паттерн MVVM и его реализацию Prism. В результате создаётся несколько XAP файлов, содержащих сборки приложения и манифест.
Каждый, кто работает в соответствии с таким подходом, замечает, что большинство XAP файлов содержат дублирующиеся сборки. Например, при использовании библиотеки Prism, практически каждый XAP файл будет содержать все сборки из этой библиотеки. Prism добавляет порядка 300 Кб к каждому XAP файлу, что может увеличить размер приложения более чем на 1 Мб (при наличии 4-5 XAP файлов). Кроме того, дополнительные библиотеки (в первую очередь UI элементов) могут ещё более увеличить размер приложения.
Все эти факты заставили меня начать поиск пути уменьшения размеров XAP файлов.
Каждый, кто работает в соответствии с таким подходом, замечает, что большинство XAP файлов содержат дублирующиеся сборки. Например, при использовании библиотеки Prism, практически каждый XAP файл будет содержать все сборки из этой библиотеки. Prism добавляет порядка 300 Кб к каждому XAP файлу, что может увеличить размер приложения более чем на 1 Мб (при наличии 4-5 XAP файлов). Кроме того, дополнительные библиотеки (в первую очередь UI элементов) могут ещё более увеличить размер приложения.
Все эти факты заставили меня начать поиск пути уменьшения размеров XAP файлов.
+20
Преодолеваем хабраэффект при помощи Coral CDN
3 min
4.3KTutorial
Вы выкладываете на Хабрахабре гиперссылку на интересный сайт, а он вскорости обрушивается под наплывом посетителей, начинает подтормаживать или вообще перестаёт отвечать.
Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.
Таковы бывают неприятные проявленияхабраэффекта — естественного DDoS, аналогом которого на Заокраинном Западе является слэшдот-эффект.
Ну а как противостоять естественному DDoS?
Первыми приходят на ум наиболее бесхитростные способы.
Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.
Таковы бывают неприятные проявления
Ну а как противостоять естественному DDoS?
Первыми приходят на ум наиболее бесхитростные способы.
+118
Ubiquity: just another map plug-in
10 min
1.6K
На Хабре уже была статья про чудесный плагин для Firefox — Ubiquity. Очень экспериментальный плагин. Советую как минимум посмотреть на него.
Так вот, мне он очень понравился и я написал своё расширение — поиск адреса на картах mapia.ua. О чём и написал статейку.
+43
12 лучших практик ASP.NET MVC
3 min
13KTranslation

+9
Подборка плагинов к jQuery
2 min
5.8KВдогонку к этому посту, решил выложить еще одну неплохую и достаточно свежую подборку.

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

jReject — это простой способ сообщить пользователю, что его браузер устарел, предлагая скачать последние версии популярных браузеров. Внешний вид легко настраивается через CSS, а всплывающее окошко может отображаться как после загрузки страницы, так и по вызову определенных событий на ней.
+81
Information
- Rating
- Does not participate
- Location
- Украина
- Registered
- Activity