Тема вообще-то про возможное развитие «Российской общественной инициативы», вполне конкретный сайт, во вполне конкретном государстве. Лично мои комментарии исключительно к нему и относились.
От высших чинов ничего кроме запрета интернета ждать не стоит, а то о чем вы говорите, это уже какое-то современное культурное просвещение. Это относится к конкретной личности, а не к государству, этим должны другие люди заниматься, держась от чинов, особенно высших, подальше.
Да не волнуйтесь вы так, все в порядке с контр-мерами, блокирование этих самых сайтов уже работает, не сегодня завтра отключат совсем от вражьего интернета и не будет никакого проникновения, будете жить как порядочный Российский людь.
Для 1000$ как-то много беготни, вместо того, чтобы эти 10 мест обегать лучше лишние пару сотен баксов заработать. К тому же проценты часто зависят от размера депозита, про Украину не скажу, но в России при депозите порядка 10000$ многие банки начинают лишний процент начислять. По моему лучше сначала один депозит до этих 10К довести, а потом уже о диверсификации думать.
Корни по моему больше социального характера, в Индии программеры, как у нас космонавты когда-то были — каждый ребенок мечтает стать программистом, когда вырастет. Так что там может хороших программеров, которые работают по призванию и не меньше, просто они тонут в огромной массе тех, кто пошел просто потому что это модно, хотя сам распоследний гуманитарий.
Далеко не каждый сможет радоваться этим новым реалиям. Вы забываете, что есть определенный порог минимальных врожденных способностей, необходимых для работ слишком сложных для робота. И если сейчас инвалидом вас будут считать только когда у вас нет руки или ноги, то в будущем возможно инвалидом будет человек с IQ ниже 110. И потребуется много времени, прежде чем общество в целом и сами эти новые инвалиды смирятся с тем, что они бесполезны для человечества и все что может для них сделать государство это выплачивать некоторое пособие по инвалидности, дожидаясь когда они тихонько помрут, ничего не сломав и никого не убив.
ЗЫ про IQ я конечно условно, как про некоторый объективный показатель способности к творчеству.
Не слышал чтобы кто-то сошел с ума, из-за того, что стал слишком умным. А вот про факты, когда наоборот, полно данных в различных исследованиях на тему старения, маразма и т.п. Работающие пенсионеры и просто люди которые не дают мозгу расслабляться значительно реже страдают старческим слабоумием, нарушениями памяти и т.п. Мозг в этом смысле не сильно отличается от мышечной ткани — чем больше нагружаешь, тем сильнее становится. Правда нужно понимать что в мозгу «мышца» не одна, а множество их, скажем одна «напрягается» при решении мат. задачек, а при общении другая и если все жизнь «качать» только первую, то деградация второй негативно скажется на работе мозга в целом и может сделать невозможным и решение мат. задачек в том числе.
Не знаком с таким термином, гугл тоже не в курсе, по запросу «компонентная система» что-то там про колонки вешает. Компонентная архитектура тоже не о том, ее можно еще как-то к фронтенду применить, но у нас речь именно о серверной части и в HTML мы никакую привязку к событиям не делаем, так что компонентами их назвать нельзя.
Так или иначе, не соглашусь, что подобный подход затормаживает разработку. В моей практике реально, случаев, когда очень уж сильно хочется условный оператор зафигачить в шаблон 1% от всего проекта, а лет через 5 подобной практики даже это редкое желание уходит. В то время как от Smarty-подобных подходов жжение от батхерта в процессе дебага и поддержки у меня только увеличивалось год от года.
Впрочем я не претендую на истину в последней инстанции, возможно это связанно со спецификой моих проектов и заказчиков (последние расселены от Штатов до Австралии, что провоцирует острое желание научить их самих делать хотфиксы, а не будить меня по ночам, если нужен какой-то срочный апдейт фронтенда).
Еще раз обращу ваше внимание, что я делю проект на логику и шаблоны, не как понятия модель-представление из MVC, а как практические сферы для программиста и для верстальщика (а то и вовсе девушки секретарши, которой надо быстрый хотфикс сделать по требованию босса). Таким образом если вы возьмете XTemplate например — сам класс его будет называться не представлением, а логикой, а шаблон, это HTML файл который передается для создания объекта, с этой стороны тест на формальный MVC не будет пройден, потому что если нам надо будет генерить json, то изменения затронут XTemplate (или его наследника), а мы их обозвали логикой. Если вы хотите придерживаться MVC терминологии — пожалуйста, но внутри представления тогда должно быть еще одно деление, на логику-представления и HTML шаблон.
Главная мысль в том, чтобы максимально отчистить шаблон, сделав его безопасным для редактирования пресловутой секретаршей, как-то так это выглядит в синтаксисе XTemplate: jsfiddle.net/2FWpU/3/
(В JS секцию код на PHP я запихал)
Спорный момент там в том, что имя CSS класса для раскраски приходиться в логику пихать, но это на мой взгляд меньшее зло.
Чтобы вывести несколько строк внутри таблицы, секция с шаблоном строки задается один раз, иначе будет нарушение не только MVC, но и DRY, раскрасить в разные цвета можно через переменную (надеюсь сообразите сами как, теги не работают, чтоб пример написать), за то, сколько раз строку рисовать отвечает логика, а не шаблон. Конечно можно намешать HTML с PHP или псевдоязыком парсера, формально не нарушая MVC, но я не просто так описывал, что дело помимо прочего в разделении доступа \ зоны ответственности верстальщика и программиста.
Форматирование я выношу в логику тоже, конечно хочется чего-нить такого дописать, чтоб хотя бы строки экранировало, да даты через конфиг менялись, но ничто не мешает добавить умный флаг, в назначение значения со стороны логики, сложнее не станет, а чистота шаблона сохранится.
Какое винтажное решение однако. По мне так если в HTML шаблоне находиться что-то кроме HTML, ну и максимум каких-то флагов, вроде {VALUE}, то это уже нарушение MVC. Внутри шаблона не должно быть условий, ветвлений и преобразования типов. Если что-то такое там есть, то верстальщик всегда может поломать логику и пойдет игра в тяни-толкай, когда одни правят баги логики, вторые фронт-енд и так до упора, по кругу.
Под мои принципы подходят самые простые варианты, вроде: www.phpxtemplate.org/ (сам юзаю самописный парсер, но синтаксис почти 1 в 1 как XTemplate)
Вау, а задачка-то отличная, даже в этом посте уже можно запросто отличить людей, которые настроены на решение проблем, от тех, кто настроен на нытье на надуманные темы:
— это не для программистов, а для олимпиадников,
— у меня ничего ни работает, условия некорректные
— нихаачуууу…
и т.п.
А то что после решения требуют оформить почти как в настоящий продакшен с юнит-тестами и т.п., позволит сразу оценить и чистоту кода и подход к декомпозиции на подзадачи и т.п. Почти все, что можно рассчитывать узнать о кандидате в такой короткий срок.
Вы либо меня не поняли, либо упростили пример так, что потерялась сама идея, хранить в первом параметре состояние\контент динамического блока\блоков (того что вы аяксом грузите н-р).
И к слову вместо ?page=1 и ?page=2, можно сделать красивые /page1 и /page2 (нужно будет чутка только в .htaccess подшаманить, чтоб букмарки открывались так, как ожидает пользователь), главная идея статьи избавиться от hash, так что почему не сделать симпатичный URL, вообще без параметров сходу.
Я может придираюсь через чур, но как заметили ниже, статья введение на хабре уже была, раз уж это уже вторая о том же, можно было бы довести до полезного на практике примера.
Все верно, осталось только дописать как хранить динамический контент в event.state, чтобы не перезагружать страницу при нажатиях back и forward, потом убедить автора добавить это в статью и лично я буду абсолютно доволен :)
Если вы пушите событие (первый параметр), то могли бы пояснить, как он может использоваться, благо работает он как положено. А вот второй параметр (title), не работает для большинства браузеров, title страницы надо вручную менять через document.title чтобы работало как положено — опять же не помешает добавить в статью.
ЗЫ про IQ я конечно условно, как про некоторый объективный показатель способности к творчеству.
Лучше по моему сказать нельзя: «Any users affected by the ban might be best advised to topple the Russian government or invest in a good VPN.»
Так или иначе, не соглашусь, что подобный подход затормаживает разработку. В моей практике реально, случаев, когда очень уж сильно хочется условный оператор зафигачить в шаблон 1% от всего проекта, а лет через 5 подобной практики даже это редкое желание уходит. В то время как от Smarty-подобных подходов жжение от батхерта в процессе дебага и поддержки у меня только увеличивалось год от года.
Впрочем я не претендую на истину в последней инстанции, возможно это связанно со спецификой моих проектов и заказчиков (последние расселены от Штатов до Австралии, что провоцирует острое желание научить их самих делать хотфиксы, а не будить меня по ночам, если нужен какой-то срочный апдейт фронтенда).
Главная мысль в том, чтобы максимально отчистить шаблон, сделав его безопасным для редактирования пресловутой секретаршей, как-то так это выглядит в синтаксисе XTemplate:
jsfiddle.net/2FWpU/3/
(В JS секцию код на PHP я запихал)
Спорный момент там в том, что имя CSS класса для раскраски приходиться в логику пихать, но это на мой взгляд меньшее зло.
Форматирование я выношу в логику тоже, конечно хочется чего-нить такого дописать, чтоб хотя бы строки экранировало, да даты через конфиг менялись, но ничто не мешает добавить умный флаг, в назначение значения со стороны логики, сложнее не станет, а чистота шаблона сохранится.
Под мои принципы подходят самые простые варианты, вроде: www.phpxtemplate.org/ (сам юзаю самописный парсер, но синтаксис почти 1 в 1 как XTemplate)
— это не для программистов, а для олимпиадников,
— у меня ничего ни работает, условия некорректные
— нихаачуууу…
и т.п.
А то что после решения требуют оформить почти как в настоящий продакшен с юнит-тестами и т.п., позволит сразу оценить и чистоту кода и подход к декомпозиции на подзадачи и т.п. Почти все, что можно рассчитывать узнать о кандидате в такой короткий срок.
И к слову вместо ?page=1 и ?page=2, можно сделать красивые /page1 и /page2 (нужно будет чутка только в .htaccess подшаманить, чтоб букмарки открывались так, как ожидает пользователь), главная идея статьи избавиться от hash, так что почему не сделать симпатичный URL, вообще без параметров сходу.
Я может придираюсь через чур, но как заметили ниже, статья введение на хабре уже была, раз уж это уже вторая о том же, можно было бы довести до полезного на практике примера.