Oct 12

Въведение в Microsoft .NET

   Едно добро начало за всеки, който иска да се занимава с .NET:

Microsoft .NET

ASP.NET:

Oct 11

ISAPI Rewrite модул за IIS

   В Apache (web сървър) има един много полезен модул. Казва се mod_rewrite. С негова помощ можете да модифицирате хедърите на пристигащите HTTP заявки на базата на регулярни изрази и разнообразни други условия. Ето един малък пример:

[code]RewriteCond  %{HTTP_USER_AGENT}  msie.* [I]
RewriteRule  ^/$   /page.msie.html  [L]

RewriteCond  %{HTTP_USER_AGENT}  firefox.* [I]
RewriteRule  ^/$   /page.firefox.html  [L]
[/code]

Тези два реда се четат така: ако браузерът е MS Internet Explorer замести всички заявки за “/” към страницата “/page.msie.html”. А въпросният документ може да използва възможности, специфични само за IE. В случай, че отворите “/” от Firefox, то ще се изпълни само второто (първото правило RewriteCond е false) и ще се отвори страница, специфична за Firefox.

Continue reading

Oct 04

Smart Quotes в WordPress

   Съвсем без да исках се сблъсках със “Smart Quotes” в WordPress. Подобно на други текстови процесори WordPress променя двойните кавички и апострофите, което създава много проблеми при изписването на изходен код за скриптове, програми и т.н.

Какво е “Smart Quotes”?

Когато ограждате дума/изречение в апострофи или двойни кавички натискате бутона от клавиатурата <“>. Много текстови процесори “виждат” ограждането и преобразуват горното в отварящи и затварящи кавички/апострофи:

Continue reading

Oct 04

Какво е MaxConnectionsPerServer и MaxConnectionsPer1_0Server?

   Първо малко предистория в два примера:
Пример 1:
Искате да свалите няколко (големи) файла чрез Internet Explorer. Избирате първия линк, указвате пътя за съхранение. Правите същото и с втория линк. Но когато се опитате да повторите нещата с третия линк – прозорчето за SAVE не излиза, докато не се източи някой от предишните файлове;

Пример 2:
Представете си, че имате AJAX приложение. Неговата цел е едновременно да направи ping към пет определени IP адреси и динамично да покаже резултата в web страницата, без да я обновява по класическия начин. Към нашата представа добавяме и факта, че към три от IP адресите няма връзка, т.е. командата ping ще върне отговор “Request Timed Out”. При нормални обстоятелства и наличие на връзка ping.exe изпраща 4 пакета и получава 4 отговора за по-малко от 2 секунди. При липса на връзка обаче ping.exe се бави около 5 секунди. Зареждаме нашата страница с AJAX пингалката и наблюдаваме резултата: страницата се запълва с информация последователно, а под “едновременно” явно се разбира почти едновременно, защото част от резултатите излизат след като първите няколко ping-а са приключили. Най-интересното е, че ако докато чакаме изхода от ping-овете направим refresh (F5 или CTRL+F5) страницата тотално “забива” за не малко време.

Ефектът с увисването на страницата се наблюдава както при Internet Explorer, така и при Firefox, независимо дали WEB сървъра е IIS или Apache.

Continue reading