Идея очень похожа на @Vuplex, но может использовать os.path.commonprefix для удаления лишнего кода для сравнения двух серий
import os
numlist = list(map(int,input.split(',')))
answer = []
fib_series = [0,1,1,2,3,5,8,13]
answer = []
i = 0
while i < len(numlist):
if not numlist[i]:
answer.append(os.path.commonprefix([fib_series,numlist[i:]]))
i += 1
print(answer) #[[0, 1, 1, 2, 3], [0, 1, 1, 2, 3, 5]]
Потребуется несколько недель для перехода на новую технологию или "образ мыслей".
С MVC необходимо убежать от старого образа мыслей Форм ASP.NET "сложное веб-приложение" в тот, "сколько страниц мы имеем, более чем 300 страниц! это было бы огромно!". Вы изменяете представление своего целого приложения. Вы смещаете от старого размышления, "какая страница должна создать затем" к образу мыслей MVC, "какую функцию делают мы должны реализовать затем".
Например, я сам взял под свой контроль проект, который имеет более чем 3 300 файлов в одном только 'веб-' проекте (плюс 11 блоков поддержки). Одна вещь, которую я проектирую, состоит в том, как MVC решительно сократит количество физических файлов вниз приблизительно к 310 или около этого. Как? Поскольку я переезжаю от, "вот одна страница. Вот другая страница". к "вот функция, я хочу реализовать" образ мыслей.
Путем рассмотрения страниц, поскольку функция, которую Вы пытаетесь выполнить, Вы вместо этого, начинает части абстракции той страницы в общую функциональность.
MVC может значительно масштабироваться с этим образом мыслей, потому что теперь у Вас есть шаблон для способа, которым Вы хотите, чтобы он посмотрел, просто необходимо реализовать другую "функцию" для изменения вида того Представления (HTML), Вы хотите представить. Никакая 2-я страница, никакие дополнительные средства управления, и т.д.
Теперь, что касается "никаких веб-элементов управления", поскольку Вы упомянули: снова, это призывает к другому образу мыслей. Существует HtmlHelper, который используется для основного рендеринга и кодирования. Я использую то же понятие с абстрактным классом под названием MyProjectHelper, который представляет мои "функции" на страницу (functions=code).
Например, я всегда создавал Управление сервером для своего DisplayNames в прошлом. Это позволило мне управлять способом, которым DisplayName показали, особенно с переключателем к Подключению Facebook и другим вещам. С MVC я больше не использую "управление сервером", но "функцию" на ViewModel для рендеринга того текста: CollegeProjectViewModel. RenderDisplayName (). Так как это - только часть уровня UI, это представит Привязку по мере необходимости с любыми опциями, которых я желаю (конечно, краткий обзор наследован CollegeProjectViewModel, который берет на "основном" текстовом рендеринге).
Сила MVC заключается в способности больше не потребовать "веб-страницы", но вместо этого "функционирует" или методы того, что Вы хотите сделать со своим сайтом. Путем изменения на этот образ мыслей действительно можно масштабироваться с как многие метод, который Вы создаете на своих Контроллерах. Это действительно ускоряет вещи в массовом масштабе IMO.
Среди многих преимуществ для использования MVC удаление пожирателя ресурсов состояния отображения.
Если Ваше приложение Веб-формы действительно крупно и использует много объектов серверной стороны, которые чрезмерно увеличивают размер Вашей строки с состоянием отображения, то MVC может на самом деле помочь Вам, даже при том, что может занять больше времени разработать.
На обороте этого, быть в поисках.NET v4.0, который позволит Вам управлять состоянием отображения на уровне управления вместо только на уровне страницы. Это сделает MVC еще менее приемлемый в целом.
Я думаю, что Вы правы, что потребуется Ваше время команды для адаптации к новой технологии, и это займет дополнительное время в ближайшей перспективе.
Я не начал бы использовать MVC в производстве, пока не некоторые достойные книги, и у команды был шанс прочитать книги и играть с технологией. Иначе кажется, что Ваша команда разработчиков потратит много скринкастов наблюдения времени и рыбалки для документации.
Я пришел из веб-разработки (как и вы), с 1,0 до 3,5 , Когда я обнаружил MVC (CTP), мне потребовалось около 6 месяцев, чтобы убедить моих сверстников (и моего босса), что это путь.
Некоторые из моих аргументов:
Хотя # 6 немного субъективен, но я попытался доказать это путем создания прототипов. Для своего прототипа я создал простое веб-приложение для панели мониторинга, используя веб-форму и asp.net mvc. Я показал результат своим сверстникам и моему боссу, а также сложность построения и обслуживания каждого из них. В конце, Мы переносим нашу основную методологию с веб-формы на MVC.
Это правда, что требуется некоторое время, чтобы «разучить» некоторую парадигму веб-формы. Но как только вы получите его, MVC станет намного проще, и вы сможете работать с ним.
В веб-форме, да, это мощно, но часто в больших проектах, мы тратим много времени, пытаясь «настроить» или «заставить» серверный элемент управления вести себя и работать так, как мы этого хотим - и как сложность системы возрастает, сложность этой настройки также возрастает в геометрической прогрессии.
TRUE AJAX также довольно сложен в веб-форме. UpdatePanel играет свою роль, но у вложенных панелей обновлений есть и свои проблемы.
Для меня и моих сверстников, все сводится к возможности контролировать наш HTML / code / AJAX - вместо того, чтобы автоматически генерировать 90% фреймворком, но нам нужно потратить много времени и усилий, чтобы получить остальные 10%.
ASP.NET MVC, в сочетании с jQuery и вашей предпочтительной средой бизнес-уровня или ORM чрезвычайно эффективны. На сегодняшний день мы выпустили 3 рабочих выпуска с ASP.NET MVC, и все они работают хорошо - черт возьми, посмотрите на stackoverflow.com (он использует MVC, кстати).
Я работал над проектом MVC в моей последней компании в течение 6 месяцев (мы использовали сборки CTP и, в конечном итоге, бета-сборки). Поначалу это было весело и захватывающе, и казалось, что мы действительно что-то поняли. Как и многие разработчики .NET, мы устали от дырявых абстракций веб-форм.
Однако со временем мы начали сомневаться в своем решении. На разработку пользовательского интерфейса ушло около 80% + нашего времени. Нам пришлось создать весь наш интерфейс с нуля. Половину времени казалось, что мы изобретаем велосипед заново. Большая часть нашего Rich UI пришла из JQuery в сочетании с Custom HTML Helpers, которые было интересно разрабатывать, но требовало много времени.
Были и другие проблемы, с которыми мы столкнулись, например, необходимость сопоставления DTO-подобных объектов с нашими бизнес-объектами ( получен из репозитория, поддерживаемого NHibernate) в представления. И наши контроллеры, которые, по-видимому, должны были быть легкими и простыми в обслуживании, становились все более загроможденными, и мы постоянно спорили о правильном способе реализации наследования контроллеров.
Оглядываясь назад, я чувствую, что все проблемы, с которыми мы столкнулись, были вызваны к нашему отсутствию опыта и понимания MVC. Нам всем понравилась идея MVC, но у нас просто не было практического опыта и ноу-хау, чтобы эффективно использовать ее в том, что я считаю очень сложным (представьте себе что-то вроде Sales Force, но с лучшей отчетностью). .
- ОБНОВЛЕНИЕ -
Использовал его в прошлом месяце для работы над очень маленьким проектом, и пока все идет гладко. Работать с ними намного проще, чем с версиями CTP, которые я использовал год назад. В настоящее время я ищу собственное решение для сложных " Тем не менее, динамические данные относились ко мне должным образом, и я как бы разрываюсь между 2.
- ОБНОВЛЕНИЕ 2011 -
После нескольких проектов MVC разного размера за последний год или около того, я стал чем-то вроде перерабатывать. Все настоящие проблемы, которые у меня были с ним, в основном были решены в последних версиях (2 и 3), особенно те, которые касаются проверки модели и привязки к представлениям и из них.
Однако одно: это все еще может быть немного утомительным для создания высокоинтерактивных сеток данных, что все еще несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.
Тем не менее, динамические данные относились ко мне должным образом, и я как бы разрываюсь между 2.- ОБНОВЛЕНИЕ 2011 -
После нескольких проектов MVC разного размера за последний год или около того, я стал чем-то вроде перерабатывать. Все настоящие проблемы, которые у меня были с ним, в основном были решены в последних версиях (2 и 3), особенно те, которые касаются проверки модели и привязки к представлениям и из них.
Однако одно: это все еще может быть немного утомительным для создания высокоинтерактивных сеток данных, что все еще несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.
- ОБНОВЛЕНИЕ 2011 -
После нескольких проектов MVC разного размера за последний год или около того, я стал в некоторой степени новообращенным. Все настоящие проблемы, которые у меня были с ним, в основном были решены в последних версиях (2 и 3), особенно те, которые касаются проверки модели и привязки к представлениям и из них.
Однако одно: это все еще может быть немного утомительным для создания высокоинтерактивных сеток данных, что все еще несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.
- ОБНОВЛЕНИЕ 2011 -
После нескольких проектов MVC разного размера за последний год или около того, я стал в некоторой степени новообращенным. Все настоящие проблемы, которые у меня были с ним, в основном были решены в последних версиях (2 и 3), особенно те, которые касаются проверки модели и привязки к представлениям и из них.
Однако одно: это все еще может быть немного утомительным для создания высокоинтерактивных сеток данных, что все еще несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.
особенно те, которые имеют дело с проверкой модели и привязкой к представлениям и от них.Однако одно: создание высокоинтерактивных сеток данных все еще может быть немного утомительным, что все же несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.
особенно те, которые имеют дело с проверкой модели и привязкой к представлениям и от них.Однако одно: создание высокоинтерактивных сеток данных все еще может быть немного утомительным, что все же несколько проще в WebForm. Тем не менее, существуют сторонние предложения, которые предоставляют полезные расширения MVC, что позволяет не беспокоиться об этом. Лично я использую предложения Telerik для больших целей.