「TEST」を含む日記 RSS

はてなキーワード: TESTとは

2011-06-02

インドネシアボカロアルバム製作インタビュー

 Vocaloidismに、インドネシアボカロコンピレーションアルバムを出そうとしているアーティストたちへのインタビュー記事が載っていた。

http://www.vocaloidism.com/2011/05/30/a-very-vocalo-id-interview/

 Google Trendsなどを見ても分かるように、インドネシアを含む東南アジアは実は初音ミクボカロへの関心が高い地域だ。

http://www.google.com/trends?q=vocaloid

http://www.google.com/trends?q=miku

 海外でのボカロ人気というとどうしても米国が目立ってしまうが、アジアでも着実にその根を広げつつある様子が窺える。という訳でこのインタビュー勝手翻訳してみた。

====以下勝手翻訳====

VOCALO.IDインタビュー

 ここ[Vocaloidism]でインドネシアVocaloidシーンについて話すことは普通はないんだけど(正直、話していたら変だけど)どうやらすぐに事情は変わりそうだ。[インドネシアでは]想像力に満ちた音楽心の持ち主たちが集まり、コラボアルバムVOCALO.IDの発売を6月1日に公表した

 このアルバム作成に携わったうちの何人かに、彼らのこと、及び彼らの作品について話を聞いた。さまざまな技術的問題があったにもかかわらず(おかげでYahoo Messengerを使ったインタビューについて価値ある知識を学べたけど)、そこにはたくさんの興味ある発言があった。以下にそれを載せるとしよう。

 Joe MelloVocaloidism主催者、以下JM]「きょうは(あるいは今夜かな)インタビューに応じてくれてありがとう。まず自己紹介と、それぞれが果たした役割について話してもらうところから始めようと思うんだけど」

 Crash Test[以下CT]「僕はcrash testだ。今回はアルバムパッケージとプレマスタリング担当で、あと製作グループREDSHiFTの作曲家もやっている」

 Saizen[以下Sai]「やあ、Saizenだよ。作詞家ボカロユーザーで、 VOCALO.IDにも参加している」

 PK「俺はpowerkidインドネシアボカロコンピレーションアルバムVocalo.ID宣伝担当だ。ボカロユーザーとしては初心者で、今回のイベントにも参加している」

 M2K「うう、おはよ~う…M2Kだ…主催者の一人で、要するにリーダーをやっている」

 JM「じゃあ君がアルバムアイデアを思いついたのかい?」

 M2K「いいや、私だけじゃない」

 JM「でも理論的には君が仕切っているんだろう」

 M2K「私は単にその立場に選ばれただけだよ(笑)…私たちはなにかするときはいつも全員で集まって議論している」

 JM「おっけー。ところでアルバム名のVocalo.ID(.idインドネシアの国ドメイン名はいくつかの候補の中から選ばれたそうだね。実に気の利いている名前だけど、誰が選んだんだい?」

 M2K「ああ、アルバム名はcrash(redshift)とluzzyが選んだんだ。Luzzyが私たちの掲示板に、www.Vocalo.idを新しい掲示板名称したらどうかって投稿したのさ…」

 JM「なるほどね」

 Sai「そ、crashとluzzy。この名前は本当にインドネシア発のVocaloidをよく表していると思うよ」

 M2K「その通り、ドメイン名から来ている…でもみんな…強烈なインパクトがあると言っている。という訳でたまたまアルバム名はluzzyとcrashが共同で(違う時と違う場所で)つけたことになった。私たちはいろいろな名前を挙げたんだけど…選んだのは一つだった」

 JMアルバムの中身についてだけど、REDSHiFTはダンスとポップの組み合わせが好きみたいだね。そう思っていいのかい、それとそうしたスタイルアルバムの特徴になると思っていいのかな」

 M2K「そう…だね」

 PK「そればかりでもない。別にどんなジャンルでもいい」

 JM「それじゃこれ以外のスタイルも期待していいのかい?」

 CT「そうとも」

 JM「他に秘密情報は」

 CT「いくつかのポップ=ロックコンピレーションの中にあるよ」

 M2K「それは素晴らしい、redshift…実に待ち遠しい…」

 Sai「曲名は?」

 JM「どんな情報でもありがたくいただくよ」

 M2K「(笑)さあ、言ってみようか」

 PK「以下は宣伝音声」

http://soundcloud.com/crashtestremixes/mom3_wip-mp3

 PK「曲名は『Month of Music』」

 CT(笑)

 M2K「それだ!」

 Sai「それはリミックスだね」

 CT「このアルバムの代表曲と言えるかな」

 M2K「REDSHiFTはカバー曲を選ぶのがうまいMoMはmeijuniが作ったインドネシアボカロヒット曲だ…。曲順にぴったりだと思うよ。で、最後に彼らは私にこのリミックスプロジェクトコラボしようと持ちかけてきた。そしていっしょにやることになった」

 JM「あと誰が参加しているんだい?」

 M2K「REDSHiFT以外にもいろいろなアーティストがこのアルバム(とイベント)に参加している」

 PK「すばらしい連中だとも」

 M2K「rito-sanとindrahebat、あとそれぞれ音楽スタイルを持っている大勢もいるな」

 CTpg2125を忘れないでくれよ」

 M2K「そう! 彼はこの計画に欠かせない一人だ」

 CT「彼は英語のvocarock製作者だよ」

 M2K「西洋ボカロランキング入りメンバーだ。PGはこのアルバムジャケットにもいくつか描いている」

 JM「よければもう少し個人的なことを聞かせてもらえないかな。音楽家として何に刺激を受けているのかい?」

 M2K「まずREDSHiFT。それからcrash、saizen、PK(笑)

 PK「個人的には音楽そのものに刺激を受けている。そしてボカロを使うことで音楽貢献したいと思っている」

 CT(笑)う~ん、僕は中学ときから音楽制作リミックスを始めていて、そしていつもヴォーカルが必要だなと思っていたんだ」

 Sai「僕にとっては友人かな」

 M2K「^0^」

 Sai「同じ趣味の友人が大勢いてね…(笑)

 M2K「おっけー。私にとって…音楽制作はそれまで決して楽しいもんじゃなかった――ミクを知るまでは。ミクは私のペースも、情熱も、音楽に対する方向性も変えた。思うに私はミクとの恋に落ちたんだと思う。(笑)愛の力ってやつだ」

 Sai(笑)

 JM「そりゃまた」

 Sai「すげえ(笑)

 CT(笑)

 PK「(爆笑)」

 M2K「何だ? おいおい」

 Sai「つまり…一番刺激を受けたのはミクってことか(笑)

 PK「俺にとってはルカだな」

 M2K「他のボカロが来るたびにdokidokiが止まらなくなっているんだけどな」

 JM「さて、重要なところは大体聞いたと思うけど、終わる前にファンに向かって、インドネシア人でも世界中のファンでも構わないけど、何か言いたいことはあるかな?」

 PK「う~ん…何を言うべきかマジに悩むな(笑)。言えるのは『楽しんで』だけか」

 M2K「そうだな(笑)REDSHiFTファン全員に楽しんでもらいたい。私からは…このアルバムで皆が幸せになってほしい

 CT「みんながこのボカロアルバムを楽しんでくれればいいな」

 M2K「彼の3ヶ国語使うボカロはい仕事をしているよ」

 CT「このアルバムに全力を投じているからね」

 M2K「そう、そしてこのアルバム世界中の皆にとって大きな一歩になってくれれば」

 PK「そう祈ろう」

 M2K「ボカロという枠組みの中でつながり、いつか協力できたら」

 JM「君たちのアルバムと将来に幸運があらんことを。改めてインタビューに応じてくれてありがとう

 Sai「こちらこそ、インタビューお疲れ様」

 M2K「ありがとうJoe、君に会えたのは光栄だ」

 Sai自分インタビューされるなんて考えたこともなかった」

 CTありがとうJoe

 VOCALO.IDの今後についてはフェイスブックアカウント参照

http://www.facebook.com/VOCALO.IDalbum

====勝手翻訳終了====

 なお、コメント欄にはアーティスト自身も書き込みをしており、他にもいくつかサンプルソングのurlを載せている。興味のある方はどうぞ。

http://www.mediafire.com/?wa3v5q61dh70e9b

http://www.speedyshare.com/files/28670530/Leakedfades-1.mp3

2011-04-27

マーチ以下の大学生が今から就活で逆転する方法

先に俺のスペック書いておく。

マーチ以下の中堅私大文系)を去年卒業

去年の春から就活のために英語勉強しだして、TOEIC680を取った(こんなんでも意外とセールスポイントになる)。

内定は3つもらって、社員100人程度の中小で働いている。

TOEICしかない

みんなそろそろ気づいてると思うけど、2012年就活は間違いなく悲惨なものになる。地震の影響で日本輸出産業は大打撃を受けているから、2012年内定率は50%を切るんじゃないかといわれている。やばいと思っている大学3年生は、就活に向けて何か始めるべきだ。就活の本番まで残り半年ちょっとしかない中で、どうすれば就活で勝てるのか?

サークル? 今から、実績なんて作れるわけない。

大学の授業? そんなのどの会社も期待してない(特に文系)。

答えは決まってる。英語しかも、TOEICの点数を上げることだ。これより可能性が高くて、一番手っ取り早い方法は他にない。TOEICの点数があれば、英語を使う会社なら圧倒的に有利になる。必要としない会社でもTOEICの点数が高いとその努力は認められて、かなり有利になる。ゼミ大学の授業なんて、単位さえ取れればどうでもいい。ともかく、就活で勝ちたかったら、TOEICの点数をあげることだけに集中したほうがいい。

TOEICの日程と目標スコア

TOEICの点数をとると決めたら、まずは就活までのスケジュールを決めよう。就活が始まる前に2回TOEICを受けることをお勧めする。今からだと6月26日11月27日TOEICを受けるのが妥当だろう。

以下のサイトから申し込みができる。

一回、5500円と高めだが就活で有利になれるなら安いもんだと割り切ろう。

http://www.toeic.or.jp/

TOEICの予定が決まったら、目標スコアを決めよう。もちろんスコアは高ければ高いほどいいが、今からだと600点から700点ぐらいだろう。このスコアがとれれば、就活で十分有利になる。力を入れるポイントは文法とリスニングだ。はっきり言ってリーディングで高得点をとれるようになるには、英語の知識だけではなく読解力を高める必要もあるので、文法とリスニングに絞るのがベストだ。以下、文法力とリスニング力を短期間のうちに上げる方法について書く。

勉強方法<文法+語彙>

短期間でTOEICの点数を上げるためには、文法問題で高得点をとる必要がある。ともかく覚えて練習を繰り返すだけなので、以下に紹介するテキストを繰り返し練習してほしい

ハートで感じる英文法

http://amzn.to/fedoNy

英語の一番初めはこの本。

とにかく分かりやすく文法が説明されている。

完全に理解するまで繰り返し読もう。

TOEIC TEST 文法別問題集

http://amzn.to/h9yw24

ハートで感じる英文法が理解できたら、ひたすら文法問題を解く。

解説が丁寧なので分からない問題は解説をしっかり読んで繰り返す。

これを続ければ必ず点数が伸びるから、他の本に浮気せず取り組もう。

TOEICテストにでる順英単語

http://amzn.to/eCIph9

英単語勉強は、本よりも方法が大切なので他の本でもいいが、強いて言うとこの本がお勧め

英単語を覚えるときは、100均で売ってる単語カードを使うのが効率的。

30単語程度のカードをひとくくりにして、1日5回暇なときに復習すればいい。

これで、絶対に語彙力が増えて、リーディング問題でも有利になる。

勉強方法<リスニング

TOEICスコアを伸ばすためには、リスニングがある程度解けないといけない。まずは、発音を練習して音がなれるようにし、そのあと、過去問を解きまくるのが最も効率のよいリスニング攻略方法だと思う。

ラングリッチ

http://langrich.com/

最近注目されているオンライン英会話

スピーキングは必要ないように思えるが、リスニングを鍛えるためには、発音を学ぶ必要がある。

ラングリッチは発音テキストが充実しているので、繰り返して発音のトレーニングをすることを勧める。

これさえやっておけば、かなり英語の音になれてリスニングが聞き取りやすくなる。

最初は抵抗があるかもしれないが、3カ月もすればかなり効果が出てくるので、期待して頑張れ。

TOEICテスト リスニングBOX

http://amzn.to/gvS1S5

過去問豊富に収録されているのでお勧め。これも飽きずに繰り返して勉強するれば、だんだん聞き取れるようになる。

TOEICは類似の問題が多いので、過去問を繰り返せば点数に直接結び付くのようにできている。

まとめ

まあ、来年就活は悲惨になるから、とくにとりえもないけど絶対に就職しなきゃやばいっていう人は以上の方法で頑張ってみては。

保証はできないけど、この方法を実行すれば短期間でTOEIC600点は取れると思う。他の勉強やるよりTOEICの点数だけ上げるのがたぶん就職に一番有利だろう。それではみなさん頑張って。

2011-04-11

ttp://hato.2ch.net/test/read.cgi/lifeline/1302153750/838

903 可愛い奥様 age New! 2011/04/10(日) 15:06:59.28 ID:XlXhlH6+O

知り合いの某誌記者から聞いた話だけど東電広報を通じて

新潮編集部京大関係者から連絡があった

内容は数少ない反原発派の研究者のK助教の金銭トラブルだという

同じルートで現代、ポスト、文春にも編集部に話があったらしい

どうやら新潮ポストが掲載を前提に取材に動くそうだ

新潮ポストに近いうちに東電広告がデカデカと載るだろうからヲチしておけ

2011-03-20

より良いPHPerにならないための20Tips

http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/

良いPHPerだって?そんなものは丸めゴミ箱にでも捨ててしまった方が資源の再利用になる分いくらかマシだ。

つまり俺たちがしなくちゃならないことは「より良いPHPerにならないため」に何ができるかってことなのさ。

それじゃ、始めよう。

1. ?>を使うな

?>なんて使っちゃいけない。そう俺たちはBAD PHPer。

無駄ホワイトスペースの出力に悩まされるくらいなら対称性なんて丸めゴミ箱にでも捨てた方がまだマシだ。非対称性こそが賛美。

2. 設定ファイルPHPで書くな

require_once("config.php");

未だにこんなことやってるやつがいるのかいベイベー。絶対にダメだ。この一行を見たら俺は悶絶する。

ダメだ、早く何とかしないと。

大抵このconfig.phpの中身はこうなっている。見て絶望だ。

$hoge_path = '';
if (!LOCAL) {
    define('FOO_FLAG', 1);
    if (HONBAN) {
        define('HOGE_FLAG', 1);
    }
    else if (TEST) {
        define('HOGE_FLAG', 2);
    }
}
else {
    $hoge_path = '/local';
    define('FOO_FLAG', 2);
    define('HOGE_FLAG', 3);
}

define('HOGE_URL', $hoge_path.'/hoge/');

こういうのが延々と続くわけだ。もういやだ。もう見たくない。

本番環境テスト環境でどういう値の違いがあるのか、ローカル環境だとどうなるのか、まったく把握できる気がしない。

なまじPHPな設定ファイルのせいで処理をついつい書いてしまう。そしてどんどん複雑になってしまう。

やはり設定データは基本的にYAML等のデータしか定義できない形式のもので用意すべきだ。そして環境ごとに設定ファイルを分けるべきである

そうすることで何にどういう違いがあるのかすぐにわかるし、diffすれば一度にすべて把握することができる。

# 本番環境設定ファイル
foo_flag: 1
hoge_flag: 1
hoge_url: '/hoge/'
# テスト環境設定ファイル
foo_flag: 1
hoge_flag: 2
hoge_url: '/hoge/'
# ローカル環境設定ファイル
foo_flag: 2
hoge_flag: 3
hoge_url: '/local/hoge/'

3. コメントを信用するな

そう、あなたはこんな状況に遭遇したことがあるんじゃ?

// ここで後の処理のためにhogeメソッドを呼び出しておく
$q->foo();

// $a['foo']はここに来る時点で真のはず
// 2010-03-10 判定がおかしいので修正
// 2010-06-21 やっぱり値が入ってる方が正しい
if ( !isset($hoge[0]) ) {
}

コメント保守されない。そう、それは真実。こんなコメント発見したら即効削除しよう。コメントは基本信じるな。

俺たちにちょっとしたヒントと大きな損害を与えてくれる、それがコメントの役割なのだ。

4. タブとうまく付き合うしかない

わかる。いいたいはとてもわかる。俺たちはしばしばインデントにスペースを使うはずだ。一方でIDEのしっかりした言語ではタブも使うことがある。しかし悪いことに、両者を混同しているプログラマも一定数いるのだ。

タブを画面上で認識しにくいエディタが世の中には存在する(何とは言わないが)

そして画面上で認識しにくいことを理由にタブを気にしないプログラマがいる。

この二つの条件が重なると、タブとスペースの交じり合ったインデントが完成する。もうぐちゃぐちゃだ。これは永遠に続く戦いだ。

私たちが勝利を掴むためにできることなどせいぜい、常にスペースしか使わない。タブを見つけたらその都度スペースに変換する。そういった地道な活動が明日へとつながるのだ。

5. 変数名に時間をかけるな

われわれがプログラムをするとき、何に一番時間がかかってるか。実は変数の命名なのである。ここで拘り過ぎて時間をかけ過ぎては何も進まない。

御託はイイからさっさと書け、だ。しかしとはいっても変数名は重要。日頃からどういうときにどんな名前を使うかを決めておくといい。

そして変数名に型はまったく必要ない。型宣言のないPHPにおいて、型の変数名をつけること自体ナンセンスだ。

コンパイラ様に保証されてない状態での

$iNumber = 'aaa';

になんの意味もない。コメントを信じるなでも言ったが、これはプログラマを混乱させるだけの害悪なものだ。

6. 変数初期化場所

変数を使う前に初期化するのは、警告を出さないという意味でも良い癖だ。しかし具体的にどこでやるかが問題だ。

$foo = null;
$foo = $q->foo();

こんな初期化意味はない。よくあるのはやはり、if文で値を振り分けるケースだろう

$foo = null;
if ( $hoge ) {
    $foo = 1;
}
else if ( $bar ) {
    $foo = 2;
}

このとき初期化はとても有効だ。もしnullの初期化を忘れたまま$fooを使うと警告が出るが、ちゃんと初期化してるので出ない。基本中の基本だ。

7. 不正なら常に死ね

function getStatus() {
    $bReturn = false;
    if ($i == 2) $bReturn = true;
    return $bReturn;
}

(中略)

もし、何かしらの理由で、あなたの書いたif文が間違っていたら?

この書き方をしていれば、間違った値に対して、常にfalseが返る。

私たちが、PHPでsensitiveなデータを取り扱うなら、正しいデータ入力されるまでは、動かないコードを書くべきだ。

trueとfalseの条件がいまいち明確ではないが、本当に動かないコードを書けというのであれば以下のようにすべきだ

function getStatus() {
    $bReturn = false;
    if ($i == 2) $bReturn = true;
    else if ($i == 1) $bReturn = false;
    else throw new Exception("bad status! $i");
    return $bReturn;
}

中途半端にfalseを返して生存させる必要性はまったくない。今すぐ死ね

8. 連想配列キーアクセスする場合

単なる配列に対して数値をクオートで囲う必要はない。

連想配列キーを指定する場合だけ定数と間違わないようにクオートで囲まなければならない。そして逆に定数を使いたい場合はクオートで囲ってはいけない。

更に後世のプログラマ処理を見たときに、定数が使いたかったのか、文字列が使いたかったのかを明確にした場合はconstantを使うと良い。

// 定数のFOOを使うよということが明確になる
print $a[constant('FOO')];

9. echoよりもprintfを使え

もし、文字列変数の値と一緒に出力するときPHPではコンマの代わりにprintfを使うことが使える。

なぜ?コンマを使うよりも可読性がグッとあがるから

printf( “Hello, my name is %s“, $sName);

以下の代わりに上記のコードを使う。

echoHello, my name is “, $sName;

出力すべき変数が増えれば増えるほど、有効になっていく。とにかく迷ったならば、printfを使え、だ。

10. 三項演算子は一回まで

三項演算子はとても有効だ。しか優先順位に難があるせいで三項演算子ネストしようとすると以下のようなコードになってしま

$n = (($i == 1) ? 2 : (($i == 2) ? 3 :$i));

括弧だらけで読みにくいったらありゃしない。三項演算子を使うなら一回まで。約束守れないやつは丸めゴミ箱にでも捨てちまえ。

11. 真偽値のチェックは生でいけ

if ( $flag ) {
}

仕様をちゃんと把握しているなら真偽値のチェックなどこれで十分。

もし事前にbool型だというのが確定してるのなら「$flag === true」を使えばいい。

12. ++と--の演算子を見極めろ

インクリメント、デクリメント演算子は前に付くか後ろに付くかで意味が変わるので慣れるまでは非常にややこしい

けがからなくなるくらいなら初めから使わないほうが良い。見極められないなら使うな。それがPHPerなのだ。

13. 代入演算子を使え

文句なしだ。これは文句がない。

他にも色々あるので覚えておこう

$a %=  1;
$a &=  1;
$a |=  1;
$a ^=  1;
$a <<= 1;
$a >>= 1;

14. 変数dump関数はより便利に

てっとり早く画面に表示する際にpreはよく使うが、デザインの関係上画面の文字が見えないときがある。

なのでdivを使って以下のようにしとくと便利だろう。

function p($var) {
    echo "<div align='left' style='background-color:white;color:black;'><pre>";
    print_r($var);
    echo "</pre></div>";
}

15. 定数から手を洗え

君らが通常作るアプリケーションなんぞに、定数なんぞ必要ない。いいか、もう一度言う、お前ら程度のもんが、定数使おう何ぞ、おこがましいわ!

大丈夫。なんでもかんでも定数にする必要はない。結局設定ファイルに定数をずらずら作りまくってわけがからなくなってるパターンが多い。

貴様たいなもんに、定数は制御できん。いいか設定ファイルYAML等のデータで持つようにし、その連想配列データ構造を一つ持ってるだけで定数の変わりになる。

このメリットに比べれば、定数だと書き換えられなくて良いという利点などこの歯のカスほどのものだ。そんなものは丸めゴミ箱へ捨ててしまうといい。

認識を改めろ。俺たちはより良いPHPerにならないために努力している。

16. $_GETと$_POSTを生で使うな

できれば何かしら簡単なクラスでもいいのでラップしろ。

class Request {
    private $parameters;
    private $method;
    function __construct () {
        $this->method = $_SERVER['REQUEST_METHOD'];
        if ( strtoupper($this->method) === 'POST' ) {
            $this->parameters = $_POST;
        }
        else {
            $this->parameters = $_GET;
        }
    }
    function param ($key) {
        return isset($this->parameters[$key]) ? $this->parameters[$key] : null;
    }
}

これだけでもいい。たったこれだけでもとても便利だ。ここから拡張してGETやPOSTを明示的に取るメソッドとかも作ってみるといい。自分の手を動かすのだ!

17. 関数だのオブジェクトだのの問題ではな

例が良くない。こんなのは引数20個ある関数からset20回呼ぶオブジェクトに変わっただけではないか

そもそもこの20個の引数はなんなのか。何かのデータ構造なんであれば連想配列にして引数一つとして渡すべきだし、それぞれまったく異なる用途の変数なのであればWindowsプログラミングじゃあるまいし20個も引数取る時点設計が間違えている。

何がいいたいか。別に関数でもオブジェクトでもどっちでもいいということだ。

そんなことで悩んでる暇があったら設計を見直せ。

18. メソッドチェインを愛用せよ

スキあらば自分自身を返せ。スキあらばオブジェクトを返せ。配列はArrayObjectのARRAY_AS_PROPSで返せ。

ひたすらメソッドチェイン。来る日も来る日もメソッドチェイン。とにかくメソッドチェインを使い続けろ。そこに未来はある。

19. コードの汎用化は慎重に

どんなコードも繰り返すな。もし、少しでも同じコードを書いていたなら、それは関数に置き換えてしまえ。

・・・と、いうのはやめなさい。

一見同じように見えた処理でも前後の流れでまったく違うものということが往々にしてある。

まとめ方にも問題があるケースもある。何でもかんでも関数化すると、関数が膨大に増えていく。君は見たことがあるだろうか。common.phpやfunction.phpの恐ろしさを。

かに細かく関数化はされているが、適切に関数化していないのである。結合度が非常に高い。なんでもかんでも盲目的にまとめれば良いという話ではないのだ!

20. 結合度は適切に減らし、適切に結合せよ

あまりに極度に意識しすぎると、プログラムそのものができなくなる。そういう状態に陥る。

気を抜いて。そう気を抜いて。所詮あなたコードなんてすぐに消えてなくなるよ。きっともっと偉い人が作り直すよ。だからまずは思うが侭にやるといい。

結合度を減らすというのは非常に難しい何度何度も失敗し続けて、ようやくここは分けた方が良かったんだなと気付く。次に活かそうと心に決める。そしてまた同じ過ちを繰り返していくわけだ。

まずは実装することだ。これが一番の早道だ。まずはがっつり結合した関数をあえて作るといい。何も考えずに作ろう。

そしてその後に、一部分使いましたいとおもうことがあるはずだ。その時に関数に切り出そう。それを繰り返すといい。そのうち初めから分けた方が良いと気付く。

何事も経験が必要である経験を積まないプログラマ丸めゴミ箱に捨ててしまえ。

さて、先の例で言うならば、私ならadd_result_outputという関数を作ってしまうだろう。だってaddとresultを連続して呼ぶのはめんどくさいんだもん。一連の流れをいつも使うのなら、その流れをやってくれる関数を作ればいいじゃないか

function add_result_output ($iVar, $iVar2) {
    $r = add($iVar, $iVar2);
    echo result($r);
}

もっと言えばクラス化してしまってもいいかもしれない。どんな感じになるかは君の手を動かして確認しよう!

最後

このTipsはとてもわかりにくく、ニッチ過ぎる部分も多いかもしれない。

しかしもう一度タイトルを確認してほしい

あくまでも「より良いPHPerにならないための20Tips」なのだ。

君はこの記事を鵜呑みにしてはならない。PHPPHPと見抜けないPHPerはPHPを使うのは難しい

おまけ

もし、あなたPHPプログラマなら、公式のPHPドキュメントあなたのケツの穴を拭くための紙になるだろう。

私は、それぞれのセクションを眺めて、各関数でどんなことが出来るかなんぞ、歯クソのゴミ程に役に立たないとおもっている。動けばいい。はは。

あなたは、PHPで用意された既製関数で多くのことが実現できることに、(俺の仕事を減らすなと)驚くはずだ。

この記事があなたの役に立たない事を。

どんなコメントでも待ってます

ふざけんな!

個人的な感想

この記事に書かれている内容は、丸めゴミ箱に捨てた方が良いレベルです

もしここまで読んでしまったら、丸めゴミ箱に捨てましょう。

プログラ増田のあなぐら

2011-03-13

http://anond.hatelabo.jp/20110313140022 について @siritori さんに実例としてハッシュタグ #test をつけてお知らせします。

追記:うぉ、知らないうちにメンション無効になるようになったのか...お知らせ出来ない...

2011-03-04

test

本日は、晴天なり。本日に限って言えばですが」

2011-02-05

test

これどんな仕組みになってんだ?という確認のために。

Hello 増田

追記:理解できた。ミソもクソも一緒にされて平坦になるシステム面白いな。

2011-01-07

http://hibari.2ch.net/test/read.cgi/unix/1294308129/84

84 :名無しさんお腹いっぱい。:2011/01/06(木) 22:22:49

585 名前:sakurazaka.jpn.ph[] 投稿日:2011/01/06(木) 22:15:17 ID:B05NruFc0

今回のまとめ作ったけど横に長すぎた

東日本削除人の作業時のログを見つける。http://be.2ch.net/test/sss/hoop.datとか。

 これは誰がいつ削除したかがわかる程度。

だが、/test/sss/以下の全ファイルリストApache仕様で見れた。

 しかもbe鯖のsss/以下にはなぜかcgi拡張子なしで置かれてた。

・それを見つけたモペキチソースコードを入手。

 元の現在動いてるcgiスクリプトを探し出し、それに対してコマンド実行。

・そのcgiも糞で、パスワードなしで2chの全キャップが入手でき、他にもパスなしで板移転なども可能だった。

 ファイル一覧も取得可能だった。

・いろんな人がそれを実行した。板移転もやりたい放題、キャップも全部ばれたのでお止めも自由。

しかファイル一覧取得にもバグがあり、そこからOSコマンドを叩くことも可能。ここで全部のcgiソースを入手可能。

 もちろんバックドアcgiの権限レベルで作り放題。

・もちろんこのバグは全鯖共通で持ってるので過去の鯖でも実行可能。どこまでやられたかは不明。

FOX ★「わしゃ何も困っていないけど?」ってことで訴える気ゼロ。今はススキノタイムオフライン

ログイン ユーザー登録
ようこそ ゲスト さん