Saki
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 【第3週】パRails輪読会 \(2022\-08\-08\~ 2022\-08\-12\) ###### tags: `パRails(2回目)` - [開催概要](https://hackmd.io/rOcLR0riRqmOgEF0_Ssm0A?both) - [パRails輪読会 ノートまとめ](https://hackmd.io/5emISRvRRXapmakSiHnFJg?both) - 2020年開催のノート:[パRails 輪読会ノートまとめ \- HackMD](https://hackmd.io/JC8zzjn_T-GaIh-71clcKQ) ## パRailsのサンプルコード・正誤表 - [サポートページ:パーフェクトRuby on Rails【増補改訂版】:|技術評論社](https://gihyo.jp/book/2020/978-4-297-11462-6/support) - [パRails 環境構築の手順](https://hackmd.io/y7qb2BRMT2Wd4tAtKYObcQ) ## 目次 [TOC] ------ ## 2022\-08\-08(月) ### 連絡事項や確認・相談 - 8/11(木)は祝日(山の日)なので、お休みです ### タイムキーパー - @Saki ### ドライバー - @tomonari ### 読んだところ - P.79 [2-3-1途中の「ビューの決定と表示」]〜 ### 次回 - P.84 [コラム RailsにおけるCSRF対策]〜 ### 自由に使う共有スペース ### 各自の疑問点や気づき、学んだこと - hikaru(代読お願いします〜) - curlコマンドで色々操作できるんですね〜。普段画面上でぽちぽちやってる操作も単なるリクエストに過ぎないってことなのかな?と思いました - `around_action`はメソッドの中で処理をアクションに戻さないといけないということらしいけど、`around_action`でしか使えないメソッドができてしまうってこと? - しかもそれがメソッドの中身を見ないとわからないので、間違って他のところで使ってしまう...とかやらかしそう - @fuwa - curlコマンド怖 - `around_action` 初めて知りました。正直使い方がいまいちわからないけれど、きっと便利な部分もあるのでしょう - フックの定義はメソッドだけでなくブロックでもできる - @Saki - 最初フックとかコールバックって出てきて怖いと思ったが、ちゃんと理解すればそんなに難しいものではなかった - 2-3-2で言っているのは、 - showアクションとdeleteアクションで、`@book = Book.find(params[:id])`という同じ処理を書いている - この共通の処理を`set_book`メソッドに切り出す - これを、`before_action`等を使うことで、コールバック処理=今回言うと、destroyアクションが走る前にset_bookメソッドを実行させる、ということができる - `before_action`などのことをフックと言うの知らなかった - `around_action` - Actionの前後両方で実行させる - `yield`に、`around_action`で登録したアクションが入るイメージ - P.82のコード - around_actionでアクションしてして - curlでDELETEできてしまうのこわい!! - @haruguchi - Railsはデフォルトでcsrf_meta_tagsというヘルパーによってcsrf対策が行われている - curlとwgetの違いはよくわかってないけど、リクエスト飛ばせるからもちろんDELETEもできる - フックは何かの処理の前後に処理を挟むという意味 - ブロックで定義すると匿名関数ならぬ匿名フックができる validateと同じだった - Client for URLs :pray: - https://curl.se/docs/faq.html#What_is_cURL - LEF - curlの怖さを改めて分かりました。 - around_actionを初めて知りました!yieldの使い方もよく分からなかったので参考になりました。 - tomonariさんドライバーありがとうございました。もし自分がやっていたらもっとワチャワチャして時間が掛かっていたと思います。 - ガラムマサラもテンパってます - 質問なのですが、もしドライバーになったら、輪読会が終わった後に変更したファイルをpushする形でしょうか? - @napple29 - `around_action`はアクションの前後に処理を差し込める - curlコマンド怖すぎる - https://qiita.com/yasuhiroki/items/a569d3371a66e365316f - POSTとかもできるからデータの書き換えもできるのか、、、すごい - @paru871 - aroundフックは、Action前後の処理を指定できる。 - Actionの指定は`yield`で指定する。 - aroundフックは前後でセットだろうか?どちらかだけでもOKか調べてみたいです。 ### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK) - @tomonari - 初めてのドライバーでしたが、ご助言いただいたり、お待ちいただいたりしてなんとか終えることができました! - ナイストライ!:+1::+1: - ありがとうございました! - 皆様ありがとうございました! - @Saki ドライバーありがとうございました!!初めてですのにイレギュラーな操作で大変だったかと思います🙏お疲れ様でした! - @fuwa - 今日は1ヶ月ぶりにジョギングをしました。びっくりするほど体力が落ちていて残念です。。。 - LEF - 夕食はかぼちゃの天ぷらを食べます!🎃 - :urayama: - 高級キーボード欲しいな~と思いつつ2000円のキーボード使ってます。⌨ - @haruguchi - 久しぶりに、序盤の方から参加できました。急いで仕事を終わらせた - ガラムマサラさん元気ですか? - 天気が悪く膝が痛いです(病院のフードコートで聞いてます):hand:🦿:knees::muzukasi: - :hiza::elbow::foot::hand::head: :sune: :ashi: :ohiza: :legg no knee: - :knee:膝出てこなかった。。🦵←あった! - :poultry_leg: 違う。。 - @napple29 - tomonariさん、初めてのドライバーとはつゆ知らず、色々試していただいてありがとうございました🥺😂 - curl試せて勉強になった - 月曜日やる気出ない - @paru871 - tomonariさんのドライバーが流暢で素晴らしかったです!ありがとうございました。 - curlで試したの面白かったです。ワイワイ楽しい! - 上に書いた疑問、それならbeforeとかafterのフックでいいのかな?? - @Saki - 司会やドライバーは慣れてる人が大抵やってるのでハードル高く感じるかもですけど、お気軽にやってくださると嬉しいです!スムーズにやらなきゃいけないとかは全然ないです😃 ## 2022\-08\-09(火) ### 連絡事項や確認・相談 ### タイムキーパー - @ガラムマサラ ### ドライバー - @saki ### 読んだところ - P.84 [コラム RailsにおけるCSRF対策]〜 ### 次回 - P.90 [2-3-5 StrongParameters]〜 ### 自由に使う共有スペース ドライバーした時のコード載せておきます! - ちょっと複雑なルーティング ```ruby resources :publishers do resources :books #publishers/:publisher_id/books/:book_id member do get 'detail'#publishers/:publisher_id/detail end collection do get 'search'#publishers/search end end ``` - resource(単数系) ```ruby! # resourceだとルーティングが単数系になる resource :profile, only: %i{show edit update} #onlyで作るアクション指定できる ``` ### 各自の疑問点や気づき、学んだこと - @napple29 - LoginFailedクラスで例外を複数用意したいときはどうするんだろう?(いい時間なので自分で調べます…) - collectionとかmemberの指定方法は知らなかったので大変勉強になりました - 一人のユーザから見てアプリ上に一つしかないものはresource(単数)を使う - だからindexがないんだあ~と発見! - @maimu_x2x - Sinatraの課題で存在しないページへのアクセス時に404エラーページを出すようにしたのですが、自分で例外定義の方法がわからずStandardErrorとして処理しました・・・。Rrailsでrescue_fromで自分で例外が定義できるのは勉強になりました! - @garammasala29 - ルーティングの`collection`と`member`は復習 - ルーティングの切り分けの話https://zenn.dev/shima_zu/articles/divide_rails_routes - `rescue_from`で例外クラスを指定し、`with`オプションでアクションを指定 - パRailsあっさり大事なことたくさん書いてある - @Saki - `rescue_from` - 自分で例外クラスを作って、実行させる処理は書いたことがないので難しかった! - `skip_before_action` - 例えばApplicationControllerに、`before_action :require_login` を書くと、アプリの全てのコントローラのアクションの実行前に`require_login`が発動する - 発動させたくないアクションがある場合、スキップさせたいコントローラに`skip_bedore_action :require_login(メソッド), only: [:new, :create](アクション指定)` - resourcesは↑の[自由に使う共有スペース] - @paru871 - `resorces`を使うと、一般的なCRUD操作全てのルーティングが定義できる。。。すごい!便利! - 拡張として`member`や`collection`を使えば基本のアクション以外の任意のルーティングを設定することができる。 - 1つしかリソースが存在しない場合は、`resource`を使えばよい! - 例外処理、いつも赤い画面がでるとギョッとするので仲良くなりたい。 - @haruguchi - ステータスコード神経衰弱とかみんなでやりたいですね。覚えられそう - ルーティングは大体いつも忘れるから都度ググってる 同じやつでも書き方が複数あるのが、、、 - `collection do ~ end` ` on: :collection`みたいな ### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK) - @maimu_x2x - 1日参加しなかっただけで、ちょっとついていけない感がありました(涙) - もうすぐRailsのプラクティスに入るため可能な限り輪読会参加を継続したいと思います! - @napple29 - 木曜は祝日、木曜は祝日、木曜は、、、、、、、 - 🍵 - @garammasala29 - 森塚さんありがとうございました!またいろいろ教えてください! - haruguchiさん、ポーカーしたいなぁ…🤔 - もうちょっと待って! - @haruguchi - ふーがさんいないので宣伝しておきます - https://blog.agile.esm.co.jp/entry/start-accepting-ise-ebi-curry - 夏っぽいことがしたい - 線香花火がしたい - スイカ割りがしたい - あと何がある? - 花火大会 - <s>蕎麦打ち</s> 流しそうめん - 陰の人間だからもう思い浮かばなかった。。。。 - ルービックキューブ - 着衣水泳 - ほたる?? - バナナボート - @Saki - 自作サービス作らないといけないけど、夏休みっぽいことがしたい! とりあえず花火を買って、かき氷を食べに行きたい - パRails、さらっと書いてあるけど難易度高い😂 :wakaru: - 365連休...😇 - @paru871 - 例外処理、あまり慣れないところだったので森塚さんがいらっしゃってくれて本当にありがたかったです!ありがとうございました!! - 今日の曜日もわからなくなる。 ## 2022\-08\-10(水) ### 連絡事項や確認・相談 - 明日は祝日なのでお休みです! ### タイムキーパー ### ドライバー ### 読んだところ - P.90 [2-3-5 StrongParameters]〜 ### 次回 - P.99 [2-4-2途中 layoutテンプレート]〜 ### 自由に使う共有スペース ### 各自の疑問点や気づき、学んだこと - @napple29 - 部分テンプレートのファイル名は`_`始まり - 他の部分は心ここにあらずだったのでひとりで読んでおきます、、、、 - LEF - renderを省略できる、は今まで意識していなかったので勉強になりました! - renderでインスタンス変数などを渡す場合に`locals`で明示的に渡したほうがいいよ、とレビューで教えていただいたのを思い出しました(それまでは暗黙的?に渡していました)。 - StrongParametersについても今までなんとなくで理解していたので、今回改めて学習できて良かったです。 - privateの中に`require`と`permit`を使って書く! - @Saki - StrongParamter - これを設定して、ユーザーからきたリクエストの中で、許可したパラメーターだけを受け付けるようにしないと、管理者権限で入れてしまったりする。 - bootcampで検索すると色々出てきて面白い:[Search · params\.require](https://github.com/fjordllc/bootcamp/search?q=params.require) - アプリを使う時、自分でパラメータを追加してリクエストを送ることがないので、いろんなリクエストが来ることを想定して気をつけないといけないなと思った - レンダリングの仕組み - 普段`render :show`などを書かず、`rails g controller`すると自動的にcontrollerと対応したviewができるので意識していなかった - 仕組みとしては、`render :show`でviewテンプレートを呼び出せる - 省略可能で、書かないと自動的に`render アクション名`と解釈される。なのでshowアクションで省略すると自動的にshowのviewと解釈する - @haruguchi - Mass Assignmentって一括でデータの更新とかができるやつだったんだ - テンプレートの探索順でハマった経験がある - @maimu_x2x - StrongParameramterについてちゃんと覚えておきたいと思います。これに加えてDBやRails側で受け取った値のチェックをする感じなのかな。 - @fuwa - StrongParameter、こないだ使ってみて便利だなーと思っていました。ちゃんと設定しないと管理者権限使い放題ですね。 - アクション名とテンプレート名が同じならrenderを省略できるの忘れていました - @paru871 - 2-3-5 StrongParameters - 意図しない属性の変更を一般ユーザーに許してしまうことを避けるために使う - MassAsignmentで利用しても良い属性を許可リストとして`permit`で定義しておく - 2-4-1 レンダリングまでの流れ - `render` `redirect_to`などを使って表示するものを指示する - 上記2つにどちらにも`:status`オプションを渡してステータスコードを指定できる ### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK) - @tomonari - タイムキーパーも初挑戦できて、いい経験になりました! - 結構緊張しますね - 初司会ありがとうございました!🙏✨✨ - 超スムーズでした!初めてとは思えないです!! - @maimu_x2x - 部分テンプレートの活用など覚えて使いこなしたい内容がたくさんあって、自分用のまとめノートちゃんと作ろうと思います! - @fuwa - ご飯食べててタイムキーパーできなくてすみませんでした〜カレイの甘酢あんかけは美味しかったです! - 全然大丈夫です〜!おなかすきました🎣 - 明日はコメダ珈琲に行きたい気分だけれど暑いから悩み中。。 - @haruguchi - 何書こうかな、、、 - 小銭を穴に落として、どうにかしようとして覗いていたら完全に不審者でした - @napple29 - パーシャルの中でパーシャルを呼ぶと動作が遅くなる、と見たことがあるのですが誰か知見ありますか、、?? - パーシャルがそもそもおそいです。github/view_components をつかうとか https://viewcomponent.org/ - ありがとうございます〜〜〜〜、、、、会社の古のコードが四重くらいでパーシャル呼んでで困っていました、、、、 - まずは rack mini profiler で profile して、ボトルネックを特定するのが初手かなとおもいます (ほんとうにパーシャルのせいなのか?) - パーシャルのせいじゃない可能性大です(震) - プロファイリングしましょう。プロファイリングして測れないと、改善するべきポイントがそもそもわからないので改善できないです - @paru871 - 表示のエラーが出たのでエラー文を読んでいたら夢中になってしまって、HackMDの気づきがかけませんでした。。あとで書いておきます!エラーもWebpack周りのようなので後ほど解決策を共有します! - すみません、調査してくださってありがとうございます!! - 気になるところがあったんですがこの後(じゃなくても良いですが)時間ありますか?! - ありがとうございます!時間あります!! - いや全然解決できないかもですが、、、😂 - @Saki - 司会とドライバーありがとうございました! webpackerが本当に厄介...! - haruguchiさんは線香花火会いつ開催するんですか?? - では明日、琵琶湖集合で!! 🚀 - 東京で!!!!!電車代出すんで!!! - @cafedomancer - エラーがでているのは webpack の compile に失敗しているせいです。webpack がなんでうまく動いていないかはこの時間では追えませんでした。node が新しすぎるせいというのはありそう - 僕も前nodeのバージョン下げたら上手くいきました(LEFさんと一緒) - 下げようと思ったら python がないと言われて下げられませんでした (泣) - LEF - 今日の分報にちょっと書きましたが、nodeを12くらいまで落とすとうまくいくかも…🤔 - ありがとうございます!うまくいきましたーー🙌 - コメダはボリュームあって美味しいですよね☕ - 暑が夏いぜ!🌻 - 🍧 - 🌊🧊🍺🏖🏝 ----- ### 8/10(水)の「Webpacker::Manifest::MissingEntryError in コントローラー名#アクション名」のエラー解消について 👉 エラー解消のためにやったこと 1. nodeのバージョンを「12.22.12」に下げる 2. webpackerのインストール 3. webpackerのコンパイル 👉 nodeのバージョンを自動で切り替えられるようにするため、`.nvmrc`と`.node-version`の2つのファイルを設置しました。 - 「JavaScript環境の設定」プラクティスでは上記ファイルに対応する設定の指示が今年に入ってから更新されていますので、`.nvmrc`の設定ができている方は特に何もしなくてOKです。 - 昨年までに「JavaScript環境の設定」プラクティスが修了している方は下記のリンクから`.nvmrc`の対応をお願いします。 [JavaScript環境の設定 | FBC](https://bootcamp.fjord.jp/practices/177) 👉 BootcampアプリのWikiにもnodeの切り替えの方法の説明があります。 [nodeのバージョン切り替え · fjordllc/bootcamp Wiki](https://github.com/fjordllc/bootcamp/wiki/node%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88) 👉 nodeのインストール用コマンド(nvm使用の場合) - インストールされているnodeのバージョンのリストを表示 - `$ nvm ls` - 指定したバージョンのnodeをインストール - `$ nvm install 12.22.12` 👉 よくわからない場合は一緒に設定をやりますので、ドライバーに指名された場合でもご安心ください😊 👉 今日お見せできなかったviewが無事に表示されましたのでご報告です! ![](https://i.imgur.com/lTWRyx9.png) ------ ## 2022\-08\-11(木) 祝日なのでお休み ------ ## 2022\-08\-12(金) ### タイムキーパー ### ドライバー ### 読んだところ - P.99 [2-4-2途中 layoutテンプレート]〜 ### 次回 - P.105 [2-5-1途中 number_with_delimiter] ### 自由に使う共有スペース - `format`の中身 ```ruby! respond_to do |format| format.html do |html| #iphoneの場合のみリダイレクト html.mobile {redirect_to profile_path} end format.json {render json: @book} end ``` ```ruby! pp format #=> #<ActionController::MimeResponds::Collector:0x00007fa45838ed80 @format= #<Mime::Type:0x00007fa47e6db0f8 @hash=4579222365154991862, @string="text/html", @symbol=:html, @synonyms=["application/xhtml+xml"]>, @responses= {#<Mime::Type:0x00007fa47e6db0f8 @hash=4579222365154991862, @string="text/html", @symbol=:html, @synonyms=["application/xhtml+xml"]>=> #<Proc:0x00007fa45838ec40 /Users/hattorisaki/rubybook/book_admin/app/controllers/books_controller.rb:8>, #<Mime::Type:0x00007fa47e6d3420 @hash=-1206771205598511039, @string="application/json", @symbol=:json, @synonyms=["text/x-json", "application/jsonrequest"]>=> #<Proc:0x00007fa45838eb28 /Users/hattorisaki/rubybook/book_admin/app/controllers/books_controller.rb:12>}, @variant=[:mobile] # ✅これ!! > ``` ### 各自の疑問点や気づき、学んだこと - @maimu_x2x - +mobileでモバイル対応が可能なことは知らなかった👀 - pp使ったことがないため、今度使ってみようと思います! - LEF(代読お願いします🙏) - `=~`メソッドで正規表現マッチングすることを忘れていたので参考になりました。 - `pp`メソッドを使うと整形してくれることを今まで知らなかったので、これまで使っていこうと思います。 - ターミナルの表示から`p`のメソッド結果を探すのが大変で、近くに`p "ああああああああああああ"`みたいな形にして目立つように書いてます。 :wakaru: - @haruguchi - pp 大好き倶楽部に入ってます!(tap大好き倶楽部にも入ってます) - helperメソッドは`helper.mthod`でコンソールで確認できる - @saki - layoutテンプレートの存在、普段あんまり意識してなかったので復習になった! - `app/views/layouts/application.html.erb`は自動的に作られる(`rails new`とかのタイミング?) ```ruby <body> <%= yield %> # ここにviewの各テンプレート(newとかeditとかshow)が入る </body> ``` - layoutsテンプレートを複数作成したことがないが、複数ある場合は、呼び出すcontrollerのアクション内で、`render :show, layout: 'awesome_book'` と書けばlayoutsテンプレートも指定できる - アクセスする媒体によって表示するテンプレート - おっきいJSONデータを自作サービスで扱ってるので`pp`がないと生きていけません...!!🙏👼✨ - @paru871 - pp好きなのでお話しできてよかった! - variantsを使うとテンプレートを切り替えできる。。。が今は殆ど使われていない様子。 - ヘルパーメソッド便利すぎる! - @niikz - ヘルパー便利! - `form_with` で簡単にフォームができてすごい ### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK) - @maimu_x2x - 救急病院と消防署の間に住んでいるため、途中うるさくて失礼しました🙇🏻 - JSPrimer読んでみようと思っているのですが、皆さんWeb版を読まれましたか? - [JavaScript Primer \- 迷わないための入門書 \#jsprimer](https://jsprimer.net/) - @haruguchi - maimu_x2xさんの`x2x`はなんだろう?maimu maimuと予想! - 線香花火を買ったので今日の夜やります!琵琶湖集合で! - 🏃‍♀️💨 - @Saki - 今日は1日だらだらしていました! 明日から自作サービスちゃんとやります💪 - @paru871 - 私もちょうど今、JSprimerを読み直してるところです! - LEF - 先程のデバッグの素晴らしい記事を見つけたので共有致します。 [困ったときはターミナルへ出力だ!プリントデバッグ入門 - プログラミング漫遊記](https://haruguchi-yuma.hatenablog.com/entry/2021/12/14/101520) - @niikz - Postman を使ってAPI接続を試しているのですが、むずかしいのでコマンドからできるtwurlを試してます! ### 連絡事項や確認・相談 - 2章が終わったらKPT会やろうと思ってるんですが、どうでしょう🤔 - 参考:[第1回KPT会 Ruby本輪読会\(🅱班\) \- HackMD](https://hackmd.io/-AzrGuXgRBuDZl-LgYtJmA) - :+1::waiwai!: - お盆休みはとくに無しで開催します! -----

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully