「もしかして」「私たち」「「入れ替わってるー! 」」〜java女子部がruby on...

81
「もしかして」「私たち」 「「入れ替わってるー !? 」」 Java 女子部が Ruby on Rails やってみた編〜 2016/11/03 Geek Women Japan 2016 Java女子部 えばた あや #gwjp2016 #gwjp2016c #javajo

Upload: aya-ebata

Post on 14-Apr-2017

2.286 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

「もしかして」「私たち」「「入れ替わってるー!?」」

〜Java女子部がRuby on Railsやってみた編〜

2016/11/03 Geek Women Japan 2016Java女子部 えばた あや

#gwjp2016 #gwjp2016c #javajo

Page 2: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

じこしょうかい

えばた あや

- Java女子部

- 株式会社アットウェア

- いつもはJava書いてる

- @aya_122- ラーメン二郎がすき

よろしくぅ

Page 3: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

今日しゃべること

Java書きがRuby on Railsをやってみて、

大変だったこと、良かったこと等を

話します♡

Page 4: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

参考にしたサイト

Rails Girls JapanのHP

http://railsgirls.jp

Page 5: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

掲示板アプリ

Page 6: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

掲示板アプリ

Page 7: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

あじぇんだ

1. インストール

2. アプリの新規作成

3. scaffold4. デザイン

5. アップロード機能の追加

6. ルーティング

7. ページを追加

8. やってみた感想

- やったこと- 大変だったこと- 良かったこと

を話すよ!

今回はMacでやりました!

Page 8: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

Page 9: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

Railsを使うために入れたものっ!

Page 10: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

Page 11: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

CommandLine Tools

Page 12: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

Homebrew

http://brew.sh/に続きあり!w

Page 13: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

rbenvとruby-build

Page 14: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

Ruby

Page 15: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

1. インストール

Rails

Page 16: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

大変だったこと

- インストールするものが多い

- コマンドを打つだけでどんどんインストールできて

しまうので、コマンドの理解が欠ける

- Command Line Tools入れ忘れたw

Page 17: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

大変だったこと

- インストールするものが多い

- Command line tools入れ忘れたw- コマンドを打つだけでどんどんインストールできて

しまうので、コマンドの理解が欠ける

インストール数 5つ

例えば、Spring Boot(Java)の場合…

1. JDKをインストール2. IDEをインストール3. Spring InitializrでSpring Bootのひな形を 落とす (次の工程の「新規アプリ作成」まで作れちゃう!)

Page 18: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

大変だったこと

- インストールするものが多い

- コマンドを打つだけでどんどんインストールできて

しまうので、コマンドの理解が欠ける

- Command Line Tools入れ忘れたw

Page 19: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

1. インストール

良かったこと

- OS X 10.9以上だったので、コマンドだけで済ん

だ!

- 案外エラーにはまらず!

- rbenvを使うので、バージョンの管理しやすそう!

それ以外(Windowsも)の方はRailsInstallerをダウンロード!

Page 20: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

2. アプリの新規作成

Page 21: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

2. アプリの新規作成

Page 22: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

2. アプリの新規作成新規プロジェクト

の作成

Page 23: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

2. アプリの新規作成

webサーバの起動

Page 24: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

2. アプリの新規作成

Page 25: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

2. アプリの新規作成

大変だったこと

- なし!

Page 26: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

2. アプリの新規作成

良かったこと

- コマンド叩くだけで楽チン

- Gemfileにデフォルトで記載されているパッケージ

もこの段階で追加することもできる

SQLiteとか!

Page 27: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

Page 28: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

CRUDの操作ができる画面のひな形を自動生成してくれる!

Page 29: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

3. scaffold

Page 30: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

3. scaffold

scaffold

Page 31: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

やったこと

3. scaffold

マイグレーション

Page 32: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

index

Page 33: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

new

Page 34: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

show

Page 35: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

edit

Page 36: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold

destroy

Page 37: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold マイグレーションしなかったら怒られた!!

Page 38: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold大変だったこと

- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!

Page 39: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold大変だったこと

- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!

マイグレーションスクリプト(ファイル)

DB反映

  ↑scaffoldしたら一緒に作られるファイル

Page 40: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold大変だったこと

- マイグレーションって何だろう(?_?)- アクセスする場所がわからない!

geekWomenというモデル名でscaffoldすると、パスは/geek_womenに自動で設定される!!(/geekWomenではない!)

Page 41: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold良かったこと

- リスト、作成、詳細、更新、削除の画面(機能)をいっぺんに生成

- DBも超いい感じにやってくれてた!!

- Grails(Groovy)と違ってコマンドだけで出来た

Page 42: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold良かったこと

- リスト、作成、詳細、更新、削除の画面(機能)をいっぺんに生成

- DBも超いい感じにやってくれてた!!

- Grails(Groovy)と違ってコマンドだけで出来たSQL何も

書いてない!

Page 43: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

3. scaffold良かったこと

- リスト、作成、詳細、更新、削除の画面(機能)をいっ

ぺんに生成

- DBも超いい感じにやってくれてた!!

- Grails(Groovy)と違ってコマンドだけで出来た

前にGrails使ってた時、カラムの指定は

ファイルに書いてた!

Page 44: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

Page 45: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

やったこと

- Bootstrapを追加

- ビューのBootstrap対応

Page 46: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

Page 47: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

大変だったこと

- ディレクトリ迷子

- 普通のHTMLとは少し違ったので、書き方意味不

明<%= yield %>

ってなにそれ…(゜Д゜)

Page 48: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

大変だったこと

- ディレクトリ迷子

- 普通のHTMLとは少し違ったので、書き方意味不

明JavaでThymeleafって言う似たやつ

使ったことある!!!

Page 49: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

4. デザイン

良かったこと

- ファイルを追加する必要なし

- HTMLをそのまま書ける

- 更新内容反映はリロードするだけ!

- 共通部品用の別ファイルが用意されてる

Page 50: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

Page 51: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

ライブラリを使ってみたっ!

Page 52: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

やったことGemfileに

CarrierWaveを追加

Page 53: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

やったこと パッケージをインストール!

CarrierWaveの使い方通りにコマンド打ったり、ソース追加!

https://github.com/carrierwaveuploader/carrierwave ↑ 使い方はこちら!

Page 54: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

Page 55: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

Page 56: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

Page 57: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

大変だったこと

- CarrierWaveを使うにあたって、モデルとアップ

ローダの紐付けがわかりにくかった

- text_fieldとfile_fieldの理解

- メソッドの命名規則が異なる

- 慣れていないテンプレートエンジン

- どこにどう反映されるか想像できない

Page 58: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

大変だったこと

- CarrierWaveを使うにあたって、モデルとアップ

ローダの紐付けがわかりにくかった

- text_fieldとfile_fieldの理解

- メソッドの命名規則が異なる

- 慣れていないテンプレートエンジン

- どこにどう反映されるか想像できない

初めてが多くて理解が大変だった!

Page 59: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

良かったこと

- 少ない手順で写真のアップローダできた!!!!

- 他のライブラリもGemで入れてみたくなった!

- Gradleやmavenに似てた!

Page 60: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

5. アップロード機能の追加

良かったこと

- 少ない手順で写真のアップローダできた!!!!

- 他のライブラリもGemで入れてみたくなった!

- Gradleやmavenに似てた!

Rails Java

ツール RubyGems GradleMaven

ファイル Gemfile build.gradlepom.xml

ビルドに使用 × ○

Page 61: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

Page 62: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

URLとコントローラやアクションを

紐付ける!

Page 63: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

やったこと

http://localhost:3000/ を叩くと、http://localhost:3000/geek_womenを表示する

ルートの設定を追加

Page 64: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング http://localhost:3000の表示が変わる!

Page 65: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

こんなこともできるみたい

http://localhost:3000/index にアクセス

→ geek_womenコントローラの

  indexアクションをgetで呼び出せる

get、postの設定

Page 66: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

こんなこともできるみたい

http://localhost:3000/send にアクセス

→ geek_womenコントローラの

  sendアクションをpostで呼び出せる

get、postの設定

Page 67: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

こんなこともできるみたい

http://localhost:3000/show/1 にアクセス

→ geek_womenコントローラの

  showアクションをgetで呼び出せる

get、postの設定

Page 68: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

これってもしかして…!!??

Page 69: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

Spring Framework(Java)の、コレのこと!!??

4.3以降のバージョンの書き方

Page 70: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

6. ルーティング

良かったこと

- ルーティングなんて知らないと思ってた。けど、実

はJavaで出会っていた…- 形は違っていても、同じことはやっていたから

理解しやすかった

Page 71: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

7. ページを追加

Page 72: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

7. ページを追加

やったことビューと

コントローラの作成!

Page 73: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

7. ページを追加

Page 74: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

7. ページを追加

大変だったこと

- なし!

Page 75: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

7. ページを追加

良かったこと

- コマンドだけでビューとアクションを作成可能!!

- 勝手に共通部品を参照するように設定してくれて

る!!!

Page 76: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

8. やってみた感想

Page 77: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

8. やってみた感想

- インストールから作成まで、ほぼコマンド叩くだけ

で画面が作れた!すごい!

- 今回ほぼRuby書かないで作れたことに驚き!

- Railsについて調べてたら「設定より規約」って書

いてあったけど、本当にそうだった!

- もっとRailsやってみたい!

Page 78: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

8. やってみた感想

- インストールから作成まで、ほぼコマンド叩くだけ

で画面が作れた!すごい!

- 今回ほぼRuby書かないで作れたことに驚き!

- Railsについて調べてたら「設定より規約」って書

いてあったけど、本当にそうだった!

- もっとRailsやってみたい!

例えば、scaffold!

Page 79: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

8. やってみた感想

- インストールから作成まで、ほぼコマンド叩くだけ

で画面が作れた!すごい!

- 今回ほぼRuby書かないで作れたことに驚き!

- Railsについて調べてたら「設定より規約」って書

いてあったけど、本当にそうだった!

- もっとRailsやってみたい!

Page 80: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

まとめ

言語も書き方も全然違って気づきにくかったけど、

webアプリケーションを作る場合、やらなきゃいけな

いことは同じなので、どっかしらJavaとつながる部分

がある。

Page 81: 「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜

ありがとうございました♡