Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,533 views

Published on

2016.11.03 Geek Women Japan 2016 Java女子部×Rails Girls Japan

Published in: Technology

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

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

×