Если MySQL, то да, там isnumeric нет, то есть сортировка в моём варианте будет выглядеть так (а уж насколько хорошо для MySQL — я не настолько его знаю):
case when name REGEXP '^-?[0-9]+$' then '' else name end,
case when name REGEXP '^-?[0-9]+$' then cast(name as signed) else -1 end
На MS SQL вполне решается «в лоб», думаю на большинстве других СУБД тоже. Непонятно почему гугл откопал только регулярные выражения и триггеры. Так-то можно и триггером, от условий зависит.
declare @t table(name varchar(50));
insert @t values ('12'); insert @t values ('6');
insert @t values ('Android 2.2'); insert @t values ('Android 2.3'); insert @t values ('BlackBerry');
select name from @t
order by case when isnumeric(name) = 0 then name else '' end,
case when isnumeric(name) = 0 then -1 else cast(name as int) end
Наш мир — мир разработки ПО — постоянно меняется, и в этих условиях каждый программист должен сделать для себя выбор: остановиться на достигнутом, закрыть глаза и почивать на лаврах, или держать ушки на макушке, следить за новинками и пытаться применить их к своей практике.
Андрей, при всём уважении, «развитие и совершенствование» не полностью эквивалентно «следить за новинками и пытаться применить их к своей практике».
И плавный переход после этого к «Мы приглашаем всех настоящих программистов принять участие в конференции.» не очень корректен.
Давай на примере. Много ли ты встречал программистов, на «5+» знающих, ну скажем ASP.NET + javascript + jQuery? То есть действительно на «5+» — я, например, считаю, что ASP.NET знаю только на 5/5-, а javascript/jQuery где-то на 4.
Когда ты встретишь такого программиста, ты ему скажешь что он «ненастоящий», если он не ездит на конференции, не интересуется SignalR, Erlang и т.п. или позовёшь к себе работать? ;)
P.S. А, конференция, безусловно, интересная — Ярославская мне понравилась.
Описывает полнофункциональную сущность «автор», причем он не нуждается ни в базовом классе, ни в интерфейсах, ни в атрибутах или метадананных.
Можно сказать, что не нуждается. Однако не всех может устроить для Email и Name столбцы типа NVARCHAR(MAX). Думаю, об этом имеет смысл упомянуть, чтобы не создавалось впечатление сказки ;)
Вообще, Conventions это довольно мощная вещь.… Подробнее о них можно почитать здесь
Строго говоря, в текущем релизе нет официальной поддержки своих Conventions — только возможность отключения стандартных.
P.S. Не подумайте, что я противник EF 4.1 — очень даже неплохой шаг вперед. Просто не хочу, чтобы у кого-нибудь были завышенные ожидания.
Приведу классическую ссылку по теме (хоть ее и наверняка все читали) —
Каждому проекту своя методология (Алистер Коберн): citforum.ru/SE/project/meth_per_project
Также, на мой взгляд, полезно прочитать в этом ключе еще две статьи (вторая на английском и достаточно спорная — приведенные аргументы сильно зависят от ситуации):
P.S. От себя добавлю, что есть и большая зависимость от команды, потому что не для каждого проекта можно ее подобрать индивидуально. Например, для критичных краткосрочных проектов использовать неопробованную методологию довольно опасно.
Зеркальность мнений говорит в основном о том, что ситуации бывают разные, а не о том, что кто-то в корне не прав. Мне эта тема довольно близка, на AddConf2010 делал доклад на смежную тему.
Если вкратце, к тезису «Каждому проекту своя методология» кроме «и архитектура» сложно что-либо добавить.
От себя скажу, что в одном проекте где-то на 90 человеко-лет основные проблемы были как в излишне «красивой» архитектуре так и в чрезмерном увлечении чистыми прототипами.
В других проектах было по-разному, но чаще всего сталкивался с задачами, к которым continuous design вполне применим.
Андрей, при всём уважении, «развитие и совершенствование» не полностью эквивалентно «следить за новинками и пытаться применить их к своей практике».
И плавный переход после этого к «Мы приглашаем всех настоящих программистов принять участие в конференции.» не очень корректен.
Давай на примере. Много ли ты встречал программистов, на «5+» знающих, ну скажем ASP.NET + javascript + jQuery? То есть действительно на «5+» — я, например, считаю, что ASP.NET знаю только на 5/5-, а javascript/jQuery где-то на 4.
Когда ты встретишь такого программиста, ты ему скажешь что он «ненастоящий», если он не ездит на конференции, не интересуется SignalR, Erlang и т.п. или позовёшь к себе работать? ;)
P.S. А, конференция, безусловно, интересная — Ярославская мне понравилась.
Хабраэффект или плановые работы?
Начал читать пост, вспомнил тебя — оказалось действительно ты :)
P.S. Для задания длины строки есть атрибут StringLength.
Можно сказать, что не нуждается. Однако не всех может устроить для Email и Name столбцы типа NVARCHAR(MAX). Думаю, об этом имеет смысл упомянуть, чтобы не создавалось впечатление сказки ;)
Строго говоря, в текущем релизе нет официальной поддержки своих Conventions — только возможность отключения стандартных.
P.S. Не подумайте, что я противник EF 4.1 — очень даже неплохой шаг вперед. Просто не хочу, чтобы у кого-нибудь были завышенные ожидания.
Каждому проекту своя методология (Алистер Коберн): citforum.ru/SE/project/meth_per_project
Также, на мой взгляд, полезно прочитать в этом ключе еще две статьи (вторая на английском и достаточно спорная — приведенные аргументы сильно зависят от ситуации):
Проектирования больше нет? (Мартин Фаулер): citforum.ru/SE/project/design_dead
Continuous Design (Джим Шо): www.martinfowler.com/ieeeSoftware/continuousDesign.pdf
P.S. От себя добавлю, что есть и большая зависимость от команды, потому что не для каждого проекта можно ее подобрать индивидуально. Например, для критичных краткосрочных проектов использовать неопробованную методологию довольно опасно.
Если вкратце, к тезису «Каждому проекту своя методология» кроме «и архитектура» сложно что-либо добавить.
От себя скажу, что в одном проекте где-то на 90 человеко-лет основные проблемы были как в излишне «красивой» архитектуре так и в чрезмерном увлечении чистыми прототипами.
В других проектах было по-разному, но чаще всего сталкивался с задачами, к которым continuous design вполне применим.