пятница, 6 июня 2008 г.

Метод Path.Combine, который собирает путь из многочисленного набора аргументов.

Набрел на статью, которая открыла мне глаза :)

Почему-то я постоянно использовал неудобный Path.Combine(string, string) и ничего с этим не делал.

Настало время перемен :)

воскресенье, 18 мая 2008 г.

Очень креативный скрин с LORа

Друзья, эта картинка просто выносит мозг.


Я думаю что после этого скриншота вопросов о пределах креативности сообщества пользователей Linux вообще не будет...

...после того как пройдет истерика, традиционно прочесть все комментарии...

среда, 2 апреля 2008 г.

Правила внятной обработки ошибок на .NET

Я довольно неравнодушно отношусь к организации обработки ошибок.

Недавно нашел одну полезную статью, правда на английском языке.

В любом случае стоит прочесть, потому как там содержится выжимка всех приемов, которые стоит использовать при программировании на .NET:

От себя добавлю, что даже я не соблюдаю все из перечисленных автором моментов.
Естественно, что это очень плохо...

четверг, 6 марта 2008 г.

Фильм "Семь"

На днях еще раз посмотрел фильм "Семь".

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

Очень понравился его диалог с детективом. Если кто фильм не видел, рекомендую посмотреть в обязательном порядке. Я даже диалог двух детективов с Джоном До несколько раз пересмотрел в оригинальной озвучке.


Джон
: Ничего плохого если человек любит свое дело,
Не буду отрицать, что хочу повернуть грех против грешников

Милз: Подожди, но ты же убиваешь невинных

Джон: Невинных? Это шутка такая?
Этот жирняк, который на ногах не стоял.
Ты бы обсмеял его с дружками на улице
Если ты увидишь его, когда сам ешь, то ты не доешь до конца
Потом был адвокат, вы должны мне спасибо сказать за это
Этот человек делал деньги на лжи чтобы насильники и убийцы были на воле

Милз: Убийцы...

Джон: А женщина...

Милз: Убийцы как ты сам, Джон

Джон: Женщина! Такая гадкая внутри, что не смогла бы жить, если только не ее красота снаружи
Торговец наркотиками, педераст и торговец наркотиками
Не забудем про шлюху, разносчицу заразы
Только в этом гавеном мире можно сказать что эти люди невинны
И сказать это не смеясь, вот в чем проблема


Вывод.

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

среда, 20 февраля 2008 г.

Очень полезный Add-in для VS 2003

Кому как, а мне иногда в дебагере очень хочется посмотреть содержимое DataSet :)

Причем хочется посмотреть содержимое целиком. А еще хочется скопировать содержимое, вставить в Exel и поиграться с автофильтрами...

В общем много чего разного хочется, и я вот узнал что все это оказывается очень даже возможно :)

Special QuickWatch for a DataSet

воскресенье, 23 декабря 2007 г.

Особенности восприятия против реалий Web-дизайна

Сегодня испытал на себе достаточно занятные ощущения.

Все выходные я занимался изучением существующего рынка продуктов, которые обеспечивают миграцию данных между СУБД различных поставщиков.

Может быть проблема была в моей усталости, либо в чем-то другом, но вот на этом сайте я потратил неприлично много времени, прежде чем таки нашел то, что искал.

Меня интересовало, какие именно СУБД поддерживает программный продукт. В итоге, после ~5 минутного чтения по-диагонали страниц на сайте я таки обнаружил эту информацию.

Естественно, что эта информация отражалась непосредственно на главной странице сайта.

Каким-то чудом я отсеил как раз ту часть страницы, на которой как раз находилась ключевая информация! Любопытно, не правда ли? :)

Я призадумался. И понял в чем дело. Секция сайта, которая отражала нужную мне информацию напомнила мне рекламный баннер, поэтому мой мозг взял, да и отсеял ее :)

Действительно, опираясь на мой жизненный опыт, я перестал обращать внимания на цветные, яркие анимированные фрагменты, включенные в страницу.

Так что рекламщикам меня не подцепить :))

суббота, 1 декабря 2007 г.

Суббота. Работа. Ужасное настроение.

Сегодня наткнулся на грабли с типизированными DataSet, на которые раньше очень часто наступал, но в последнее время этого удавалось избегать.

Видимо это связано с повышением профессионализма :)

Но сегодня как раз тот самый день. И я сижу и наблюдаю эту чертовски загадочное сообщение об ошибке:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

Какой constraint, какое поле, какой not null, какой уникальный, какой внешний ключ?! ....

Неужели бравые ребята в MS не имели возможности это сделать? Они же умные, не то что я...

Помогите, поделитесь опытом. Какой методологией вы пользуетесь для выявления источника проблемы? :(

Stack trace целиком, если кому интересно:

System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
at System.Data.DataSet.FailedEnableConstraints()
at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at System.Data.DataTable.EndLoadData()
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)