Pull to refresh
8
0

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

Send message

Основы архитектуры IIS, или запросопровод для ASP.NET

Reading time20 min
Views206K



В прошлом году мне пришлось отсобеседовать около 10-15 кандидатов на должность веб-программиста на ASP.NET средней квалификации. В качестве вопросов «на засыпку», или «со звёздочкой», я просил рассказать, что происходит с HTTP-запросом от момента его поступления на 80-й порт сервера до передачи управления коду aspx-страницы. Статистика была удручающей: ни один из кандидатов не смог выдать хоть что-нибудь внятное. И этому есть своё объяснение: ни в MSDN с technet, ни на специализированном ресурсе iis.net, ни в книгах a-la «ASP.NET для профессионалов», ни в блогах данной теме не уделяется должного внимания – информацию приходится собирать чуть ли не по крупицам. Я даже знаю людей, которые решили написать свой собственный веб-сервер (Игорь, Георгий, привет!), чтобы не разбираться в работе IIS. Единственная толковая статья – «Introduction to IIS Architectures» Риган Темплин (Reagan Templin). Но и она остаётся на периферии интересов аспнетчиков.

Хотя мне лично уже не так интересны чисто технические вопросы, я решил собрать в кучу свой накопленный опыт, раскопать на просторах Сети любопытные детали и передать сие сакральное знание массам, пока оно ещё не устарело. Сразу оговорюсь, что статья ориентирована в большей степени на IIS 7.x, иногда будут ответвления про 6-ку. С 8-й версией в работе не сталкивался, поэтому решил обойти её в этой статье стороной. Но, уверен, читатель без труда разберётся с восьмёркой, освоив изложенный ниже материал.
Познать...
Total votes 71: ↑59 and ↓12+47
Comments9

Облегчаем себе жизнь 2 (Postgresql + asp.net)

Reading time4 min
Views28K
Чуть более года назад, стояла задача написания web приложения работающая с БД Postgresql. К моему сожалению, стандартного адаптера для работы с БД PostgreSQL не было, а с тем, что был найден на просторах интернета ( бесплатный ) работать было не возможно.
В итоге было решено обойтись библиотекой Npgsql.
Как работать с этой библиотекой, есть документация и множество примеров в интернете. Сразу же после начала работы с ней, мне не понравилось, что нужно много писать однотипного кода. Для облегчения работы была создана дополнительная прослойка в виде отдельного класса, для работы с БД через данную библиотеку.

Особенности:
1. данные для подключения берутся с файла web.config
2. есть возможность для работы с несколькими подключениями. ( например если у проекта модульная система, и каждый модуль работает только со своей схемой )
Читать дальше →
Total votes 11: ↑5 and ↓6-1
Comments19

Apple App Store. Получаем ERN

Reading time4 min
Views28K
Перед загрузкой приложения на ревью в Apple App Store нам задают неожиданный вопрос, а не использует ли наше приложение криптографию?

image

И хотя соблазн ответить «нет» и загрузить наконец-то очень велик, и кто-то тихо шепчет, что ты мог и забыть про https или вообще не знать, как он работает, но совесть советует разобраться и в этом.
У меня много сил ушло, чтобы получить ERN(Encryption Registration approval from BIS), и я решил написать инструкцию.
Получаем ERN
Total votes 64: ↑63 and ↓1+62
Comments26

Pngquant — библиотека и утилита командной строки для сжатия png с потерями

Reading time1 min
Views11K
Вышла новая версия (2.0.1) утилиты.

Утилита позволяет преобразовывать png с 24 и 32 битами на пиксель в png с палитрой (8 бит).

Разработчики утверждают, что утилита в некоторых случаях позволяет уменьшить размер файла аж на 70% от исходного, сохраняя при этом альфа прозрачность (при этом утверждают, что прозрачность обрабатывается в IE6 лучше, чем у 24-битных png — не то, чтобы это всерьёз кого-то заботило...).

Особенности:

— создание новой палитры с использованием алгоритмов векторного квантования
— уникальный дизеринг, добавляющий к картинкам меньше шума, чем стандартный алгоритм Флойда-Стейнберга
— легко интегрируется со скриптам и gui (ну ещё бы, это же командная строка)
— есть ускоренный режим работы, для обработки большого кол-ва изображений

Давайте проверим. Под катом — картинки (сюрприз), i.e. — трафик.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments24

Простой и правильный учёт оборудования

Reading time4 min
Views104K
Пишу в догонку в статье Идентификаторы для инвентаризации ИТ оборудования это легко и просто.
Сначала писал комментарий, но оказалось что материала слишком много.
Начнём с резюме статьи:
1. Для управленческого учета вообще не имеют значения начинка компьютеров и характеристики периферии. Имеют значение только инвентарный номер, ФИО материально ответственного лица, местонахождение и, факультативно, заводской номер изделия.
2. Баркоды рулят. Все остальное — не рулит. Из баркодов рулит кодировка Code128.
3. Если что-то можно баркодировать, это нужно баркодировать.
4. Чтобы получить профессионально изготовленные этикетки, надо всего лишь купить этикетки. Софт покупать не надо.
5. Баркод-сканер ускоряет работу в тысячи раз. Даже самый дешевый.
6. При условии, что вы поддерживали инвентарную ведомость в актуальном состоянии, годовую инвентаризацию вы сможете провести практически с той скоростью, с которой вы в состоянии перемещаться по офису. Задиктовывать вслух инвентарные номера и забивать их в компьютер руками вам больше не придется.


Итак, считаю что автор вводит читателей Хабра в заблуждение:
Читать дальше →
Total votes 20: ↑6 and ↓14-8
Comments29

Идентификаторы для инвентаризации ИТ оборудования это легко и просто

Reading time10 min
Views187K
Доброго дня почтенной публике.

Немалая часть моей работы — инвентарный учет оборудования. Я занимаюсь этим уже много лет и во многих компаниях, занимаюсь достаточно успешно, поэтому могу поделиться тем, как нужно делать первые шаги к тому, чтобы этот мутный процесс не превращался в головную боль для человека, которому его поручили.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments94

Видео-курс по JavaScript на русском языке

Reading time1 min
Views218K
Здравствуй, Хабр!

Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Total votes 135: ↑127 and ↓8+119
Comments23

Подготовка видео для звукового дизайна. Какой кодек выбрать

Reading time3 min
Views6.9K
Материал статьи отражает личный опыт автора и не претендует на научную точность. Буду рад любым исправлениям и дополнениям. Для тех, кто не хочет читать дальше, правильный ответ на главный вопрос: MJPEG.

Вступление

Клиенты часто предпочитают архаичные способы передачи проектных материалов и случаи, когда 5-минутный фильм присылают вложением по почте, сжатым до 20 МБ, не являются редкостью. Материал для ознакомления становится материалом для работы, что влечёт за собой ряд неочевидных проблем, основные из которых — низкая детализация картинки (вызванная чрезмерным сжатием) и использование видео кодеков, которые не предназначены для аудиомонтажа.

Низкая детализация, пикселизация и общая размытость картинки затрудняют работу звукорежиссёра на самом начальном этапе, когда происходит оценка сюжета и визуальных элементов фильма, которые могут быть озвучены. Отсюда возникает такая проблема, как эстетическое несоответствие, когда, например, пластиковый (по замыслу) объект озвучивается как металлический или стеклянный.

Низкое качество картинки так же усложняет определение звукорежиссёром начала и завершения динамичных визуальных событий, что влечёт за собой их нечёткую синхронизацию с аудио. Но чаще всего, отставание или опережение звуком картинки связано с особенностями видео кодека, который использовался в процессе аудомонтажа, о чём и пойдёт речь ниже.
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments2

FireBug* Console API

Reading time12 min
Views28K

Введение


Firebug добавляет глобальную переменную с именем «console» к каждой веб-странице, загруженной в Firefox. Этот объект содержит много методов, которые возволят Вам писать на консоль Firebug и показывать информацию, проходящую через скрипты.
firebug.ru

К нашему счастью, не только firebug обладает данным функционалом:
  • Chrome Javascript console — практически точный аналог
  • Opera Dragonfly console — функционал реализован частично
  • Firefox Web console — функционал реализован частично

Эта статья — мануал по Console API.
Примеры даны из chromeChrome 28.0.1500.72 m, firebugFirebug 1.11.3, firefoxFirefox 22.0, operaOpera 12.15 (версия до ухода с presto)
Читать дальше →
Total votes 63: ↑63 and ↓0+63
Comments23

Создаем Shazam на Java

Reading time6 min
Views42K


Пару недель назад, я наткнулся на эту статью How Shazam Works
Мне стало интересно, как же работают такие программы как Shazam… Что еще более важно, насколько тяжело написать что-либо похожее в Java?

О Shazam

Если кто-то не знает, Shazam это приложение с помощью которого вы можете анализировать/подбирать музыку. Установив ее на свой телефон, и поднеся микрофон к какому-либо источнику музыки на 20-30 секунд, приложение определит, что это за песня.

При первом использовании у меня возникло волшебное чувство. «Как оно это сделало!?» И даже сегодня, когда я уже пользовался им много раз, это чувство меня не покидает.
Разве не будет классно, если бы мы смогли написать что-то сами, что вызывало бы такие же чувства? Это и было моей целью в прошлый уикенд.
Читать дальше →
Total votes 92: ↑80 and ↓12+68
Comments23

N+1 полезная книга для бизнеса: часть 3

Reading time6 min
Views97K


Привет!
Прошлые два обзора полезных книг за 2010 и 2011 год собрали просто адовое количество закладок, поэтому я продолжу. Прошел ещё год, ещё около 250 прочитанных книг – и вот самые интересные под катом.

Кто сказал, что слоны не умеют танцевать? Возрождение корпорации IBM: взгляд изнутри (Герстнер Луис)


Отличная книга про то, как удалось восстановить IBM. То, что со стороны выглядело как бессистемное перемещение активов и последовательность приказов без особого смысла, через несколько лет начало складываться в единую систему.

Догнать зайца (Стивен Спир)


Отличная книга про дебаг производственных процессов. Одна из основных вещей – то, что все серьёзные проблемы возникают из-за сочетания некритичных багов. Есть примеры из американской ядерной программы, NASA и т.п. Я предлагаю прямо сейчас пойти и прочитать описание железнодорожного крушения на Каменской: один не отчитался, второй не проверил тормоза, третий зажал тангенту, четвёртый сорвал стоп-кран. Результат — катастрофа.
Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments43

WebMarkupMin HTML Minifier – современный HTML-минимизатор для платформы .NET

Reading time21 min
Views14K

Логотип WebMarkupMin


В начале 2012 года я работал над серией статей о клиентской оптимизации в ASP.NET MVC для журнала MSDeveloper.RU. Всего было опубликовано 2 статьи: «Сжатие JS- и CSS-файлов» и «Менеджеры ресурсов», но в моих планах было написать еще 2 статьи: одну про оптимизацию графики, а вторую про минимизацию HTML-разметки и GZIP/Deflate-сжатие (далее просто HTTP-сжатие). К сожалению, эти планы не удалось воплотить в жизнь из-за нехватки свободного времени (в тот момент, я запускал проект Bundle Transformer) и последовавшего закрытия журнала.


Но недавно я решил вернуться к теме оптимизации HTML-разметки. После небольшого исследования я понял, что под .NET практически не существует полноценных HTML-минимизаторов. Все существующие .NET-решения производят лишь 2 операции: удаление ненужных пробельных символов и удаление HTML-комментариев, из-за чего они очень сильно проигрывают решениям с других платформ. Поэтому я решил написать собственный HTML-минимизатор для .NET, о котором и пойдет речь в данной статье.


Эволюция HTML-минимизаторов


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


Вопреки расхожему мнению, техники минимизации HTML-кода появились намного раньше, чем аналогичные техники для JavaScript. Уже в конце 1998 года Артемий Лебедев в 17-м параграфе ководства «Паранойя оптимизатора» описывал некоторые техники минимизации HTML-кода.


Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments0

Познавательная анатомия языков в iTunes

Reading time3 min
Views7.8K
привет Хабр,

Те, кто сталкивался с локализацией ios приложений на разные языки, не могли не обратить внимание на все пышное разнообразие языковых настроек в Itunes Store и в Itunes Connect. Их настолько много, что сходу не поймешь, где, что и на каком языке будет отображаться. Этим постом я попытаюсь провести интересующихся неискушенных через языковые измерения не всегда понятного и удобного Itunes хозяйства и, следовательно, уберечь от переживаний (от легкого изумления а ля «Воно оно как...» до тяжелого ступора вроде «да какого хрена ?! „), ну и, возможно, от ошибок. А бывалые, думаю, найдут для себя некоторые новые моменты.

Если в мобильном сторе с языком все еще даже ничего, то когда дело доходит до продвижения в вебе- Itunes и itunes preview являют иногда языковые сюрпризы. Имеем 5 измерений:



#1 на первой картинке это: Название, описание и скриншоты


Немного кэпа: Их можно настроить под каждый язык в Itunes Connect при сабмите приложения в аппстор И они никак не связаны с языками, на которые вы перевели интерфейс приложения. Более того, не стоит спешить делать скриншоты с бенгальской или фарси версии вашего приложения (в принципе с фарси я загнул… просто даже украинской ), ибо список языков, на который можно локализовать эти три параметра, весьма ограничен, хоть и покрывают бОльшую часть Землян:

Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments14

Методы решения судоку

Reading time5 min
Views674K

1. Основы


Большинство из нас, хабражителей, знает, что такое судоку. Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.
Читать дальше →
Total votes 81: ↑70 and ↓11+59
Comments63

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views147K


В этой статье собраны полезные  и «правильные» стили и сниппеты, которые помогут ускорить процесс разработки сайта, а также оптимизировать верстку.
Читать дальше →
Total votes 163: ↑118 and ↓45+73
Comments54

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.7M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно
Total votes 682: ↑667 and ↓15+652
Comments360

Хочешь быть iOS разработчиком? Будь им!

Reading time2 min
Views388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Total votes 234: ↑222 and ↓12+210
Comments38

Как сделать промо-ролик игры малыми силами

Reading time4 min
Views14K


В статье «Игра за 2 дня» я на примере проекта Папа Пингвин рассказал о том, как сделать игру для iOS, используя Unity, за двое суток.

В продолжение этой темы — статья о том, каким образом можно малыми силами сделать небольшой мультфильм в поддержку игры. Текст статьи подготовил Алексей Лунин (type_2), наш художественный директор. Данная статья может пригодится маленьким студиям-разработчикам и просто энтузиастам, делающим небольшие игрушки для мобильных (и не только) платформ.

Если вы не хотите повторять тех же ошибок, что сделали мы, читайте дальше.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments31

Неделя удивительных подарков. Отличные ресурсы с нужной лицензией

Reading time3 min
Views13K
Привет, хочу сказать, что мне очень нравится делать подборки для хабры. Много положительных отзывов, много комментариев, а значит моя работа полезная и я ее делаю не зря. Поэтому сегодня я хочу представить вам собрание различных ресурсов, на которых любой дизайнер сможет найти много полезного и интересного. Кому интересно, прошу под кат.
Читать дальше →
Total votes 142: ↑131 and ↓11+120
Comments23

10 шагов до top paid 25 overall в App Store

Reading time5 min
Views5.3K
Привет, хабровчане! Недавно мы выпустили игру Gemibears для айфона и айпада (специально никаких ссылок на игру, пост не про саморекламу) и за несколько дней добрались до топ-25 в платном чарте по Америке.

Это было непросто, но интересно, и мы многому научились. Я хочу поделиться с вами шагами, которые привели нас к такому результату.
Читать дальше →
Total votes 72: ↑60 and ↓12+48
Comments55

Information

Rating
Does not participate
Registered
Activity