拒絶の理由を発見しないから

その責めに帰することができない理由でブログを書いています

プログラミング言語をある程度習得したら作るもの8選

 プログラミングを勉強しているが作りたいものがないという問題に直面することはよくある。そこで,以下にプログラミング言語をある程度習得したら作るものを挙げる。ここでいうある程度とは,外部のライブラリやコマンド(アプリケーション)との連携に抵抗がないことを指す。なお,難易度順ではない。APIを使う場合は利用規約を隅々まで読み,かつ1秒に何回もアクセスしてLibrahackにならないようにする。

 

その1:レシートを読み込んで家計簿を出力するプログラム

 紙媒体の情報を電子的に処理したいことはよくある。そのとっかかりとして,コンビニなどのレシートを処理する。

 入力は,レシートの画像(またはPDF)である。カメラで撮影したものでも,スキャナで読み込んだものでも良い。出力は,日付,店名,支払額の合計である。もちろん,細目を読みとって食費などの項目に振り分けても良い。

 中高生の場合などレシートがたくさんない場合は,学校の時間割や成績表を題材としても良い。

その2:購入した本のISBNを入力すると書誌情報と書影画像を出力するプログラム

 本が増えてくると管理が大変であるので,データベースをなるべく簡単に作れるようにしたい。幸い,流通している本には一意*のISBNが付与されているので,ISBNさえ入力できれば後の情報はインターネットから手に入る。

 入力はISBNだが,本のバーコードを読み取るようにしても良い。出力は,著者名,出版社名,書籍名と,書影画像である。

その3:メールを入力すると毎月のサブスクリプションにかかった金額を出力するプログラム

 サブスクリプション型の契約があまりにも多くなり,いくら使っているのか分からない昨今である。ほとんどのサービスでは毎月(or毎年)の決済時にメールが送られてくるので,これを利用する。

 まず,複数のメールをメールボックスから取得し,サブスクリプションの決済完了メールと思われるもののみを選択するプログラムを書く。次に,メール本文から,サービス名と料金と決済日(これは受信日でも良い)を取得する。最後に,それらを月毎にまとめて出力する。

その4:複数ある最寄りの駅・停留所から最短で乗れる電車・バスの一覧を出力するプログラム

 家や会社・学校の周辺に駅やバス停が複数ある場合で,最先発がどこからなのか知りたい場合がよくある。従来のものだと,出発地をいちいち入力しないといけなかったり,目的地を指定しないといけなかったりするが,いつも使っている電車・バスの場合,出発時刻だけ分かれば事足りることも多い(だから,時刻表だけ印刷して壁に貼ったりする人もいる)。

 最寄駅・停留所は予め決めておく。現在時刻を取得し,それぞれの駅・停留所から最も早く出発する電車・バスを出力する。ただし,最寄りの駅・停留所までの移動時間は,予め定めておき,計算に入れる。時刻表はインターネットから1日1回入手する。遅れの情報が入手できるとなお良い。

その5:ふるさと納税に使える金額を正確に出力するプログラム

 ふるさと納税は制度上は寄附金であり,寄附した金額だけ住民税が控除される仕組みである。この控除には上限があり,この金額を超えて寄附しても税額のメリットはない。各社が簡易的な計算プログラムを用意してくれているが,あくまでも概算である。実際には,人それぞれ医療費控除があったり,勤労学生だったり,年金を追納していたり,雑所得があったりして,随分と金額が変動する。

 まずは寄附金控除の仕組みについて理解する。住民税は各地区町村ごとに異なるので,住んでいる場所に応じて調べる。税務上「収入」と「所得」は異なる概念であることに注意する。住民税という言葉はなく,都道府県民税と市区町村民税の2つの合計であることも知っておく。

 制度の理解が済めば,入力は各項目の金額,出力はふるさと納税の上限額である。

その6:地図をクリックするとその周辺で撮影した写真を出力するプログラム

 スマートフォンなどで撮影した写真は大抵Exifなので,撮影した地点の座標が記録されている。この情報を読み取ることで,写真を場所によって整理することができる。これによって,例えば○○へ行ったときの写真を見たいが,何度も行っている,というときに写真を探しやすくなる。

その7:作れる献立を保存しておくと被らないように毎日献立をお勧めしてくれるプログラム

 レシピを提供してくれるウェブサイトは無数にあるが,重要なのは今日何を作るかである。レシピサイトがランダムに献立を選択する機能を提供していたとしても,自分には作れないものや嫌いなものだったら使えない。そこで,自分が作れる献立を予め保存しておいて,そこからランダムに選択する。

 あるディレクトリに,様々な献立サイトのレシピのページをhtml形式で保存しておく。それらを読み込み,ランダムに毎日の献立を出力する。この時,料理に偏りがないよう,肉料理,魚料理,野菜料理のいずれであるかを判断し(種類はもっと増やして良い),連続しないようにする。また,同じ献立を2週間以内に2回以上推薦しない。好きな料理は週1でも良いといったフラグを用意しても良い。

その8:好きな俳優の名前を入力すると近くの映画館で上映中かどうかを出力するプログラム

 誰それが出ている映画は観ようと思っていても,主演でない場合など気づかないで公開期間が終わってしまったということがある。また,気づいたとしても最寄りの映画館では取り扱っていないこともある。そこで,最寄りの映画館で上映中の映画に好きな俳優が出演しているかどうかを調べる。

 最寄りの映画館で上映中の映画のタイトルを取得する。そして,映画の情報が載っているウェブページから,出演している俳優名を取得し,対照する。

 好きな俳優が特に思いつかない場合は,仮にジェイソン・ステイサムを指定する。

銚子名物「伊達巻」

 

© 2021 the author.