コレやってみたい! -  mixiコメントれすぽんだー

  • 2008/04/05(土) 15:30:00

日記

今夜は田口さんとhoge(゚∀゚)


そうそう。最近、料理にハマっているよ。
プログラミングとの相似点はまだ分からない。

紅はクックパッドというレシピ検索サイトを超☆活用してるんだけどね。
使いたい食材のカテゴリに飛んで、あり合わせのもので作れるレシピを探したり、
トップページの話題のレシピでおいしそうなのがあったら、それを作るために必要な食材を揃えたり。

プログラミングもレシピ検索サイトがあればいいのになあ。
手持ち(?)の関数で作れるジェネレータとか、このサービスを作るにはこの関数が必要とか。
そんなんあったら便利なのになあーって思いながら、いつもクックパッドを見てる今日この頃。

OK、OK。きっとまた、とんでもなくとんちんかんなことを言ってるんだろう。
腹が減ってるので、更新したらスーパー行こうっと。





mixi日記のコメントレスポンダーに興味ゆんゆん

面白いものを発見した!
ミクシィ、って知ってます?知ってますよね!
紅はミクシィが大好きで、いっときはミクシィに関するエントリばっかり書いてたんだけど
最近はぜんぜん書いてない。そもそもミクシィにあまりインしてない。


そんな折!
マイミクに、数年前 『VIPSTAR』 を歌って一世を風靡した kobaryuさん という方がいるんだけど、
彼の日記で俺専用コメントレスポンダーという、超イケてるスクリプトをめっけた!!
以下、彼のミクシィ日記より一部引用。
※ ご本人の了承は得ています。また、日記を読むにはミクシィへのログインが必要です。


日記一覧が出て、コメント数が表示してあり
クリックすると、コメントの引用が既に書いてあるフォームが登場
それに、レス付けてそのまま投稿が出来るスクリプトでふ

自分の投稿が途中にあるとそれ以降の新しいコメントだけ
引用表示されます。



すげぇ!バイバイありがとうさようなら!わずらわしいmixi疲れよ!!
どうやらコレは PHP で出来てるらしい。
普段から日記コメントにレスする際、不便を感じていた彼がサクっと開発。
かっけえ!まじかっけえ!さすが VIPSTAR の中の人は違う!!

ログイン回りのこととか高度っぽいので、まだまだ紅には作れそうにないけど、
いつかこういうのをサクっと作れる人になりたい。だが春眠、開発をおぼえず(-д-o)。o○Zzz



おし。スーパー行ってくる。
で、kobaryu さんがずっと夢中なそれなんてエロゲ?
再うpしてください!紅だけにヾ(^ω^)ノ



コレやってみたい! - ヤンキー名ジェネレータきたぁぁぁぁ!!!!!

  • 2008/03/20(木) 21:00:00

日記

こうふんしている!!!
早くこのエントリを投稿したいっ!!!!!





ヤンキー名ジェネレータでけたよ!!!

やあー。祝日の午後をまるまる費やした^^^^

ヤンキー名ジェネレータ

input.phpのソースは省略するよ。
下記エントリの ■1つ目 と同じだにょ。
参考:3日目 今度はあなたに挨拶したい><


以下ソース。
※タグの最初は全角にしてあります。


1 <?php

//変換するデータを格納
2 $yankee_replace = array( "あ"=>"愛","い"=>"威","う"=>"宇","え"=>"江","お"=>"悪",

//中略
3 "ば"=>"罵","び"=>"美","ぶ"=>"武","べ"=>"便","ぼ"=>"慕");


// ユーザが入力したひらがなを漢字に変換
4 $_POST = str_replace( array_keys($yankee_replace),
               array_values($yankee_replace), $_POST);

//出力!
5 print $_POST['name'];
6 ?>



む。今こうしてソースだけ見ると簡単そうなのになあ・・・。
テラ難産だった><


前回ちょろっと言っていたように、おみくじの時の連想配列を使って
それぞれのひらがなにヤンキーっぽい漢字をセットすることに。
2〜3行目はその作業だ。全部こぴぺすると長くなるので中略したど。


4行目。ここが大事。新しく出てきた関数を1つずつ見ていく。 

str_replace
引数に含まれる文字列を、指定した文字列に置き換えます。

参考:str_replace( ) 関数 - PHP関数リファレンス


たとえば

$lovecall="べにぢょ";
$lovecall_yankee=str_replace("べにぢょ","紅嬢",$lovecall);
print("$lovecall_yankee");

出力結果:紅嬢


この関数が激しく便利すぐる。
str_replace
になら抱かれてもいい。
ヤンキー名ジェネレータを作るのに、この関数を使うのはガチだ。
str_replace
で、ユーザが入力した文字列を最初に格納したデータに変換したい。

つまり

$_POST=str_replace("ひらがなデータ","漢字データ",$_POST);

ということがしたいのだよ。



array_keys
array_keys関数は指定した配列の全てのキーを配列にして返す関数です。

参考:配列関数:全てのキーを返す - 初心者のPHP入門

説明だけだとよく分からないけど、例を見ると、これはまさにひらがなデータを返してくれる関数。


array_values
array_values関数は指定した配列の全ての値を返す関数です。

参考:array_values-配列関数:全ての値を返す - 初心者のPHP入門

そして、こっちはまさに漢字データを返してくれる関数。
そう、こういうのを探していたの。愛死輝流!!



5行目は出力。そろそろ echo 使おうかななんて思ったりする今日この頃。





だーーーー!
最初、あきやん先生の名前を変換しようとしたらこんなことになって全紅が泣いた。
一応?しくじったソースや途中経過を保存したけど、公開した方がいいんかな。
あ、そだ。私信私信。
以前ナイスギークなラブレターをくれたYamadaさん!いえーい!みてるー??
遅くなっちゃったけどお返事です!
Yamadaさんは、そのままローマ字で”Yamada”って入力してくださいね(* ∩∩)




コレやってみたい! - ジェネレータを作るには

  • 2008/03/08(土) 00:00:00

日記

先日、一緒にディズニーランドに行った人から、「学習ブログとはこうあるべき」 という
興味深い意見を聞いた。
彼によると、プログラミングというのは突然、理解できる瞬間がある、という。
学習の結果だけをアウトプットするブログでは、書き手がその壁を越えた時、
急に読者がついていけなくなってしまう。
彼はまだ、その瞬間をうまく表現できているブログを見たことがないらしい。


思考の過程を公開することは恥ずかしい。
でも、恥ずかしいところでつまずいている人は他にもたくさんいるはずで、
そういう人の力になってこその Web じゃろがい、と思う。
教えて!ダンコーガイ!」 ならぬ、「教えて!インターネット!」 やん。
Google は偉大だ。


ついこの前も、Google の偉大さを再認識する出来事に遭遇した。





我々は完全に包囲されている。
正直、プログラミングのいろはさえ理解できてないんだけど、
ギークなお姉さんの名の下に恥をさらしておくよ。

さあ、紅の屍を越えていけ。





ジェネレータを作るには

ジェネレータを作りたいんだよね。
昨日まで 『疾走、ヤンキー魂。復活祭。』 なる祭りが開かれていて、
一週間だけヤン魂をプレイできる機会に恵まれたんだけど、
ヤン魂やりながらずっと、このゲームに関連した何かを作りたいと考えていた。
自分の好きなことと紐付ければ、頑張れるはずなのだ。


普通の名前をヤンキーっぽい名前に変換するジェネレータを作りたい。
たとえば、「よろしく」 と入力したら 「夜露死苦」 と返すようなジェネレータ。
これは名前じゃないので、例としてはあまり適切ではないけど。


おみくじの時の連想配列を使って、”あ” から ”ん” までのそれぞれの文字に
ヤンキーっぽい漢字を配置すればいいんじゃなかろか。
参考:4日目 おみくじとか作っちゃうかモナー!


その場合、ユーザには「ひらがな入力でヨロ^^」ってことになるけど、
それはまぁ、いいだろう。


ユーザが入力したデータをもらって、それを表示するというのは POST でいいんだろな。
参考:3日目 今度はあなたに挨拶したい><


この2つのエントリを基に、ちょっとだけ努力したらジェネレータ作れそうなんだけどなあ。
がんばろがんばろ。

コレやってみたい! - べ、べつにブクマ禁止したいわけじゃないんだからっ!

  • 2007/11/26(月) 23:00:00

日記

19時前に会社出たのに、ちょっぴりスイーツ気取りで
「一駅歩いてみようかな☆」 なんて思ったのが間違いだった。
超☆迷子。結局おうちに着いたのは23時。これはひどい。
洗面台へ向かい、手を洗う。鏡をのぞくと、なぜか涙が流れていた。
きっとつらかったんだと思う。
紅は地図も読めないし話も聞かない女だ。
この前あきやんにそう言ったら 「そんなことないよー」 と言ってくれたけど
これだけは譲れない。だって絶対そうだもん。





はてブを禁止してみたい!

はてなブックマークを禁止する方法 ( Geekなぺーじ さま )


このエントリを見かけたときからあきやんに聞こうと決めていた。
で、昨日聞いた。
まだまだツメが甘い理解だけど、忘れないうちに理解した範囲でメモ。
※最初のタグは全角にしてあります。



1 <?php
2  $agent=$_SERVER['HTTP_USER_AGENT'];
3 if(strncmp('Hatena',$agent,6)==0{
4  header("HTTP/1.0 302 redirect");
5  header("Location:http://www.geekpage.jp/ ");
6 }
7 ?>



知らない単語がいっぱいある。
でも if は昨日やったから分かる。ナイスギーク! >べにぢょ


ここに書かれてる内容を日本語に訳すと、
「はてなが見にきたら http://www.geekpage.jp/ に飛ばせ」って言ってるぽい。ざっくりだけど。
あきやんのありがたいメモがあるのでうpしとこう。


     


これは分かりやすい。
最落ナシ1円〜でどうだろう?ダメだろう。


はてブするときっていうのは、どうやらはてながそのページを見に来てるらしい。
あれが JavaScript だというのは知ってる。
最初ブックマークレットの使い方が分からなくて、JavaScript うんちゃらかんちゃらというのを
アドレスバーに直接コピペしていた。知ってるといってもその程度なんだけど。



コードを解釈する。
2行目は、すごくちゃんと説明してもらった気がするけど忘れた。
あ、いや!ヒントもらえば思い出す!聞いてたって!ちゃんと話聞いてたって!!
泡盛飲みながら聞いてたのが良くなかったか・・・でも大丈夫。頭のどっかにはあるはず。


とりあえずググる。


サーバ変数とはサーバが生成する変数です。
サーバはヘッダやパス・スクリプトの位置などいろいろな情報を持っていますが、
そのサーバの情報にアクセスできる変数だと思って下さい。
「ブラウザ情報」だとか「IPアドレス」だとかもこのサーバ変数で取得できます。
この変数1つで取得できちゃうので、よくある「あなたのお使いのブラウザは○○です」
なんて表示も1行スクリプトで済ませられちゃいます。

参考:サーバ変数について


OH!Yes!!
そだそだ。そういえばそうだった。思い出してきた。
あきやんにサーバ〜ブラウザ間でやり取りしてる情報を見せてもらった。
んで、このへんの記事を思い出して納得した記憶。
当時はなんでバレてるのか全然分からなかったにょ。



コードに戻る。
その情報の中の HTTP_USER_AGENT の情報を見ろ!って指定してる、んだった気がする。
して、それを $agent に代入する、と。


3行目。
もし、ふにゃららが0だったら、って言ってる。
ふにゃららの中身はよく分からない。
どこが分からないか?まず strncmp が分からない。
ググろう。


strncmp - 最初の n 文字についてバイナリセーフな文字列比較を行う

参考:strncmp - Manual



strncmpn は数字を意味してる、って聞いた。



この関数は strcmp() に似ていますが、 各文字列から(最大)文字数(len ) を
比較に使用するところが異なります。



おぉ。記憶と説明がつながった。文字数が関係してるから n が入るのね。
(カッコ)の中を見る。
'Hatena',$agent,6 は、確か $agent の最初の6文字を見ろ、ってこと。
その6文字が Hatena だったら、ってことだよね。
うん。だったらなんなのさ!
あぁ、さっきのサイトに戻ろう。せっかちイクナイ。まだ慌てるような時間じゃない。


返り値
str1 が str2 より小さい場合に < 0、str1 が str2 より大きい場合に > 0 、
等しい場合に 0 を返します。



つまり、6文字目までが Hatena だったら0が返ってくるってことか。
それが超イコールで0と結ばれてるから、3行目を日本語に訳すと
ブラウザがサーバーに送ってきたデータの HTTP_USER_AGENT の部分、
ココの最初の6文字が Hatena だったら if の条件式が成り立つ、という意味。
条件式が成り立ったら { 以下を実行するのが if。そう勉強した。
参考:5日目 もし私が女子高生だったら



4,5行目。
header は関数らしい。


header - 生の HTTP ヘッダを送信する

参考:Header


ぜんぜん関係ないけど、コレ最初見たとき ”一生(いっしょう)のHTTP ヘッダ” かと思って
ちょっとわらたw
一生てなんだよ!すごいウケる。そぐわない。場違いな言葉だ。



また逸れた。
ていうか、header はぶっちゃけよく分からないの。
だからとりあえずいいや。
でも4行目の HTTP/1.0 302 redirect は、リダイレクトしろよ、って言ってるんだと思う。
で、5行目でリダイレクトする場所を指定してるんだと思う。それはガチ。




オーケー!
今日はこのへんでおk。とりあえずやってみる。
サンプル:hateb.php



Σででできるじゃん!!!!!!!!!!!

あ。Geekなぺーじの追記に書いてあった。そっか、できるんだ・・・
いいの。いいの別に。ただ、ちょっとやってみようかなって思っただけだし・・・。





寝よう。





追伸

画像出力の件、コメントくださった方ありがとうございました!
あと、あと、おみくじやってくれた人!すごく嬉しかったですありがとうございます!!
+++++!!