Возникла необходимость сделать ASP.Net сайт, который бы выглядел красиво и в обычных (стационарных) браузерах и в мобильных. Причем достичь этого не за счет ограничения функционала и красивости версии для стационарных браузеров, а с помощью стандартных ASP.Net-овских определений в App_Browsers. Этот способ работает и в ASP.Net MVC-приложениях.
Пользователь
12 лучших практик ASP.NET MVC
3 мин
13KПеревод
От переводчика: здесь приведены 12 неплохих практик, которые автор рекомендует использовать при разработке приложений ASP.NET MVC. Я решил перевести этот короткий список для тех, кто только присматривается к ASP.NET MVC и делает в этом фреймворке первые шаги. Надеюсь, данные советы помогут получше понять архитектуру ASP.NET MVC и принять правильные решения при разработке проектов. Некоторые советы спорны, но не забывайте, что автор выражает свое мнение, которое может не совпадать с вашим.
+10
«Множества» в C#
3 мин
14KСнова пишу про то, что, в общем-то, известно =) Но если где-то нужно передать в качестве аргумента функции несколько флагов, то данный способ можно использовать. Множеств (UPD: не как классов в библиотеке .Net, а как встроенной в синтаксис языка конструкции) в C# нет. Но зато есть атрибут [FlagsAttribute] для перечислений (т.е. для enum'ов):
[Flags]<br>enum Magic<br>{<br> None = 0,<br><br> Fire = 1, //огонь<br> Air = 2, //воздух<br> Water = 4, //вода<br> Earth = 8, //земля<br><br> All = Fire | Air | Water | Earth<br>}<br><br>* This source code was highlighted with Source Code Highlighter.
-1
C# & Oracle — заметки на полях — 1
5 мин
36KКогда-то давно, очень давно...
Компания купила лицензию на БД Oracle. Затем в эту компанию трудоустроился я. Соответсвенно начав продвигать .Net «в массы». БД Oracle используются не во многих организациях, но используется.
Как же осуществить взаимодействие с БД Oracle, используя C#?
+4
Подробный обзор нововведений Silverlight 4
11 мин
3KЭта статья содержит более подробное описание нововведений Silverlight 4, таких как:
- Печать из приложений
- Обработка нажатий правой кнопки мыши и движений колеса
- Работа с веб-камерой и микрофоном
- Работа с буфером обмена
- Особености trusted-приложений
- Взаимодействие с объектами COM
- и многое другое…
+16
Асинхронное программирование — цепочки вызовов
6 мин
5.5KКогда в коде фигурирует пара вызовов BeginXxx()/EndXxx()
, это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.
+32
Логирование с помощью Microsoft Enterprise Library 4.1
5 мин
8.7KПеревод
В данной статье рассказывается как работать с блоком логирования из библиотеки Microsoft Enterprise Library 4.1. Решил разобраться после посещения Patterns & Practices Roadmap Kiev.
Загрузить Enterprise Library 4.1 можно отсюда. Помните, что кроме блока логирования устанавливается много других компонентов.
Установка Enterprise Library
Загрузить Enterprise Library 4.1 можно отсюда. Помните, что кроме блока логирования устанавливается много других компонентов.
+6
Помощь в отладке для Visual Studio — Debugger Visualizers
3 мин
9.7KОтладка любой программы сложна сама по себе и что бы, ее хоть как то облегчить – можно воспользоваться визуализаторами для Visual Studio (Debugger Visualizers).
Визуализатор – это компонент пользовательского интерфейса отладчика Visual Studio. Он создает диалоговое окно или другой элемент интерфейса, в котором переменная или объект отображается осмысленным образом, подходящим для этого типа данных. Например, HTML-визуализатор интерпретирует строку HTML и отображает результат в том виде, в каком она будет выглядеть в окне обозревателя, визуализатор точечных рисунков распознает структуру точечного рисунка и отображает его и т. д. Некоторые визуализаторы позволяют не только просматривать, но и редактировать данные.
Отладчик Visual Studio содержит четыре стандартных визуализатора. Это визуализаторы текста, HTML и XML, которые работают со строковыми объектами, и визуализатор наборов данных, который работает с объектами DataSet, DataTable и DataView.
Кроме стандартных визуализаторов из поставки Visual Studio, существуют еще и другие — вот о них и пойдет речь дальше.
+42
Стоит ли вам использовать Google AppEngine?
5 мин
4.3KDisclaimer: Эта статья не о том, «какой я умный и какой Гугл тупой». Эта статья о некоторых неочевидных проблемах и особенностях Google AppEngine (GAE), о которых было бы неплохо знать тем, кто хочет начать работать с «империей зла» :-)
Гугл сделал много отличных вещей – поиск, почта без спама… Гугл получает кучу наших приватных данных, но мы продолжаем пользоваться им, потому что оно так классно работает…
Некоторое время в IT-шных кругах поднялось достаточно шума об AppEngine, и я решил попробовать поработать с ним в моём новом проекте.
Я выбрал Python с гугловским framework-ом чтобы получить наилучшую совместимость и скорость. Начал я с тестов производительности, и результаты были…
Гугл сделал много отличных вещей – поиск, почта без спама… Гугл получает кучу наших приватных данных, но мы продолжаем пользоваться им, потому что оно так классно работает…
Некоторое время в IT-шных кругах поднялось достаточно шума об AppEngine, и я решил попробовать поработать с ним в моём новом проекте.
Я выбрал Python с гугловским framework-ом чтобы получить наилучшую совместимость и скорость. Начал я с тестов производительности, и результаты были…
+80
Используем SQL Server Dynamic Management Views and Functions (DMV and DMF)
6 мин
16KMicrosoft SQL 2005/2008 предоставляет доступ к динамическим административным представлениям и функциям (Dynamic Management Views and Functions, DMV and DMF). Эти данные мы можем использовать для диагностики проблем и оптимизации производительности баз данных.
Вот неполный перечень доступной информации:
- Причины задержек выполнения запросов.
- Работа с индексами (отсутствующие, неиспользуемые, требующие больше всех операций ввода/вывода, часто используемые).
- Запросы с высокими издержками на ввод-вывод, с высоким использованием процессора.
- Запросы, выполняющиеся чаще всего.
- Запросы, страдающие от блокировок.
Далее, я хочу рассказать о том, как можно сохранять и анализировать данные запросов к DMV.
+17
Бесплатный AJAX CDN
1 мин
1.9KКомпания Microsoft запустила сервис AJAX CDN (content delivery network) для кэширования AJAX и jQuery-библиотек ASP.Net. По словам самих разработчиков, с помощью этого кэша можно значительно повысить производительность веб-приложений ASP.Net Web Forms и ASP.Net MVC.
Ajax CDN работает по стандартному принципу CDN, то есть контент дублируется на множестве серверов, географически удалённых друг от друга, а каждого юзера обслуживает наиболее близкий к нему сервер. Для запроса к CDN просто меняете адрес скрипта в коде веб-страницы:
Много стандартных скриптов уже лежат на CDN (список здесь), в будущем каталог обещают значительно пополнить.
Кроме ускорения загрузки на стороне юзера, с помощью этого сервиса можно банально экономить на трафике, поскольку Ajax CDN бесплатен как для частного, так и для коммерческого использования, и не требует регистрации.
Ajax CDN работает по стандартному принципу CDN, то есть контент дублируется на множестве серверов, географически удалённых друг от друга, а каждого юзера обслуживает наиболее близкий к нему сервер. Для запроса к CDN просто меняете адрес скрипта в коде веб-страницы:
Много стандартных скриптов уже лежат на CDN (список здесь), в будущем каталог обещают значительно пополнить.
Кроме ускорения загрузки на стороне юзера, с помощью этого сервиса можно банально экономить на трафике, поскольку Ajax CDN бесплатен как для частного, так и для коммерческого использования, и не требует регистрации.
+5
«Достаем» OLAP куб (ADOMD.NET)
4 мин
31KИтак, продолжаем осваивать внутренности OLAP кубов (предыдущие статьи на эту тему: 1, 2, 3). На повестке дня актуальный вопрос: «А как можно достать OLAP куб программно?». Понимаю – теория-теорией, но если данные нельзя (или очень сложно) получать из кода, то грош цена таким технологиям. К счастью, здесь все очень просто – знаете ADO.NET? Ну, так это то же самое, только называется ADOMD.NET.
Как же так, скажите вы – еще одна библиотека, которую нужно изучать?! Вообщем-то, можно конечно и через OLEDB «доставать» куб (как-нибудь напишу, как это делать), но тогда теряется вся специфика многомерности, а сама библиотека ADOMD.NET достаточно простая, что я сейчас и покажу.
Итак, приступим.
+18
Пишем свой плагин для nagios
1 мин
9.7KВ своей повседневной работы я очень активно использую nagios. Как мне кажется, это очень мощная система для мониторинга серверов. Можно мониторить загрузку сервера, доступность разных серверов и тд и тп.
Для нагиоса есть очень много плагинов. Большое собрание плагинов находится по адресу nagiosplugins.org. Можно найти подходящий для себя, поставить и наслаждаться жизнью. Но что же делать если ни один плагин не устраивает вас по функционалу? Да ничего. Напишем свой. Это очень просто.
Итак начнем.
Первое что нам нужно знать для написания простейшего плагина это как работает нагиос на базовом уровне.
Он парсит свой конфиг, находит там команду запуска какого-либо плагина и запускает. Например, php -f checkServer.php. checkServer.php выполняет какую-то свою работу по проверке сервера и отдаёт в ответ статусное сообщение и код завершения работы.
Нагиос понимает 4 кода завершения работы
Статусное сообщение это любая информация которая выводится скриптом на стандартный вывод.
И так сам скрипт простейшего плагина под nagios(на php).
вот и все — подключаем в нагиос и он будет проверять существует ли файл или нет. Конечно же Вы можете организовать любую проверку бизнес логики своего проекта, вплоть до автоматического тестирования через phpunit.
Для нагиоса есть очень много плагинов. Большое собрание плагинов находится по адресу nagiosplugins.org. Можно найти подходящий для себя, поставить и наслаждаться жизнью. Но что же делать если ни один плагин не устраивает вас по функционалу? Да ничего. Напишем свой. Это очень просто.
Итак начнем.
Первое что нам нужно знать для написания простейшего плагина это как работает нагиос на базовом уровне.
Он парсит свой конфиг, находит там команду запуска какого-либо плагина и запускает. Например, php -f checkServer.php. checkServer.php выполняет какую-то свою работу по проверке сервера и отдаёт в ответ статусное сообщение и код завершения работы.
Нагиос понимает 4 кода завершения работы
- 0 — Все ок.
- 1 — Предупреждение
- 2 — Критическая ошибка
- 3 — Что-то неизвестное случилось
Статусное сообщение это любая информация которая выводится скриптом на стандартный вывод.
И так сам скрипт простейшего плагина под nagios(на php).
define( "STATUS_OK", 0 );
define( "STATUS_WARNING", 1 );
define( "STATUS_CRITICAL", 2 );
define( "STATUS_UNKNOWN", 3 );
$checkFilePath = 'file';
if(file_exists($checkFilePath))
{
echo 'File exists. Everything is ok';
exit(STATUS_OK);
}
echo 'File does not exists';
exit(STATUS_CRITICAL);
вот и все — подключаем в нагиос и он будет проверять существует ли файл или нет. Конечно же Вы можете организовать любую проверку бизнес логики своего проекта, вплоть до автоматического тестирования через phpunit.
+13
Боремся с Cистемой всей толпой или эксперимент с crowdfunding в рунете
9 мин
1.2KПрелюдия
С чего начинается бизнес в России? С легализации — государственной регистрации юр. лица или индивидуального предпринимателя? Не совсем — если копнуть глубже — с поиска времени и средств на эту легализацию. Беготня в налоговую, банк, толкучка в очередях, для юр. лиц — поиск и снятие в аренду помещения (ну, или, как минимум, покупка формального договора аренды), внесение уставного капитала, изготовление печати, поиск бухгалтера, в частных случаях — покупка кассового аппарата, 1С и т. д… Как вариант — покупки готовой фирмы, но это в любом случае соответствующие траты и некоторая компетенция.
Без легализации вести предпринимательскую деятельность, в принципе, можно, но таких предпринимателей судят за каждую добытую копейку по всей строгости статьи 171 уголовного кодекса. Распространяете парфюмерно-косметическую продукцию (avon, oriflame и т.д.)? Вы уголовник. Собираете в лесу грибы-ягоды, продаете на обочине или скупщикам? Вы уголовник. Регулярно берете заказы с фриланс-бирж и получаете оплату за их исполнение? Вы тоже уголовник.
С чего начинается бизнес в России? С легализации — государственной регистрации юр. лица или индивидуального предпринимателя? Не совсем — если копнуть глубже — с поиска времени и средств на эту легализацию. Беготня в налоговую, банк, толкучка в очередях, для юр. лиц — поиск и снятие в аренду помещения (ну, или, как минимум, покупка формального договора аренды), внесение уставного капитала, изготовление печати, поиск бухгалтера, в частных случаях — покупка кассового аппарата, 1С и т. д… Как вариант — покупки готовой фирмы, но это в любом случае соответствующие траты и некоторая компетенция.
Без легализации вести предпринимательскую деятельность, в принципе, можно, но таких предпринимателей судят за каждую добытую копейку по всей строгости статьи 171 уголовного кодекса. Распространяете парфюмерно-косметическую продукцию (avon, oriflame и т.д.)? Вы уголовник. Собираете в лесу грибы-ягоды, продаете на обочине или скупщикам? Вы уголовник. Регулярно берете заказы с фриланс-бирж и получаете оплату за их исполнение? Вы тоже уголовник.
+64
Отправка SMS Через Jabber
2 мин
6.8KЗаголовок как никогда точно описывает то о чём пойдёт речь в посте :)
UPD. Цена вопроса 8 сингапурских центов за смс сообщение.
UPD. Цена вопроса будет падать!
UPD. Цена вопроса 8 сингапурских центов за смс сообщение.
UPD. Цена вопроса будет падать!
Что это такое и Как Начать?
- Этот сервис позволяет отправлять СМС с вашего Google Talk IM клиента, Gmail клиента или других Jabber клиентов, к примеру Gajim.
+20
Как вовремя узнать, что ваш сервер не работает?
3 мин
20KСлучается, что сайты перестают работать. Причины могут быть самые разные: в датацентре «упал» канал, сервер вырубился, кто-то что-то намудрил с базой или файлами на сервере, сисадмин неудачно обновил ПО или переносил аккаунты. Или кое-кто забыл оплатить хостинг.
В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
+56
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность