APIのメソッドPUTとPATCHは何が違うのか調べてみた

PUTとPATCHの違いをあまり気にしてこなかった 基本的にフロントエンドなので、仕様書に書かれているメソッドでAPIと通信してきた。 ただ今回、自身が作る側に回り、PUTとPATCHの違いがいまいちピンとこなかったので、調べてみた。 結論 PUTはリソースの完全な置き換えで、PATCHはリソースの一部分のみを更新する場合とのこと。 例えば、 { "name": "John Doe", "age": 30, "email": "john@example.com" } というデータがあり、31歳に変更する場合を考えてみる。 PUTの場合 PUT /users/123 HTTP/1.1 Host: example.com Content-Type: application/json { "name": "John Doe", "age": 31, "email": "john@example.com" } といった感じに変更した年齢以外もまるっと送る必要がある。 PATCHの場合 対してPATCHの場合は、 PATCH /users/123 HTTP/1.1 Host: example.com Content-Type: application/json { "age": 31 } となる。 どっちを使うべきか まあ、この感じだと一部だけを更新したい場合はPATCHを使用するべきなんだと思うけど、その場合はフォームの一部だけが変更されたという監視が必要になるので、それなりの工数がかかる。そのためPUTでいいかなといった結論になりました。

投稿日 · 2024-05-01 · 更新日 · 2024-07-07 · 1 分 · nove-b

2024年4月の月報

4月に読んだ本 1984 (ジョージ・オーウェル) 1984年、世界は〈オセアニア〉〈ユーラシア〉〈イースタシア〉という3つの国に分割統治されていた。オセアニアは、ビッグ・ブラザー率いる一党独裁制。市中に「ビッグ・ブラザーは見ている」と書かれたポスターが張られ、国民はテレスクリーンと呼ばれる装置で24時間監視されていた。党員のウィンストン・スミスは、この絶対的統治に疑念を抱き、体制の転覆をもくろむ〈ブラザー連合〉に興味を持ちはじめていた。一方、美しい党員ジュリアと親密になり、隠れ家でひそかに逢瀬を重ねるようになる。つかの間、自由と生きる喜びを噛みしめるふたり。しかし、そこには、冷酷で絶望的な罠がしかけられていたのだった――。 1984 やっと読み終えた。 最後まで読んでもなんとなく読んだことあるなあ、くらいの感覚だった。 つまり当時もそこまで思うところなかったんだろうなあ。 当時としては画期的な設定だったのかもしれないけれど、今はよくあるだろうし、あまりにも理屈っぽい。 僕の好きな人が、よく眠れますように (角川文庫) 僕が通う理科系大学のゼミに、北海道から院生の女の子が入ってきた。徐々に距離の近づく僕らには、しかし決して恋が許されない理由があった……『100回泣くこと』を超えた、あまりにせつない恋の物語。 僕の好きな人が、よく眠れますように (角川文庫) 再読、忘れちゃいけないんだけど、これ不倫のおはなし。 小市民シリーズ 春期限定いちごタルト事件 小市民シリーズ (創元推理文庫) 夏期限定トロピカルパフェ事件 小市民シリーズ (創元推理文庫) 秋期限定栗きんとん事件 上 小市民シリーズ (創元推理文庫) どうやら冬季限定(冬期限定ボンボンショコラ事件 〈小市民〉シリーズ (創元推理文庫))が出るらしいということで、一気に読み返し中。 調べると番外編(巴里マカロンの謎 〈小市民〉シリーズ (創元推理文庫))も出ていたらしい。 久しぶりに読むけど、やっぱり面白い。 ページをめくる手が止まらないので、どんどん口座からお金が引き落とされる。 プライベートとか仕事とか 土日は基本的に公園に 土日は基本的に外に行かないともたない。 子どもたちの無尽蔵の体力と戦い抜くには家はあまりにも狭すぎる。 ということで土日は決まって公園に行くのだが、人が多いと「抱っこ抱っこ」でこちらの体力が主に削られる。 まあ、普段座ってばかりだから、歩くことは良いことなんだけど、他の子がぐんぐん歩いているのを見ると、少し羨ましい。 とはいえ、いずれ抱っこすらさせてくれなくなるのだろうから、文句を言わずに抱っこしようと思う。 たぶんきっと、子どもが親にくっついてくれる時期はあまりにも短い。 個人開発 やっとバックエンドの開発が終了した。 いや、アプリ側と並走するので、終了したというより一段落したといったぐあい。 現にアプリ側から叩き、CORSエラーでつまった。 CORSってブラウザ間の問題じゃないの? よくわからいけどexpoで実行しているからかしら。 そういったことを調べて、まとめて、理解して進みたいんだけど、それ以上に早く完成させたい。 あまりにも時間がない。 でもきっとしっかり調べてまとめた方が将来的にはためになるんだろう。 木こりのジレンマ的な? 調べてアウトプットしよう、5月の目標は5記事くらいは書きたい。 ちなみに4月は1記事、うーん。記事書くことがすべてじゃないけど、もう少し書いていきたい。

投稿日 · 2024-04-30 · 更新日 · 2024-07-07 · 1 分 · nove-b

Github ActionでGithubに草が生え続けていた

草が生い茂っている 自分自身のGithubプロフィールページは、たぶんだけれどそんなに多く訪れるものじゃない。 個人で作ったプロジェクトの整理をしようと思い立ち、久々に訪れると、コミット履歴が青々と生い茂っていた。 もちろん、勤勉に勉強しているつもりだが、毎日コミットできるほどに勤勉ではない。 特に子どもが生まれてからパソコンを開けない日が増えた。 いかに子どもたちの体力を消費させるかという基準で公園の選定と、保育園について調べる時間で、夜の自由時間は消える。 そのため、最近は週の半分コミットできれば上出来といった具合なのだが、先述した通り、コミット履歴は青々と生い茂っている。 Githubの草を生やすことを目標にしている人種もいる どうやらGithubの草を生やすことに執着している人もいるらしい。 毎日草を生やしたいので、コミットするなんていう人が。 理由としてはモチベーションアップとか、転職に役立つとか書いてあるけれど、Githubの草が転職に役立つような企業なのであれば、それは少し怪しい。 毎日勉強しているという風に捉えてくれるのかもしれないけど、草が生えているから勉強しているわけではない。 その一例が私のコミット履歴である。 毎日やっていないけど、草が生い茂っている。 決して毎日草を生やしたいなんていう目的で草を生やしているわけではない。 この草は気が付いていたら生えていた雑草の様なものなので、引き抜きたいけれど、引き抜く方法がわからなので、もう生えてこないよう、除草剤をまくことにした。 原因はGithub Action 草が生えるには、 リポジトリのデフォルトブランチへのコミット イシューを開く プルリクエストを提案する 上記の条件がある。 確かに作業を行っていない日だろうと、思いついた時にissueを開くことはあったけど、決して毎日じゃない。 そして毎日作業していないので、コミットもしていなければ、プルリクの提出もしていない。 それじゃ、何が原因なのか。 調べてみると毎日1コミットが、feedというリポジトリに行われていた。 feedというリポジトリは自作のRSSリーダーで毎日Github Actionを使用し、記事を最新化している。 読みたい記事たち 間違いなく、これである。 ここに仕込んだGithub Actionが毎日定期実行され、記事を最新化してくれ、その副産物として草まで生やしてくれていた。 今回は草が生えているだけでよかったのだが、何かしら課金の絡んだ処理とかであった場合、恐ろしい。 使わない定期実行はしっかり処理しようという教訓を得たのと、草を生やして転職に役立てたいという需要があるのであれば、そういうGithub Actionを作っても面白いかもしれない? という謎のアイデアが生まれた。

投稿日 · 2024-04-15 · 更新日 · 2024-04-15 · 1 分 · nove-b

2024年3月の月報

前回(3月)は読んだ本をまとめたけどそれ以外にも記憶しておいたほうがいいと思ったので、書いておくことにする。 3月に読んだ本 プログラミング経験者がGo言語を本格的に勉強する前に読むための本 (天田士郎) 本書はタイトルの通り「Go言語を本格的に勉強する前に最低限抑えておくべき知識」をまとめた物です。 何らかのプログラミング言語の経験者を想定しているため、未経験者や初心者の方はご注意ください。 プログラミング経験者がGo言語を本格的に勉強する前に読むための本 いま作成しているアプリのバックエンドでGolangに挑戦している。 Chat-GPTを最大限に活用している。そのせいか、なんとなく学びきれてない感を拭い去れない。 そこで体系的に学ぼうと手に取った。 文法的のまとめのような本なので、体系的には学べなかった。 次はハンズオン的な本を読もうと思った。 1984 (ジョージ・オーウェル) 1984年、世界は〈オセアニア〉〈ユーラシア〉〈イースタシア〉という3つの国に分割統治されていた。オセアニアは、ビッグ・ブラザー率いる一党独裁制。市中に「ビッグ・ブラザーは見ている」と書かれたポスターが張られ、国民はテレスクリーンと呼ばれる装置で24時間監視されていた。党員のウィンストン・スミスは、この絶対的統治に疑念を抱き、体制の転覆をもくろむ〈ブラザー連合〉に興味を持ちはじめていた。一方、美しい党員ジュリアと親密になり、隠れ家でひそかに逢瀬を重ねるようになる。つかの間、自由と生きる喜びを噛みしめるふたり。しかし、そこには、冷酷で絶望的な罠がしかけられていたのだった――。 1984 まだ読んでいる。 なんとなくページが進まない。 面白くないわけじゃないんだけど、読み気が進まない。 そして絶対に読んだことがある。 プライベートとか仕事とか 子育て 双子が1歳半になった。 より人間らしくなってきて、ぐんぐん可愛くなってきている。 同時に意思も強くなってきて、こちらの思い通りにならないことも増えてきた。 滑り台が好きで、公園に行くと喜ぶ。 最近は子どもの動画を編集するのにはまっている。 Google Photo のハイライト動画という機能で簡単に作れるので、お出かけした時はその日の動画を1分くらいにまとめている。 スマホがほしい 格安スマホ使っているのだが、そういう訳で画質に不満が募り始めたので、スマホの買い替えを検討している。 Google Pixelに出戻りをするか、あと折りたたみスマホも気になっている。 PCのほうがほしい ただそれよりもPCの買い替えが急務である。 Ctrlキーがなくなって早1年、ずっと使ってきたが、Altキーも外れそうである。 あと最近Dockerとか起動するともっさりしている。 次は、Surface 10にする予定。どうやら6月に出るっぽいので、それまで我慢することにする。 目標達成率 もっさりしたPCで作っているアプリは進捗が芳しくない。 Goの知識がなさすぎで思うように進まない。 NestJSとかで作成しておけばよかったと思うけど、それだと成長が止まってしまうので、ここでしっかりGoをマスターしたい所存。 アプリ作成は今年の目標の1つである。数ある目標の中でも最優先タスクなので、6月くらいまでに達成したい。 理想は ネイティブアプリをリリースする(6月) 基本情報技術者資格を取る(8月) OSS活動にコントリビューとする(10月) Mastodonのサーバーを立ち上げる(12月) とか。できるかしら。 まあ、地道に頑張る。 仕事がまあ忙しい 進捗が芳しくないのは仕事に時間を取られているという原因もある。 今はAngular、Vue、NestJsの案件がメインである。 その中でも多くの比重を占めているのがNestJsの案件。 実装者として参画しているんだけど、プロマネ的なこともしている。 他人のコードの質を担保するのが本当に難しい。 自分のコードは仕様に沿うように書いているので問題ないんだけど、他人のコードのレビューをするときはその人の考えたことを想像しつつ、コードを読み解く必要がある。 難しいけど、まあ糧にはなるよね。 っていうそんな感じで4月になっていた。

投稿日 · 2024-04-06 · 更新日 · 2024-07-07 · 1 分 · nove-b

GitBashが日本語を受け付けなかったので対応させた

会社のPCでGit Bashに日本語を打つと何も表示されない。 そのため、毎回毎回export LC_ALL=ja_JP.utf8と記入していた。 面倒なので起動時に日本語を受け付けるようにしたい。 .bash_profileを変更する user/username/.bash_profileにexport LC_ALL=ja_JP.utf8を追記すると実現できる。

投稿日 · 2024-03-16 · 更新日 · 2024-07-07 · 1 分 · nove-b