Сегодня испытал на себе достаточно занятные ощущения.
Все выходные я занимался изучением существующего рынка продуктов, которые обеспечивают миграцию данных между СУБД различных поставщиков.
Может быть проблема была в моей усталости, либо в чем-то другом, но вот на этом сайте я потратил неприлично много времени, прежде чем таки нашел то, что искал.
Меня интересовало, какие именно СУБД поддерживает программный продукт. В итоге, после ~5 минутного чтения по-диагонали страниц на сайте я таки обнаружил эту информацию.
Естественно, что эта информация отражалась непосредственно на главной странице сайта.
Каким-то чудом я отсеил как раз ту часть страницы, на которой как раз находилась ключевая информация! Любопытно, не правда ли? :)
Я призадумался. И понял в чем дело. Секция сайта, которая отражала нужную мне информацию напомнила мне рекламный баннер, поэтому мой мозг взял, да и отсеял ее :)
Действительно, опираясь на мой жизненный опыт, я перестал обращать внимания на цветные, яркие анимированные фрагменты, включенные в страницу.
Так что рекламщикам меня не подцепить :))
воскресенье, 23 декабря 2007 г.
суббота, 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)
Видимо это связано с повышением профессионализма :)
Но сегодня как раз тот самый день. И я сижу и наблюдаю эту чертовски загадочное сообщение об ошибке:
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)
суббота, 17 ноября 2007 г.
Список свободного ПО для Windows и обычного пользователя :)
Я сторонник открытого программного обеспечения. Уверен, что кроме глюков, сторонее ПО обладает гораздо большей гибкостью.
Сегодня общался со своим товарищем, рассказывал ему про свободное ПО и как раз созрела небольшая заметка :)
Итак, список свободного ПО под Windows для среднестатистического, обычного пользователя:
OpenOffice.org - Рекомендую поставить и поработать в нем. По-моему мнению последние версии выполняют 100% нужд обычных пользователей.
Работать в нем стоти только с документами родного формата, несмотря на то, что он прекрасно понимает формат Microsoft Office. Просто так загрузка документа будет в несколько раз быстрее.
Единственная пока в нем проблема, отсутствие хорошей совместимости с Microsoft Access.
Firefox - браузер. Вообще отказываюсь комментировать. Все остальные браузеры в топку. Точка :)
7-zip - упаковщик. может распаковывать RAR 3.0 архивы. Рекомендую формат 7Z для упаковки, по сравнению с ним RAR проигрывает по степени сжатия. В крайнем случае формат ZIP никто не отменял.
Mozilla Thunderbird - почтовый клиент. один мой товарищ, продвинутый пользователь сказал что у этой программы нехватает только одной! фичи, которая есть в коммерческом The Bat! Но эта фича, реально нужна только системным администраторам. По-правде говоря я даже не помню что он говорил... :)
Miranda - многопротокольный клиет для обмена мгновенными сообщениями. В стандартной поставке требует большого количества времени для настройки. Имеет мощнейшую систему плагинов. Рекомендую использовать уже скомпонованные сборки типа Miranda IM - LEM pack или Miranda IM zeleboba's pack
VLC Media Player - видеплеер, который идет в поставке с набором своих самостоятельных кодеков. Умеет воспроизводить большинство распространенных форматов, а так же недокаченное видео. В отличие от других плееров не рвет видео высокого разрешения в процессе просмотра через Wi-Fi сеть.
MPlayer - видеоплеер, который также имеет свои собственные кодеки. Работает без установки - достаточно распаковать архив. После установки 60-мб пакета кодеков воспроизводит АБСОЛЮТНО ВСЁ. Использую как альтернативный плеер. Есть проблемы с работой под Windows Vista.
Notepad++ - очень удобный текстовый редактор. Убийца стандартного блокнота. В большей степени полезен программистам, в меньшей - рядовому пользователю.
WinDjView - программа для просмотра электронный книг в формате DejaVu. Документы формата DejaVu имеют расширение .djvu и для неопытного пользователя чем-то напоминают PDF, но при этом документы намного комактнее из-за того, что там применяется сжатие векторного изображения.
P.S. Естественно, что этот списк можно дополнить софтом для гиков. Может быть я это когда-нибудь и сделаю.
Сегодня общался со своим товарищем, рассказывал ему про свободное ПО и как раз созрела небольшая заметка :)
Итак, список свободного ПО под Windows для среднестатистического, обычного пользователя:
OpenOffice.org - Рекомендую поставить и поработать в нем. По-моему мнению последние версии выполняют 100% нужд обычных пользователей.
Работать в нем стоти только с документами родного формата, несмотря на то, что он прекрасно понимает формат Microsoft Office. Просто так загрузка документа будет в несколько раз быстрее.
Единственная пока в нем проблема, отсутствие хорошей совместимости с Microsoft Access.
Firefox - браузер. Вообще отказываюсь комментировать. Все остальные браузеры в топку. Точка :)
7-zip - упаковщик. может распаковывать RAR 3.0 архивы. Рекомендую формат 7Z для упаковки, по сравнению с ним RAR проигрывает по степени сжатия. В крайнем случае формат ZIP никто не отменял.
Mozilla Thunderbird - почтовый клиент. один мой товарищ, продвинутый пользователь сказал что у этой программы нехватает только одной! фичи, которая есть в коммерческом The Bat! Но эта фича, реально нужна только системным администраторам. По-правде говоря я даже не помню что он говорил... :)
Miranda - многопротокольный клиет для обмена мгновенными сообщениями. В стандартной поставке требует большого количества времени для настройки. Имеет мощнейшую систему плагинов. Рекомендую использовать уже скомпонованные сборки типа Miranda IM - LEM pack или Miranda IM zeleboba's pack
VLC Media Player - видеплеер, который идет в поставке с набором своих самостоятельных кодеков. Умеет воспроизводить большинство распространенных форматов, а так же недокаченное видео. В отличие от других плееров не рвет видео высокого разрешения в процессе просмотра через Wi-Fi сеть.
MPlayer - видеоплеер, который также имеет свои собственные кодеки. Работает без установки - достаточно распаковать архив. После установки 60-мб пакета кодеков воспроизводит АБСОЛЮТНО ВСЁ. Использую как альтернативный плеер. Есть проблемы с работой под Windows Vista.
Notepad++ - очень удобный текстовый редактор. Убийца стандартного блокнота. В большей степени полезен программистам, в меньшей - рядовому пользователю.
WinDjView - программа для просмотра электронный книг в формате DejaVu. Документы формата DejaVu имеют расширение .djvu и для неопытного пользователя чем-то напоминают PDF, но при этом документы намного комактнее из-за того, что там применяется сжатие векторного изображения.
P.S. Естественно, что этот списк можно дополнить софтом для гиков. Может быть я это когда-нибудь и сделаю.
пятница, 9 ноября 2007 г.
Самый быстрый способ посчитать число уникальных строк
Самый быстрый способ посчитать число уникальных (и не уникальных) строк.
Предположим, есть входные данные:
abc
bcd
bcd
def
efg
fgh
efg
Нужно по-быстренькому проверить, что все записи будут уникальны.
Для этого может пригодится Microsoft Exel.
Вставляем этот список значений в столбец.
Добавляем эту формулу =+COUNTIF($A$1:$A$7,A1) в той же строке что и наша первая запись.
При этом нужно проследить чтобы диапазон, заданный в абсолютных координатах A$1:A$7 полностью охватывал все входные данные.
После того как одна ячейка заполнена формулой нужно размножить формулу ровно на все строки данных. Для этого нужно "перетащить" мышью за нижний правый край ячейку с нашей первой формулой.
После этого вы можете увидеть количество повторений каждой строки в исходной коллекции. Можно для эффективности поиска воспользоваться автофильтром.
Предположим, есть входные данные:
abc
bcd
bcd
def
efg
fgh
efg
Нужно по-быстренькому проверить, что все записи будут уникальны.
Для этого может пригодится Microsoft Exel.
Вставляем этот список значений в столбец.
Добавляем эту формулу =+COUNTIF($A$1:$A$7,A1) в той же строке что и наша первая запись.
При этом нужно проследить чтобы диапазон, заданный в абсолютных координатах A$1:A$7 полностью охватывал все входные данные.
После того как одна ячейка заполнена формулой нужно размножить формулу ровно на все строки данных. Для этого нужно "перетащить" мышью за нижний правый край ячейку с нашей первой формулой.
После этого вы можете увидеть количество повторений каждой строки в исходной коллекции. Можно для эффективности поиска воспользоваться автофильтром.
четверг, 8 ноября 2007 г.
Чем отличаются ASP.NET проекты Web Application и Web Site
Нашел довольно внятное объяснение тут.
Общий вывод. Web Site проект это настоящий шлак, который допустим к использованию только в детском саду.
Самое обидное, что проект типа Web Application доступен только начиная с Visual Studio 2005 SP1. В оригинальной 2005-й студии его упразднили... как мы видим по service paсk'у - неудачный ход.
Есть есть конструктивные замечания против. Буду рад услышать.
Общий вывод. Web Site проект это настоящий шлак, который допустим к использованию только в детском саду.
Самое обидное, что проект типа Web Application доступен только начиная с Visual Studio 2005 SP1. В оригинальной 2005-й студии его упразднили... как мы видим по service paсk'у - неудачный ход.
Есть есть конструктивные замечания против. Буду рад услышать.
Необычное поведение индексатора у XmlAttributeCollection
В .NET 1.1 этот код НЕ работает:
ExtraCell extraCell = new ExtraCell(
node.Attributes[ATTRIBUTE_NAME].Value,
node.Attributes[ATTRIBUTE_VALUE].Value);
а этот - работает:
ExtraCell extraCell = new ExtraCell(
node.Attributes.GetNamedItem(ATTRIBUTE_NAME).Value,
node.Attributes.GetNamedItem(ATTRIBUTE_VALUE).Value);
Остается открытым вопрос... кто виноват :)
UPDATE:
Как оказалось были виноваты мои руки... прошу меня простить за совершенно бесполезный пост :(
ExtraCell extraCell = new ExtraCell(
node.Attributes[ATTRIBUTE_NAME].Value,
node.Attributes[ATTRIBUTE_VALUE].Value);
а этот - работает:
ExtraCell extraCell = new ExtraCell(
node.Attributes.GetNamedItem(ATTRIBUTE_NAME).Value,
node.Attributes.GetNamedItem(ATTRIBUTE_VALUE).Value);
Остается открытым вопрос... кто виноват :)
UPDATE:
Как оказалось были виноваты мои руки... прошу меня простить за совершенно бесполезный пост :(
воскресенье, 14 октября 2007 г.
Miranda. Проблемы с unicode версией irc.dll
status_alexus: привет
ctype: +
status_alexus: Miranda IM 0.7.0.48 (IRC v.0.7.0.2 Unicode)
status_alexus: это у тебя
status_alexus: ты знаешь, тут Саша Белый один бажок нашел
status_alexus: если ты юзаешь юникодовую версию irc.dll
ctype: пишет 0.7
status_alexus: то к тебе не приходят сообщения от пользователей имя которых начинается с большой русской буквы С
status_alexus: :)
ctype: да ну
status_alexus: ctype я тебе серьезно говорю
status_alexus: короче мы тут мудились с полчасика
status_alexus: я попробовал все порты (читай кодировки) которые поддерживает сервак онеат
ctype: г.м. я сам на себя послал - приходит
status_alexus: ircd-RU!
status_alexus: да. но у тебя же с латинской С
status_alexus: а я говорю о заглавной русской
ctype: ну я заглавную русскую себе послал
status_alexus: так вот
ctype: а. от пользовоталей
status_alexus: и только в одном случае я видел сообщения от такого пользователя
ctype: прикольно
status_alexus: когда подключался в режиме транслита
status_alexus: но тогда от него приходил транслит, а мне приходилось отправлять латиницей
status_alexus: и ник соотв. его начинался с S
status_alexus: такие от грабли :(
ctype: гы. вообще-то у мну нет знакомых с русскими никами
status_alexus: Аналогично ;)
ctype: так что это не баг, эта фича :)
status_alexus: в общем я буду юзать новый глючный плагин ирки в миранде :)
Sasha_Beluj: =))
status_alexus: а кто юзает ники на русском в IRC пускай идут гулять лесом
Sasha_Beluj: да не. Даже не так
status_alexus: а как?
Sasha_Beluj: те, кто юзает ники с большой буквы С пусть идут гулять :)
status_alexus: не важно
status_alexus: Кошечки, Ромашки и Писечки тоже пусть гуляют...
ctype: меня только один глюк волнует - досихпор rss переодически падает. и плагин без исходников
status_alexus: я RSS давно читаю через Google Reader
Sasha_Beluj: А глюк с буквой С большой не волнует? :)
ctype: Sasha_Belu. абсалютна
ctype: +
status_alexus: Miranda IM 0.7.0.48 (IRC v.0.7.0.2 Unicode)
status_alexus: это у тебя
status_alexus: ты знаешь, тут Саша Белый один бажок нашел
status_alexus: если ты юзаешь юникодовую версию irc.dll
ctype: пишет 0.7
status_alexus: то к тебе не приходят сообщения от пользователей имя которых начинается с большой русской буквы С
status_alexus: :)
ctype: да ну
status_alexus: ctype я тебе серьезно говорю
status_alexus: короче мы тут мудились с полчасика
status_alexus: я попробовал все порты (читай кодировки) которые поддерживает сервак онеат
ctype: г.м. я сам на себя послал - приходит
status_alexus: ircd-RU!
status_alexus: да. но у тебя же с латинской С
status_alexus: а я говорю о заглавной русской
ctype: ну я заглавную русскую себе послал
status_alexus: так вот
ctype: а. от пользовоталей
status_alexus: и только в одном случае я видел сообщения от такого пользователя
ctype: прикольно
status_alexus: когда подключался в режиме транслита
status_alexus: но тогда от него приходил транслит, а мне приходилось отправлять латиницей
status_alexus: и ник соотв. его начинался с S
status_alexus: такие от грабли :(
ctype: гы. вообще-то у мну нет знакомых с русскими никами
status_alexus: Аналогично ;)
ctype: так что это не баг, эта фича :)
status_alexus: в общем я буду юзать новый глючный плагин ирки в миранде :)
Sasha_Beluj: =))
status_alexus: а кто юзает ники на русском в IRC пускай идут гулять лесом
Sasha_Beluj: да не. Даже не так
status_alexus: а как?
Sasha_Beluj: те, кто юзает ники с большой буквы С пусть идут гулять :)
status_alexus: не важно
status_alexus: Кошечки, Ромашки и Писечки тоже пусть гуляют...
ctype: меня только один глюк волнует - досихпор rss переодически падает. и плагин без исходников
status_alexus: я RSS давно читаю через Google Reader
Sasha_Beluj: А глюк с буквой С большой не волнует? :)
ctype: Sasha_Belu. абсалютна
Подписаться на:
Сообщения (Atom)