プログラミングの人工知能の補助の現況
プログラミング、開発者にとって、コードを書く事は仕事です。
今では、日本語の予測変換の様に、IF文や条件式の予測変換も出来るそうです。
私も近々、有料のプログラミングツール「PhpStorm」を有償契約して、人工知能を活用した効率的なプログラミング環境を準備しようと思っています。
2次元配列の生成を人工知能・AIに実行させる「バランスよく」
今は、TeraPadでテキスト入力で、PHPなどのプログラミングを行っています。
10年以上前から存在するTeraPadですが、色分けしてくれるため、非常に見やすいです。
今回、DNSBLチェッカーのDNBBL(ドメインネームシステムのブラックリスト:Domain Name System Black List)の一覧を作るのに、AIを活用しました。
2次元配列を手入力や、TeraPadや秀丸などのエディタで、整形するのは、比較的簡単です。
とは言え、きれいに成形するのは、若干骨の折れる作業です。
特に配列の数が多いと、「,」が抜けて、Syntaxエラー(構文がおかしい)となる事が多々あります。
今回、下記内容をEdgeのBardで、「バランスよく」で指示しました。
42行の配列リストに対して、42行の2次元配列が生成されています。
下記リストをPHPの2次元配列のコードを書いてください。
0spam URLBL Listings (mirror) 0spamurl.fusionzero.com
abuse.ch ZeuS Tracker Domain uribl.zeustracker.abuse.ch
abuse.ro URI RBL uribl.abuse.ro
Abusix Mail Intelligence Domain Blacklist (hidden)
Blog Spam Blocklist (empty.us) bsb.empty.us
Blog Spam Blocklist (spamlookup.net) bsb.spamlookup.net
Brukalai.lt DNSBL black black.dnsbl.brukalai.lt
Brukalai.lt DNSBL light light.dnsbl.brukalai.lt
fmb.la bl bl.fmb.la
fmb.la communicado communicado.fmb.la
fmb.la nsbl nsbl.fmb.la
fmb.la short short.fmb.la
Hostkarma blacklist black.junkemailfilter.com
nvaluement DNSBL ivmSED (hidden)
invaluement DNSBL ivmURI (hidden)
MailCleaner Newsletter URI list nuribl.mailcleaner.net
MailCleaner SPAM URI Blacklist uribl.mailcleaner.net
NordSpam Domain Blacklist dbl.nordspam.com
nsZones.com SURBL ubl.nszones.com
pofon.foobar.hu URI Blacklist uribl.pofon.foobar.hu
Polspam RHSBL rhsbl.rbl.polspam.pl
Polspam RHSBL-H rhsbl-h.rbl.polspam.pl
RFC-Clueless (RFC2) abuse RBL abuse.rfc-clueless.org
RFC-Clueless (RFC2) BogusMX RBL bogusmx.rfc-clueless.org
RFC-Clueless (RFC2) DSN RBL dsn.rfc-clueless.org
RFC-Clueless (RFC2) Elitist RBL elitist.rfc-clueless.org
RFC-Clueless (RFC2) Metalist RBL fulldom.rfc-clueless.org
RFC-Clueless (RFC2) postmaster RBL postmaster.rfc-clueless.org
rjek.com mailsl DNSBL mailsl.dnsbl.rjek.com
rjek.com urlsl DNSBL urlsl.dnsbl.rjek.com
Rspamd URIBL uribl.rspamd.com
Rymsho's RHSBL rhsbl.rymsho.ru
SARBL public.sarbl.org
scientificspam.net Domain list rhsbl.scientificspam.net
SORBS Domain names indicating no email sender nomail.rhsbl.sorbs.net
SORBS Domain names pointing to bad addresses badconf.rhsbl.sorbs.net
SORBS RHS Aggregate zone rhsbl.sorbs.net
Spam Eating Monkey SEM-FRESH fresh.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH10 fresh10.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH15 fresh15.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH30 fresh30.spameatingmonkey.net
Spam Eating Monkey SEM-FRESHZERO freshzero.spameatingmonkey.net
人工知能の応答内容「バランスよく」1
人工知能の応答内容「バランスよく」2
人工知能の応答内容コード「バランスよく」
コードを締めくくる「)」が記述されていないと言う問題があります。
そのくらいならば、人間が補佐してやれば十分ですね。
$list = array(
array("0spam URLBL Listings (mirror)", "0spamurl.fusionzero.com"),
array("abuse.ch ZeuS Tracker Domain", "uribl.zeustracker.abuse.ch"),
array("abuse.ro URI RBL", "uribl.abuse.ro"),
array("Abusix Mail Intelligence Domain Blacklist", "(hidden)"),
array("Blog Spam Blocklist (empty.us)", "bsb.empty.us"),
array("Blog Spam Blocklist (spamlookup.net)", "bsb.spamlookup.net"),
array("Brukalai.lt DNSBL black", "black.dnsbl.brukalai.lt"),
array("Brukalai.lt DNSBL light", "light.dnsbl.brukalai.lt"),
array("fmb.la bl", "bl.fmb.la"),
array("fmb.la communicado", "communicado.fmb.la"),
array("fmb.la nsbl", "nsbl.fmb.la"),
array("fmb.la short", "short.fmb.la"),
array("Hostkarma blacklist", "black.junkemailfilter.com"),
array("nvaluement DNSBL ivmSED", "(hidden)"),
array("invaluement DNSBL ivmURI", "(hidden)"),
array("MailCleaner Newsletter URI list", "nuribl.mailcleaner.net"),
array("MailCleaner SPAM URI Blacklist", "uribl.mailcleaner.net"),
array("NordSpam Domain Blacklist", "dbl.nordspam.com"),
array("nsZones.com SURBL", "ubl.nszones.com"),
array("pofon.foobar.hu URI Blacklist", "uribl.pofon.foobar.hu"),
array("Polspam RHSBL", "rhsbl.rbl.polspam.pl"),
array("Polspam RHSBL-H", "rhsbl-h.rbl.polspam.pl"),
array("RFC-Clueless (RFC2) abuse RBL", "abuse.rfc-clueless.org"),
array("RFC-Clueless (RFC2) BogusMX RBL", "bogusmx.rfc-clueless.org"),
array("RFC-Clueless (RFC2) DSN RBL", "dsn.rfc-clueless.org"),
array("RFC-Clueless (RFC2) Elitist RBL", "elitist.rfc-clueless.org"),
array("RFC-Clueless (RFC2) Metalist RBL", "fulldom.rfc-clueless.org"),
array("RFC-Clueless (RFC2) postmaster RBL", "postmaster.rfc-clueless.org"),
array("rjek.com mailsl DNSBL", "mailsl.dnsbl.rjek.com"),
array("rjek.com urlsl DNSBL", "urlsl.dnsbl.rjek.com"),
array("Rspamd URIBL", "uribl.rspamd.com"),
array("Rymsho's RHSBL", "rhsbl.rymsho.ru"),
array("SARBL","public.sarbl.org" ),
array( "scientificspam.net Domain list","rhsbl.scientificspam.net" ),
array( "SORBS Domain names indicating no email sender","nomail.rhsbl.sorbs.net" ),
array( "SORBS Domain names pointing to bad addresses","badconf.rhsbl.sorbs.net" ),
array( "SORBS RHS Aggregate zone","rhsbl.sorbs.net" ),
array( "Spam Eating Monkey SEM-FRESH","fresh.spameatingmonkey.net" ),
array( "Spam Eating Monkey SEM-FRESH10","fresh10.spameatingmonkey.net" ),
array( "Spam Eating Monkey SEM-FRESH15","fresh15.spameatingmonkey.net" ),
array( "Spam Eating Monkey SEM-FRESH30","fresh30.spameatingmonkey.net" ),
array( "Spam Eating Monkey SEM-FRESHZERO","freshzero.spameatingmonkey.net" )
2次元配列の生成を人工知能・AIに実行させる「より厳密に」
次に、同じ指示内容を「より厳密に」に設定し、実行しました。
下記リストをPHPの2次元配列のコードを書いてください。
0spam URLBL Listings (mirror) 0spamurl.fusionzero.com
abuse.ch ZeuS Tracker Domain uribl.zeustracker.abuse.ch
abuse.ro URI RBL uribl.abuse.ro
Abusix Mail Intelligence Domain Blacklist (hidden)
Blog Spam Blocklist (empty.us) bsb.empty.us
Blog Spam Blocklist (spamlookup.net) bsb.spamlookup.net
Brukalai.lt DNSBL black black.dnsbl.brukalai.lt
Brukalai.lt DNSBL light light.dnsbl.brukalai.lt
fmb.la bl bl.fmb.la
fmb.la communicado communicado.fmb.la
fmb.la nsbl nsbl.fmb.la
fmb.la short short.fmb.la
Hostkarma blacklist black.junkemailfilter.com
nvaluement DNSBL ivmSED (hidden)
invaluement DNSBL ivmURI (hidden)
MailCleaner Newsletter URI list nuribl.mailcleaner.net
MailCleaner SPAM URI Blacklist uribl.mailcleaner.net
NordSpam Domain Blacklist dbl.nordspam.com
nsZones.com SURBL ubl.nszones.com
pofon.foobar.hu URI Blacklist uribl.pofon.foobar.hu
Polspam RHSBL rhsbl.rbl.polspam.pl
Polspam RHSBL-H rhsbl-h.rbl.polspam.pl
RFC-Clueless (RFC2) abuse RBL abuse.rfc-clueless.org
RFC-Clueless (RFC2) BogusMX RBL bogusmx.rfc-clueless.org
RFC-Clueless (RFC2) DSN RBL dsn.rfc-clueless.org
RFC-Clueless (RFC2) Elitist RBL elitist.rfc-clueless.org
RFC-Clueless (RFC2) Metalist RBL fulldom.rfc-clueless.org
RFC-Clueless (RFC2) postmaster RBL postmaster.rfc-clueless.org
rjek.com mailsl DNSBL mailsl.dnsbl.rjek.com
rjek.com urlsl DNSBL urlsl.dnsbl.rjek.com
Rspamd URIBL uribl.rspamd.com
Rymsho's RHSBL rhsbl.rymsho.ru
SARBL public.sarbl.org
scientificspam.net Domain list rhsbl.scientificspam.net
SORBS Domain names indicating no email sender nomail.rhsbl.sorbs.net
SORBS Domain names pointing to bad addresses badconf.rhsbl.sorbs.net
SORBS RHS Aggregate zone rhsbl.sorbs.net
Spam Eating Monkey SEM-FRESH fresh.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH10 fresh10.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH15 fresh15.spameatingmonkey.net
Spam Eating Monkey SEM-FRESH30 fresh30.spameatingmonkey.net
Spam Eating Monkey SEM-FRESHZERO freshzero.spameatingmonkey.net
Spam Eating Monkey SEM-URI uribl.spameatingmonkey.net
Spam Eating Monkey SEM-URIRED urired.spameatingmonkey.net
Spamhaus DBL Domain Block List dbl.spamhaus.org
SPFBL.net RBL dnsbl.spfbl.net
Suomispam Domain Blacklist dbl.suomispam.net
SURBL multi (Combined SURBL list) multi.surbl.org
Swinog URIBL uribl.swinog.ch
The Day Old Bread List (aka DOB) dob.sibl.support-intelligence.net
URIBL black black.uribl.com
URIBL grey grey.uribl.com
URIBL multi multi.uribl.com
URIBL red red.uribl.com
Woody's SMTP Blacklist URIBL uri.blacklist.woody.ch
ZapBL RHSBL rhsbl.zapbl.net
ZenRBL Domain Blocklist d.bl.zenrbl.pl
人工知能の応答内容「より厳密に」1
人工知能の応答内容「より厳密に」2
人工知能の応答内容コード「バランスよく」
全ての行数の配列の応答がありませんでした。
変数名も「$list」から「$array」に変わっています。
57行の配列リストに対して、35行の2次元配列が生成されています。
最後は「…」で終わっています。
まだまだ、人工知能に全面的に頼るのは危険ですが、時間短縮に活用は出来ます。
$array = array(
array("0spam URLBL Listings (mirror)", "0spamurl.fusionzero.com"),
array("abuse.ch ZeuS Tracker Domain", "uribl.zeustracker.abuse.ch"),
array("abuse.ro URI RBL", "uribl.abuse.ro"),
array("Abusix Mail Intelligence Domain Blacklist", "(hidden)"),
array("Blog Spam Blocklist (empty.us)", "bsb.empty.us"),
array("Blog Spam Blocklist (spamlookup.net)", "bsb.spamlookup.net"),
array("Brukalai.lt DNSBL black", "black.dnsbl.brukalai.lt"),
array("Brukalai.lt DNSBL light", "light.dnsbl.brukalai.lt"),
array("fmb.la bl", "bl.fmb.la"),
array("fmb.la communicado", "communicado.fmb.la"),
array("fmb.la nsbl", "nsbl.fmb.la"),
array("fmb.la short", "short.fmb.la"),
array("Hostkarma blacklist", "black.junkemailfilter.com"),
array("nvaluement DNSBL ivmSED", "(hidden)"),
array("invaluement DNSBL ivmURI", "(hidden)"),
array("MailCleaner Newsletter URI list", "nuribl.mailcleaner.net"),
array("MailCleaner SPAM URI Blacklist", "uribl.mailcleaner.net"),
array("NordSpam Domain Blacklist", "dbl.nordspam.com"),
array("nsZones.com SURBL", "ubl.nszones.com"),
array("pofon.foobar.hu URI Blacklist", "uribl.pofon.foobar.hu"),
array("Polspam RHSBL", "rhsbl.rbl.polspam.pl"),
array("Polspam RHSBL-H", "rhsbl-h.rbl.polspam.pl"),
array("RFC-Clueless (RFC2) abuse RBL", "abuse.rfc-clueless.org"),
array("RFC-Clueless (RFC2) BogusMX RBL", "bogusmx.rfc-clueless.org"),
array("RFC-Clueless (RFC2) DSN RBL", "dsn.rfc-clueless.org"),
array("RFC-Clueless (RFC2) Elitist RBL", "elitist.rfc-clueless.org"),
array("RFC-Clueless (RFC2) Metalist RBL", "fulldom.rfc-clueless.org"),
array("RFC-Clueless (RFC2) postmaster RBL", "postmaster.rfc-clueless.org"),
array("rjek.com mailsl DNSBL", "mailsl.dnsbl.rjek.com"),
array("rjek.com urlsl DNSBL", "urlsl.dnsbl.rjek.com"),
array("Rspamd URIBL", "uribl.rspamd.com"),
array("Rymsho's RHSBL", "rhsbl.rymsho.ru"),
array("SARBL", "public.sarbl.org"),
array("scientificspam.net Domain list", "rhsbl.scientificspam.net"),
array("SORBS Domain names indicating no email sender","nomail.rhsbl.sorbs.net"),
...
);