落書きノート

ふと自分が気になった事を書いてます

最近の進捗

昨日、UEFI+GPTなGentooの設定に苦しめられておりました。partedの扱いを思い出すのに少し手間取ったこと、カーネルをマニュアルで設定すること(結局、genkernelに逃げました。惜しいところで…。)、UEFI用のブートローダの設定、設定完了後のブートでカーネルパニックになったこと(この事態はなんとか直した。)。後、ハンドブックがOpenRC前提なので、systemdではどうするんだろうかとか(入れたパッケージに対するサービススクリプトが無い時がある。OpenRCとハイブリッド?)、ネットワークの設定でnetifrcが結局全部設定してくれるの?とか(ネットワークインタフェースの起動設定だけでOKだった。)、色々と疑問がありましたが、なんとか設定を終えました。Gentooのノウハウを活かしてUbuntu 16.04 LTSのUEFIブートを直せました。思わぬ副産物です。

次にUbuntuRuby on Railsを練習しようと思っていたのですが、ここでもつまずきました。付属のRubyでは権限エラーとビルドエラーで立ち往生。ビルドエラーは直せましたが、権限エラーは直しづらい。ということで、仕方が無いのでaptでrbenvをインストール。rbenvを使ってみるとrbenv installコマンドがなぜか使えない。evalは.profileに記述したんだけどなぁと思って調べてみると、ruby-buildがインストールできていない。インストールして無事使えるように。しかし、UbuntuリポジトリのrbenvはglobalでsystemのRubyとビルドしたRuby、なぜか切り替えられない…。GitHubからgitコマンドで仕入れないとダメですね…。

MySQLを使おうと思って、UbuntuリポジトリMariaDBをインストールしたら、sudoでmysqlコマンドを使わないとログインできません。これでは権限エラーに阻まれる…ということで、OracleMySQLをインストールするとまたもや別のエラーが。インストールするときに依存解決エラーっぽいのが出る。MariaDBの方がマシでした。戻しました。おとなしくウェブに載っている設定を試すしかありませんね…。

とりあえずUbuntuリポジトリのrbenvのRubyを使ってRailsを練習してます。データベースはSQLite。ああ、でもここまで苦労するんだったら、Macでやった方が良いのですが、やはりスペックが違いますね…。デスクトップと雲泥の差があります。

調べて適当にプログラムを組み上げていくのですが、こうなんて言うんですかね…。文法がわかりづらいんですよね。他の人はどう思ってるのか知りませんが。自分でやったという気になれないので、少し練習を。

とりあえず、railsコマンドで、scaffoldを利用してアプリケーションの雛形を作ります。で、別にもう一つRailsプロジェクトを作ります。今回はブログを自分で1から作ってみようということで、作ったアプリケーションの雛形プログラムを真似てやってみるわけです。scaffoldは使わずに、モデル、コントローラ・ビューをコマンドで一つ一つ生成していきます。テーブルの変更はマイグレーションを生成して処理を記述。ビューの生成は手動で自分でファイルを追加して記述。後、単数形、複数形に気をつける。モデルが単数形なら、コントローラは複数形というふうによく使われるようです。

ルーティングをいじります。getメソッドでURLによって振る舞うアクションを設定、resourcesメソッドでURL自動生成。後はルーティングを確認することで、パスに命名されたメソッド名とかが分かる…ということまで今日はやりました。

間違ってる所あるかもしれませんけど、また明日以降、突き詰めていこうと思います。簡単だけど勉強になるウェブアプリケーション作成という感じで。ブログは簡単すぎるだろうか…。