pechkin: (Default)
Дорогие ленточные друзья!

Не знает ли кто из вас (и не пользуется ли) какой-нибудь симпатичной бесплатной софтиной для agile девелопмента и ведения проектов? Мне конкретно нужно что-то, что заменяло бы бумажки, приклеенные над рабочим местом.

Там хочется, чтобы было название проекта, тип задачи (буг, change request, простое туду), предполагаемый размер задачи (сколько времени займет), ее важность и в какой релиз она войдет. И, понятно, статус: "собираюсь сделать", "изучаю область проблемы", "думаю, как", "делаю", "проверяю", "сделал".
pechkin: (Default)
Иногда доводится все-таки вспомнить, что профессия программиста - это не только перегон условных единичек и ноликов с места на место в воображаемом пространстве. Иногда это совершенно реальный шанс удостоиться просветления.

Вот мы сегодня весь день пытались угадать, отчего вдруг почти сразу после обеда наш сервис начал падать на обновлении базы данных. Где-то на пятом-шестом часу усилий разгадать этот удивительный коан мы с начальником вдруг наткнулись на статью Омера Ван Клотена - вероятно, великого дзен-мастера,

Linq to SQL: ChangeConflictException With "WHERE 0 = 1"

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

Я посмотрел на статью еще раз и увидел, что и блог Ван Клотена называется ".NET Zen". А как же иначе, будда его разрази.
pechkin: (Default)
Стандартно пользоваться Pre-Build Process и в нем копировать библиотеку, вставляя макрос имени конфигурации в ее путь. Идеологически сомнительно, основывается на нескольких допущениях.

Видел, как делают такую штуку:
<import project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>
<target name="BeforeBuild">
  	<copy sourcefiles="..\Logging.NLog\NLog.config" destinationfolder=".\bin\Debug"/>
</target>

Но оказалось, что работает гораздо более простое:
<reference include="NLog, Version=1.0.0.505, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
        <specificversion>False</specificversion>
        <hintpath>..\..\..\Vendor\NLog\bin\$(Configuration)\NLog.dll</hintpath>
</reference>

А все простое предпочтительно. Все нужное и правильное Бог создал простым и понятным, а если у тебя проблемы с этим утверждением, то это твои проблемы. И они решаемы, если их действительно нужно решить.
pechkin: (Default)
Сегодня во сне наш начальник сказал, что нам предстоит переход на новые разные языки. Всем троим. Мне выпала Скала. Был еще Хаскелл и еще что-то.
pechkin: (Default)
К проблеме библиотек, не внушающих доверия Визуальной Студии: есть гораздо более простое и смешное решение. (Кроме того, оно оказалось и единственно доступным, потому что я как-то так странно определил себе юзеров на машине, что юзер, под которым я работаю, не является администратором машины, на которой я работаю, и поэтому действия над файлами на диске C:\ ему не разрешены.)

Нужно взять каталог, доверие к которому ты хочешь внушить Визуальной Студии, заархивировать его, удалить (этот шаг, возможно, лишний) и разархивировать снова. Архивация уничтожает тот аттрибут, который мешает Студии.
pechkin: (Default)
Интересуюсь идеями на тему толкового разделения data context и entity в LINQ to SQL. То есть, как бы так взаимно расположить entities, класс DataAccess, который будет ходить в dbml, и сам dbml, чтобы сторонний проект мог референсить ентити и дата-аксесс, ничего не зная про дбмл, но получать от дата-аксесса ентитиз, которые надстроены над объектами дбмля. Пока что я придумал два способа, но оба мне не нравятся по разным причинам.

Кто как делает?
pechkin: (Default)
Прикол: Google AdSense не поддерживает Google Chrome. В хроме перекидывал меня со страницы логина на страницу с лицензией много раз. В Эксплорере после первого перекида ввел в аккаунт.
pechkin: (Default)
Чтобы впиндюрить, к примеру, в каждый класс subversionовские таги в VS 2008, надо подредактировать темплэйты, которые лежат в %Program Files%\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033 и рядом.
pechkin: (Default)
Выскочила преинтереснейшая ошибка компилляции: Error 8 'System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,Motorola.DVR.Services.ICameraControlServiceCallback>>' does not contain a definition for 'Count' and no extension method 'Count' accepting a first argument of type 'System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,Motorola.DVR.Services.ICameraControlServiceCallback>>' could be found (are you missing a using directive or an assembly reference?) Z:\KERNEL\LCD_UI\Code\Motorola.DVR.DVRPlayer\ExternalSources\DvrMain.Stub\Presenters\CameraControlServiceStubPresenter.cs 21 71 DVRMain.Stub Надо было: в голову файла, где описывается метод
protected override int GetSubscribedClientsCount()
        {
            return (SvcInstance as CameraControlServiceStub).SubscribedClients.Count();
        }
добавить using System.Linq;.
pechkin: (Default)
 Если Visual Studio отказывается делать Unit Tests, заявляя, что не доверяет месту, из которого берутся DLLы, то надо сделать 

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag 1.2 -url <root dir>\* FullTrust
.

И перегрузить студию, когда думаешь, что все.
pechkin: (Default)
Если проект поднимает WcfSvcHost, который не нужен, то надо залезть в csproj этого проекта XML редактором и выкусить из его Project/PropertyGroup/ProjectTypeGuids ключ {3D9AD99F-2412-4246-B90B-4EAA41C64699} в соответствующей конфигурации. Это большой сюрприз, который ждал меня в конце довольно утомительного и сложного квеста.

Сейчас же я отправляюсь в новый квест: что сделать, если проект в дебаге поднимает сервис-хост, а в релизе не поднимает? 

UPDATE: всякий WCF-ный по своему темплэйту (и по ProjectTypeGuids, соответственно) проект обладает способностью поднимать в Debug-mode WCF service host, который шарит по его конфигурациям и пытается поднять сервиса, в них определенные. Если таковых не находится, хост все равно висит, пустой. В Release же mode никакого встроенного хоста не поднимается, его надо писать.
pechkin: (Default)
Как делать unit test wcf-ного клиента дуплексного сервиса? У меня зашел ум за разум. Я нашел один проект, но не смог его понять.
pechkin: (Default)
 Еще один удивительный сурприз WCF: http://bursjootech.blogspot.com/2008/06/wcf-type-name-servicereference1-does.html

Если у меня совпадает имя класса и название пространства имен, то добавить service reference не удастся, проект не прокомпилируется. Мораль: не называй классы так же, как проекты. Класс - это что-то, что что-то делает; проект - это что-то, в котором что-то лежит. У них должны быть разные имена.
pechkin: (Default)
Если вы очень долго трахаетесь с конфигурацией WCF-сервисов, и какой-нибудь паршивый сервис никак не находит своих оконечностей (endpoint довольно эффектно переводится этим словом), то вспомните, что имя сервиса должно в точности до пространства имен совпадать с именем класса имплементации сервисного контракта. Это невозможно понять, это невозможно почувствовать, это нужно запомнить.

http://blog.mikeobrien.net/PermaLink,guid,d0884d1c-045a-42b1-9ead-c26d3d80ace5.aspx - выглядит смешно, но чувак прав.
pechkin: (Default)
Собственно, субж. Тем, кто делает Unit Testы в VS2008, будет, наверно, интересно узнать, что TimeoutAttribute в дебуг-моде не срабатывает, но прекрасно срабатывает по Ctrl-F5. Нас этому в школе не учили.
pechkin: (Default)
Отцы-девелоперы! На интервьях стали строго спрашивать, какие блоги и сайты я читаю по своей специальности. А я как-то вот подотстал в последнее время. Поделитесь линками на клевые блоги и интересные сайты, которые читаете вы. Особенно если это .NET, ASP.Net/AJAX, WPF/WCF или перл. Конечно, я и сам их найду, но рекомендации резко сэкономят мне времени.
pechkin: (Default)
 В сегодняшнем сне я в нашей столовке на работе выступал с примерно следующим текстом:

- Суппортер и кьюэйщик не могут быть программистами. И наоборот тоже не может быть. Потому что программист - он знает, как эта штука устроена. Но он не имеет ни малейшего понятия о том, как эта штука работает. А, скажем, суппортер - он наоборот. Он знает, как эта штука работает, и имеет некоторые прозрения о том, как она устроена. Кьюэйщику же вовсе неважно, как эта штука устроена - он знает, как она должна работать. Я, ребята, это вам не просто так говорю, а на собственном опыте. У меня жена - суппортер.

И вдруг вся столовая - и наши, и из соседних фирм, и даже те, кто не понимает по-русски - вдруг начинает мне аплодировать.
pechkin: (Default)
Отцы, кто пишет на Жабоскрипте массивные вещи - в чем вы это делаете? IDE какой посоветуете? Спасибо.
pechkin: (Default)
Интересно, кому-нибудь когда-нибудь удалось прикрутить свой собственный ASP.Net Authentication Service к Ajaxу? Мы, походу, потерпели серьезное поражение в борьбе с этой хренью. У, изверги.

June 2025

S M T W T F S
1234567
8 910111213 14
15 16 1718 192021
22232425262728
29 30     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 18th, 2025 11:02 pm
Powered by Dreamwidth Studios