小さな一歩
プログラミングの勉強開始!
2回目の更新です。今回はプログラミングの話。
初回のブログに書いた通り、pythonという言語を勉強して最終的に何かアプリを作りたいと思ってます。
まだどんなことが出来るか分かってませんが、自分が使いたくなるものを自分のために作る!…というモチベーションでやって行く。
ちなみに今直近で欲しいものは…
市営テニスコート予約(補助)+管理
ができるアプリです。
なぜなら、今利用している市の施設予約システムがとても不便だから。
その理由は
- レスポンシブでない。 (スマホで見辛い…pc起動したくない)
- 一昔前のUIで使いづらい。 (期間を範囲指定して空いている日を一括で見たい…)
- 管理画面見ても、いつ抽選が実施され予約確定になるのか分からない。
などなど。
なんかこう、アプリで指定した条件で、市のシステムにリクエスト投げてその結果をアプリで受ける、みたいなのが作れたら後は自分向けのUIにしたり。
また、その予約情報をLineとかでシェアできるようにして参加者への連絡の手間を減らすとか出来たらいいなぁ!(そういうの既にあったら教えてください…使いたい!)
パパ友とのテニスが捗る。
入門書を買いました
とりあえず基本的な文法とかは↓のサイトで勉強しています。
■Python-izm | Python の入門から応用までをサポートする学習サイト
他にもWeb上で勉強できることはありますが、何か手元にひとつバイブル的なものが欲しいのと、何かアプリを作りながら進められるものが無いかと。その方が理解が深まりますからね。
そう思い立ち、先週、池袋ジュンク堂で色々眺めていたところ良さそうな本があったので、買いました。
この本で学べること
今コードを書きながら読み進めているところですが…軽く内容を紹介します。
pythonの基礎
どの本でもまずはここから。
pythonのインストール方法、基本的な文法、プログラムの実行の仕方…。
電子書籍もいいですが、文法なんかは紙の本ですぐにページめくって確認できた方がいいですよね。
pythonでブラックジャックのゲームを作る
実際にトランプゲームを作りながら、pythonに慣れることができます。(まだやってないので、そう信じています)
WEBアプリを作る
前段で作ったブラックジャックをWEBブラウザ上で遊べるようにすることで、WEB開発のスキルを身につける。
WEBサーバも構築が必要になりますが…それを簡単に作るためにDjangoというWEBアプリのフレームワークを使うようです。
こいつをインストールすれば、簡単にサーバを立てられる!便利!
ブラックジャックのディーラーに人工知能を導入
プレイヤーの入力(戦略)を人工知能に機械学習させ、ディーラーがその戦略に従うようになる…と。なんか凄そうでかなりワクワクしますね!
学びたかったディープラーニングにも触れられている点もGOOD!
実際に人工知能のプログラミングまではやらず、既に出来上がっているモジュールを導入するだけのようですが、考え方は載っています。
ちなみに、使われているライブラリは以下の通り。
Numpy
数値計算ライブラリ。
高度な数学関数、ベクトル計算を正確かつ高速にできる。
Theano
数値計算ライブラリ。
数式そのものから解法を考えてくれる。
Numpyよりも最適な計算方法を編み出してくれる特徴がある。
Keras
ディープラーニング用のモジュールを含んだライブラリ。
ディープラーニングの基礎となるニューラルネットワークの構成を上手いことこう…やってくれるらしい。まだよくわかりません…要勉強orz
Pandas
データ処理をするためのライブラリ。
簡単にデータの検索、変更ができる。
7月中にはマスターしたい
本って色々買って手を出したくなるけど、まずは1冊をとことんやることが大事って偉い人が言ってた。
そして自分が理解したことを、自分の言葉で説明できるよう腹落ちさせることが重要です。
それが、このブログの目的でもあります。
時には間違った理解を書いてしまうこともあるかも知れません…そんな時はどんどんコメントでツッコんで頂けると助かります!