Опишу оптимизации, которые использовал, может кому интересно будет.
Упаковка regexp-ов в массив правил
Кэш по ключу «from + разделитель + to» — т.е. если встречается пара from/to, которая уже встречалась, то сразу отдаются подготовленные actions по данному ключу из массива кэша
Т.к. для кэша надо считать ключ «from + разделитель + to», то можно и проверять сразу всю это строку за один раз одним regexp-ом вида «regexpFrom + разделитель + regexpTo»
Очень понравилось лаконичностью решение Сергея Голуба. Ну и 1-2 места респект, господа. Очень было бы не плохо увидеть статью, где бы Вы рассказали про маски.
Сам я на 16 месте.
P.S. гн zBit Вы на каком месте? По нику не вижу Вас в табличке. Так, помериться просто :)
Это утилита сравнения содержимого файлов, а не файлов на физ. уровне или уровне системы. Поэтому никаких варнингов она кидать не должна. И со своей работой она отлично справилась.
Нужно сравнение на других уровнях — используйте для этого инструмент сравнения файлов, а не содержимого файлов. Такие утилиты сравнивает и методанные и, например, атрибуты файлов. Ибо в этом-же контексте файл с ReadOnly != файлу без него при одинаковом содержимом.
Во-первых, кол-во мышечной массы с силой слабо связано.
Сухих людей встречали? Рукопожатие их чувствовали? А вообще — любимая Вами википедия Вам в помощь про это.
Во-вторых видите сколько наводящих вопросов Вы задали — т.е. сравнивать их просто так — бесполезно — сравнить можно лишь в конкретной ситуации — вы сами на свой вопрос и ответили.
Если вернуться обратно, к языкам — то говорить о том что — PHP или Node в веб лучше — некорректно. Нужно четко обозначить задачу — тогда да, можно сравнить. Но это уже совсем другой вопрос, не так ли?
И давайте продолжим в личке, если хотите — и так тему замусорили.
Эмм… Вы реально все это пишите, или просто поржать? :)
Нельзя сравнить эти инструменты по удобству причинения телесных повреждений, хотя бы потому, что повреждения они оставляют разные — отвертка — колотые, а молоток — давленные :D
А если серъезно — в принципе попытаться сравнить можно все что угодно — полезности только будет ноль. Кто сильнее — акула или медведь? :)
Я могу молотком завернуть болт (тихонько ударяя по шляпке сбоку), могу отверткой. А отверткой я могу лупить по гвоздю и в конце-концов забью его. Понятно, что я замучаюсь — но можно.
На то это и АЛЛЕГОРИЯ а не АНАЛОГИЯ.
Ни надо это путать, и никто, конечно, так поступать с отверткой и молтком не будет.
Но NodeJS изначально заточен под асинхронку и кластеризацию «из коробки» и круг задач у него соотвествующий.
PHP был задуман именно для сайтов, его название расшифровывается даже как Hypertext Preprocessor.
И усилия придется прикладывать — ибо круг задач, хоть и в чем-то похож, но различается. Там вверху коммент есть про Hello world!
Ну и, конечно, для профи и там и там, хоть усилия и будут — но реализовать они все это смогут. Другой вопрос — зачем?
Аналогия — лжива, аллегория — нет. У меня — аллегория. Почитайте значение этих слов на досуге.
И да, как заметил комментатор Выше — это все софистика :)
Просто любят люди сравнивать несравнимое и потом получать кайф от этого, вместо того чтобы сесть, подумать и выбрать нужное, а не лучшее :))))
И еще — полегче на поворотах — я никому ничего не вру. Я ответил Вам на Ваш-же вопрос с моей точки зрения. Вы, я надеюсь, ИМХО видели в моем комментарии.
Да и точек зрения на одно и тоже может быть несколько.
Язык программирования — это нечто большее, чем просто некая программа.
Это и коммьюнити, это и порог вхождение и положение на рынке — если мы говорим это в разрезе бизнеса, а не домашнего сайтика или друзьям похвастаться — оттуда и фигурирование всего этого в моем комментарии выше.
И я бы не сказал, что основная функция NodeJS — это бэкэнд сайтов. Посмотрите типичные задачи, которые на нем решают. А вот PHP, например, наоборот — типичный бэкэнд для сайтов — если уж говорить на Вашем языке.
Все что угодно, написанное на одном языке, можно написать и на другом, если мы не утыкаемся в софт или хард ограничения. Я и на баше Вам сайтик сделаю. Однако есть разница, правда? Надеюсь, какая, Вам объяснять не понадобится.
И да — Node и PHP — это два разных инструмента, заточенные под разные вещи, что не мешает на них реализовать одинаковый функционал — да — однако удобство и окружение языка диктуют определенную область применения.
Забыл дописать в P.S.: Всегда есть инструмент который более подходит для одних конкретных задач и менее для других. Но это не в коем случае не говорит о том, что данный, подходящий инструмент круче другого, не подходящего. Они просто разные. Ибо очень много гиков любят восхвалять то, что модно или на чем они пишут, принижая все остальное. Это не программисты — это гики, ибо программисты пользуются языками как мастер — инструментом. Нужный для нужной задачи. И не пишут статьи «Молоток vs Отвертка».
Если Вам надо написать быстро сайт из 2-3 страниц — я бы не стал его писать на Node.
Не потому, что этого сделать нельзя, а потому что не целесообразно.
Если мне надо написать сайт для бизнеса с хорошей преемственностью и не дорогой поддержкой — я бы не стал его писать на Node.
Не потому, что этого сделать нельзя, а потому что кадров по PHP на рынке в разы больше и они дешевле, как и хостинг распространен выше.
Если надо написать одностраничное распределенное высоконагруженное приложение, я бы стал его писать на Node.
Не потому, что этого нельзя сделать на PHP, а просто потому что это задача хорошо ложиться на Node.
Если мне надо написать высоконагруженное API для какого-то сервиса, я бы не стал его писать на PHP, а выбрал Node или, вообще, Go.
Не потому, а просто потому, что удобней, стабильней и проще.
И еще вдогонку на «подумать» — если у меня штат PHP-программистов, я бы не стал писать вторые две задачи на Node, как и не стал бы писать первые две на PHP, если бы у меня был штат NodeJS-ников.
Надеюсь, понятно.
P.S. Микроскопом вполне неплохо забиваются гвозди, если приноровиться. Но это не повод.
Всегда есть инструмент который более подходит для одних конкретных задач и менее для других.
Для этого есть увеличение масштаба, если уж они мелкие.
Нормально будет видно вполне.
Можно реагировать на ввод цифр, к примеру. В идеале, представление даты само должно меняться при вводе в поле ввода.
Да, при вводе полной даты с клавы, контрол должен рефрешнуться. Я так понимаю, что автор просто это еще не успел допилить, ибо делается на раз-два через oninput/onchange и прасинг даты.
Я помню
А я помню Корветы, ДВК и Роботроны. Но, по-моему, это все давно пора забыть, не? :)))
Тачи на маках охерительные (хоть я маки и не люблю), в старик не пробовал, в вов аренить вполне себе получалось.
Голосовой ввод бывает — но опять-же отдельная узкая тема — не мешайте все в одну кучу.
Или Вы часто на сайтах контролы с голосовым вводом встречаете-используете?
Отправьте тому же Лебедеву на Линч
Это когда это Тёма стал мерилом? Не смешите меня. Кроме того что он был первый и матершинник — на этом его сильные стороны заканчиваются.
Предпроектная работа — это половина всего дела. Здесь она практически не проведена.
Человек сделал и постарался побыстрее опубликовать. Я его вполне понимаю.
Да и трэнд это такой, начиная от игрушек, к которым потом выходят многомегобайтные патчи и заканчивая литературой.
Это не сильно страшно — ну чесались у него руки, бывает — допилит в ближайшее время.
Практически все контролы каленадрей рассчитаны либо под пальцы, либо под мышь — т.к. выбрать дату из текущего месяца еще более-менее реально, а вот выбрать год/месяц/дату, год — это надо (для примера):
нажать «вниз»/«вверх» — открыть календарь
курсором добежать до выбора года
нажать «ввод» — открыть список с годами
добежать до нужного года
нажать «ввод» — выбрать год
добежать до выбора месяца
нажать «ввод» — открыть список месяцев
добежать до нужного месяца
нажать «ввод» — выбрать месяц
добежать до нужной даты
нажать «ввод» — выбрать дату
Кто в здравом уме будет это делать?
Только если это реально необходимо, как и доп.разметка.
Это имеет смысл только если это конкретно нужно на данном сайте.
Какой прок от разметки для незрячих в календаре на сайте с фотками природы (ну или на сайте, где кроме календаря ничего не сделано для незрячих)?
Какой смысл ориентироваться на клавиатуру при 99% пользователей с тачем или мышой?
Цель оправдывает средства — писать все максимально универсально и для всех — Вы тогда проект вообще никогда не выпустите.
Господа, пробный шар уже был — когда понижали стоимость для ввоза — и все все схавали как всегда.
Сейчас уже шар не пробный, даже уже и не шар а пробка.
И будет все как всегда — пошумите, пошумите, комменты гневные попишите и схаваете.
Печально это все, ибо тех кто выступит — единицы.
Если валюту обрушили в два раза и никто не вышел, че уж про такое то говорить.
Очень понравилось лаконичностью решение Сергея Голуба. Ну и 1-2 места респект, господа. Очень было бы не плохо увидеть статью, где бы Вы рассказали про маски.
Сам я на 16 месте.
P.S. гн zBit Вы на каком месте? По нику не вижу Вас в табличке. Так, помериться просто :)
Вас же не смущает, что калькулятор не может видео проигрывать?
Вы ведь за это калькулятор ругать не будете?
Обычно нужно узнать, что изменилось в содержимом файла.
Например, понять, что изменилось в двух текстовых файлах — это крайне распространенная задача. А вот как раз копаться в метаданных — крайне редкая.
Нужно сравнение на других уровнях — используйте для этого инструмент сравнения файлов, а не содержимого файлов. Такие утилиты сравнивает и методанные и, например, атрибуты файлов. Ибо в этом-же контексте файл с ReadOnly != файлу без него при одинаковом содержимом.
Сухих людей встречали? Рукопожатие их чувствовали? А вообще — любимая Вами википедия Вам в помощь про это.
Во-вторых видите сколько наводящих вопросов Вы задали — т.е. сравнивать их просто так — бесполезно — сравнить можно лишь в конкретной ситуации — вы сами на свой вопрос и ответили.
Если вернуться обратно, к языкам — то говорить о том что — PHP или Node в веб лучше — некорректно. Нужно четко обозначить задачу — тогда да, можно сравнить. Но это уже совсем другой вопрос, не так ли?
И давайте продолжим в личке, если хотите — и так тему замусорили.
Давайте с гугла:
Выражение чего-н. какой-н. мысли, идеи в конкретном образе.
И да, не вижу ничего плохого в том, чтобы использовать это в тех. дискуссии. На простых понятиях проще объяснять, но, видимо, не всем :)
Нельзя сравнить эти инструменты по удобству причинения телесных повреждений, хотя бы потому, что повреждения они оставляют разные — отвертка — колотые, а молоток — давленные :D
А если серъезно — в принципе попытаться сравнить можно все что угодно — полезности только будет ноль. Кто сильнее — акула или медведь? :)
Я могу молотком завернуть болт (тихонько ударяя по шляпке сбоку), могу отверткой. А отверткой я могу лупить по гвоздю и в конце-концов забью его. Понятно, что я замучаюсь — но можно.
На то это и АЛЛЕГОРИЯ а не АНАЛОГИЯ.
Ни надо это путать, и никто, конечно, так поступать с отверткой и молтком не будет.
Но NodeJS изначально заточен под асинхронку и кластеризацию «из коробки» и круг задач у него соотвествующий.
PHP был задуман именно для сайтов, его название расшифровывается даже как Hypertext Preprocessor.
И усилия придется прикладывать — ибо круг задач, хоть и в чем-то похож, но различается. Там вверху коммент есть про Hello world!
Ну и, конечно, для профи и там и там, хоть усилия и будут — но реализовать они все это смогут. Другой вопрос — зачем?
Аналогия — лжива, аллегория — нет. У меня — аллегория. Почитайте значение этих слов на досуге.
И да, как заметил комментатор Выше — это все софистика :)
Просто любят люди сравнивать несравнимое и потом получать кайф от этого, вместо того чтобы сесть, подумать и выбрать нужное, а не лучшее :))))
Но одним удобнее делать операцию, которую менее удобно делать другим.
В чем лживость?
Да и точек зрения на одно и тоже может быть несколько.
Язык программирования — это нечто большее, чем просто некая программа.
Это и коммьюнити, это и порог вхождение и положение на рынке — если мы говорим это в разрезе бизнеса, а не домашнего сайтика или друзьям похвастаться — оттуда и фигурирование всего этого в моем комментарии выше.
И я бы не сказал, что основная функция NodeJS — это бэкэнд сайтов. Посмотрите типичные задачи, которые на нем решают. А вот PHP, например, наоборот — типичный бэкэнд для сайтов — если уж говорить на Вашем языке.
Все что угодно, написанное на одном языке, можно написать и на другом, если мы не утыкаемся в софт или хард ограничения. Я и на баше Вам сайтик сделаю. Однако есть разница, правда? Надеюсь, какая, Вам объяснять не понадобится.
И да — Node и PHP — это два разных инструмента, заточенные под разные вещи, что не мешает на них реализовать одинаковый функционал — да — однако удобство и окружение языка диктуют определенную область применения.
Всегда есть инструмент который более подходит для одних конкретных задач и менее для других. Но это не в коем случае не говорит о том, что данный, подходящий инструмент круче другого, не подходящего. Они просто разные. Ибо очень много гиков любят восхвалять то, что модно или на чем они пишут, принижая все остальное. Это не программисты — это гики, ибо программисты пользуются языками как мастер — инструментом. Нужный для нужной задачи. И не пишут статьи «Молоток vs Отвертка».
Если Вам надо написать быстро сайт из 2-3 страниц — я бы не стал его писать на Node.
Не потому, что этого сделать нельзя, а потому что не целесообразно.
Если мне надо написать сайт для бизнеса с хорошей преемственностью и не дорогой поддержкой — я бы не стал его писать на Node.
Не потому, что этого сделать нельзя, а потому что кадров по PHP на рынке в разы больше и они дешевле, как и хостинг распространен выше.
Если надо написать одностраничное распределенное высоконагруженное приложение, я бы стал его писать на Node.
Не потому, что этого нельзя сделать на PHP, а просто потому что это задача хорошо ложиться на Node.
Если мне надо написать высоконагруженное API для какого-то сервиса, я бы не стал его писать на PHP, а выбрал Node или, вообще, Go.
Не потому, а просто потому, что удобней, стабильней и проще.
И еще вдогонку на «подумать» — если у меня штат PHP-программистов, я бы не стал писать вторые две задачи на Node, как и не стал бы писать первые две на PHP, если бы у меня был штат NodeJS-ников.
Надеюсь, понятно.
P.S. Микроскопом вполне неплохо забиваются гвозди, если приноровиться. Но это не повод.
Всегда есть инструмент который более подходит для одних конкретных задач и менее для других.
— Наконец-то повзрослел! Давай!
— Как ты думаешь, кто сильнее, акула или медведь?
Очередное сравнение несравнимого. Все это — лишь инструменты. Определенным задачам — определенные инструменты.
Было-бы клево сделать photoshop-plugin из этого.
Я бы пользовался точно :)
Для этого есть увеличение масштаба, если уж они мелкие.
Нормально будет видно вполне.
Да, при вводе полной даты с клавы, контрол должен рефрешнуться. Я так понимаю, что автор просто это еще не успел допилить, ибо делается на раз-два через oninput/onchange и прасинг даты.
А я помню Корветы, ДВК и Роботроны. Но, по-моему, это все давно пора забыть, не? :)))
Тачи на маках охерительные (хоть я маки и не люблю), в старик не пробовал, в вов аренить вполне себе получалось.
Голосовой ввод бывает — но опять-же отдельная узкая тема — не мешайте все в одну кучу.
Или Вы часто на сайтах контролы с голосовым вводом встречаете-используете?
Это когда это Тёма стал мерилом? Не смешите меня. Кроме того что он был первый и матершинник — на этом его сильные стороны заканчиваются.
Человек сделал и постарался побыстрее опубликовать. Я его вполне понимаю.
Да и трэнд это такой, начиная от игрушек, к которым потом выходят многомегобайтные патчи и заканчивая литературой.
Это не сильно страшно — ну чесались у него руки, бывает — допилит в ближайшее время.
Вы-ж Бетезду не ругаете за это? :D
Кто в здравом уме будет это делать?
Только если это реально необходимо, как и доп.разметка.
Это имеет смысл только если это конкретно нужно на данном сайте.
Какой прок от разметки для незрячих в календаре на сайте с фотками природы (ну или на сайте, где кроме календаря ничего не сделано для незрячих)?
Какой смысл ориентироваться на клавиатуру при 99% пользователей с тачем или мышой?
Цель оправдывает средства — писать все максимально универсально и для всех — Вы тогда проект вообще никогда не выпустите.
А критиковать всегда просто ;)
Сейчас уже шар не пробный, даже уже и не шар а пробка.
И будет все как всегда — пошумите, пошумите, комменты гневные попишите и схаваете.
Печально это все, ибо тех кто выступит — единицы.
Если валюту обрушили в два раза и никто не вышел, че уж про такое то говорить.