mendel

mendel
Рейтинг
232
Регистрация
06.03.2008
Aisamiery:
Да, регулярки вам не пригодятся.

Не, ну они конечно не тьюринг-полные, но могут пригодиться. Не отслеживал этот чемпионат, всё времени нет, но могу представить себе пару кейсов где они могли бы пригодиться в стратегии.

Впрочем вот.

Жили-были... ну допустим восемь слепо-немых лягушек. И набрели они на чашечные весы. Пусть будут обычные, с двумя чашками. И запрыгнули они на эти весы. Но поскольку они слепые и немые то узнать о том на каких чашках они, сколько где и т.п. - они не могут. Равно как и не могут узнать в какую сторону наклон. Лягушки хотят чтобы весы стояли ровно, а значит надо чтобы половина была с одной стороны, а половина с другой.

Задача - запрограммировать поведение лягушек.

Лягушка не имеет никакой связи с внешним миром и другими лягушками.

Лягушка не имеет статическим методов или переменных, не дергает другие классы и т.п.

"общение" с внешним миром идет через один метод. На вход метода подается две переменные - $равновесие и $изменение. Если $равновесие истинно, то всё хорошо, ничего не делаем, везде лягушек поровну. Если нет, то надо улучшать. $изменение имеет три возможных положения - лучше, безИзменений, хуже.

В ответ этот метод возвращает решение нашей лягушки, которое означает прыгать или не прыгать. Если ответ истина - положение лягушки меняется, если ложно - остается как и было. Лягушка может помнить что с ней было, что она решала и к чему это приводило, но пожалуй это всё что она может.

Простейший случай - возвращать случайное значение, и рано или поздно лягушки "напрыгают" равновесие. Но хочется услышать варианты получше ;)

miltorg:
Вы чего? Задание уже новое.

Просто над vbulletin тоже работали программисты с 30-летним стажем и стоимостью часа в 1 евро. Ну я в их кишках копался лет пять назад, так что может уже по 1,5 евро работают, я не вкурсе :) А так то штуки две баксов на них потратил в свое время :)

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

roller:
Имея данный бюджет, стало понятно, что придется выбирать готовую систему и допиливать ее.

Не факт.

Вы техзадание для себя четко продумайте.

Если убрать часть явно необязательных требований и не очень налегать на дизайн и т.п. То вы уложитесь в бюджет с нормальной структурой "под вас". А уже потом всякую красоту можно будет "дозаказывать" вы ведь все равно под это планируете ТЗ. Доработка готового часто выходит еще дороже чем с нуля.

---------- Добавлено 13.02.2017 в 18:49 ----------

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

---------- Добавлено 13.02.2017 в 18:50 ----------

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

---------- Добавлено 13.02.2017 в 18:52 ----------

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

---------- Добавлено 13.02.2017 в 18:53 ----------

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

---------- Добавлено 13.02.2017 в 18:53 ----------

miltorg:
Это только пример. То есть из произвольного текста вырезаем все теги. Оставляем только текст и ссылки.
У меня 34 символа.

echo strip_tags($t,'<a>');

26 символов, и она уязвима как и ваша, например:


$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';
echo strip_tags($t,'<a>');

Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.

miltorg:
Резюмирую. Никто не привёл, даже в качестве примера
miltorg:
Мало того я в задании прямо указывал - что решение через регулярки
miltorg:
Теперь задание для mendel - написать это регулярками - я их люблю.
И повторяю заново - Задание для mendel
miltorg:
Там даже сразу было выделено красным и жирным

Выражение "никто" подразумевает что "пыталось" несколько человек. Что значит слово "сразу" я даже уточнять не буду. А то у вас мозг взорвется :).

miltorg:
Мало того я в задании прямо указывал - что решение через регулярки. Но всем было не до того. Они генерировали тоннны контента вместо того чтоб написать 19 символов.
miltorg:
То есть вы меня тестировали. Тогда я протестирую вас:

Есть домены в виде:
karta-kryma.ru
nomer-aski.ru
icq-besplatno.ru
besplatnyj.ru

Их очень-очень много.

Нужно получить:
http://karta-kryma.ru
http://nomer-aski.ru
http://icq-besplatno.ru
http://

Решение должно быть Конечно же в 1 строку и в этой строке около 19 символов. - я очень трепетно отношусь к чужому времени.

Плюс. 1 строка на ввод
И одна строка на вывод.

Задание индивидуальное. Попрошу никого пока не участвовать.

Слова про регулярки в сообщении с заданием я выделил жирным и красным специально чтобы их никто не пропустил.

miltorg:
Решение должно быть Конечно же в 1 строку и в этой строке около 19 символов. - я очень трепетно отношусь к чужому времени.
Плюс. 1 строка на ввод
И одна строка на вывод.
miltorg:
У меня все домены в строке и внутри скрипта. И эту строку я запросто могу сделать хоть с переносом в начале, хоть без.

Повторяете кому и что?

Задача исключительной телепатии.

Вы в этой теме раз десять писали что способны работать только если вам ТЗ расшифровать до пошаговой инструкции. Собственно неспособность ставить задачи (что себе что окружающим) да еще и следовать им - налицо.

miltorg:
Если бы на моём месте был клиент - он бы был разочарован.

Клиент разочарован когда решение не удовлетворяет его потребностей. В клиентах, деньгах или "начальник сказал нАдА сайД" - не важно. Если клиент настаивает на ошибочном решении то я ему вежливо на это укажу и уточню что же ему нужно реально. Если не получится - ну и ладно. Значит не мой клиент.

miltorg:
Это плохо. Очень плохо.

Плохо не использовать регулярки там где они не нужны?

Ну так давайте сразу на ассемблер перейдем. Я из тех же восьмидесятых что и вы, пусть первую программу написал лишь в 9 лет, т.е. в 89-ом, но на ассемблере пописать приходилось. Как думаю и половине стариков на форуме. х86 не вспомню, я его мало использовал лишь микровставки в паскале, а семейство i808/z80/к580 освежить не сложно).

Всё еще не могу понять троль вы или действительно "такой". На своем пути из девяностых в 21-й век разработки видел многих кто не смог осилить современные тенденции, так что допускаю что "такой".

Sujcnm:
Например делаю фишинговый сайт Банка/Почты/(И другого ресурса без 2х факторной авторизации), подменяю хостс файлик (например подсунув вирусню клиенту). А пользователь привыкший добавлять все и вся в список доверенных сертификатов добавит мой самоподписанный серт. от левого сайта - профит я знаю логин и пароль!

Неа. Если можно подменить hosts то что мешает подсунуть сертификат?

В таком контексте http и https одинаково уязвимы. А если подменить IP например у провайдера или хостера или еще где (8.8.8.8 много кто использует к примеру), то у https еще останется рубеж защиты в виде сертификата (многим поможет, среди опытных - большинству), а http будет подменен.

demonichka:
Жалко, что не можно автоматом продливать. Может со временем додумаются, а то не упомнишь на всех сайтах.

Не используйте платные сертификаты, и не надо будет думать о продлении) ЛетсЕнкрипт продлевает автоматом. Ну а платные как правило письма счастья шлют.

Aisamiery:
Это весь код)))

а, ну да.) Вот за это я и не люблю перл. Слишком много всяких сокращений, что сходу можно и не прочитать особенно если давно не имел с ним дело.

Аккумуляторы и прочее - попахивает старым добрым ассемблером.

---------- Добавлено 13.02.2017 в 15:57 ----------

demiux:
Убираем первый перенос - с таким как правило мы везде и сталкиваемся. И ваше решение выдаст неверный результат.

Не только первый, но и последний аналогично. Мало того, он еще имел наглость сделать по этому поводу замечание(!) Aisamiery мол у того "не по ТЗ" и в конце нет пустой строки с протоколом.)))

miltorg:
Это не баг. Это задание. Олимпиада. Именно это и наводит на мысль про регулярные выражения и подмену символа перевода строки. Но похоже, что регулярные выражения вы "Отчасти ... я уже и не помню."

Регулярками задача не решается поскольку не удовлетворяет требованию "много".

Весь файл в памятьи - признак плохого тона.

Ну и регулярки пусть и незначительно (в пару раз, но в таких задачах это не важно) но жрут больше проц.

Опять таки поддерживаемость регулярок оставляет желать лучшего.

В 2007-ом я писал istio.com на регулярках. Потом в 2014-ом по договоренности с новым владельцем сервиса я делал небольшой рефакторинг, перевел код на yii1, удалил нерабочие сервисы и т.п. Пока сам свои регулярки расшифровал - пару раз психанул. Это помимо того что реально они нужны были в основном только для того функционала который я в текущей версии выкинул. Полгода назад над тем кодом уже другая команда работала, не будем уточнять историю. Я пока вспомнил что там и как когда меня спрашивали - плевался. Минут двадцать ушло разобраться в собственном коде. Вроде и десятилетний код, но я ведь его колупал три года назад. В общем регулярки это мощный инструмент, но по возможности его лучше не использовать (без фанатизма конечно, пару дней назад себе в фреймворке добавлял контрол для выбора иконок fa-* так проще было css одной регуляркой разобрать чем копипастить список иконок по кусочкам. Ну или всякие парсеры лучше делать на регулярках чем на конечных автоматах, но это уже частные случаи).

Всего: 1906