3月31日
動画レビューサイトは、少しずつだけど進んでいる。当初はYouTubeDataAPI を使って作ろうと思っていたけど上手くいかず。そこで入力フォームにYouTubeURLを入力してもらって、そこから動画IDを取得してIFramePlayerAPI を使って表示する方法に変更。
ただ、ちょっと実装で悩んでいた。IFramePlayerAPI が読み込まれたら、プレーヤーAPI 用のJavaScript のダウンロード開始され、完了するonYouTubeIframeAPIReadyが呼び出される。プレーヤーAPI 用のJavaScriptの関係上、onYouTubeIframeAPIReadyはグローバルに実装されないといけない。onYouTubeIframeAPIReadyには、動画IDを設定しないといけないので、動画IDを入れておく変数もグローバルに実装しようかなと一旦は考えた。
そこで何が問題かというと、最近触ったJavaScriptにグローバルに宣言されている変数が多くて、リファクタリングする際に影響範囲の調査に時間がかかったので、今後のことも考えてグローバルな変数を使うのはやめたかった。まぁ、今気づいたけど名前空間を使えばいいのか。はい、終了。
3月27日
N高校の「【2017年度】プログラミング入門 Webアプリ」のGIt関連講座を受講。今日はそれくらい。
少し、音楽レビューの実装を進ませて寝よう。
https://mreviw.com/
雑感
中の人などいない: @NHK広報のツイートはなぜユルい? (新潮文庫)
- 作者: 浅生鴨
- 出版社/メーカー: 新潮社
- 発売日: 2015/05/28
- メディア: 文庫
- この商品を含むブログ (6件) を見る
著者の狙いはどこにあったのか。Twitterを通じて一方通行の宣伝を行うのではなく、視聴者とコミニケーションを行うことによって、何か特別な関係を築こうとしていたようだ。
ふわっとね
「音楽レビュー」にサジェストをつけたくて、試行錯誤中。JavaScriptの配列とかオブジェクトのデータ形式の理解がイマイチなので、理解せなば。うむうむ。
今日はこんな感じ。
『殺人犯はそこにいる―隠蔽された北関東連続幼女誘拐殺人事件』清水 潔
- 作者: 清水潔
- 出版社/メーカー: 新潮社
- 発売日: 2016/05/28
- メディア: 文庫
- この商品を含むブログ (17件) を見る
著者は、未解決事件の番組をやることになり事件の調査を始めることになる。調査の段階で犯人を特定し、その情報を警察に伝える。しかし、警察は動かない。何故、警察は動かないのか。著者の考えでは、もし、犯人を捕まえたら、科捜研が行った遺伝子鑑定の間違いを認めることになるから。では、遺伝子鑑定の間違いを認めると何かがいけないのか。それは、同じ遺伝子鑑定で死刑が確定され、しかも刑が執行された飯塚事件があるから。
飯塚事件の場合は死刑が執行されており、もし遺伝子鑑定が間違いだった場合、とんでもないことになる。しかし、幼児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();
改良を加えていこう。