夜の歌

プログラミング、音楽、本について緩く書いていきます。

3月31日

動画レビューサイトは、少しずつだけど進んでいる。当初はYouTubeDataAPI を使って作ろうと思っていたけど上手くいかず。そこで入力フォームにYouTubeURLを入力してもらって、そこから動画IDを取得してIFramePlayerAPI を使って表示する方法に変更。

ただ、ちょっと実装で悩んでいた。IFramePlayerAPI が読み込まれたら、プレーヤーAPI 用のJavaScript のダウンロード開始され、完了するonYouTubeIframeAPIReadyが呼び出される。プレーヤーAPI 用のJavaScriptの関係上、onYouTubeIframeAPIReadyはグローバルに実装されないといけない。onYouTubeIframeAPIReadyには、動画IDを設定しないといけないので、動画IDを入れておく変数もグローバルに実装しようかなと一旦は考えた。

そこで何が問題かというと、最近触ったJavaScriptにグローバルに宣言されている変数が多くて、リファクタリングする際に影響範囲の調査に時間がかかったので、今後のことも考えてグローバルな変数を使うのはやめたかった。まぁ、今気づいたけど名前空間を使えばいいのか。はい、終了。

雑感

中の人などいない: @NHK広報のツイートはなぜユルい? (新潮文庫)

中の人などいない: @NHK広報のツイートはなぜユルい? (新潮文庫)

本書はNHKの中の人が、広報のためにTwitterアカウントを作成するところから始まる。しかし、呟く内容は番組宣伝だけではない。し視聴者とやり取りをしたり、おちゃらけた内容も呟いたりする。もちろん番組宣伝もするけど、全番組を宣伝するのではなく、著者が興味を持った番組にコメントして宣伝を行う。また、視聴者に対しても、無理なことは無理という。

著者の狙いはどこにあったのか。Twitterを通じて一方通行の宣伝を行うのではなく、視聴者とコミニケーションを行うことによって、何か特別な関係を築こうとしていたようだ。

雑感

SAKANAMANというバンドの「不明確な世界」を聴いている。一度は聴いているはずだけど、久しぶりに聴いたらハマった。何度もリピートしている。SAKANAMANは、サビのテンションの高さが好き。今年ライブに行きたいところ。

そろそろ、サーバーに上げる音楽レビューサイトの修正の大詰め。CentOS6からCentOS7にして、色々とハマった。ただ、firewalldの設定について知りたかったから、まあ良い。

nginxも導入しようと思ったけど、さすがにサービス公開を優先したいから、apacheでやる。

雑感

最近、読んだことについて考えたい。人口知能の本を読んだけど、イマイチ仕組みが分からない。オートエンコード機械学習ディープラーニング、用語は色々出てきたがまだ理解できない。

富山和彦さんの本も読んだけど、Gの世界とLの世界で世界は分けれること。ちょっと、まとめたい。

文章にならないなぁ。まぁ、とりあえず。

『殺人犯はそこにいる―隠蔽された北関東連続幼女誘拐殺人事件』清水 潔

殺人犯はそこにいる (新潮文庫 し 53-2)

殺人犯はそこにいる (新潮文庫 し 53-2)

北関東連続幼女誘拐殺人事件について書かれた一冊。やっと、読めた。

著者は、未解決事件の番組をやることになり事件の調査を始めることになる。調査の段階で犯人を特定し、その情報を警察に伝える。しかし、警察は動かない。何故、警察は動かないのか。著者の考えでは、もし、犯人を捕まえたら、科捜研が行った遺伝子鑑定の間違いを認めることになるから。では、遺伝子鑑定の間違いを認めると何かがいけないのか。それは、同じ遺伝子鑑定で死刑が確定され、しかも刑が執行された飯塚事件があるから。

飯塚事件の場合は死刑が執行されており、もし遺伝子鑑定が間違いだった場合、とんでもないことになる。しかし、幼児4人を殺害し、1人を誘拐したと思われる犯人が野放しになっている。何故、捕まえないのか。さすがに保身に走っている場合ではないと思うが。

気がついたら寝るのも忘れて、一気に読んでしまった。この本は、多くの人に読んで欲しい。

お客さんから注文を処理するプログラム

お客さんから注文を処理するプログラム。注文内容は汁物。何故、このプログラムを実装しようと思ったのか。正規表現をやろうと思い、色々考えてこうなった。。無駄かもしれない。でも、まあいいや。
[味噌汁]、[豚汁]、[ソーキ汁]が入力値として送られてきたら、正規表現でチェックしメニューにある場合に商品の金額を表示する。入力値がメニューにない場合、注意文言を表示するプログラム。

<?php
const ERROR_MESSAGE = 'お客様が注文した商品はありません。';

// 注文を受ける
$order = $_GET['order'] ?? '商品はない';

// メニューと値段リスト
$menu_list = array("/\[味噌汁\]/", "/\[豚汁\]/","/\[ソーキ汁\]/");
$price_list = array("100", "110", "200");

$menu_num = count($menu_list);
for($i=0;$i < $menu_num;$i++){
    // 注文された品がある場合、値段を表示する
    if(preg_match($menu_list[$i], $order)){
        $order = preg_replace("$menu_list[$i]", $price_list[$i], $order);
        echo $order . "";
        exit();
    }
}
echo ERROR_MESSAGE;
exit();



改良を加えていこう。