e0ne's comments

ASP.NET, сэссия и рестарт приложения

Published at June 9, 2009 ·  3 min read

Всё началось с того, что в спецификации к проекту написали примерно такое: “Время продолжительности сэссии пользователя на сайте должно составлять 120 минут”. После чего, в web.config была добавлена следующая строка: 

<p>
<em><sessionState mode="InProc" cookieless="false" timeout="120" /> 
</em>
</p>

А на страницу был добавлен такой мета-тег:

<p>
<strong><meta http-equiv="Refresh" content="7200; URL=/EzRc/Pages/LogOn/SessionExpired.aspx" /> 
</strong>
</p>

Следует упомянуть конфигурацию тестовых серверов: Windows Vista/2008, IIS7, .NET 3.5. Ничто не предвещало беды. Но, как и полагается, в один “прекрасный” день всеми людимые QA написали баг следующего содержания: “Session expiration occurs prior to 30 min (and as little as 10 min).” При этом повторить его было достаточно просто:

...

Встречаем новый язык программирования от Microsoft - Axum

Published at May 24, 2009 ·  4 min read

Не успели мы ещё познакомитя с F# и новыми возможнастями .NET 4.0, как Microsoft представила новый язык программирования Axum (на самом деле Axum был представлен ещё до выпуска первой бета-версии .NET 4.0). Раньше он имел коддовое название Maestro.

Что же представляет собой Axum? Это язык для паралельной разработки (parallel model language), который позволяетлегко создавать легкомасштабируемые, распределённые и многопоточные приложения. Лично мне синтаксис этого языка напомнил Erlang, которые имеет изменённый синтаксис и является полностью .net-совместимым языком программирования. Текущяя версия - CTP. В данный момент не известно о дальнейшей судьбе и планах о релизе.

...

Pirates: to be or not to be.

Published at April 23, 2009 ·  2 min read

Навеяно судовым процессом над The Pirate Bay.

Сейчас всё чаще от правообладателей звучат угрозы в сторону торрент трекеров в частности и пиратов в общем. Их позиция понятна: они теряют прибыль. Пользователям, с одной стороны - хорошо, надо тратить меньше денег, с другой - они получают менее качественный продукт, но на это многим наплевать многих это не беспокоит. А вот моё субъективное мнение.

...

Visual Studio 2008: проблемы с генерацией .designer.cs для Web Application

Published at April 16, 2009 ·  1 min read

Вчера столкнулся с интересным моментом при генерации *.designer.cs-файлов. Сначала подумал что это баг, но после недолгих размышлений пришел к выводу, что это не баг, а фича (“багофича” (с)). 

Всё началось с того, что на одной из страниц сайта нужно было создать некоторую функциональность, которая уже была доступна дадругой странице. Сразу же было решено поместить эу функциональность в UserControl.После достаточно стандартных действий, copy&pase нужной разметки из страницы в только что созданный контрол, уже собирался писать в нём логину, но… Но студия ругалась на любое упоминание о вебконтроле, расположенном в mycontrol.ascx. “Странно” - подумал я и посмотрел содеримое файла mycontrol.ascx.designer.cs. В нём оказалось пусто. Тут же вспомнились похожие баги Visual Studio 2005 без установки на неё Service Pack 1 и было принято решение (как озакалось потом - ошибочное) руками дописать нужный код. Дописал. Сайт скомпилировался и даже попытался запуститься, но run-time ошибка не дала ему нормально функционировать.

...

Offtopic: Архивы, архиваторы, Windows

Published at April 13, 2009 ·  1 min read

На работе возникла необходимость отправить архив с …, с чем-то очень важным. По привычке, быстро сделал rar-архив, прикрепил его к письму и уже собирался нажать кнопку Send, но вовремя остановился. Вспомнил что в одном из писем мне присылали файлы, запакованы в zip-архив. Быстро переархивировал нужные файлы отправил письмо и задумался о Windows, Microsoft и архивах.

Вчера скачивал Internet Explorer Application Compatibility VPC Image. И там некоторые образы запакованы в rar-архив. Замечу, что это не первый случай, когда на сайте Microsoft лежат rar-архивы. Обратил я на это внимание потому, что сама ОС Windows “из коробки” может работать только с zip-архивами. И как это безобразие понимать? Microsoft рекламирует WinRar? Субъективно, было бы логичнее сжимать всё в zip, чтобы разработчики не искали нужное ПО, чтобы разархивировать нужные архивы. Или предполагается, что после покупки и установки OS Windows её пользователю необходимо ещё скачать/купить/установить n-е количество софта? Странно всё это…

...

ASP.NET Ajax. Часть 1: что внутри?

Published at April 2, 2009 ·  2 min read

На днях столкнулся такой ситуацией, что многие некоторые разработчики при упоминании Ajax имеют в виду компонент UpdatePanel и не понимают как она работает. Сегодня я решил попытаться исправить эту ситуацию и рассказать что такое и как устроен ASP.NET Ajax.

 Для начала обратимся Википедии и посмотрим, что такое Ajax:

<p>
AJAX (Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
</p>

Для выполнения асинхронных запросов, на JavaSctipt необходимо создать объект XMLHttpRequest, который и будет взаимодействовать с сервером. В зависимости от браузера, объект создаётся разными способами, но можно написать универсальный метод для его создания:

...

Пути использования Open Source

Published at March 27, 2009 ·  3 min read

  На мысль натолкнуло исправление очередного бага в Ajax Control Toolkit.

 

Часто мы в проектах, чтобы не изобретать велосипед, используем уже готовые инструменты. Иногда это open source приложения/библиотеки. И что делать, если нам не хватает функциональности этих библиотек или надо срочно исправить какуе-то ошибку? Первая же мысль - это взять исходники, подправить/дописать, после чего скомпилировать и радоваться жизни. Но радоваться будем недолго, до выхода новой версии этой замечательной библиотеке, в которой есть необходимые изменения. Приходится качать исходники, опять вносить туда свои изменение, компилировать и т.д. В процессе этого пишуться письма авторам библиотеке, создаются новые запись в ихнем багтрекере, но необходимых изменений в очередной версии мы так и не получаем.

...

Dynamic Language Runtime: динамические языки в .NET

Published at March 21, 2009 ·  1 min read

Dynamic Language Runtime (DLR) - позволяет создавать свои динамические языки на платформе .NET. Сейчас самыми популярными из них являются IronPython и IronRuby. Также на просторах CodePlex существует IronLisp и другие динамические языки. Последняя версия DLR имеет номер 0.9 и была выпущена 10 декабря 2008 года.

Кроме того, что DLR позволяет создавать динамические языки, она также позволяет добавлять динамические элементы в уже сеществующие языки: C# 4.0 уже использует DLR - смотрите в сторону IDynamicObject.  Если я правильно понял документ DLR Overview, то DLR 1.0 будет частью Common Language Runtime (CLR), выход которой уже не за горами.

...

Tags

.net .net framework .net framework 3.5 agile ajax ajax control toolkit ampq ansible apache asp.net asp.net mvc automation axum babel bash benchmark blog blog engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code review codeplex community config debugger deface dependencies development environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google app engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron python ironic iscsi java script javascript jenkins jquery js jsx k8s kharkivpy kiss kombu kubernetes kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac os macos mercurial microsoft microsoft sync framework mobile mono ms office msbuild networking news nginx npm npx offtopic oop open source open xml opensource openstack openvswitch os p'n'p packages paraller development patterns & practices performance php pika pip plugins podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python 3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search engine security selenium server shell silverlight socket software engineering source control sourcegear vault sources sql sql server sql server express sqlalchemy ssh static site sublimetext svg tests tgt tipfy todo tornado typescript uapycon ui uneta unit tests upgrades usability vim virtualenv visual studio vitrage vm vue.js vuejs web development web server web service web_root webpack webroot windows windows live word press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


Archives

2022 (3)
2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (36)
2010 (25)
2009 (35)
2008 (32)
2007 (2)