347

勉強のこと、酒のことを書いていく

railsチュートリアル 2.3章

今日も継続してrailsチュートリアルを進めていく

 

2.3 Micropostsリソース

Micropostsのnewページは前回のUsersとは違って問題が発生せず表示できた

Micropostsとは何か、という説明がrailsチュートリアルではされていないものの、

さわるとただの掲示板だとわかった

 

入力欄のValidationチェックがあっさり実装できるあたりすごい便利

最終的にGitHubにpush、herokuにpushして2章終了

少しずつ、明日は3章を進める

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より引用

  1. 作成したRailsアプリ(本書ではRailsApp)内の[gemfile]に次のコードを入力して保存する
    gem 'coffee-script-source', '1.8.0'
  2. コマンドプロンプトで以下のコマンドを実行する
    bundle update coffee-script-source
  3. コマンドプロンプトRailsサーバーを起動し、再度サンプルコードが表示されるか確認する

 

根本原因は不明

(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出た時の対処

 

無事インターネット上に公開!すごい手軽

f:id:geva:20181028163823p:plain

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は恥ずかしながら初めて使うので、以下を参照した
ありがとうございます。

今日からはじめるGitHub
インストールと初期設定

pushしてはいけない何かが含まれてないか、ドキドキする…
rails_tutorial

ここまで実行すると、GitHubで作業してる感があってよい
こうやって開発って進めるんだなと実感
1.5章は明日実施する

特徴変換:PCA

今日は飲み会がないので引き続き機械学習について勉強します

はてなブログの見たまま記法が書きにくすぎて、Markdownに切り替えるべきか考えたい

リアルタイムにプレビューできるMarkdownエディタ探そうかな

 

特徴変換について
  • 特徴量が30次元ある癌のサンプルデータを使用
  • 特徴それぞれに対し重みを付ける、特徴と特徴を足し合わせる等の変換を行うことでもっとよい精度が出るかもしれない、という考え方
  • 以前詰まったpandasでの描画は以下を参考に解決、毎度ながら先人の苦労がありがたい
  • pandas を利用してデータセットの可視化を素早く試行する

  • 特徴量の散布図をマトリックスで描画、綺麗な比例の関係を持つ特徴が見つかる
  • f:id:geva:20181024215335p:plain

  • この直線を求めることで、直線上の両方の値が決まるため、この直線を主成分分析(PCA)で取り出す
  • PCAのインスタンスを作成、fitで直線を構成する要素を取り出し、transformで変換
  • 特徴変換を行うことで縦軸が常にほぼ0となり、横軸のみに意味のある特徴に変換される
  • f:id:geva:20181024221243p:plain

  • もう一本の動画に続く…

 

学んだこと
  • 今回の例だと特徴変換というより特徴選択(次元削減)のように見える(Xが決まればyが決まるため、片方の特徴が不要)、違いがわからない…
  • PCAで何をしているかもいまいち理解できていない、勉強が必要

 

railsチュートリアルはじめました

週末はrailsチュートリアル、平日は機械学習について勉強することに決めた

それぞれチュートリアルの最後まで、機械学習についての動画の最後まで、

勉強が終わったら簡単なWebサービスが作れるようになるという目標設定

 

今日やったこと

 

sqliteでこけて調べて粘って諦めて環境再構築して、をやってたら2時間経過

railsチュートリアルの1.3.2までしか進まなかった…

手に職つけるために継続する

ruby on rails 環境構築

ruby on rails チュートリアルに取り組むため、環境構築

チュートリアルではクラウドIDEを推奨しているが、環境構築の勉強としてローカルに環境を作ります

 

Rubyのインストール

Ruby Installer公式サイトから最新版のRubyをダウンロード

ruby 2.5.1-2 (x64)を選択

https://rubyinstaller.org/downloads/

 

インストール先はCドライブ直下を選択、空白文字を避けたパスがよいという記事を見つけたため

MSYS2のインストールもそのまま実行

終わったら「ruby -v」でバージョン確認

 

gemのアップデート

「gem update --system」でgemのバージョンアップを実行

 

railsのインストール

「gem install rails」でrailsをインストール

rails -v」でバージョン確認

 

とここまでで意外と50分程かかる

手間取ったというより各種インストールに時間がかかった

これでRailsチュートリアルが開始できる状態になった

 

週末にやろうと思ってたことの実行