はてなキーワード: Perlとは
はじめは、書院で書いてた日記をフロッピー経由でパソコンに移して、ホームページビルダーにコピペするところからだった。
ソース表示の時に出てくる暗号じみた文字列内に、レンタルCGIのカウンターをつけるため、おっかなびっくり1行加える。
普段は全部GUI上で完結。ソースなんて可能な限り見たくない。
その後、DreamWeaver+Fireworks4のセットを1万円台後半で手に入れて(その後のVerでぼったくり価格に変貌)、画像のスライスを使えばどんなレイアウトでも作れるようになった。
近所の人から製作を頼まれるようになったので、お金をもらって作ることに。
そういう作業にようやく慣れてきたところで、どっかのエラい人が「今後はXHTMLとCSSです。コンテンツと装飾を分離します」と言っているらしい。
なんかそれをやらないと業者的にナメられる気配が濃厚。
仕方が無いので覚える。せっかく今のままでも普通に見れるのを作れるのに、めんどくさい。
というかこれ、GUIで作れないの?今時手打ちってどうなのよ。能率激減。
さて、それはそれとして。
プログラムやれたらもっといろんなことができるんだろうなあ、と思い続けて数年。
フリーのCGIに言葉の置換コードを1行コピペすることから取っ掛かりを得て、ようやくプログラムアレルギーをちょっとだけ克服。
その後さらに数年かけて、Perl・PHP・MySQLで目的の物をなんとか作れる程度まで覚えることができた。
で、今度は「美しいコード」だそうで。
メリットが無いと意欲も湧かないので、教えてください(教えて君)。
それにはどういうメリットがあるの?
自前のブログをもっておらず、したらばに長文を書き込むのは不便なので、こちらをお借りします。
2月1日ころ、バリュー・ドメイン カスタマーサポート様よりサイトが高負荷であるとのご指摘がありました。
ご指摘のスクリプトには、利用者が表示する項目を選べる機能がついており、その機能を利用する→選択項目に一致するキャッシュが無いのでDBアクセスを行います。この機能の利用者が増えたことより、DBアクセスが多く発生し、その結果高負荷に繋がったと考えられます。
対処としてこの機能を凍結し、またサイト全体のDBアクセスの見直し等を行いました。
関係各位にご迷惑をおかけしましたことを、お詫び申し上げます。
現在はサポート様よりメッセージがあり、対処の確認待ちとのことです(通常:48時間??1ヶ月以内とのことです)。
http://pc11.2ch.net/test/read.cgi/hosting/1201260968/339-
339以降、私であるかのように振舞い、酷いレスをしている者がおりますが、私ではありません。私は1度もこのスレッドに書き込みをしておりません。
なりすまし者が事実と違うデータをあげておりますので、その点を訂正します。
339 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/02/03(日) 01:31:35 0
s4で規制中
よくみとけよ
転送量は全然範囲内
負荷は0PT
モジュール版PHPだけでなく、CGIPHPやPerlも使用しており、0ptではありません。 → http://wwwwwwww.ws/image/huka0.jpg
344 名前:339[sage] 投稿日:2008/02/03(日) 02:23:03 0
DBを使用しております。
369 名前:339[sage] 投稿日:2008/02/03(日) 21:08:34 0
まぁいいけど、負荷は0PTです。
アクセスは日/20万??ですが。
ほんとここって馬鹿が多いね
負荷は0ptではありません(上記参照)。アクセスは10万/日前後です。 → http://wwwwwwww.ws/image/day.jpg
384 名前:339 ◆2OeQZyA6dg [sage] 投稿日:2008/02/03(日) 22:37:44 0
1回も書いたことないってのは嘘と認めます。
なぜあのように書いたかと言いますと、偽者が湧いたからです。
339と344の書き込みは自分です。
キャッシュは60分で取得しています。
ご迷惑をおかけしました。
鳥だけつけて以後ROMに戻ります。
coreサーバーは最悪です。
392 名前:名無しさん@お腹いっぱい。[] 投稿日:2008/02/03(日) 23:04:03 0
>キャッシュは60分で取得しています。
これ本当だし本物だろうなw
キャッシュ保持間隔は60分ではありません。おそらくxrea等の仕様でcronが1時間に1回程度のため、60分という数字が出たのだと思いますが、更新にcronは使っておりませんので、60分ではありません。
395 名前:339 ◆2Ow5YRidyI [sage] 投稿日:2008/02/03(日) 23:26:47 0
>>384を認めるなら、したらばのレスが滑稽に見えるな
名前欄の消し忘れでしょうか?
またブラウザでアクセスすると、Smarty→CacheLite→DBの順にアクセスする仕様です。
以上と、執拗ななりすましと自演による叩き、またなりすまし者が自分のサイトの仕様をのべているという仮定で、xreaかcoreserverで運営している類似アンテナサイトさんなのではないかなぁと、個人的には考えています(xrea等でのアンテナサイトの仕様もわかっておられるようですし)。
またDBを使っておらず(DBじゃなくてもデータとしてRSS記載のURLを保持しない)、現状取得できるRSSに記載されてる内容だけを表示している所、負荷0ptからモジュールPHPのみを使用している所となれば、もう少し絞り込めそうですね。
(上記はあくまでも個人的な推察であり、事実とは異なる可能性があります)
でもね、今さらアセンブリ言語やC/C++を勉強するのは時代遅れだと思う。もちろん、携帯電話などの組み込み産業ではそういった言語はまだまだ健在だし、パソコンで何かを制御したりするようなニッチ産業でも生き続ける、「使える言語」であることに違いない。でも入門者にお薦めするような言語ではない。昔ならBasicじゃ遅いからCかアセンブリ言語で書くという動機があったが、今じゃPerl/PHPでも十分に動作は速い。ちょっとしたGUIを作りたいならTcl/tkか、Javaを使うべきだ。VBもいい。C++&DirectXはよっぽどプログラミングに熱中できる人が使えばいい。あくまでパソコンに限定した話だけどね。
携帯やパソコン制御はニッチだから初心者にお勧めできなくて、GUI作りやすいから初心者にお勧めできるってのがよくわからん。
もちろんLLでおkです。
やっぱり過去のストック量からするとperlが圧倒的だよね・・・。
ちょっくらperlで進めて慣れてきたら同じ事をRuby側で覗いてみるって流れの方がいいか。
その後でどっちを深掘りするか決められればいいかな
そのまえに、ローカル環境でテストする方法を解説した方がいいと思う。
(ローカルサーバ立てたり、Cygwin使ったりするのは初心者には酷かな?)
インターネット上のサーバでいきなりテストすると、バグで周囲にどんな影響を及ぼすか分からないから。
や、ごめん。
あくまでその2択だったらの話しね。
個人的には気軽にはじめたいならPHPでいいと思うよ。
PHP5からならrubyは比較的なじみやすい。
正直ぺーる(?)は、自分はあまりやっていないけど、他の言語と似てるっていう既視感があまりない。
ファイルの読み書きに特化しているというかなんというか…
ファイルテスト演算子みたいなインターフェイスって他の言語であったっけ??
なんとなくFORTRAN覚えるぐらい分岐された網だと思うよ。
ただ、ぺーる(この言い方気に入った・・・)はもう下草は刈ってあるので歩きやすいんじゃないかな。
ジュンク堂みたいな大型書店にいって一番本の種類が多い言語を始めるのが入門者には吉。
rubyは自分でナタもって自分で道をつくって進める人にしかまだ無理だとおもう。
そういう意味で入門としてはperlかPHPからはじめるのがいいんじゃね。
今Rubyをやるメリットってこの後rubyがメジャーになったとき第一人者になれるという点なんだけど、
初心者がやっても地力の点で後続から入った慣れた人に抜かれてその優位性を確保しつづけられない。
追記:
あ、あくまでLLの話しね。
ぺーるもphpも所詮はLLだから、本屋にいけばマーケットのサイズもおもずと察せられるとは思う。
こんなに盛り上がるのはここがLL界隈だからというだけだとおもう。
低級言語で頑張って"Hello World"作ってた自分から見ると、Java/PHP/Perl/Rubyのような超高級言語でさくさく高度なWEBアプリケーションを作ってる人がとても羨ましく見えると同時に、「大した苦労もしないで、俺はやったぞみたいな顔するんじゃねえよ。」とついつい思ってしまうことがある。アセンブリ言語ときたら比較命令を発行するたびに分岐先ラベルをいくつも定義しないといけないような面倒臭さがあった。それでも、それ以前のハンドアセンブル組や、機械後を生で見たり、パンチカード使ってたような人達から見れば甘いと思うだろう。
と、俺のひがみを書いてみるテスト。
でもね、今さらアセンブリ言語やC/C++を勉強するのは時代遅れだと思う。もちろん、携帯電話などの組み込み産業ではそういった言語はまだまだ健在だし、パソコンで何かを制御したりするようなニッチ産業でも生き続ける、「使える言語」であることに違いない。でも入門者にお薦めするような言語ではない。昔ならBasicじゃ遅いからCかアセンブリ言語で書くという動機があったが、今じゃPerl/PHPでも十分に動作は速い。ちょっとしたGUIを作りたいならTcl/tkか、Javaを使うべきだ。VBもいい。C++&DirectXはよっぽどプログラミングに熱中できる人が使えばいい。あくまでパソコンに限定した話だけどね。
プログラミングするのは何もパソコンだけじゃないんで。マイコンとか一杯あるから。線と線をつないで、発行ダイオードとかをピコピコ光らせるの。完成すると楽しいよ。よく、はんだごてあてすぎて、部品こわしちゃうけど(汗)。
もし、私が「アイツ、○○なんて言語使ってらー」なんて言って来たらぜひ、「○○言語を使うと、○○が簡単に記述できて便利だよ。」と、そのとき使ってる言語の利点を教えてください。私も所詮、いま使ってる言語のことしか知らないんで、ついつい、違う言語には拒否反応を起こしてしまうんです。
ふむ、そっか
正直複数の言語を覚えるほど余裕もなくてというか中途半端になってしまいそうで、一つをマスターして他は必要な時に付随できるぐらいになれればと。
例えばperlでCGI作るときに必要に応じてjavascriptを派生して覚える見たいな。
やっぱりperlなのかなぁー、ここ最近のPHP論争見てるとperl派の必死さを見てちょっと引くんだよねw
だったらまだ発展途上のRuby派の方がいいのかなーなんてね。
その二択しかないならぺーるじゃないの?
Rubyは初心者が勉強するにはまだ教科書になるような本もソースも少なすぎるよ。
使える人もすくないしね。
ぺーるだったらもう一巡した感じなので、勉強するにはいいんじゃないの。
perlはx86からx64に変えたりWINDOWSからMACやLINUXに変えたりしてもコンパイルしなおさなくていいということ?
Rubyは他の言語を知らないと良さがわからない(笑)とかぃゎれたから、PHPとPerlもちょっとだけさわってみたょ。
とりあえずPHPでSNSとか作ったりして遊んでた。そしたら、PHPちょーかんたん。まぢやばいあれ。
だけどぺーる?ってなに?あれ?もうまぢきもい。subとかmyとかlocalとかなに?$_とかまぢ意味不明(笑)
それにPerl使ってる人はもっとキモイ。PHPとかはかっこいいデザイナーとかがバリバリ使ってるイメージだけど、Perlとかサスペンダーつけた変なおぢさんとか、変な会社とか意味不明な売りでやってる会社が使ってるくらいのイメージしかない(笑)
同意だよ。
初心者が本当に注意しなければいけないのは、スクリプトの脆弱性よりもサーバーのセキュリティ。
PHPなら大抵どこのレンタルサーバーも利用可能なので殆ど問題がない。
なにがいいって現段階においてはPHPは非常に多くの人に使われている。
だからもし見当違いなことをやっていたら注意してくれる人がいっぱいいる。
そして何よりも大きいのはサーバー運営業者などがノウハウを吸収しているということ。
PHPでシステムコマンドなんかは大体止められているしRFIなんかの攻撃に対しても不正なファイルが埋め込まれたりすたら通報してくれるところもある。
現段階のRubyでそれができるだろうか?
大手のレンタルサーバーでさえまだ設定があやふや。
そのままじゃ動かなかったりしている。
じゃぁ自前サーバーならいけるのかというと、正直初心者には無理なんじゃないの?
Mongrelあたりを入れて、あれ、これメモリ漏れてねぇ?とかそういう心配をしたり、24時間監視できるわけがない。
まだ「いいえ」なんじゃないの?
Rubyをちゃんとできる人や教えられる人はまだ少なすぎる。
PHPをぐだぐだ言うひとはちゃんとできるひとなのかな?
どうなのよ?
まあ異論はあるかもしれないが。。
あと、こっちは、一般的に同意をえられるとおもうんだけど、
スクリプトが垂れ流す脆弱性よりもroot権限のっとられたマシンの方が怖くね?
んでもって、遥かに有害だよね。
そんなに言うならSQLインジェクションの穴のひとつでも見つけて報告してごらんよ。
SQLインジェクションなんて、DBに接続ができるようなレベルになれば最近のマニュアル本には当たり前に書いてあるじゃない。しかもこれは何もPHPに限った話しじゃないじゃない。
穴なんて時間の経過とともに増えるんだから、メンテナンスされてないサービスのほうが怖いわけですよ。
ローカル言語やサーバー使ってそのままになってしまうほうが最悪なんじゃないかな。
もし、素人がぐだぐだにつくったPHPサービスとかで問題があるとすれば・・・
・SQLインジェクションで中の情報が漏れる(そんなサービスに漏れて大切な情報登録するなよ)
・メール送信系でヘッダー偽装でスパムの踏み台にされる(これは意外と多いかもしれないね)
・クローラーが他のサーバに負荷をかけまくる
まあどれもPHP”だから”というわけでもないよね。
97年頃にはperlだって掲示板やアップローダーだって穴だらけだったじゃない。
coderedがでるまでiisで建ってたサーバーだって山ほどあった。
そのころにはSQLインジェクションに対応していないサイトは本当に簡単に見つけられた。
初心者は主流からはいるのがいろんな意味でみんなのためじゃない。
今の主流はphpということでいいんじゃないの?
PHPは発展期
RonRは成長期(すくなくともあと1年ぐらいは)
perlは爛熟期
あとは・・・
pythonからColdFusionのにおいしてない・・・?
あと、なんかLLってあったっけ?
curlがなんかいまさらだけど脚光をあびるような予感がしている。
ところでさ、
PHPを批判しているような人はPHP6の仕様とかちゃんとフォローしてるのかね?
そもそも何かを作り上げることができる人というのは非常に少ない希少種なのに、
そこに入ろうとする前途ある人達のモチベーションを使用言語がどうこうと、
挫こうとするのはなんか憤りを感じるよ。
Matzみたいな人がそれをやってどうするんだよとか、ちょっと思った。
http://www.rubyist.net/~matz/20080126.html
そもそもMatzのこの一文が事の発端。原文ではPHPこきおろしってわけではなく
「PHPまぁ、イケてるよ!だけど落し穴が多いから十分気をつけてほしい!」くらいのノリなのに。
http://mindblind.net/2008/01/24/attacking-php/
次。
http://blog.livedoor.jp/dankogai/archives/50993137.html
>>PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い<<
まぁ、でもあらかた同意。
--
私的まとめ
PHPは確かに素敵な言語ではあるが、その裏には十分気をつけておかなければいけない事が沢山ある。
脆弱性の高いWEBアプリケーションが多く溢れる現状を見つめ、より多くの有用な情報を
また、WEB業界全体のこういった無駄な論争が多い事態の改善として、
僭越ながら私の意見を述べさせてもらうと
http://www.rubyist.net/~matz/20080126.html#p04
趣味でやってるプログラミング初心者の立場で言わせてもらう。だいたいな、あんたらプロのプログラマが小難しい顔してセキュリティセキュリティ言うもんだから初心者プログラマのセキュリティ意識がまったく向上しないばかりか、よけいに低下するんだよ。ごちゃごちゃ言われたり叩かれるのはイヤだけど、眼前の問題はプログラムで解決したいってヤツは耳塞いで黙ってPHPでやりたいようにやるんだよ。何が「楽しいRuby」だよ。「Webアプリケーションをなめるな」ってその時点でもう全然楽しくねーだろが。
それでこれだよ。
http://d.hatena.ne.jp/essa/20080130/p1
もう萎縮萎縮!初心者超萎縮ですよ。「あーセンコーうぜー。隠れてタバコ吸おう」って高校生の心境だよ。難しい顔して訳知り顔でかっこつけてるヤツばっかりじゃねーか。おれだって趣味でやるとはいえセキュリティの事はけっこう勉強したよ。XSSだのSQLインジェクションだのなんだかんだ。でもこの手の説明って本当に初心者には分かりにくい説明ばっかりで、高木浩光にしたって長い上に何言ってるのかさっぱり分からない。肝心の初心者に声が届いてなくて、わかってるもん同士で「うむうむ、セキュリティは大事ですなぁ」って仲間ごっこしてるだけじゃねーか。阿呆か。そんなに大事なら分かりやすく説明してみろっての。
だいたい、初心者がお手軽にPHPで作ったウェブアプリのせいで実際にどんな被害が出たんだよ。具体的に。おれの知ってる限りじゃこの手のウェブアプリ攻撃で本当にイヤだな、と思ったのははまちやのせいでダイアリー勝手に更新されたとか、それくらいしか記憶に残ってねーよ。それだって作ったのはプロじゃねーかよ。確率的には低い「初心者がPHPで作ったウェブアプリの危なさ」をさんざん煽ってよ?初心者プログラマ萎えさせて何が楽しいんだよ。くだらねえ。
だからおれは全世界の初心者プログラマおよび潜在的プログラマにこう告げる。PHPでどんどん作れ。Perlとかダメ。クセありすぎ。RubyとかJavascriptはオブジェクト超難しい。だからPHP。セキュリティとか気にするな。そんなもん気にして途中であきらめるよりお前が実際に何か作る事の方が大事だ。もし万が一脆弱性突かれて問題になったら、そんときゃ謝れ。プロが作ったもんだって攻撃される時はされるんだから。反省して、そこで初めてセキュリティの勉強しろ。痛い目見たらイヤでも身に付くから。怖がって最初からやらないより、なにかやらかして学ぶ方が100倍いいに決まってる。
投稿してからスグ気がついてなおしたのに!
みつかってしまった。
どうでもいいけどperlはよくまちがえる。
なんでpearlにしなかったんだろうね。
pearlじゃなくて4文字にしたということだけ頭に残ってた。
でもさ、パールって発音したければ、perlよりもpealじゃね?
parlか。
PHPに噛み付くノリで噛み付いてみる。
システムがperlに依存してしまったFreeBSDは、それを解消するために四苦八苦した歴史があるんだぜ。
大物プログラマになるにはPHPを貶さなきゃいけないらしいぜ。
そうしないとあれな人達の支持を得られないからな。
PHPにはおかしなところがたくさんある。
自分から提案しないと無理だし、技術者が少なすぎて大きな案件は無理。
5、6人で回せるぐらいのをこまごまやっていくしかない。
新規ならまだしも、既存システムとの連携を考えるとRubyとかはまだ工数掛かりすぎ。
Pealなんか開発案件としては昔から極端に小さいものしかない。
はてなやmixiがperlなのはセルフビルドだからであって、
発注元がいたらperlという選択はなかったんじゃないかな。
Perlはちょっと違うと思うけど、RubyやPythonで人材の募集をかけると、
PHPで募集をかけるよりまっとうな人材が取りやすいのはある。