Единственное что мне понравилось из твоих идей это проверка расширения перед проверкой названия, тут действительно меньше циклов. Про формат кода - у каждого программиста есть свой стиль, код он пишет по своему. Докажи чем уровень вложенности влияет на производительность?
Как бы там нибыло, я переписал скрипт, зацени.
А вот это вовсе не понял, обьясни пожалуйста:
HackFresse писал(а):Добавление в sets надо дополнительно проверить, при переборе всех conf.file в цикле может проскочить повторное добавление, если один файл назван как "windows ключи активации (для поиска serial keygen patch).zip". Т.е. заносить поисковый ответ в таблицу при первом совпадении из списка, один поисковый ответ - одна запись в таблице срабатываний
Добавлено: 25 фев 2014, 00:16
MaxFox
HackFresse писал(а):Дата нужна обязательно.
адрес хаба со срабатыванием,
nick бота,
ip бота,
список стоп-слов, на которые он отозвался (из секции настроек скрипта). на разных хабах могут быть разные условия, по которым банить
список из Detected files (тут уже непонятно, нужно ли оно. просто дополнить информацию из пункта выше)
Давать возможность добавлять "только своим", выставить лимиты на добавление. это самая простая часть
поставь себе хотя бы notepad++, он ахрененно сворачивает, при необходимости операторные скобки...
Добавлено: 25 фев 2014, 01:07
HackFresse
>>Докажи чем уровень вложенности влияет на производительность?
Сложные структуры сложны для понимания. Их тяжело писать, тяжело модифицировать и наращивать функционал. И тяжело оптимизировать
RoLex писал(а):
А вот это вовсе не понял, обьясни пожалуйста:
HackFresse писал(а):Добавление в sets надо дополнительно проверить, при переборе всех conf.file в цикле может проскочить повторное добавление, если один файл назван как "windows ключи активации (для поиска serial keygen patch).zip". Т.е. заносить поисковый ответ в таблицу при первом совпадении из списка, один поисковый ответ - одна запись в таблице срабатываний
в код заполнения таблицы особо не вчитывался (потому что сложно ), просто указал на возможный нюанс, просто дополнительно проверить. участок про Спойлер
if not sets.user [nick][path][name] then *добавление+обработка* end
да, добавление в таблицу будет один раз
Но зато все следующие циклы будут проходить вхолостую. T.е. если на первом расширении и на первом стоп-слове запись уже создана, то все последующие обработки будут вредной нагрузкой, (count(conf.exts)-1)*(count(conf.file)-1)*все_проверки_и_регулярки. нужен выход из циклов при первом срабатывании.
Это если считать производительность машинную. Но намного дороже производительность человеческая (время, затраченное на понимание и модификацию)
Добавлено: 25 фев 2014, 12:54
RoLex
@ HackFresse
Ты мне одновременно говоришь что ты не знаешь Луа, и тут же говоришь что тебе сложно понять мой код. Учи Луа и хватит выносить мой мозг.
Все нормально в коде заполнения таблицы, у меня все идеально там, это ты просто не понимаешь какую роль там играет return 1 после итерации расширений и названий файлов.
Да и вобще про циклы названий и расширений, функция VH_OnParsedMsgSR() вызывается чаще по запросу юзеров на хабе чем по запросу моего скрипта, она выдает результаты пассивным юзерам на их поисковые запросы, там чаще всего встречается то что мой скрипт никогда не будет искать, потому он скорее всего будет проходить полный цикл без результатов, и это случается несколько раз в секунду.
Не надо меня учить как правильно писать код, я это делаю с 14 лет. То что ты можешь сделать - это дать больше идей по ключевым словам в названиях вирусов.
Добавлено: 25 фев 2014, 16:00
HackFresse
"Ты мне одновременно говоришь что ты не знаешь Луа, и тут же говоришь что тебе сложно понять мой код. Учи Луа и хватит выносить мой мозг." - это абсолютно то же самое, если я скажу "вот ты никак не можешь понять, что я тебе говорю, учи русский язык".
Сложно понять не из-за того, что это LUA такой тяжелый, а потому, что слишком мудрёно на нем написано там, где можно и нужно всё упростить.
потому он скорее всего будет проходить полный цикл без результатов, и это случается несколько раз в секунду.
В этом-то и проблема, что "скорее всего" в том месте, которое выполняется очень часто, а значит, требует оптимального алгоритма. "Скорее всего" от человека, который делает это с 14 лет и несомненно знает про всякие(общепринятые) понятия и техники и про "Докажи чем уровень вложенности влияет на производительность" спрашивает просто ради лулзов.
Кстати, "с 14 лет" вообще не аргумент - я бегать научился (и периодически это делаю) в очень малом возрасте, но почему-то куча людей делает это лучше. Но я не парюсь по этому поводу. Если кто-то скажет лишний раз "чел, следи за дыханием" - "ну, спасибо, уже слежу/постараюсь/зачем следить/ у меня своя методика". И всё, побегу дальше. Или пойду дальше.
Сделать я могу много чего, но весь вопрос в целесообразности.
"Ну-ка сделай лучше" меня тоже не особо зацепит. Более подробно разбираться в LUA у меня пока нету ни желания, ни потребности, мне его особо-то применять некуда. Нету у меня проблемы из первого сообщения в данной теме, нету хаба на verlihub, чтобы поставить туда скрипт выше и оптимизировать (или написать лучше и радоваться).
Я просто человек со стороны, мои сообщения можно игнорировать/забывать сразу после прочтения. У меня нету желания вызывать чью-либо агрессию, но я буду рад, если вместо неё появится азарт что-то сделать для дц.
И было бы очень хорошо, если бы это что-то новое было максимально простым для понимания новичками (которых последнее время почти-то и нету).
Те, кто скрипты писать умеет, развитием и популяризацией дц уже практически не занимаются, а случайно заинтересовавшимся новичкам разобраться очень сложно (что убивает всё желание заниматься).
Добавлено: 25 фев 2014, 16:46
RoLex
Речь идет о 34x3 строках в таблице, итерация которой в Lua проходит за 0,001 секунды. Зачем тут какой либо алгоритм изобретать? Использование ресурсов не увеличилось не капли после загрузки этого скрипта, как и время выполнения, даже на Allavtovo.ru где сидит более 15.000 человек.
Вот Blacklist скрипт написаный мной на Python для Verlihub, который лично у меня на хабе загружает в память 350.000 строк - это другой пример который использует так называемый по твоему алгоритм который не дает скрипту итерировать весь список, на против, он читает А из А.Б.В.Г и итерирует только 255-ю часть всего списка - что действительно полезно. Данный случай действительно влияет на время выполнения и использование ресурсов.
Не надо мне втирать про грязный код, не нравится - не читай. Мне твое филосовство не интересно, забивай голову своими теориями другим подобным тебе людям. Если ты мне докажешь что твой код влияет на производительность хаба в лучшую сторону - я извинюсь, еще раз перепишу скрипт в твоем стиле, и навсегда запомню твой совет. Но до тех пор пока ты мне этого не доказал - лучше не трогай мои больные нервы.
Вот почему, только на русских форумах всегда найдется человек который съест твой мозг, начнет учить тебя жить по другому? Почему этой проблемы не существует на других форумах? Почему?
птока там походу с копаными исходниками и велосипед с уникальным хабсофтом точно не изобретали
Добавлено: 25 фев 2014, 18:23
HackFresse
Мне твое филосовство не интересно, забивай голову своими теориями другим подобным тебе людям. Если ты мне докажешь что твой код влияет на производительность хаба в лучшую сторону - я извинюсь, еще раз перепишу скрипт в твоем стиле, и навсегда запомню твой совет. Но до тех пор пока ты мне этого не доказал - лучше не трогай мои больные нервы.
Другая - более понятная - запись кода влияет на производительность кода в худшую сторону?
Экономия на спичках с записью большой лестницы операторов важнее удобства модификации и расширения ПО?
Был простой нубский вопрос-ответ http://dchublist.ru/forum/viewtopic.php?p=22366#p22366 , а в итоге получилось
Спойлер
Извините уж, раз так быстро и просто получилось и мозг съесть, и на нервах поиграть, и пытаться научить жить по-другому. Хочется как лучше, а выходит как всегда.
даже на Allavtovo.ru где сидит более 15.000 человек.
Тут внезапно оказалось, что в старом платяном шкафу есть вход в Нарнию (dchub://hub2.o-go.ru), так что 15.000 человек больше не вызывают удивления и трепета(а сказочная ли эта страна-хаб -- каждый сам для себя решает). Вот там действительно надо заниматься оптимизацией (но там вообще всё по-другому)
Добавлено: 25 фев 2014, 18:43
flylinkdc
а под lua есть профайлеры - вы под ним погоняйте - сразу должно быть видно узкое горлышко?
p.s.
Я вот даже захотел проверить этот LUA скрипт
но verlihub поднять из git не получилось
скомпилировать смог а вот запустить - нет...
ошибки про etc/ чего-то там и базу...
RoLex - Вы разработчик verlihub?
я к сожалению сильно не следил за хабо-софтом.
rushub/ptoхa под линус у меня поднимались для тестов - быстро.
а тут вероятно бубен нужен.
накидайте полезные линки - как чайнику запускать verlihub из git с нуля?
я может свой dchub://dc.fly-server.ru на него перекину, хотя наличие my-sql не очень нравится,
но вроде пишут что это круто
Добавлено: 25 фев 2014, 18:59
KCAHDEP
HackFresse писал(а):Тут внезапно оказалось, что в старом платяном шкафу есть вход в Нарнию (dchub://hub2.o-go.ru), так что 15.000 человек больше не вызывают удивления и трепета(а сказочная ли эта страна-хаб -- каждый сам для себя решает). Вот там действительно надо заниматься оптимизацией (но там вообще всё по-другому)
Класиво рисуешь. Давай оставим эту тему, если есть предложения по улучшению функционала - пиши, а то что у меня предложение с маленькой буквы - это мое личное.
Кстати, предлагаю заодно обсудить фейковую шару в Грее. Она генерируется весьма похожим способом:
Спойлер
Но вот наш скрипт здесь не поможет, размеры файлов совсем разные. Тут, наверно, надо лингвистический анализ имён файлов проводить
Какие будут идеи и пожелания?
Добавлено: 26 фев 2014, 14:06
flylinkdc
Быстрый ответ писал(а):Кстати, предлагаю заодно обсудить фейковую шару в Грее. Она генерируется весьма похожим способом:
Но тут ведь avi - он не код и не может быть вирусом.
Добавлено: 26 фев 2014, 14:09
Быстрый ответ
flylinkdc писал(а):Но тут ведь avi - он не код и не может быть вирусом.
Конечно это не вирус, просто оять же интересно определять такие вещи автоматически. Пока что приходится всех "большешарников" проверять вручную.
Добавлено: 26 фев 2014, 14:17
flylinkdc
А что вы делаете потом с ними когда определили?
выкидываете с хаба и баните?
Добавлено: 26 фев 2014, 15:11
Быстрый ответ
Да, выкидываем, баним... На самом деле по-разному бывает. Если у него вся шара фэйк, то понятно. Но бывает, что наращивают свою реальную фэйком, вот и думайте, что полезнее - оставить или забанить
Добавлено: 01 мар 2014, 13:33
переподвыподверт
Сегодня заметил, что при поиске видеофайлов в результатах выдаются екзешники...
переподвыподверт писал(а):Сегодня заметил, что при поиске видеофайлов в результатах выдаются екзешники...
Это с каких хабов такие результаты приходят? я что-то не смог такое повторить
Добавлено: 01 мар 2014, 18:02
переподвыподверт
Быстрый ответ писал(а):Это с каких хабов такие результаты приходят?
Сейчас только spammerws.net. В первом случае в придачу были андромеда и spb-hub.ru.
Добавлено: 01 мар 2014, 18:30
flylinkdc
Возможно клиент на той стороне игнорирует этот флаг и возвращает exe
открой шару того юзера - она вирусная?
Добавлено: 01 мар 2014, 18:46
HackFresse
так всё равно же придётся добавлять дополнительную проверку именно во FlylinkDC.
потому что на той стороне могут быть как клиенты, которые ошибочно обрабатывают запросы, так и распространители вирусов, которые будут специально игнорировать этот флаг
Т.е. FlylinkDC должен отображать только то, что запрашивал, фильтруя лишнее
Добавлено: 01 мар 2014, 19:01
flylinkdc
HackFresse писал(а):Т.е. FlylinkDC должен отображать только то, что запрашивал, фильтруя лишнее
ок. это легко делается.
только не думаю что сильно поможет - юзера обычно при поиске не выбирают тип файлов вообще.
Добавлено: 02 мар 2014, 12:00
переподвыподверт
flylinkdc писал(а):юзера обычно при поиске не выбирают тип файлов вообще