- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Да как бы там вообще не шла речь о языке в ТЗ, а хороший спец, как правило этот тот спец, который выбирает инструмент под задачу, а не наоборот)))
Так задачи то и не было). Задача то она комплексная. Контекста то нет.
Лет семь назад писал одно сервисное приложение. Буквально килобайт 10-20 всего.
Семь языков программирования (не считая html/css которые были там отдельно).
До сих пор работает. Но это извращение в стиле вот этого вот "чарта".
Код неподдерживаемый совершенно. Отчасти потому что половину языков я уже и не помню.
Ваш код не уверен, но милторговский код не проходит под "тз" поскольку не содержит ввода. (К старому маковскому формату перевода строки и юникоду я так уж и быть придираться не буду раз ввода нет).
В общем считаю что мой код на 319 символов
"круче" милторговского на 19 символов
***смайлик_с_языком***
---------- Добавлено 13.02.2017 в 14:48 ----------
Если у вас доменов много, то скорее всего они лежат в файле
Покажите плиз весь Ваш код. а то "доменов много" в моем понимании это например файл-зоны дотком. Если не ошибаюсь там гига 3-4 файлик, если только домены, без служебной инфы. Плохо помню перл, но мне кажется вы задохнетесь по оперативке.
Но оно не даёт пустого http:// внизу
Вот это вот вообще классика психиатрии. Какое практическое применение этого бага вашей кривой реализации?
Бесплатное решение для создания каталога предприятий для WP
Как создать каталог компаний на WordPress не будучи программистом
wordpresseasy.ru/build/sozdanie-kataloga-organizatsij/
...
Код неподдерживаемый совершенно. Отчасти потому что половину языков я уже и не помню.
...
Вот это вот вообще классика психиатрии. Какое практическое применение этого бага вашей кривой реализации?
Это не баг. Это задание. Олимпиада. Именно это и наводит на мысль про регулярные выражения и подмену символа перевода строки. Но похоже, что регулярные выражения вы "Отчасти ... я уже и не помню."
Можете не спорить. Победил я. Зашёл в Excel, ввёл в колонку A строку http://, в колонку B список доменов, в колонку C - формулу "=CONCATENATE(A1;B1)" (19 символов). Нажал Ctrl+Enter - и вуаля! Список готов! 😂
Покажите плиз весь Ваш код. а то "доменов много" в моем понимании это например файл-зоны дотком. Если не ошибаюсь там гига 3-4 файлик, если только домены, без служебной инфы. Плохо помню перл, но мне кажется вы задохнетесь по оперативке.
Это весь код))) Я оперирую словами постановщика :) Я понятия не имею, сколько это много, но скорее всего да, cat захлебнется подачей, но я уже сказал, для файла зоны .com я воспользуюсь sed, он поточный и правила применяет к каждой строке, то есть как бы пофигу какого размера файлик :) Ну а читать построчно может и perl, задачи читать с файла небыло, по этому читаю с STDIN а как туда залетают данные мне пофигу, файл это, или вэб сервер или php скрипт, вообще до фене))
Это не баг. Это задание. Олимпиада. Именно это и наводит на мысль про регулярные выражения и подмену символа перевода строки. Но похоже, что регулярные выражения вы "Отчасти ... я уже и не помню."
Регулярками задача не решается поскольку не удовлетворяет требованию "много".
Весь файл в памятьи - признак плохого тона.
Ну и регулярки пусть и незначительно (в пару раз, но в таких задачах это не важно) но жрут больше проц.
Опять таки поддерживаемость регулярок оставляет желать лучшего.
В 2007-ом я писал istio.com на регулярках. Потом в 2014-ом по договоренности с новым владельцем сервиса я делал небольшой рефакторинг, перевел код на yii1, удалил нерабочие сервисы и т.п. Пока сам свои регулярки расшифровал - пару раз психанул. Это помимо того что реально они нужны были в основном только для того функционала который я в текущей версии выкинул. Полгода назад над тем кодом уже другая команда работала, не будем уточнять историю. Я пока вспомнил что там и как когда меня спрашивали - плевался. Минут двадцать ушло разобраться в собственном коде. Вроде и десятилетний код, но я ведь его колупал три года назад. В общем регулярки это мощный инструмент, но по возможности его лучше не использовать (без фанатизма конечно, пару дней назад себе в фреймворке добавлял контрол для выбора иконок fa-* так проще было css одной регуляркой разобрать чем копипастить список иконок по кусочкам. Ну или всякие парсеры лучше делать на регулярках чем на конечных автоматах, но это уже частные случаи).
s/\n/\nhttp:\/\//g;# 19 символов
print;
Но ведь решение логически неверно.
Берете строку:
строка\n
и заменяете на:
строка\nhttp://
Вы это серьезно? Где в описании задачи сказано что строка ВСЕГДА начинается с переноса?
Убираем первый перенос - с таким как правило мы везде и сталкиваемся. И ваше решение выдаст неверный результат.
Что-то пока никто не завалил работой.
Да потому и не завалили. Как уже выше сказали, никому не интересны однострочники из олимпиад.
Логика должна подстраиваться под входящие данные, проверка ошибок и т.д. А не данные под логику.
Это весь код)))
а, ну да.) Вот за это я и не люблю перл. Слишком много всяких сокращений, что сходу можно и не прочитать особенно если давно не имел с ним дело.
Аккумуляторы и прочее - попахивает старым добрым ассемблером.
---------- Добавлено 13.02.2017 в 15:57 ----------
Убираем первый перенос - с таким как правило мы везде и сталкиваемся. И ваше решение выдаст неверный результат.
Не только первый, но и последний аналогично. Мало того, он еще имел наглость сделать по этому поводу замечание(!) Aisamiery мол у того "не по ТЗ" и в конце нет пустой строки с протоколом.)))
Но оно не даёт пустого http:// внизу
Дает, надо передать последнюю пустую строку, ну или тупо напечатать )))
А вот ваше не дает, как заметили выше, вначале потока, как правило, не бывает переноса строки, тем самым первый домен будет всегда без http
Резюмирую. Никто не привёл, даже в качестве примера, моё решение на регулярках - значит вы их не используете. Это плохо. Очень плохо. Так-как задание было именно про регулярки - на что намекал лишний http.
Ближе всех к истине был Aisamiery.
Остальные не столько решали задачу, а сколько искали ошибки в задании. Если бы на моём месте был клиент - он бы был разочарован.
Aisamiery ставлю зачёт с натяжкой. Остальные не обладают достаточными знаниями в этой области
---------- Добавлено 13.02.2017 в 16:58 ----------
Дает, надо передать последнюю пустую строку, ну или тупо напечатать )))
А вот ваше не дает, как заметили выше, вначале потока, как правило, не бывает переноса строки, тем самым первый домен будет всегда без http
Так вам понравится?:
s/^|\n/\nhttp:\/\//g;
Повторю. У меня все домены в строке и внутри скрипта. И эту строку я запросто могу сделать хоть с переносом в начале, хоть без.
#==========================================
#!/usr/bin/perl
$_=q~karta-kryma.ru
nomer-aski.ru
icq-besplatno.ru
besplatnyj.ru
raskrutka-sajtov.ru
karty-oblasti.ru
vid-ulic.ru
potrebitel-ne-prav.ru
juvelirnyj.ru
radio-onlajn.ru
tury-po-evrope.ru
televidenie-onlajn.ru
but-s.ru
avtomobil-prodazha.ru
vyrazhenija.ru
slushat-radio.ru
~;
s/^|\n/\nhttp:\/\//g;
print;