Archive 2009

Программирование на .NET: С чего начать?

Published at December 16, 2009 ·  2 min read

Случилось так, что на работе попросили составить список из того, что нужно почитать/скачать/установить студентам, которые хотят писать на всеми любимом языке программирования C#. Решили, что раз они (студенты) этим интересуются, то вопрос “а оно нам(им) надо пропускаем. Для начала начала необходимо установить сам .NET framework и какуе-то IDE. C IDE вариантов не много: или бесплатные express версии (http://www.microsoft.com/exPress/), или trial полнофункциональной Visual Studio (http://www.microsoft.com/visualstudio/en-us/default.mspx). Что дальше делать с триальной версией - каждый решает сам, но для студентов полно всяких програм, где можно получить всё это бессплатно и, главное, легально....


[Offtopic] Установка PostgreSQL на MacOS X или ностальгия по MS DOS

Published at December 10, 2009 ·  1 min read

Первая попытка установить PostgreSQL на MacOS X потерпела крах. Пошел читать readme:  Вспомнились танцы с бубном в MS Dos, чтоб тот увидел больше 640К оперативной памяти, работа с extension memory (привет Паскалю). А чего стоит знаменитая фраза одного известного всем человека, о том, что нам таки хватит 640К ОЗУ. А ностальгия скорее не о ДОСе, а о том, как раньше писал код (некоторые и сейчас так пишут): оптимизировали память так, чтоб лишнего байта не занимало....


jQuery 1.4 Alfa 1

Published at December 7, 2009 ·  1 min read

Несколько дней назад вышла новая версия популярного JavaScript framework’а jQuery, пока только альфа, которую сами разработчики не рекомендуют использовать в production. Официальная информация на блоге http://blog.jquery.com/2009/12/04/jquery-14-alpha-1-released, а я расскажу о своих первых впечатлениях по сравнению с последней стабильной версией 1.3.2. Для начала сравним размеры файлов: Видем что размер вырос, примерно, на 30 килобайт. Много это или мало - судите сами. Пока в целях тестирования подключил библиотеку к двум проектам, где jQuery спользуется не так активно, но, в моём случае, вся функциональнось работает как и работала, ничего не поламалось, плагины успешно работают....


Прошло два года...

Published at December 4, 2009 ·  1 min read

В прошлом месяце болгу исполнилось 2 года. За это время поменялось 3 хостинга, 2 движка блога (после переезда с blogspot.com был выбран BlogEngine.NET). Сейчас свотрю всё больше в сторону WordPress, который написан на нелюбимом мной PHP, но не такой сырой, как движки на .NET или Python. Или прийдётся таки дописывать самостоятельно нужную функциональность к BlogEngine, но на это нужно время. Также изменился вид RSS-ленты: теперь в ней виден весь пост....


ASPNET: Script Service

Published at December 3, 2009 ·  1 min read

Почему-то, всегда забываю синтаксис вызова script service/method. Руки так и тянуться написать: И каждый раз, после написания такого когда приходится лезть в MSDN/Google чтобы понять почему же оно не работает. После прочтения документации становится понятно “как” нужно писать вызов метода, но вопрос “почему” ответ, как правило, находится не сразу. Чтобы понять почему же всё работает именно так, достаточно посмотреть JavaScript код, который генерируется службой. Посмотреть это можно зайдя по адресу http://localhost:65456/AsmxService....


Запуск 32-х битных веб сайтов на Windows Server 2008 x64

Published at November 17, 2009 ·  1 min read

Всё началось с того, что на один из тестовых серверов поставили 64-х битную ОС. Особых проблем это не вызвало, за исключением того, что обна из сборок использует COM -объекты и появилась необходимость её сборки для платформы x86. Вот сдесь уже начали появляться первые подводные камни. Первым делом я в свойствах проекта поменял свойство Platform Target (посже оказалось что это нужно сделать для всех проектов в solution):  PlatrormTestWeb.zip (10.01 kb)...


Байты, строки и кодировки

Published at October 16, 2009 ·  1 min read

byte[] byteArray = GetBytes();<br /> var retval = Encoding.ASCII.GetString(byteArray);  И что самое страшное в этом, так это то, что если байты представляют собой символы латинского алфавита, то, в большинстве случаев, всё будет замечательно работать. А когда работать оно перестаёт в содержимое строки примерно такое:   "\u0000"\u0000a\u0000"\u0000:\u00002\u00000...."   Тогда все начинают громко ругаться и рвать на себе волосы со словами: “Ну ведь работало же!...



Программания 2009

Published at October 9, 2009 ·  1 min read

Завтра состоится очередной конкурс Программания. Другой формат. Не понятно зачем его таки делать. IMHO, лучше б уже не было. Заявку подал, но участие под вопросом. P.S. Верните нам IT-Contest! P.S.S. Получился не пост в блог, а сообщение для твиттера. ...


ASP.NET + Mono + Apache

Published at September 22, 2009 ·  2 min read

Всё больше и больше можлно услышать о Mono. Как изестно, основное его идеей является реализация действительно кроссплатформенной среды .NET. Таким образом, чеще всего Mono испльзуют в операционной системе, отличной от MS Windows. А если не Windows, то Linux или какой-то из Unix. И всё было бы хорошо, если б не 2 момента (в данном случае я не акцентрирую внимание на степень готовности реализации Mono: аналог WinForms и замена Internet Information Services (IIS)....


Patterns & Practices Roadshow

Published at September 17, 2009 ·  3 min read

Началось всё со вступительного слова представителя компании Microsoft Ukraine. Хотя, на самом деле всё началось с регистрации, где нам вдали пакеты с анкетой, ручкой и каким-то учебником для ВУЗов на украинском языке и кофе.  Вторым на сцену вышел Don Smith, которого встретили бурными авациями в том числе и из-за его Mac Book Pro, на котором оказалась установленная Windows 7. Тут доклады немного пеменялись местами и мы услышали доклад “Руководство по архитектуре приложений: карта вашего путешествия”, который должен был быть после обеда....



А вы говорите индусский код...

Published at August 31, 2009 ·  1 min read

internal class LinqConnection: BaseDatabaseConnection{ /// /// Should never be called/// internal LinqConnection(){throw new Exception();}… }  Написали программисты из США. И это ещё далеко не самый плохой кусок кода в проекте…....


Blog was hacked: vol.2 или разбор полётов

Published at August 17, 2009 ·  1 min read

В то время, пока я не мог найти время разобраться что же случилось с моим блогом, это случилось снова! 2 раза за два дня - это слишком.   **2009-08-16 17:39:33 81.215.238.234 - W3SVC119 WINHOSTING2 194.54.88.53 80 PUT /index.html - 201 0 330 347 16 HTTP/1.0 Microsoft+Data+Access+Internet+Publishing+Provider+DAV+1.1 - -**  ...


Это случилось: Blog was hacked!

Published at August 7, 2009 ·  1 min read

Да, это всё-таки случилось. Товарищ по имени ZoRRoKiN хакнул мой блог. Произошло это, судя по всему, из-за моей глупости: лёгкий пароль на админку + старая и бажная версия движка BlogEngine.NET. А случилось вот что: На хочтинг были залиты файлы: - default.html, zorrokin.htm, index.html с следующим содержанием: ZoRRoKiN  - ownz.htm с текстом:Command Tribulation Ownz your b0x ...


Project dependences и project references: делаем это правильно

Published at July 23, 2009 ·  1 min read

Раньше всегда это делал настолько автоматически, что даже и не задумывался что это млжно делать по-другому. Но когда столкнулся с такой проблемой в текущем проекте - решил написать.  Рассмотрим такую ситуацию: у нас есть главная сборка (Main), сборка с утилитными классами (Utils) и 3-rd party логгер (Logger):  1. Добавляем в наш solution нужные нам проекты. 1. Добавляем ссылки на проекты. ReferencesSample.zip (76.14 kb)...


SourceGear Vault и ошибка при коммите

Published at July 21, 2009 ·  1 min read

На проекте приходится использовать SourceGear Vault - source control система, которая очень похожа на VSS. Сегодня наткнулся на очередной глюк:  ...


Интересная особенность Enum

Published at July 17, 2009 ·  2 min read

Те, кто знает на память книгу Дж.Рихтера C# via .NET, в этом врядли найдут для себя что-то новое/интересное.    Всё началось с того, что было у меня два похожих enum’ов (к примеру Numbers и BigNumbers) и нужно было как-то переменные первого типа приводить к другом, и наоборот.  ** enum Numbers** ** {** ** One,** ** Two,** ** Three**...


JavaScript: удаляем элементы из массива

Published at July 3, 2009 ·  2 min read

Решая на первый взгляд простую задачу я столкнулся с некоторыми поблемами. Задача состоит в том, чтобы из массива удалить один из его элементов. Оказалось, что стандартными средствами JavaScript этого не сделать. Итак, у нас есть исходный массив: <p> <em>var arr = new Array();<br /> arr.push('q');<br /> arr.push('w');<br /> arr.push('a');<br /> arr.push('e');<br /> arr.push('r');<br /> arr.push('t');<br /> arr.push('z');<br /> arr.push('y'); </em> </p>  Задача состоит в том, чтобы удалить из него элементы со значениями “a” и “z”....


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. Ничто не предвещало беды....


Встречаем новый язык программирования от 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, которые имеет изменённый синтаксис и является полностью ....



Pirates: to be or not to be.

Published at April 23, 2009 ·  2 min read

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


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

Published at April 16, 2009 ·  1 min read

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


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

Published at April 13, 2009 ·  1 min read

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



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») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером....


Пути использования 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....


Делаем Build правильно

Published at March 20, 2009 ·  2 min read

Осталось реализовать ещё несколько методов… Сейчас допишу последнюю строчку… Проект пока что не компилируется… Ура! Вот эта заветная строчка в окне Output Visual Studio: ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========    Теперь предстоит запустить проект. Но все не так просто. Часто для проектов, которые больше чем знаменитый “Неllo World!” и который пишет команда из нескольких человек, необходимы какие-то условия для запуска:...


Первый взгляд на Microsoft Sync Framework

Published at March 19, 2009 ·  2 min read

Пока все делятся впечатлениями от новинок, представленными на MIX09, я решил написать о Microsoft Sync Framework. Исходя из того, что сказано на их сайте, можно синхронизировать всё. Microsoft Sync Framework – a comprehensive synchronization platform enabling collaboration and offline for applications, services and devices with support for any data type, any data store, any transfer protocol, and network topology. Для чего это может пригодиться? Например, у нас есть клиент-серверное приложение, которое работает со списком товаров в магазине....


It Works!

Published at March 18, 2009 ·  1 min read

После значитального перерыва блог снова возобновил свою работу. Теперь, наконец-то он расположен на нормальном хостинге. До этого он находился на моём домашнем сервере и временами не работал (выключили свет, завис комп, забыл заплатить за инет), но после смены провайдера пришлось расстаться с выделенными IP-адресом, а платить за свой домен на сервисах, предоставляющих dynamic dns не хочется, пришлось задомуться о покупке хостинга. Банально, но решающим фактором оказалась цена. Выбор пал на наш украинский hosting....


Подключаем базу от SQL Server Express к SQL Server Developer Edition

Published at February 6, 2009 ·  1 min read

SQL Server Express хоть и бесплатен, но обладает некоторыми недостатками. Мне кажется для разработчика один из главных - это то, что он не соответствеут боевым условиям. Ведь мало кто использует Express версию в production. Поэтому разработчики часто ставят SQL Server Developer Edition (опустим вопрос о лицензировании). Вот только тут появляются новые проблемы: скачал новый starter kit, а он в качестве СУБД использует SQL Server Expres. Не ставить же его из-за этого?...


Python 3.0 и Django

Published at January 22, 2009 ·  2 min read

Новое - не всегда означает хорошее. Я когда-то уже писал про IT-гонки глазами программиста. Основная идея поста - не стоит спешить переходить на новее, если в этом нет крайней необходимости. Вот и после очередного релиза Python, правильнее сказать после выхода новой версии языка Python 3.0 захотелось сразу опробоватьвсе гого “вкустности”. Вот только новая версия не полностью совместима с веткой 2.х. Поэтому возникает вопрос на какой версии начинать новые проекты? Популярный web frameworkDjango все ещё не пожжерживает Python версии 3....


Новый релиз Mono 2.2

Published at January 21, 2009 ·  1 min read

Делюсь моими впечатлениями от знакомства с Mono. На прошлой неделе вышел очередной релиз Mono - open source реализации .Net framework, разрабатываемый при поддержке компаний Novell и Microsoft. Подробно но нововведения можно почитать на странице проекта http://www.mono-project.com/Release_Notes_Mono_2.2. Радует, что Mono в последних версиях поддерживает C# 3.0. Также есть Moonlight 1.0 - аналог Silverlight 2.0. Для миграции существующих проектов есть утилита Mono Migration Analyzer, которая позволяет узнать будет ли работать существующий код под Mono....


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 packages paraller-development patterns-practices performance php pika pip plugins pnp 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)