Вы наверное сильно удивитесь, если узнаете, что конфиг IIS'а — ничуть не более бинарный, он такой же текстовый, если быть точнее — XML… И вы его при желании можете тоже сами править. Только вот почему-то видя апач мы сразу ищем документацию и конфиги, а видя IIS и гуёвый интерфейс администрирования — совершенно не удосуживаемся заглянуть в документацию, а тут же начинаем орать «мне не нравятся галочки». Да, на всякий случай — IIS'ом можно рулить и с командной строки тоже. И с новомодного PowerShell…
Вы удивитесь, но решения от MS действительно быстрее на хорошем железе. На старье (которое люди любят превращать в роутера/личные веб-сервера) действительно конкурентов никсам нет.
А MS быстрее засчёт более продуманной архитектуры. Их платформа не жалеет память на каждом шагу. Например, в отличие от того же php в asp.net домен приложения не пересоздаётся при каждом вызове, не происходит куча лишней инициализации и т.д. Получается быстрее, хотя и к памяти больше требований.
Условия нормальные :) Лично у меня валяется пара дистрибутивов, которые я пока всё равно не знаю, куда применить :) Так что «временность» меня вполне устраивает…
Насчёт антивирусов — я не админ и за сервера не отвечаю. Поэтому и не ответил. Если вам так интересно, то лично на моих машинах стоит 4-ый ESET, который я использую как раз из-за его незаметности в плане производительности.
Не надо холиворить. Речь шла о платформе asp.net, вы же всяческими усилиями пытаетесь перевести тему в разряд холивора win/*nix.
Вас никто не принуждает использовать Windows Server. Можете использовать Mono под любимым линуксом/фряхой.
Вас никто не заставляет пользовать VisualStudio. Есть SharpDevelop/MonoDevelop, если они вам больше нравятся.
Есть провайдеры данных для мускула/постгреса, так что MS SQL тоже никто не заставляет использовать.
Кстати, MS SQL есть тоже в бесплатном, но вполне функциональном варианте «Express».
Умозаключениями относительно удобства, интуитивной простоты и грамотной объектной модели. Сам не воспринимал всерьёз, пока кодил на php, сейчас пересел под asp.net — и возвращаться как-то совсем не хочется :)
Идея в принципе интересная, но:
1. Как это увязывается с российским законодательством (в частнсти с КЗПП)?
2. Какова политика при возвратах, скажем, вследствии брака?
3. В свете современных массовых разводов короткими номерами, ваше требование отправить SMS без каких-либо гарантий — может разве что отпугнуть покупателя… Как боретесь? :)
Если уж говорить о наращивании уровней абстракции, тогда уж лучше снимать все данные со слоя объектно-реляционного маппинга.
Вы не подумайте, я не против вашего решения, я просто до сих пор не могу представить себе ситуации, где его можно удобно применить, и при этом бы не существовало более удобных решений. Т.е. не могу ответить на вопрос «зачем?».
Это я всё к тому, что нужен инструмент «снятия» состояния базы в текстовое описание (те же CREATE и т.д.) и ещё один инструмент для получения диффов из таких состояний. Стандартный diff тут не подойдёт, ибо на выходе надо генерить ALTER'ы. И тогда, на мой взгляд, всё будет просто, прозрачно и понятно :)
Опять же — состояние БД жёстко завязано на состояние кода, соответственно ревизия кода = ревизии базы. Новую ревизию кода я могу писать не день и не два, и частично изменённый код нужен в разработке вместе с частично изменённой БД. Я пишу дифф на БД, другой программист пишет дифф на БД, я пишу ещё пять диффов к БД, потом выясняется, что я пошёл не тем путём и всё надо отменить. Как предлагается совмещать это с диффами другого программиста? Я же могу накатывать/откатывать только линейно. А если часть моего первого диффа на БД уже используется другим программистом?
1. Я при разработке не хочу задумываться о том, что у меня и где изменится. Я просто меняю и пишу код. Потом уже, на стадии сбора и коммита изменений — автоматика разбирается что где изменилось и что с этим делать, в спорных случаях — предлагает вам вручную резолвить конфликты.
Вы же предлагаете подход, когда я задумываюсь об изменениях и пишу эти изменения — проецируя этот подход на код программы — можете представить, что вместо написания кода вы пишете diff'ы. Не кажется ли вам это несколько абсурдным?
2. Отмена изменений нужна очень редко и в основном внедренцам. Для этого проще использовать бекапы и не заморачиваться. Для разработчиков же в принципе возникает лишь задача получить нужную ревизию (кода/базы), что легко решается созданием новой БД с накатом всех изменений вплоть до нужной ревизии. Тогда мы храним лишь изначальные CREATE'ы и кучу ревизионных ALTER'ов к ним. Даже тулзу отката в принципе можно таким образом сделать — анализировать все ALTER'ы между заданными ревизиями и генерить отменяющие ALTER'ы.
Не сильно вижу удобства пользования. Лично мне подобная тузла видится как генератор описаний структуры баз + аналог diff, но завязанный на структуру этих описаний. И дальше — обычный svn/любая другая VCS.
Насколько я понимаю, именно diff-функционала у вас и нет :)
А так я могу и ALTER-код писать, зато в родном, привычном SQL. Зачем мне учить ваш язык?
Заказчики слишком разные бывают :) Одни приходят «пустые» и готовы полагаться на «опыт профессионалов», желая получить комплексное обслуживание, другие пытаются собрать в кучу опыт разных профессионалов с разных контор (дизайнят в одной, программят в другой, SEO в третьей, хостинг в четвёртой, юзабилити в пятой), потом ещё пытаются всех этих специалистов «сдружить» между собой, третьи — привыкли экономить и полагаться на «я тут слышал» и «мне тут сказали», зачастую от своих же свежепринятых «замов»…
Вышеприведённый случай вообще особенный — они заказали несколько одинаковых проектов в разных студиях с последующим выбором «лучшего» — результат, как говорится, на лице…
А MS быстрее засчёт более продуманной архитектуры. Их платформа не жалеет память на каждом шагу. Например, в отличие от того же php в asp.net домен приложения не пересоздаётся при каждом вызове, не происходит куча лишней инициализации и т.д. Получается быстрее, хотя и к памяти больше требований.
Насчёт антивирусов — я не админ и за сервера не отвечаю. Поэтому и не ответил. Если вам так интересно, то лично на моих машинах стоит 4-ый ESET, который я использую как раз из-за его незаметности в плане производительности.
Вас никто не принуждает использовать Windows Server. Можете использовать Mono под любимым линуксом/фряхой.
Вас никто не заставляет пользовать VisualStudio. Есть SharpDevelop/MonoDevelop, если они вам больше нравятся.
Есть провайдеры данных для мускула/постгреса, так что MS SQL тоже никто не заставляет использовать.
Кстати, MS SQL есть тоже в бесплатном, но вполне функциональном варианте «Express».
Что именно Вам в ней неудобно? :)
VisualStudio Express бесплатна и вполне функциональна для создания сайта.
Антивирусы — на вкус и цвет, как говорится. В том числе и бесплатные.
В виндовсах начиная с ядра 6.0 есть отличный родной файерволл.
Ещё вопросы? :)
Дом 2.0 — Построй социальную любовь :))
1. Как это увязывается с российским законодательством (в частнсти с КЗПП)?
2. Какова политика при возвратах, скажем, вследствии брака?
3. В свете современных массовых разводов короткими номерами, ваше требование отправить SMS без каких-либо гарантий — может разве что отпугнуть покупателя… Как боретесь? :)
Мне одному напрашивается решение проблемы «глубины активации» и т.д. с помощью атрибутов полей классов? :)
Вы не подумайте, я не против вашего решения, я просто до сих пор не могу представить себе ситуации, где его можно удобно применить, и при этом бы не существовало более удобных решений. Т.е. не могу ответить на вопрос «зачем?».
Это я всё к тому, что нужен инструмент «снятия» состояния базы в текстовое описание (те же CREATE и т.д.) и ещё один инструмент для получения диффов из таких состояний. Стандартный diff тут не подойдёт, ибо на выходе надо генерить ALTER'ы. И тогда, на мой взгляд, всё будет просто, прозрачно и понятно :)
1. Я при разработке не хочу задумываться о том, что у меня и где изменится. Я просто меняю и пишу код. Потом уже, на стадии сбора и коммита изменений — автоматика разбирается что где изменилось и что с этим делать, в спорных случаях — предлагает вам вручную резолвить конфликты.
Вы же предлагаете подход, когда я задумываюсь об изменениях и пишу эти изменения — проецируя этот подход на код программы — можете представить, что вместо написания кода вы пишете diff'ы. Не кажется ли вам это несколько абсурдным?
2. Отмена изменений нужна очень редко и в основном внедренцам. Для этого проще использовать бекапы и не заморачиваться. Для разработчиков же в принципе возникает лишь задача получить нужную ревизию (кода/базы), что легко решается созданием новой БД с накатом всех изменений вплоть до нужной ревизии. Тогда мы храним лишь изначальные CREATE'ы и кучу ревизионных ALTER'ов к ним. Даже тулзу отката в принципе можно таким образом сделать — анализировать все ALTER'ы между заданными ревизиями и генерить отменяющие ALTER'ы.
Насколько я понимаю, именно diff-функционала у вас и нет :)
А так я могу и ALTER-код писать, зато в родном, привычном SQL. Зачем мне учить ваш язык?
Вышеприведённый случай вообще особенный — они заказали несколько одинаковых проектов в разных студиях с последующим выбором «лучшего» — результат, как говорится, на лице…