Upload
aya-ebata
View
2.286
Download
3
Embed Size (px)
Citation preview
「もしかして」「私たち」「「入れ替わってるー!?」」
〜Java女子部がRuby on Railsやってみた編〜
2016/11/03 Geek Women Japan 2016Java女子部 えばた あや
#gwjp2016 #gwjp2016c #javajo
じこしょうかい
えばた あや
- Java女子部
- 株式会社アットウェア
- いつもはJava書いてる
- @aya_122- ラーメン二郎がすき
よろしくぅ
今日しゃべること
Java書きがRuby on Railsをやってみて、
大変だったこと、良かったこと等を
話します♡
参考にしたサイト
Rails Girls JapanのHP
http://railsgirls.jp
掲示板アプリ
掲示板アプリ
あじぇんだ
1. インストール
2. アプリの新規作成
3. scaffold4. デザイン
5. アップロード機能の追加
6. ルーティング
7. ページを追加
8. やってみた感想
- やったこと- 大変だったこと- 良かったこと
を話すよ!
今回はMacでやりました!
1. インストール
1. インストール
Railsを使うために入れたものっ!
やったこと
1. インストール
やったこと
1. インストール
CommandLine Tools
やったこと
1. インストール
Homebrew
http://brew.sh/に続きあり!w
やったこと
1. インストール
rbenvとruby-build
やったこと
1. インストール
Ruby
やったこと
1. インストール
Rails
1. インストール
大変だったこと
- インストールするものが多い
- コマンドを打つだけでどんどんインストールできて
しまうので、コマンドの理解が欠ける
- Command Line Tools入れ忘れたw
1. インストール
大変だったこと
- インストールするものが多い
- Command line tools入れ忘れたw- コマンドを打つだけでどんどんインストールできて
しまうので、コマンドの理解が欠ける
インストール数 5つ
例えば、Spring Boot(Java)の場合…
1. JDKをインストール2. IDEをインストール3. Spring InitializrでSpring Bootのひな形を 落とす (次の工程の「新規アプリ作成」まで作れちゃう!)
1. インストール
大変だったこと
- インストールするものが多い
- コマンドを打つだけでどんどんインストールできて
しまうので、コマンドの理解が欠ける
- Command Line Tools入れ忘れたw
1. インストール
良かったこと
- OS X 10.9以上だったので、コマンドだけで済ん
だ!
- 案外エラーにはまらず!
- rbenvを使うので、バージョンの管理しやすそう!
それ以外(Windowsも)の方はRailsInstallerをダウンロード!
2. アプリの新規作成
やったこと
2. アプリの新規作成
やったこと
2. アプリの新規作成新規プロジェクト
の作成
やったこと
2. アプリの新規作成
webサーバの起動
2. アプリの新規作成
2. アプリの新規作成
大変だったこと
- なし!
2. アプリの新規作成
良かったこと
- コマンド叩くだけで楽チン
- Gemfileにデフォルトで記載されているパッケージ
もこの段階で追加することもできる
SQLiteとか!
3. scaffold
3. scaffold
CRUDの操作ができる画面のひな形を自動生成してくれる!
やったこと
3. scaffold
やったこと
3. scaffold
scaffold
やったこと
3. scaffold
マイグレーション
3. scaffold
index
3. scaffold
new
3. scaffold
show
3. scaffold
edit
3. scaffold
destroy
3. scaffold マイグレーションしなかったら怒られた!!
3. scaffold大変だったこと
- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!
3. scaffold大変だったこと
- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!
マイグレーションスクリプト(ファイル)
DB反映
↑scaffoldしたら一緒に作られるファイル
3. scaffold大変だったこと
- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!
geekWomenというモデル名でscaffoldすると、パスは/geek_womenに自動で設定される!!(/geekWomenではない!)
3. scaffold良かったこと
- リスト、作成、詳細、更新、削除の画面(機能)をいっぺんに生成
- DBも超いい感じにやってくれてた!!
- Grails(Groovy)と違ってコマンドだけで出来た
3. scaffold良かったこと
- リスト、作成、詳細、更新、削除の画面(機能)をいっぺんに生成
- DBも超いい感じにやってくれてた!!
- Grails(Groovy)と違ってコマンドだけで出来たSQL何も
書いてない!
3. scaffold良かったこと
- リスト、作成、詳細、更新、削除の画面(機能)をいっ
ぺんに生成
- DBも超いい感じにやってくれてた!!
- Grails(Groovy)と違ってコマンドだけで出来た
前にGrails使ってた時、カラムの指定は
ファイルに書いてた!
4. デザイン
4. デザイン
やったこと
- Bootstrapを追加
- ビューのBootstrap対応
4. デザイン
4. デザイン
大変だったこと
- ディレクトリ迷子
- 普通のHTMLとは少し違ったので、書き方意味不
明<%= yield %>
ってなにそれ…(゜Д゜)
4. デザイン
大変だったこと
- ディレクトリ迷子
- 普通のHTMLとは少し違ったので、書き方意味不
明JavaでThymeleafって言う似たやつ
使ったことある!!!
4. デザイン
良かったこと
- ファイルを追加する必要なし
- HTMLをそのまま書ける
- 更新内容反映はリロードするだけ!
- 共通部品用の別ファイルが用意されてる
5. アップロード機能の追加
5. アップロード機能の追加
ライブラリを使ってみたっ!
5. アップロード機能の追加
やったことGemfileに
CarrierWaveを追加
5. アップロード機能の追加
やったこと パッケージをインストール!
&
CarrierWaveの使い方通りにコマンド打ったり、ソース追加!
https://github.com/carrierwaveuploader/carrierwave ↑ 使い方はこちら!
5. アップロード機能の追加
5. アップロード機能の追加
5. アップロード機能の追加
5. アップロード機能の追加
大変だったこと
- CarrierWaveを使うにあたって、モデルとアップ
ローダの紐付けがわかりにくかった
- text_fieldとfile_fieldの理解
- メソッドの命名規則が異なる
- 慣れていないテンプレートエンジン
- どこにどう反映されるか想像できない
5. アップロード機能の追加
大変だったこと
- CarrierWaveを使うにあたって、モデルとアップ
ローダの紐付けがわかりにくかった
- text_fieldとfile_fieldの理解
- メソッドの命名規則が異なる
- 慣れていないテンプレートエンジン
- どこにどう反映されるか想像できない
初めてが多くて理解が大変だった!
5. アップロード機能の追加
良かったこと
- 少ない手順で写真のアップローダできた!!!!
- 他のライブラリもGemで入れてみたくなった!
- Gradleやmavenに似てた!
5. アップロード機能の追加
良かったこと
- 少ない手順で写真のアップローダできた!!!!
- 他のライブラリもGemで入れてみたくなった!
- Gradleやmavenに似てた!
Rails Java
ツール RubyGems GradleMaven
ファイル Gemfile build.gradlepom.xml
ビルドに使用 × ○
6. ルーティング
6. ルーティング
URLとコントローラやアクションを
紐付ける!
6. ルーティング
やったこと
http://localhost:3000/ を叩くと、http://localhost:3000/geek_womenを表示する
ルートの設定を追加
6. ルーティング http://localhost:3000の表示が変わる!
6. ルーティング
こんなこともできるみたい
http://localhost:3000/index にアクセス
→ geek_womenコントローラの
indexアクションをgetで呼び出せる
get、postの設定
6. ルーティング
こんなこともできるみたい
http://localhost:3000/send にアクセス
→ geek_womenコントローラの
sendアクションをpostで呼び出せる
get、postの設定
6. ルーティング
こんなこともできるみたい
http://localhost:3000/show/1 にアクセス
→ geek_womenコントローラの
showアクションをgetで呼び出せる
get、postの設定
6. ルーティング
これってもしかして…!!??
6. ルーティング
Spring Framework(Java)の、コレのこと!!??
4.3以降のバージョンの書き方
6. ルーティング
良かったこと
- ルーティングなんて知らないと思ってた。けど、実
はJavaで出会っていた…- 形は違っていても、同じことはやっていたから
理解しやすかった
7. ページを追加
7. ページを追加
やったことビューと
コントローラの作成!
7. ページを追加
7. ページを追加
大変だったこと
- なし!
7. ページを追加
良かったこと
- コマンドだけでビューとアクションを作成可能!!
- 勝手に共通部品を参照するように設定してくれて
る!!!
8. やってみた感想
8. やってみた感想
- インストールから作成まで、ほぼコマンド叩くだけ
で画面が作れた!すごい!
- 今回ほぼRuby書かないで作れたことに驚き!
- Railsについて調べてたら「設定より規約」って書
いてあったけど、本当にそうだった!
- もっとRailsやってみたい!
8. やってみた感想
- インストールから作成まで、ほぼコマンド叩くだけ
で画面が作れた!すごい!
- 今回ほぼRuby書かないで作れたことに驚き!
- Railsについて調べてたら「設定より規約」って書
いてあったけど、本当にそうだった!
- もっとRailsやってみたい!
例えば、scaffold!
8. やってみた感想
- インストールから作成まで、ほぼコマンド叩くだけ
で画面が作れた!すごい!
- 今回ほぼRuby書かないで作れたことに驚き!
- Railsについて調べてたら「設定より規約」って書
いてあったけど、本当にそうだった!
- もっとRailsやってみたい!
まとめ
言語も書き方も全然違って気づきにくかったけど、
webアプリケーションを作る場合、やらなきゃいけな
いことは同じなので、どっかしらJavaとつながる部分
がある。
ありがとうございました♡