Twitter教科書

196 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
196
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Twitter教科書

  1. 1. RRuubbyy oonn RRaaiillssコース TTwwiitttteerrアプリを作ろう!!!!
  2. 2. TTwwiitttteerr !!!!?? ! ! つぶやき((ttwweeeett))を投稿するだけでなく、みんなのつぶやきを見れるSSNNSS SSNNSSサービスの火付け役とも言われる超有名サービス!!!!
  3. 3. CChhaapptteerr 11 ! 開発をするための準備をしよう!!!!
  4. 4. ターミナル SSuubblliimmee TTeexxtt 22 GGooooggllee CChhrroommee 開発に必要な素材ファイルをチェックしよう!!!! 「rraaiillss素材」というフォルダがあ�るか確認!!!! ! ((ない人はメンターさんにファイルをもらってください!!!!)) 開発に必要なアプリケーションをチェックしよう!!!!
  5. 5. ② デスクトップへ移動&rraaiillss pprroojjeeccttを作成しょう!!!! …%% ccdd DDeesskkttoopp …%% rraaiillss nneeww {{アプリ名}} …%% ccdd {{アプリ名}} ③ ggiittの準備をしておこう!!!! …%% ggiitt iinniitt …%% llss --aa … … … ..ggiitt … … … … … … … … … ※..ggiittファイルがあ�ることを確認する ① ターミナルを起動しよう!!!!
  6. 6. ④ サーバーを立ち上げて動作確認!!!! …%% rraaiillss sseerrvveerr こんな画面がでてきたらOOKK!!!! 重要:: サーバーを止めるときは CCttrrll++CC で止める!!!! hhttttpp::////llooccaallhhoosstt::33000000//
  7. 7. ⑤ wweebbの仕組みを理解しよう!!!! HHTTTTPP == データを通信するときのルール クライアント サーバー ① リクエスト((ページが見たい!!!!)) ② レスポンス((見せてあ�げる!!!!)) ①リクエストのルール ! GGEETT ! PPOOSSTT :: 送ったデータが一時的にしか利用されないときに使う!!!! ! :: 送ったデータを元に新しいページやデータが作られるときに使う!!!!
  8. 8. ⑤の続き クライアント サーバー ① 次のページを見せて!!!! ② 見せてあ�げる!!!! クライアント サーバー ① サインインしたい!!!! ② サインイン成功!!!! GGEETTの例)) 次のページ PPOOSSTTの例)) サインイン ①で送るデータは次のページ番号 ! 一時的にしか利用しない!!!! ①で送るデータは メールアドレスとパスワード ! ユーザーページが作られる!!!!
  9. 9. ⑥ RRaaiillssの仕組みを学ぼう!!!! RRuubbyy oonn RRaaiillssはMMooddeell--VViieeww--CCoonnttrroolllleerr ((MMVVCC)) という仕組みから出来ている!!!! クライアント サーバー リクエスト データベース VViieeww vviieeww11 vviieeww22 … CCoonnttrroolllleerr AAccttiioonn11 AAccttiioonn22 … ①ページ11を見せて!!!! ② ・このデータが必要だよ!!!! ・ページを表示して!!!! MMooddeell UUsseerr TTwweeeett … ③データを見せて!!!! ⑤データだよ!!!! ④データのやりとり ⑥ページ11だよ!!!!
  10. 10. ⑦ 自分のフォルダをSSuubblliimmee TTeexxtt 22から開く FFiillee -- OOppeenn から自分のフォルダを選択するとフォルダ毎開くことができる!!!!
  11. 11. ⑦の続き CCoommmmaanndd ++ PPでコマンドパレットを出す!!!! ((復習)) ファイル名を入力するとファイルをすぐ開くことができる!!!! 他にも「##」「::」「@@」などをつけると様々な検索が可能となるよ!!!!
  12. 12. ⑧ GGeemmffiilleeを書き換えて必要な機能を追加しよう!!!! GGeemmffiilleeの中に次のコードを追加しよう!!!! GGeemmffiilleeの次のコードを変更しよう!!!!
  13. 13. ⑧の続き 次のコマンドを実行しよう!!!! …%% bbuunnddllee uuppddaattee …%% bbuunnddllee iinnssttaallll 次のメッセージが表示されていれば成功!!!! これで準備は完了!!!! ! 次からTTwwiitttteerrアプリの本格的なプログラミングが始まる!!!! ※注意…サーバーを止めた状態で実行する
  14. 14. CChhaapptteerr 22 ! VViieewwを作っていこう!!!!
  15. 15. CChhaapptteerr 22の目標 ! TTwwiitttteerrアプリのトップページを作っていく!!!!
  16. 16. …%% rraaiillss ggeenneerraattee ccoonnttrroolllleerr SSttaattiiccPPaaggeess hhoommee ① CCoonnttrroolllleerrを生成((ggeenneerraattee))しよう!!!! 次のコマンドを実行しよう!!!! 自動的に次のファイルが生成されている!!!! ((aappppフォルダ内)) 赤色 :: CCoonnttrroolllleerrの名前 ! 緑色 :: AAccttiioonnの名前
  17. 17. ② rroouutteess..rrbbを見てUURRLLを確認しよう!!!! ccoonnffiigg//rroouutteess..rrbbを開く ggeett “ssttaattiicc__ppaaggeess//hhoommee” vviieewwss//hhoommee..hhttmmll..eerrbbを表示するUURRLL ③ ページを表示してみよう!!!! …%% rraaiillss sseerrvveerr hhttttpp::////llooccaallhhoosstt::33000000//ssttaattiicc__ppaaggeess//hhoommee サーバーを起動して,, 下に書いてあ�るUURRLLにアクセスする
  18. 18. ③の続き こんなページが表示できていればOOKK!!!! hhttttpp::////llooccaallhhoosstt::33000000//ssttaattiicc__ppaaggeess//hhoommee
  19. 19. ④ アクセスするUURRLLを変更しよう!!!! ccoonnffiigg//rroouutteess..rrbbの中の次のコードを変更しよう!!!! 重要!!!! ルーティングの方法!!!! get {URL} , to: {controller名#action名} root to: {controller名#action名} hhttttpp::////llooccaallhhoosstt::33000000//{{UURRLL}}にアクセス hhttttpp::////llooccaallhhoosstt::33000000//にアクセス ルーティング … どのUURRLLをどのccoonnttrroolllleerr##aaccttiioonnに対応させるかを決めること
  20. 20. ④の続き UURRLLが変更できているか確認してみよう!!!! hhttttpp::////llooccaallhhoosstt::33000000//
  21. 21. ⑤ ページを追加してみよう!!!! 33sstteeppでできる!!!!新しいページの作り方!!!! ((今回は例としてhheellppページを作ってみよう!!!!)) 11,, ルーティングを行う!!!! ccoonnffiigg//rroouutteess..rrbbの中の次のコードを追加しよう!!!! 22,, ccoonnttrroolllleerrの中にaaccttiioonnを追加する!!!! aapppp//ccoonnttrroolllleerrss//ssttaattiicc__ppaaggeess__ccoonnttrroolllleerr..rrbbを次のコードに変更する!!!! を追加しよう!!!!
  22. 22. ⑤の続き 33,, aapppp//vviieewwss//{{ccoonnttrroolllleerr名}}の中にvviieewwのファイルを追加する!!!! ccoommmmaanndd++NNで新しいファイルを作成して,, 「hheellpp..hhttmmll..eerrbb」という名前で保存する!!!! ※注意 … ファイルの場所は自分のフォルダのaapppp//vviieewwss//ssttaattiicc__ppaaggeess//の中!!!! …%% rraaiillss sseerrvveerr hhttttpp::////llooccaallhhoosstt::33000000//hheellpp サーバーを起動して,, 下に書いてあ�るUURRLLにアクセスする
  23. 23. ⑤の続き 何も書いていないので真っ白いページが出てくればOOKK!!!! hhttttpp::////llooccaallhhoosstt::33000000//hheellpp
  24. 24. ⑥ 必要なファイルに置き換えよう!!!! デスクトップに「rraaiillss素材」というフォルダがあ�るか確認!!!! ((自分のPPCCを持ってきた人はメンターさんにファイルをもらってください!!!!)) 中にあ�るaappppをrraaiillss nneewwで作成した自分のフォルダの中にコピーする 警告が出るので、すべてに適用を チェックして置き換える!!!! サーバーを起動して,, 下に書いてあ�るUURRLLにアクセスする hhttttpp::////llooccaallhhoosstt::33000000//
  25. 25. ⑥の続き 次のようなページが表示できれば完成!!!! ※注意 … 表示できない人は自分のフォルダの中のttmmppフォルダを削除してみてね!!!!
  26. 26. CChhaapptteerr 33 ! ユーザーの管理!!!!
  27. 27. CChhaapptteerr 33の目標11 ! TTwwiitttteerrアプリのユーザー登録機能を作る
  28. 28. CChhaapptteerr 33の目標22 ! ddeevviisseeの機能を使ってサインイン・サインアウトを作る
  29. 29. ① ddeevviisseeを使うための準備をしよう!!!! 次のコマンドでddeevviisseeをインストールしよう!!!! …%% rraaiillss ggeenneerraattee ddeevviissee::iinnssttaallll 左の画面が出てくれば成功!!!!
  30. 30. ② ddeevviisseeを使ってUUsseerr mmooddeellを生成しよう!!!! 次のコマンドを実行する …%% rraaiillss ggeenneerraattee ddeevviissee UUsseerr ③ ddeevviisseeで作ったUUsseerr mmooddeellに名前を保存できるようにしよう!!!! 次のコマンドを実行する …%% rraaiillss ggeenneerraattee mmiiggrraattiioonn aadddd__nnaammee__ttoo__uusseerrss nnaammee::ssttrriinngg ddbb//mmiiggrraatteeに「{{作成時間}}__aadddd__nnaammee__ttoo__uusseerrss..rrbb」が生成される
  31. 31. …%% bbuunnddllee eexxeecc rraakkee ddbb::mmiiggrraattee ③の続き ddbb//mmiiggrraattee//{{作成時間}}__aadddd__nnaammee__ttoo__uusseerrss..rrbbを次のように編集する 次のコマンドを実行して,, mmiiggrraattiioonn((マイグレーション))を行う!!!! 左の画面が出てくれば成功!!!!
  32. 32. ③の続き aapppp//ccoonnttrroolllleerrss//aapppplliiccaattiioonn__ccoonnttrroolllleerr..rrbbに次のコードに追加する ※注意 … 最初に書いてあ�るeennddより上 ④ ユーザー登録画面を作成しよう!!!! 次のコマンドを実行する …%% rraaiillss ggeenneerraattee ddeevviissee::vviieewwss
  33. 33. ④の続き 次のコマンドを実行して,, ddeevviisseeで生成されたvviieewwのルーティングを確認する …%% bbuunnddllee eexxeecc rraakkee rroouutteess UURRLL__PPaatttteerrnnのUURRLLにアクセス ! ↓ ! CCoonnttrroolllleerr##AAccttiioonnに書いてあ�るAAccttiioonnが実行される
  34. 34. ④の続き //uusseerrss//ssiiggnn__iinnにアクセスしてみよう!!!! hhttttpp::////llooccaallhhoosstt::33000000//uusseerrss//ssiiggnn__iinn
  35. 35. ④の続き aapppp//vviieewwss//ddeevviissee//rreeggiissttrraattiioonn//nneeww..hhttmmll..eerrbbを次のように変更する!!!! ssiiggnn__uuppページに「名前」の入力欄を追加しよう!!!!
  36. 36. ④の続き //uusseerrss//ssiiggnn__uuppにアクセスしてみよう!!!! hhttttpp::////llooccaallhhoosstt::33000000//uusseerrss//ssiiggnn__uupp
  37. 37. ⑤ ユーザー登録ができるかを確認しよう!!!! nnaammee eemmaaiill ppaasssswwoorrdd ppaasssswwoorrdd__ccoonnffiirrmmaattiioonn :: {{自分の名前}} :: wweebbmmaasstteerr@@lliiffeeiisstteecchh..ccoo..jjpp :: lliiffeeiisstteecchh :: lliiffeeiisstteecchh ssiiggnn__uuppページに以下の情報を入力して,, ユーザー登録を行おう!!!! 左の画面が出てくれば成功!!!!
  38. 38. ⑤ hhoommeeからssiiggnn__iinn,, ssiiggnn__uuppにアクセスできるようにしよう!!!! aapppp//vviieewwss//llaayyoouuttss//__hheeaaddeerr..hhttmmll..eerrbbの次のコードを変更しよう!!!! %% … %% hhttmmllの中にコードを埋め込む ! ! %%== … %% hhttmmllの中にコードを埋め込んで,, それを出力する ユーザーがサインインしているか どうか判別する
  39. 39. ⑤の続き aapppp//vviieewwss//ssttaattiicc__ppaaggeess//hhoommee..hhttmmll..eerrbbを次のコードに変更しよう!!!! さっき登録したユーザー情報でssiiggnn iinnしてみよう!!!! eemmaaiill ppaasssswwoorrdd :: wweebbmmaasstteerr@@lliiffeeiisstteecchh..ccoo..jjpp :: lliiffeeiisstteecchh
  40. 40. ⑤の続き このようなページが表示されたらOOKK!!!! これでユーザーの登録やサインインの機能は完成!!!! ! ddeevviisseeはこんな素晴らしい機能をとても簡単に利用できる素晴らしいggeemmだ!!!!
  41. 41. CChhaapptteerr 44 ! ユーザーページを作ろう!!!!
  42. 42. CChhaapptteerr 44の目標 ! ユーザーページとユーザー一覧ページを作る!!!!
  43. 43. ① UUsseerrCCoonnttrroolllleerrを生成しよう!!!! 次のコマンドを実行しよう!!!! …%% rraaiillss ggeenneerraattee ccoonnttrroolllleerr UUsseerrss iinnddeexx sshhooww ② ルーティングを行おう!!!! ccoonnffiigg//rroouutteess..rrbbの次のコードを変更しよう!!!! は よりも下に書く!!!!※
  44. 44. ③ 部分テンプレートを使おう!!!! hhoommee画面はhheeaaddeerrとffooootteerrという部分テンプレートを使って表示している!!!! __hheeaaddeerr..hhttmmll..eerrbb __ffooootteerr..hhttmmll..eerrbb 2つの部分テンプレートはaapppp//vviieewwss//llaayyoouuttssの中に入っている!!!!
  45. 45. ③の続き aapppp//vviieewwss//llaayyoouuttssに__uusseerr__iinnffoo..hhttmmll..eerrbbを作成する __uusseerr__iinnffoo..hhttmmll..eerrbbに次のコードを書く!!!! 下のような部分テンプレートを作っている!!!!
  46. 46. ③の続き aapppp//hheellppeerrss//uusseerrss__hheellppeerr..rrbbに次のコードを追加する!!!! ggrraavvaattaarrはメールアドレスとプロフィール画像を関連づけてくれるサービス!!!! wweebbmmaasstteerr@@lliiffeeiisstteecchh..ccoo..jjpp ☓
  47. 47. ④ ユーザー画面を作っていこう!!!! aapppp//vviieewwss//ssttaattiicc__ppaaggeess//hhoommee..hhttmmll..eerrbbの次の部分のコードを書き換える aapppp//vviieewwss//uusseerrss//sshhooww..hhttmmll..eerrbbの次の部分のコードを書き換える
  48. 48. ④の続き aapppp//ccoonnttrroolllleerrss//ssttaattiicc__ppaaggeess__ccoonnttrroolllleerr..rrbbのhhoommeeに次のコードを追加する!!!! ccoonnttrroolllleerrから現在サインインしているユーザーの情報を持ってくる!!!! aapppp//ccoonnttrroolllleerrss//uusseerrss__ccoonnttrroolllleerr..rrbbのsshhoowwを次のコードに書き換える!!!!
  49. 49. ⑤ ユーザー画面を確認しよう!!!! このようなページが表示されたらOOKK!!!! hhttttpp::////llooccaallhhoosstt::33000000//
  50. 50. ⑥ ユーザー一覧画面を作成しよう!!!! aapppp//vviieewwss//uusseerrssに__uusseerr..hhttmmll..eerrbbを作成する __uusseerr..hhttmmll..eerrbbに次のコードを書く!!!! aapppp//vviieewwss//uusseerrss//iinnddeexx..hhttmmll..eerrbbを次のコードに書き換える!!!! mmooddeellのデータをそのまま表示するときは __{{mmooddeell名}}..hhttmmll..eerrbbが使える!!!!
  51. 51. ⑥の続き aapppp//ccoonnttrroolllleerrss//uusseerrss__ccoonnttrroolllleerr..rrbbのiinnddeexxに次のコードを追加する!!!! aapppp//vviieewwss//llaayyoouuttss//__hheeaaddeerr..hhttmmll..eerrbbの次のコードを変更しよう!!!!
  52. 52. ⑦ ユーザー一覧画面を確認しよう!! ページを確認して次の画面が表示されたらOOKK!!!! hhttttpp::////llooccaallhhoosstt::33000000//uusseerrss
  53. 53. CChhaapptteerr 55 ! ttwweeeett機能を実装�しよう
  54. 54. CChhaapptteerr 55の目標 ! ttwweeeett機能を作って完成させよう!!!!
  55. 55. ① TTwweeeettのMMooddeellを作ろう!!!! …%% rraaiillss ggeenneerraattee mmooddeell ttwweeeett ccoonntteenntt::ssttrriinngg uusseerr__iidd::iinntteeggeerr データベースにttwweeeettモデルをmmiiggrraattiioonnしよう!!!! …%% bbuunnddllee eexxeecc rraakkee ddbb::mmiiggrraattee ccoonntteenntt,, uusseerr__iidd ! ssttrriinngg,, iinntteeggeerr :: データベースに保存するデータの名前 ! :: データベースに保存するデータの型((ssttrriinngg,, iinntteeggeerr,, bboooolleeaann,, 等)) TTwweeeett MMooddeellを作成する
  56. 56. ② ttwweeeettモデルの設定を行おう!!!! 上から,, そのデータの特徴,, 依存先,, 並べる順番を意味している!!!! aapppp//mmooddeell//uusseerr..rrbbに次のコードを追加する!!!! uusseerrモデルがttwweeeettを複数持てるように設定している!!!! aapppp//mmooddeell//ttwweeeett..rrbbに次のコードを追加する!!!!
  57. 57. ③ ユーザーページにttwweeeettを表示できるようにする!!!! …%% rraaiillss ggeenneerraattee ccoonnttrroolllleerr TTwweeeettss ccoonnffiigg//rroouutteess..rrbbに次のコードを追加する!!!! 次のコマンドを実行する!!!! TTwweeeettCCoonnttrroolllleerrを生成しよう!!!!
  58. 58. ③の続き aapppp//vviieewwss//ttwweeeettss//__ttwweeeett..hhttmmll..eerrbbに次のコードを書き込む ttiimmee__aaggoo__iinn__wwoorrddss(( )) … 「〜〜時間前」のような表示方法 aapppp//ccoonnttrroolllleerrss//uusseerrss__ccoonnttrroolllleerr..rrbbのsshhooww aaccttiioonn内に次のコードを追加する aapppp//vviieewwss//ttwweeeettss//__ttwweeeett..hhttmmll..eerrbbを作成する
  59. 59. ③の続き @@uusseerr..ttwweeeett..ccoouunnttはそのユーザのttwweeeettの数 wwiillll__ppaaggiinnaattee … ! 「次のページへ」などのボタンなどが自動的に配置される!!!! aapppp//vviieewwss//uusseerrss//sshhooww..hhttmmll..eerrbbを次のコードに書き換えよう!!!!
  60. 60. ③の続き ユーザーページにアクセスしてみよう!!!! hhttttpp::////llooccaallhhoosstt::33000000//uusseerrss//11
  61. 61. ④ CCoonnttrroolllleerrのaaccttiioonnを作っていこう!!!! aapppp//ccoonnttrroolllleerrss//ttwweeeettss__ccoonnttrroolllleerr..rrbbのccrreeaatteeを作成し,, 次のコードを書く!!!! ※注意 … 上で「pprriivvaattee」よりも上に追加しよう!!!! aapppp//ccoonnttrroolllleerrss//ttwweeeettss__ccoonnttrroolllleerr..rrbbの最後((eennddより上))に次のコードを追加する!!!!
  62. 62. ⑤ TTwweeeettの入力画面を作成しよう aapppp//vviieewwss//llaayyoouuttss//__ttwweeeett__ffoorrmm..hhttmmll..eerrbbに次のコードを追加しよう!!!! aapppp//vviieewwss//llaayyoouuttss//__ttwweeeett__ffoorrmm..hhttmmll..eerrbbを作成する aapppp//ccoonnttrroolllleerrss//ssttaattiicc__ppaaggeess__ccoonnttrroolllleerr..rrbbのhhoommeeを次のようにする!!!!
  63. 63. ⑤の続き ここを追加する!!!! aapppp//vviieewwss//ssttaattiicc__ppaaggeess//hhoommee..hhttmmll..eerrbbを次のコードのようにする!!!!
  64. 64. ⑥ TTwweeeett一覧をhhoommeeに表示しよう!!!! aapppp//vviieewwss//ssttaattiicc__ppaaggeess//hhoommee..hhttmmll..eerrbbに次のコードを追加する!!!! aapppp//ccoonnttrroolllleerr//ssttaattiicc__ppaaggeess__ccoonnttrroolllleerr..rrbbのhhoommeeに次のコードを追加する!!!! これで全ttwweeeettを表示することができる!!!!
  65. 65. ⑦ TTwweeeettしてみよう!!!! hhttttpp::////llooccaallhhoosstt::33000000// サインインしてhhoommeeにアクセスしてみよう!!!! TTwweeeettしたい内容を入れて TTwweeeettボタンを押してみよう!!!!
  66. 66. ⑥の続き これでTTwwiitttteerr AAppppは完成だ!!!!
  67. 67. CChhaapptteerr 66 ! オリジナル作品�を作ろう!!!!
  68. 68. 11.. 他のページを追加してみる???? ! ! 22.. デザインを変更する???? ! ! 33.. ttwweeeettするときにツイート以外の情報を入力する???? ! ! 44.. uusseerr登録するときに他の情報を入力する???? ! ! 55.. AAPPIIを作る???? ! ! 66.. 本家ttwwiitttteerrに近づける???? 可能性は無限大!!!!
  69. 69. CChhaapptteerr 77 ! おまけ
  70. 70. おまけ11:: データベース !  基本的な名前を覚えよう!!!! ! ! ! ! ! ! ! ! ! ! !  データ型には次のようなものがあ�る ::ssttrriinngg ((文字列)) ::iinntteeggeerr ((整数)) ::bboooolleeaann ((真偽値)) id name email 1 2 3 テーブル カラム
  71. 71. おまけ22:: mmiiggrraattiioonn((マイグレーション)) !  実はデータベースを操作しようと思うと本当は別の言語を使わないといけない((SSQQLL))  例えば、UUsseerrテーブル((カラムにnnaammee,, eemmaaiill))を作ろうと思うと… CCRREEAATTEE DDAATTAABBAASSEE DDEEVVEELLOOPP;; CCRREEAATTEE TTAABBLLEE UUSSEERR {{ nnaammee ssttrriinngg((2200)),, eemmaaiill ssttrriinngg((110000)) }};; mmiiggrraattiioonnを使うと… RRuubbyyで書ける!!!! ! すごい簡単!!!!  でいいことばっかり!!!!
  72. 72. おまけ33:: bboooottssttrraapp ! 正式名称は「TTwwiitttteerr BBoooottssttrraapp」  そう!!!!実はTTwwiitttteerr社が作っている!!!! ! CCSSSS FFrraammeewwoorrkkは、かっこいいデザインを開発者が簡単に使える便利なツール!!!! 公式サイトに使い方・どんなデザインが使えるかが書いてあ�るのでそちらを見てね!!!! ! ((注意:: bboooottssttrraappには現在vveerrssiioonn 33がリリースされているが今回はvveerrssiioonn 22..33..22を使います)) hhttttpp::////ggeettbboooottssttrraapp..ccoomm//22..33..22//iinnddeexx..hhttmmll
  73. 73. おまけ44:: SSaassss ! ..ccssss..ssccssssファイルを変換してCCSSSSを出力するCCSSSSの新しい書き方のこと ccssssと同様の文法を使うことができ、次のような機能が追加されている ! 11.. 入れ子 bbooddyy hh11 {{ … }}をbbooddyy {{ hh11 {{ … }} }}のように書くことができる ! ! 22.. 変数 「$$oorriiggiinnaall__rreedd:: ##ff77aa;; 」のように$$で変数を宣言できる ! ! 33.. mmiixxiinn 「@@mmiixxiinn {{mmiixxiinnの名前}} {{ … }}」と書くことで…の内容を利用するとき,, 「@@iimmppoorrtt {{mmiixxiinnの名前}};;」で再利用することができる

×