コードを書いてくらす

プログラミングについて書いてます。

マニュアルを読む。コードを書く。

昨日に続き、Gitのマニュアルも少しずつ読み始めました。

Git - Book


この前はよく理解しないままぐぐったとおりにやってみただけだったので、ここを読むとけっこうすっきりします。remoteの意味や公開リポジトリなど、なんとなく分かるけどちょっと誤解していたところもあって思い込みでやるのは危険ですね。


さてさて。マニュアルを読み進めながらちょっとした1行日記アプリを作ってみました。
f:id:matildatilda:20150625153639p:plain


日記を書く画面はこちら。
f:id:matildatilda:20150625153659p:plain


デザインをまったく無視して作っているのでなんだか学校の課題みたいですが…。そろそろデザインについてもやらないと。
そしてソースコードはこちら。今回は1回でうまくコミットできました。

https://github.com/matildatilda/onelinediary


テーブルも以下のように作成しました。
f:id:matildatilda:20150625154739p:plain


ちなみに年、月、日をわざわざ別の列にするのではなく、DateTime型の列でいいんじゃないかと思ったのですが、調べてみたらSQLで日付型から月を取得したり年を取得するのがけっこう面倒そうだったので別にしました。うーん、なんだか上手くない感じがするけど。それにdiary列は入力がそれほど多くない(1行)なのでこのくらいのサイズでいいかな、と思ったのですがよく考えたら日本語のカナ、漢字だと2バイト、3バイトになることに気づきました。だめだ、もっと増やさないと。


文字コードについては、データベースから設定しておいたので日本語も大丈夫、のはずです。
が、サンプルデータを入れてみたところ。
f:id:matildatilda:20150625155306p:plain


???
文字化けしていますが、phpから取得するとうまく取れているようです。データはutf8で登録されていると思うのですが…。ここはもう少し調べてみようと思います。なんだろう、mySQLコマンドで通信する時の文字コードが違うのかな。


それはさておき、1回目のコミットをした後で気がついたのですが、データベースのテーブル定義も一緒にコミットしなければならないんじゃないかと。たぶんこの後、テーブルが増えたり、既存のテーブル列を変えたりといろいろ操作すると思うんですよね。ソースコードだけ最新でも、ストレージの方が追いついてないと意味がないわけで。そのあたり、他のプロジェクトがどういう管理をしているか少し調べてみたいと思います。


今日はこの辺で。