Pull to refresh
307
0

Пользователь

Send message
Вы мешаете все в кучу. Ждать окончания TCP-соединения, как отметил sumanai, ботам не нужно — пускай оно длится хоть 10 минут, хоть час. Теоретически, вы можете запросить все 4 млрд адресов одновременно, и тогда время сканирования будет определяться самым медленным ответом, а не их суммой. Если вам кажется это не очевидным, то следует начать с изучения того, как работает пакетная передача данных вообще и TCP/IP в частности.

Бот в Интернете не один. На примере McARIS74 представьте, что он не единственный хулиган на свете. Кроме него есть еще как минимум volnov, у которого под подушкой припрятаны свои списки номеров, старательно выписанные им в блокнотик. Пока первый звонит по своим 20, второй звонит по своим. А если учесть, что таких негодяев в мире много, кто-нибудь из них, да и позвонит на ваш домашний номер.
Там что, в БЭ всех покупателей за дебилов что ли считают? Строчный отладчик в 2018г?
Зря вы так, хороший отладчик. А если командная строка не нравится, то к нему есть куча графических интерфейсов на любой вкус и цвет. В том же Eclipse что-то было.
В этом году iCTPEJlOK тыкал по спискам тех, кто не отметил. Так что можно предположить, что и в прошлых годах был бы такой же % получивших, просто пнуть было некому.
так вот, можно взять один аст, и засунуть прямо в него какие-то маркеры, пустые ноды, итп. Но это будет равносильно как если бы ты перемешал HTML+CSS в одном файле
Еще раз, зачем вы мешаете в кучу интерфейс и реализацию? Есть, например, интерфейс AST-узла. Через него нельзя получить никакие маркеры. А есть реализация. В ней может находиться все, что душе разработчика угодно. Могу вам назло FTP-сервер туда засунуть.

На вашем примере HTML+CSS разделение происходит только на уровне некого интерфейса между веб-разработчиком и веб-браузером. Загляните, например, в исходники WebKit — там у DOM-узла (читайте AST-узла) в реализации не то что стили, там даже рендерер свой имеется.
Сейчас у меня нет времени, но давайте на следующих выходных я напишу статью с примером парсера простых математических выражений типа 1 + (2* 1). Пробелы при этом, естественно, будут сохраняться. От парсера какой-нибудь Java этот пример практически ничем не отличается. Чтобы вы не пропустили публикацию, отправлю вам ссылку в личку.
Это решается по-разному в зависимости от других задач приложения. В случае с простым текстовым редактором у вас уже есть некий буфер с оригинальным текстом, который вы выводите на экран. Соответственно, в AST-узлах могут быть проставлены ссылки (в Java — целочисленное смещение относительно начала буфера) на соответствующие им куски кода. Если редактор офигеть какой навороченный (не уверен, относятся ли сюда Eclipse и IDEA, это больше ко всяким Word'ам), то там набираемый текст может храниться в несколько более странном виде, например, rope (как это перевести на русский? :-) Тогда лучше хранить куски текста «вокруг» AST-узлов (которые очень хорошо сжимаются). Почему это не сделано в упомянутых вами программах — не знаю, лентяи, наверное. Я лично реализовывал подобное для одного небольшого конфигурационного языка с Си-подобным синтаксисом (пользователь должен иметь возможность изменить настройки как руками, так и через GUI, и чтобы при этом файл все еще был пригоден для ручного редактирования). Задача, действительно, не очень распространенная (в силу лени других разработчиков), но и не «капец какая сложная», если разработчик имеет привычку думать самостоятельно, а не сдаваться, не найдя готового решения в Интернете. Возможно, мое решение не самое лучшее (потому при случае интересуюсь, как это делают другие), но более детальное описание чем то, что размещено выше, дать не могу, чтобы не деанонимизироваться.

Off topic
Прощу прощения, все никак не удается вспомнить — мы разве с вами знакомы? Почему вы все время обращаетесь ко мне на «ты»?
Интересно, если это «капец какая сложная», то какой эпитет вы подберете для по-настоящему сложных задач? :-)

А AST ничего о сырце до лексера не знает.
Правильнее сказать, интерфейс AST-узлов не знает ничего об исходной структуре. Но это не мешает нам придумать для него любую реализацию — может, у вас синтаксическое дерево вообще в виде записей в SQL-таблице хранится? Тогда очевидно, что реализация узла должна знать, как минимум, первичный ключ записи в таблице.
Не самая простая, возможно. Но и далеко не самая сложная относительно других задач приложения. Просто разработчикам на результат совершенно «по барабану».
В любом случае неприятно, когда все форматирование идет «коту под хвост». Если я поменял в редакторе цвет квадратика с синего на красный, то только blue на red в строго определенном месте он должен заменить. А не выворачивать все шиворот-навыворот.
Я так понимаю, Dr_XaoS под рефакторингом имел ввиду не расстановку пробелов по собственным правилам, а примерно то же, что я описал ниже. Например, есть задача сменить название класса Foo на Bar. Тогда ожидается, что будут заменены только эти 3 символа, а не «покорежен» (как вы нам обещаете в заголовке) весь файл.
Кстати, а зачем тебе сохранять пробелы?
Чтобы получать минимальные диффы при коммите. В частности, страшно раздражают графические редакторы, которые из-за одной незначительной правки корежат весь файл (например, SVG). После нескольких десятков изменений уже практически невозможно отследить кто, когда и что менял.
Самый важный вопрос. Умеет ли это сохранять «незначимые символы», а проще говоря пробелы?
Если они сами при этом не отправят подарок, то да. Иначе — it depends…

А Дед Мороз всегда может написать в личку мне или iCTPEJlOK.
Я уже намекал автору об этом выше (и судя по тому, что поток комментариев резко прекратился, можно предположить, что посыл был услышан). Но конкретно по скобкам — это сейчас один из самых распространенных стилей среди молодежи (что соответствует представленной нам легенде о студенте). А вот некоторые его пунктуационные ошибки весьма и весьма непопулярны… ;-)
имел место быть экспорт hg -> git
А что мешало им перенести в git даты коммитов?
По учебнику — это когда статью и комментарии пишет в виде изложения сторонний человек. В противном случае найти вас будет легче, чем вы думаете (тут очень кстати упомянутый вами «основной» аккаунт).
Очень похоже на то :-)
большого практического смысла в этом я не вижу
Ну вот, а то я уже было испугался, что чего-то не понимаю в этом мире. А оказывается, что и сам автор не может найти своему изобретению практического применения.

Information

Rating
Does not participate
Registered
Activity