Архив за Ноябрь, 2009

30
Ноя

system.addin vs. generics

   Автор: Aen Sidhe    in программирование

По какой-то малопонятной мне причине адаптеры нельзя наследовать от генерик-типов. Сволочи.

Метки:программирование
30
Ноя

Сказочка на ночь

   Автор: Aen Sidhe    in дневник

Потырено у [info]adontz

Метки:видео, дневник
30
Ноя

Власти скрывают™

   Автор: Aen Sidhe    in дневник

Итак, всем известно, что власти скрывают ™. На днях был в Липецке. Туда заезжал автобусом из Воронежа, оттуда уезжал поездом на Москву. Наслушался много разного.

  1. В Липецке эпидемия лёгочной чумы.
  2. А также эпидемия брюшного тифа.
  3. А ещё разрыли могильник с коровами, сдохшими от фиг знает чего и поэтому пункт 1 и 2.
  4. Хотя нет, это всё происки США: в Липецке жахнули биологическим оружием.
  5. Тысячи умерших от пунктов 1-4.
  6. В связи с пунктами 1-5 – на границах Липецкой области стоят санитарные кордоны и никого не впускают и никого не выпускают.
  7. Город окружён сплошным кольцом войск РХБЗ (радиохимбиозащита, кто не в курсе).
  8. В Саратове уже зарядили пару стратегических бомбардировщиков на случай прорыва кордонов или проявления аццких симптомов у людей, ну дабы решить все проблемы кардинально.

И это всё на фоне 28 погибших от осложнений после гриппа с 1го сентября. Я считаю, что подобных пеарщиков искать надо у фармацевтов. Маски подскочили с 2 до 25 рублей, арбидол и прочая херота – в 2-3 раза. А если найдут – надо судить и сажать, ибо разводить панику у населения – нельзя.

UPD: по наводке [info]strelnikov-m добавил ещё.

Метки:дневник, маразм
28
Ноя

allods online

   Автор: Aen Sidhe    in дневник

Это гениально я считаю. Брать деньги за бету :)

Метки:mmorpg, дневник
28
Ноя

Нож

   Автор: Aen Sidhe    in дневник

Вру, под катом, конечно же не нож, а устройство для выполнения спасательных работ. Под катом фото и заключение от МВД. Думаю, не купить ли на НГ себе?

Прочитать запись полностью »

Метки:дневник, нож, хотелка
27
Ноя

story

   Автор: Aen Sidhe    in дневник

Небольшой рассказик. От Шапиро Максима Анатольевича.

«Уважение культурных традиций»

Прочитать запись полностью »

Метки:дневник
26
Ноя

хаус

   Автор: Aen Sidhe    in дневник

Вы знаете, какая разница между её IQ и моим? 91 единица. Если сравнивать, она ближе к гиббону, чем ко мне. Заниматься с ней сексом… равносильно скотоложеству.

Какие проблемы у мужиков с IQ 178 :D

Метки:House M.D., дневник, цитатное, юмор

Грабли, как мне кажется, есть везде. В своё время, ни одна библиотека не прошла мимо меня в проект, кроме, пожалуй, Infragistics, без доработки. Поговорим о граблях в System.AddIn.

Для начала порекомендую прочитать статью в блоге Джейсона Хи (Jason He), которая называется «Coding patterns to avoid in addin pipeline development». Да и вообще, его блог почитать надо, он поподробнее Walkthrough в MSDN.

Итак, первая грабля, на которую я наступил: дефолтные домены работают без ShadowCopy, как следствие, заменить сборки на горячем сервере мы не можем. Ок, нам особо и не надо, сделаем домен сами:

[cc lang="csharp"]
AddInStore.Update(pipelineRootFolderPath);

Collection tokens = AddInStore.FindAddIns(typeof(IView), pipelineRootFolderPath);

AddInToken calcToken = tokens[0];

AppDomain domain = AppDomain.CreateDomain(string.Format(«Test {0}», DateTime.Now), null, new AppDomainSetup { ShadowCopyFiles = «true» });

return calcToken.Activate(domain);
[/cc]

Затем мы работаем, всё ок. Для выгрузки аддона используем такой код: [cci lang="csharp"]AddInController.GetAddInController(calc).Shutdown()[/cci]. По идее всё хорошо, но есть одно но. Из-за того, что мы домен создали вручную, то автоматически инфраструктура System.AddIn его не выгрузит. Да, это может быть логично, но об этом нигде не написано.

Код ниже логичен, но будет падать, несмотря на то, что ссылка на домен у контроллера есть, и она живая. Просто разработчики посчитали, что раз AddIn отключен, то домен нам уже не нужен. Вообще, реализация AddInController’a с [cci lang="csharp"]lock(this)[/cci] и прочим меня ни разу не порадовала.

[cc lang="csharp"]
AddInController c = AddInController.GetAddInController(calc);
c.Shutdown();
AppDomain.Unload(c.AppDomain);
[/cc]

Правильный код вот такой:

[cc lang="csharp"]
AddInController c = AddInController.GetAddInController(calc);
AppDomain d = c.AppDomain;
c.Shutdown();
AppDomain.Unload(d);
[/cc]

Метки:дневник, программирование, рабочее
24
Ноя

podcasts

   Автор: Aen Sidhe    in дневник

Подборка подкастов по .Net жжёт не по детски. Обновляют рсс редко, раз в полгода, зато сразу на 50 кастов от 10 минут до часа.

Метки:дневник
23
Ноя

butthurt

   Автор: Aen Sidhe    in дневник

[info]lord_haart навёл на замечательную темку на ивофоруме. Вкратце: чувак сидел на форуме с работы и аццки всех троллил. Достал админов, те написали телегу ему на работу. На работе провели служебное расследование, чувака нашли и выдали люлей. 50 страниц вайна «админы, так нельзя» доставляют.

Метки:дневник, маразм
Страница 1 из 3123