ruby on rails 第2.1、2.2章
先々週に現所属会社で転機となるイベントがあり、それによって
先週まで精神的な回復に時間がかかってしまった。
そのイベントを踏まえてこのままではいけないと考えるようになった。
ので改めて勉強継続します。
少し方向転換し、まずはrailsチュートリアルを一通り終わらせる。
その後思いつくまま簡単なWebサービスの作成、それを終えてからいろいろな活動に移る。
機械学習は趣味としてやりたいことがあるので、簡単なWebサービス作成後に再開予定。
2.1 アプリケーションの計画
rails newコマンドでtoy_appという名称のアプリケーションの骨組みを作成、
gemfileの書き換えを実行
今更ながら、gemfileでライブラリであるgemのバージョンを定めていると把握した
gitでバージョン管理を行いつつGitHubにもPushして慣れることを継続
herokuへのPushは時間が空いて忘れていたので以下を参照
HerokuにRailsアプリをデプロイする手順 - Qiita
2.2 Userリソース
ユーザー用のデータモデルをscaffoldコマンドで作成する
チュートリアルに書いてある通り、今はscaffoldコマンドを理解できていないが
まずは実行、便利なコマンド程度に捉えておく
2.2.1章でユーザーページを操作する箇所があり、ユーザー操作に関わる
画面が表示されるはずが、なにをやっても表示されない…
「TypeError: オブジェクトでサポートされていないプロパティまたはメソッドです。」
が出て20分程解決方法を検索、以下のURLを参照して解決した。
ExecJS::ProgramErrorの解決方法 - PCトラブルサポートセンター
上記URLより引用
根本原因は不明
(gemfileで指定しrailsに設定されたcoffee-scriptと、ブラウザで実行できるcoffee-scriptのバージョン違いで実行環境に差が出た?)
この時点でユーザ作成、編集、削除ができるようになっている
しかしユーザー名が空白、email欄が空白など入力値のチェックがされていない
あとすごい脆弱性がありそうでherokuにはPushできないように思える
ここまでで2時間弱、先は長いが継続が必要
今日もrailsチュートリアル
ハロウィンなど関係なく勉強する
近くの商店街でもハロウィン的なイベントをやっていて驚いた
普段商店街でご老人の方々ばかり見かけるけど、誰が参加するんだろう
少しずつgitやherokuを操作するようになってきて
コマンドプロンプトでは使いにくくなってきた
タブで表示できるツールを導入したい
git操作
gitに関する操作に慣れていないので、ブランチ、編集、コミット、マージの
流れをメモ
以降のrailsチュートリアルでGitHubにpushしながら慣れる
$ git checkout -b modify-README Switched to a new branch 'modify-README' $ git branch master * modify-README
$ git status
$ git commit -a -m "Improve the README file"
$ git checkout master Switched to branch 'master' $ git merge modify-README
$ git branch -d modify-README
$ git push
1.5 デプロイ
Herokuにデプロイするため、アカウント作成から実施
HerokuのCLIインストールも実施
「git push heroku master」がうまくいかなかったが、以下を参照して解決
Herokuにpush時にdoes not appear to be a git repository出た時の対処
無事インターネット上に公開!すごい手軽
1.6章はまとめのみだったので、これで第1章完
来週末もrailsチュートリアルに取り組み、第2章を完了することを目標とします
railsチュートリアル 継続中
週末なのでrailsチュートリアル
今回から試しにオンラインMarkdownエディタを使ってブログ作成
あと今更ながらiOSのアップデート実施
デスクトップPCだとなぜかiTunesのアップデートができず、
iOSのバックアップが取れなくてずっとアップデートしてなかった
1.3.3 Model-View-Controller(MVC)
MVCについて学ぶのみ、コード実行はなし
1.3.4 Hello, World!
Controllerにhello worldアプリケーションを追加する
アプリケーションコントローラ、ルーティングファイルを編集する
ルーターはブラウザとコントローラの間に入り、リクエストを
コントローラに振り分ける(=ルーティング)してくれるらしい
チュートリアルに言われるがまま編集し、localhostにアクセスすると
しっかりとhello worldが表示される
演習にあったgoodby wolrdアクションの追加も実施、成功!
1.4 Gitバージョンによる管理
Gitのインストールから開始
Gitは恥ずかしながら初めて使うので、以下を参照した
ありがとうございます。
pushしてはいけない何かが含まれてないか、ドキドキする…
rails_tutorial
ここまで実行すると、GitHubで作業してる感があってよい
こうやって開発って進めるんだなと実感
1.5章は明日実施する
特徴変換:PCA
今日は飲み会がないので引き続き機械学習について勉強します
はてなブログの見たまま記法が書きにくすぎて、Markdownに切り替えるべきか考えたい
リアルタイムにプレビューできるMarkdownエディタ探そうかな
特徴変換について
- 特徴量が30次元ある癌のサンプルデータを使用
- 特徴それぞれに対し重みを付ける、特徴と特徴を足し合わせる等の変換を行うことでもっとよい精度が出るかもしれない、という考え方
- 以前詰まったpandasでの描画は以下を参考に解決、毎度ながら先人の苦労がありがたい
- 特徴量の散布図をマトリックスで描画、綺麗な比例の関係を持つ特徴が見つかる
- この直線を求めることで、直線上の両方の値が決まるため、この直線を主成分分析(PCA)で取り出す
- PCAのインスタンスを作成、fitで直線を構成する要素を取り出し、transformで変換
- 特徴変換を行うことで縦軸が常にほぼ0となり、横軸のみに意味のある特徴に変換される
- もう一本の動画に続く…
学んだこと
- 今回の例だと特徴変換というより特徴選択(次元削減)のように見える(Xが決まればyが決まるため、片方の特徴が不要)、違いがわからない…
- PCAで何をしているかもいまいち理解できていない、勉強が必要
railsチュートリアルはじめました
週末はrailsチュートリアル、平日は機械学習について勉強することに決めた
それぞれチュートリアルの最後まで、機械学習についての動画の最後まで、
勉強が終わったら簡単なWebサービスが作れるようになるという目標設定
今日やったこと
- 1.3 最初のアプリケーション
- と思ったらsqlite3関連でこけまくり、結局rubyとrailsのバージョンをチュートリアルに合わせて環境再構築…
- ruby 2.4.4-2、rails 5.1.6で再構築
- sqlite3のインストールもしていなかったので以下を参考にインストール、先駆者の苦労を参考にできるのでありがたい
- Hello rails!
sqliteでこけて調べて粘って諦めて環境再構築して、をやってたら2時間経過
手に職つけるために継続する
ruby on rails 環境構築
ruby on rails チュートリアルに取り組むため、環境構築
チュートリアルではクラウドIDEを推奨しているが、環境構築の勉強としてローカルに環境を作ります
Rubyのインストール
Ruby Installer公式サイトから最新版のRubyをダウンロード
ruby 2.5.1-2 (x64)を選択
https://rubyinstaller.org/downloads/
インストール先はCドライブ直下を選択、空白文字を避けたパスがよいという記事を見つけたため
MSYS2のインストールもそのまま実行
gemのアップデート
「gem update --system」でgemのバージョンアップを実行
railsのインストール
「gem install rails」でrailsをインストール
とここまでで意外と50分程かかる
手間取ったというより各種インストールに時間がかかった
週末にやろうと思ってたことの実行