Доклад про оптимизацию методом роя частиц

Я люблю иногда ходить на разные программерские конференции и считаю, что полезно и самому иногда там выступать. В прошлом году в рамках встречи Московского клуба программистов я рассказывал про генетические алгоритмы, а недавно сделал доклад в продолжение этой темы и рассказал про оптимизацию с помощью роя частиц.

По этой ссылке вы можете увидеть мой доклад (а заодно скачать презентацию), а также посмотреть обсуждение темы ввода новичков в проект (onboarding).

Видео своего доклада оставлю еще и здесь.

Доклад про генетические алгоритмы

В Москве есть такое замечательное сообщество — Московский клуб программистов. Раз в две недели участники этого сообщества собираются (в последнее время площадку для таких митапов предоставляет компания Леруа Мерлен у себя в офисе на Шаболовке) и обсуждают какие-нибудь две темы. Обычно это происходит в виде доклада с последующими вопросами или в виде модерируемого обсуждения.

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

Новая статья «Отправка отложенных постов в ЖЖ»

В продолжение серии статей про работу с сервером ЖЖ написал статью Отправка отложенных постов в livejournal.com.

Алекс Макки. «Введение в .NET 4.0 и Visual Studio 2010 для профессионалов»

Макки. Введение в .NET 4.0В апреле Microsoft выпустил 4-ю версию .NET Framework. Полистав обзоры новых возможностей в интернете, решил, что пора переходить на эту новую версию (сейчас использую .NET 2.0), а для этого желательно что-нибудь поподробнее почитать про новый Framework. Неожиданно попалась книжка А. Макки «Введение в .NET 4.0 и Visual Studio 2010 для профессионалов», в которой как раз и описываются изменения, произошедшие в .NET 4.0. Вчера дочитал эту книжку и могу сказать, что она ужасна, но давайте все по порядку.

В принципе, в книге описывается все то, что я от нее ожидал — только изменения в .NET 4 без описания языка C#, а то попадалась одна книжка, где на обложке красуется C# 2010, но 90% содержание там — обучение языку C#. В этой книге все нормально, считается, что сам язык и основные библиотеки вы уже знаете на уровне .NET 3.5, и по сути автор предлагает развернутый changelog.

Начинается книга с обзора новых возможностей среды Visual Studio 2010, где автор пробегается но основным новым фичам. Такой беглый обзор раздражает, потому что представление об одной возможности еще не успевает сложиться, а автор уже переключается на другую. Правда, автор еще во введении предупреждает, что он не собирается описывать каждое нововведение очень уж подробно, а жаль, я, конечно, не ждал от него уровня Рихтера, но хотелось бы что-то похожее. Кстати, Рихтер уже написал новое издание книги CLR VIA C#, где описаны возможности .NET 4.0, когда она выйдет на русском языке неизвестно, но на английском ее уже можно скачать.

Читать далее ‘Алекс Макки. «Введение в .NET 4.0 и Visual Studio 2010 для профессионалов»’ »

Книга Агурова «C#. Разработка компонентов в MS Visual Studio 2005/2008»

coverКогда-то давно мне попалась англоязычная книжка по разработке компонентов для .NET под названием «.NET Windows forms custom controls» (думаю, что эту книгу можно найти без проблем в электронном виде, а еще она есть на google books). В тот момент, когда она вышла, только появился .NET 1.0, но она все-равно оказалась полезной. Спустя какое-то время, когда стал активно использовать .NET, я удивлялся, почему у нас не издают подобных книг (в переводе или своих авторов), вроде тема интересная, но в то же время в MSDN как-то все, что связано с созданием компонентов описано обрывочно, и найти там нужный класс, не зная его имени, не так просто.

И вот примерно месяц назад в книжном магазине случайно увидел книгу Павла Агурова «C#. Разработка компонентов в MS Visual Studio 2005/2008», которую на днях и дочитал.

В целом книга тоже оказалась полезной и иметь ее под рукой при создании собственных компонентов стоит. Несмотря на то, что на обложке книги упоминается Visual Studio 2008, про WPF ничего не написано, о чем автор честно признается на первых страницах, а все 400 с лишним страниц посвящены Windows Forms, что для меня даже лучше, потому что на WPF я так и не перешел, и пока переходить не хочется.

По структуре книга напоминает что-то вроде HOWTO или сборника рецептов. Каждая глава посвящена какой-нибудь одной теме (архитектура компонентов, дизайнеры, сервисы, конвертеры типов, сериализация и т.д.), а внутри каждой главы разные пункты описывают как сделать ту или иную вещь, например, например, как работать со Smart Tags, как добавить к компоненту новые маркеры и т.п. В каждом разделе есть пример разработки какого-нибудь простенького компонента.

С одной стороны такая структура — это то, чего не хватает в MSDN, и по ней можно быстро отыскать как делать ту или иную штуку, а с другой — хотелось бы поподробнее почитать про внутреннюю работу дизайнеров и других частей .NET, в том числе хотелось бы получше узнать описываемые классы, не заглядывая в MSDN. Поэтому недостаток такой структуры изложения в том, что после прочтения книги все-равно будет трудно понять что нужно делать, если появится задача, не описанная в книге. В уже упомянутой книге «.NET Windows forms custom controls» в одной из глав есть полный (надеюсь) список классов, интерфейсов и атрибутов, связанные с дизайнером, а в книге Агурова есть только список атрибутов.

В итоге все-равно книжка мне понравилась, читается она очень даже легко и может неплохо дополнить MSDN, или точнее MSDN может неплохо дополнить книгу, потому что начинать поиски нужного класса проще именно с этой книги. Ее содержание можно посмотреть, например, здесь.

EQATECProfiler. Бесплатный профайлер для .NET

EQATECProfiler. Бесплатный профайлер для .NET

На днях искал чем можно потестировать программу, написанную на C#, в плане узких мест по производительности, и с удивлением наткнулся на бесплатный профайлер с заковыристым названием EQATECProfiler. Этот профайлер отказался очень простым в использовании и поэтому очень удобным, чтобы определить на скорую руку в каком месте программа больше всего тормозит. Официальный сайт программы расположен здесь. Там же есть ссылка на страницу скачивания. Чтобы скачать программу надо оставить свой e-mail, на который пришлют ссылку на другую страницу, с которой можно будет скачать профайлер. На вопрос о том почему разработчики сделали EQATECProfiler бесплатным, на этой странице они отвечают, что хотят понять на сколько востребован такой продукт (именно поэтому они собирают статистику скачиваний), так что не факт, что программа останется бесплатной и в будущем. Я думаю, что лучше всего показать работу EQATECProfiler’а на каком-нибудь простом примере. Читать далее ‘EQATECProfiler. Бесплатный профайлер для .NET’ »

Крис Андерсон. Основы Windows Presentation Foundation

Не смотря на то, что я до сих пор пишу под .NET Framework 2.0 и перехода на более новые версии платформы пока не предвидится, давно поглядываю в сторону библиотеки Windows Presentation Foundation (WPF), которая до релиза называлась Avalon. Для ознакомления с новой библиотекой от MS я и приобрел когда-то книжку Криса Андерсона «Основы Windows Presentation Foundation«.

Книга является хорошим пособием для тех, кто только собрался изучать WPF или хотя бы пощупать что она из себя представляет. Те, кто уже имел дело с этой библиотекой, скорее всего смогут найти более продвинутую книгу. Эту книгу можно рассматривать как большой обзор возможностей библиотеки WPF, в котором нет подробных описаний отдельных классов и внутреннего устройства библиотеки, но зато подробно рассматриваются примеры использования, после которых становится понятно в какую сторону копать MSDN. Вся книга по сути состоит из одних примеров, причем одну и ту же программу автор часто пишет несколькими способами, постепенно изменяя исходный пример.

Читать далее ‘Крис Андерсон. Основы Windows Presentation Foundation’ »

Дотнетофобия

И все-таки у некоторых боязнь .NET Framework находится уже на уровне суеверий. Не могу не процитировать одно сообщение с форума про .NET Framework:

Хорошо, что используемый мной софт (требующий поддержки .НЕТ) мне нужен для разового (ну может несколько раз) запуска, поэтому я делаю бэкап реестра, деинсталятором мониторю файлы, ставлю .НЕТ и нужную мне софтину, а потом сношу к черту .НЕТ и откатываю архивные копии файлов реестра. Только так можно сохранить систему от гнетущего воздействия .НЕТ. ИМХО.

Похоже комрад забыл написать, что после процедуры деинсталяции нужно промыть контакты харда святой водой и перекрестить каждую планку оперативки, которой коснулись «гнетущие» байты .NET. А «ИМХО» можно заменить на «Аминь» 🙂