Под катом gif на 2.3Мб
LocalDB
Вместе с новым MS SQL Server 2012 под кодовым именем Denali разработчики представили нам отпрыска линейки SQL Server Express – LocalDB, который ориентирован на single-user приложения и не требует установки, предварительной конфигурации и запуска сервиса сервера (в отличие от полноценного MS SQL Server) и. Напоминает MS SQL Server CE?
Где разница?
А разница в том, что LocalDB – это полноценный SQL Express, который поддерживает все возможности MS SQL Server, в отличие от SQL CE, который предоставляет очень урезанный T-SQL и другие возможности (различия см. тут http://msdn.microsoft.com/en-us/library/bb896140.aspx). К тому же, LocalDB работает как дочерний процесс приложения, используя тот же sqlservr.exe, что и обычный SQL Express: приложения могут использовать стандартные провайдеры (ADO.NET, ODBC, PDO и др.) для работы с БД. А Sql Server CE – это inproc dll.
Хорошо, в чем же тогда отличие от SQL Express? Во-первых, как уже было сказано, для LocalDB не требуется создание сервиса. Процесс LocalDB стартует при подключении приложения к нему и завершается автоматически, если подключений больше нет. Кроме того, есть такая фича, как AttachDbFileName, которая позволяет разработчику указывать расположение файла БД, к которому нужно подключиться.
Что же выбрать?
Очевидно, что для небольшого portable-приложения LocalDB - это слишком. Но если важна совместимость с MS SQL Server и в дальнейшем планируете переходить на полноценный MS SQL Server, только не хочется устанавливать еще один сервис, то LocalDB – ваш выбор. MS Sql CE выигрывает, если важно:
1) Размер БД (например, приложения для мобильных девайсов): 18 Мб на диске (Sql CE 4.0) против 160 Мб (LocalDB). (хорошая таблица сравнения параметров http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html)
2) Возможность распространения приложения через XCOPY: LocalDB требует установки через msi, SQL Server CE работает, если скопированы нужные файлы
Где разница?
А разница в том, что LocalDB – это полноценный SQL Express, который поддерживает все возможности MS SQL Server, в отличие от SQL CE, который предоставляет очень урезанный T-SQL и другие возможности (различия см. тут http://msdn.microsoft.com/en-us/library/bb896140.aspx). К тому же, LocalDB работает как дочерний процесс приложения, используя тот же sqlservr.exe, что и обычный SQL Express: приложения могут использовать стандартные провайдеры (ADO.NET, ODBC, PDO и др.) для работы с БД. А Sql Server CE – это inproc dll.
Хорошо, в чем же тогда отличие от SQL Express? Во-первых, как уже было сказано, для LocalDB не требуется создание сервиса. Процесс LocalDB стартует при подключении приложения к нему и завершается автоматически, если подключений больше нет. Кроме того, есть такая фича, как AttachDbFileName, которая позволяет разработчику указывать расположение файла БД, к которому нужно подключиться.
Что же выбрать?
Очевидно, что для небольшого portable-приложения LocalDB - это слишком. Но если важна совместимость с MS SQL Server и в дальнейшем планируете переходить на полноценный MS SQL Server, только не хочется устанавливать еще один сервис, то LocalDB – ваш выбор. MS Sql CE выигрывает, если важно:
2) Возможность распространения приложения через XCOPY: LocalDB требует установки через msi, SQL Server CE работает, если скопированы нужные файлы
Visual Studio 11: запуск xUnit.Net без боли
14 мар. 2012 г.
|
Автор:
Unknown
|
Ярлыки:
tdd,
testing,
Tools,
unit testing,
visual studio,
xunit
|
Бета-версия одиннадцатой cтудии вызвала много охов и ахов. Чтобы там ни говорили, работать в ней приятно, хоть по началу немного необычно. На несколько шагов впёред продвинулась поддержка юнит тестирования. Чего только стоит новый Unit Test Explorer. Но я хочу рассказать о новой фиче, которая меня особо порадовала: Visual Studio 11 beta поддерживает сторонние фреймворки для тестирования! Ура! Ура! Ура! Теперь Unit Test Explorer можно сконфигурировать для запуска тестов xUnit.NET, MbUnit и NUnit. И даже не стоит расстраиваться, если фреймворка, который вы используете для тестирования, нет среди вышеперечисленных - ведь всего-то нужно написать свой адаптер (Unit Test adapter). Список существующих адаптеров можно посмотреть тут.
А пока, не откладывая в долгий ящик, запустим xUnit.net-тесты без TestDriven.Net.
А пока, не откладывая в долгий ящик, запустим xUnit.net-тесты без TestDriven.Net.
MySql, даты и WTF
Тянуть не буду, сразу в бой:
Опаньки. Нужно отформатировать даты:
Это уже похоже на правду. Заюзаем DATE_FORMAT т.к. даты приходят от клиента:
WTF? Как из даты в феврале получилось дней больше, чем из даты в марте? И вобще, что за удивительная разница в 9861 день между 1-м и 28-м февраля? Как он это делает?
Интуиция подсказывает проверить DATE_FORMAT:
А потому что
SELECT TO_DAYS('05.03.2012') as `05.03.2012`,TO_DAYS('01.02.2012') as `01.02.2012`, TO_DAYS('28.02.2012') as `28.02.2012`
Результат:Опаньки. Нужно отформатировать даты:
SELECT TO_DAYS('2012-03-05') as `05.03.2012`,TO_DAYS('2012-02-01') as `01.02.2012`, TO_DAYS('2012-02-28') as `28.02.2012`
Результат:Это уже похоже на правду. Заюзаем DATE_FORMAT т.к. даты приходят от клиента:
SELECT TO_DAYS(DATE_FORMAT('05.03.2012', '%Y-%m-%d')) as `05.03.2012`,
TO_DAYS(DATE_FORMAT('01.02.2012', '%Y-%m-%d')) as `01.02.2012`,
TO_DAYS(DATE_FORMAT('28.02.2012', '%Y-%m-%d')) as `28.02.2012`
Результат:WTF? Как из даты в феврале получилось дней больше, чем из даты в марте? И вобще, что за удивительная разница в 9861 день между 1-м и 28-м февраля? Как он это делает?
Интуиция подсказывает проверить DATE_FORMAT:
SELECT DATE_FORMAT('05.03.2012', '%Y-%m-%d') as `05.03.2012`,
DATE_FORMAT('01.02.2012', '%Y-%m-%d') as `01.02.2012`,
DATE_FORMAT('28.02.2012', '%Y-%m-%d') as `28.02.2012`
Результат: А потому что
Although MySQL tries to interpret values in several formats, date parts must always be given in year-month-day order (for example,и даты форматировать надо на клиенте, не за чем лишний раз мускул качать!'98-09-04'
), rather than in the month-day-year or day-month-year orders commonly used elsewhere (for example,'09-04-98'
,'04-09-98'
). [мануал]
Подписаться на:
Сообщения (Atom)
Ярлыки
.net
(17)
.net framework
(4)
256
(1)
армагедон
(1)
Библиотека
(12)
видео
(1)
вконтакте
(1)
декомпилятор
(1)
задачки
(5)
итоги
(1)
кодировка
(1)
космос
(1)
маркет
(1)
монетизация
(2)
мысли в слух
(10)
обфускация
(1)
Оптимизация сайта
(1)
отдых
(3)
Ошибка 720
(1)
переводы
(5)
подкасты для разработчика
(3)
прибыль
(1)
приложение
(2)
Разное
(28)
разработка ПО
(31)
рефакторинг
(5)
скачивания
(1)
ссылки
(2)
статистика
(1)
юмор
(31)
Access
(1)
admin2012.ru
(1)
admob
(1)
AMD
(1)
android
(6)
android conventions
(1)
android studio
(1)
angular.js
(1)
ant
(1)
antipattern
(1)
atdd
(2)
autocomplete
(1)
backbone.js
(1)
background repeat
(1)
batch file
(1)
batman.js
(1)
bdd
(3)
bootstrap
(1)
bug
(1)
build
(1)
C#
(31)
clojurescript
(1)
codeigniter
(1)
coding style
(1)
coffeescript
(3)
components
(1)
css
(1)
Custom splash screen
(1)
DDD
(1)
DI
(1)
eclipse
(1)
facebook
(1)
gradle
(1)
hot keys
(1)
html
(4)
ide
(1)
IE
(4)
IE8
(2)
IoC
(6)
ion auth
(1)
jasmine
(1)
java
(3)
javas
(1)
javascript
(9)
jquery
(4)
jquery ui
(1)
justify
(1)
knockout.js
(2)
linq
(3)
localDB
(1)
massive
(1)
micro orm
(1)
mocha
(1)
mock
(1)
mono
(1)
monodroid
(1)
moq
(2)
mpress
(1)
ms sql ce
(8)
msswit2013
(2)
mvc framework
(1)
mysql
(2)
NetBeans
(1)
nodejs
(1)
nosql
(1)
npm
(1)
object db
(1)
opera apps
(1)
ORM
(2)
phonegap
(1)
php
(12)
phpunit
(3)
play market
(2)
qunit
(1)
RegExpr
(2)
require.js
(1)
samsung apps
(2)
screenshoot
(1)
sdk
(1)
Shortcut
(1)
Silverlight
(4)
singleton
(1)
slide me
(1)
soap
(2)
social network
(1)
spellcheck
(1)
SpicIE
(1)
sql
(3)
sqlite
(4)
style
(1)
SublimeText 2
(5)
Super Mario
(1)
svn
(1)
tdd
(14)
tddigest
(5)
testing
(7)
text align
(1)
Tools
(18)
torrents.ru
(1)
tortoisesvn
(1)
twitter
(1)
uml
(1)
unit testing
(5)
unity
(3)
usability
(2)
virus
(1)
visual studio
(7)
web services
(2)
Windows 7
(1)
xunit
(3)
ZenCoding
(2)
Копирайты
Авторские права на публикуемые материалы (кроме тех материалов, где явно указан источник) принадлежат автору блога (мне) и могут быть использованы где-либо еще только с моего согласия.
Блог о жизни вне кода
Постоянные читатели
Популярно
-
Понравился анекдот о колбасе и яйцах :) Жена посылает мужа-программиста в магазин: - Дорогой, купи, пожалуйста, палку колбасы, и если б...
-
Продолжаю серию постов о своём первом андроид-приложении. Сегодня мысли о публикации приложения в разных маркетах.
-
Бета-версия одиннадцатой cтудии вызвала много охов и ахов. Чтобы там ни говорили, работать в ней приятно, хоть по началу немного необычно. ...
-
Jquery.Inputmask - крутой (да-да, именно) плагин, добавляющий гибкости в работу с обычным текстовым полем для ввода. Плагин является ус...
-
Перевод поста "Top 10 Things That Annoy Programmers" Кевина Панга. Оригинал тут
-
Разделяй и влавствуй - подход на все времена. Концепция модульного программирования не нова, и хорошо себя зарекомендовала. В мире разрабо...
-
Фридман А.Л. - Основы объектно-ориентированной разработки программных систем. ( скачать ) Книга написана как учебное пособие для студентов ...
-
Steve Freeman, Nat Pryce. Growing Object-Oriented Software, Guided by Tests ( скачать ) Test-Driven Development (TDD) is now an established...
-
Для некоторых методов класса Microsoft Code Analysis даёт такой совет: CA1822 : Microsoft.Performance : The 'this' parameter (or ...