ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

WEB+DB PRESS Vol.136 メモ

雑誌を積ん読にしないように、各記事にチマっとずつ何か書いて、形に残そうと思います。

対象は↓です。

gihyo.jp

全体の感想

  • 最後だからか、一層内容が厚かった気がしました。
  • 特集1はPythonのFastAPIで、網羅されている機能的な部分とサンプルの実装でかなり詳しかったと思います。普段はRubyですが、PythonAPIサーバを作るなら使ってみたい気持ちになりました。
  • 特集2はパスキーで…仕組み、組み込み方、最後の章が導入時に気になる部分のプライバシー保護,セキュリティ耐性,互換性などについてのまとめで、自社サービスに早く入れたくなりました。
  • ChatGPTについても記事があって…かなり幅広く書かれていましたが、特に気になったのは…あまり気にしていなかったOpenAIという組織が非常に興味深い構造をしていることと、仕組み的な面から届きやすい指示の仕方(データのデリミタをちゃんとする、など)で、とてもよかったです
  • 他の連載はいずれもよかったですが今回は…池澤春菜SF小説の歩き方がよかったような…出産SF(WOMBS)とかびっくりしましたし、かわいいのパラダイムシフト(プロジェクト・ヘイル・メアリー)とかいわれたら読むしかなさそうです。ほかもいっぱいあって…時間が足りません…。
  • Web+DB Pressは前職では会社で定期購読をお願いしたり、現職は電子版で読みたかったので思い切って自分で定期購読してたりしてました。Webとは違って、確実な情報が書かれていることと、興味が薄い周辺の情報や他言語の状況などが幅広く知れて、助かっていました。不定期で特別号を…とのことで楽しみにしています。ありがとうございました!

休刊のご挨拶

  • 大変長い間、おつかれさまでした!
  • 確実な貴重な情報源として長い間利用させていただきました。
    • 最後の方は思い切って個人で定期購読を始めて、とてもよかったと思っています。
  • ありがとうございました!
  • 不定期で特別号を予定とのことで、こちら楽しみにしております!

特集1 Python最新Web開発 FastAPI+SQLAlchemyで非同期処理

  • FastAPIって、フレームワークだったんですね…。そこからわからなかったです。なるほど。

第1章:Python WebフレームワークFastAPIに入門 特徴を理解し,最小構成で動かしてみる……陶山 嶺

  • 静的解析ツールも豊富にあるのは助かります。
    • 慣れないときにいい書き方を教えてほしいので…。
  • 非同期…?
    • async/awaitか…!
  • ASGI ← WSGIの後継…ではないのか。精神的続編。
  • APIドキュメントができて、実際にリクエストを投げられるの、いいですね。
    • 認証が必要なページはどうするんだろう…?
  • ちょっとよさそうに見えてきました。

第2章:APIスキーマ定義 APIドキュメントの自動生成,リクエストパラメータの定義,自動バリデーション……陶山 嶺

  • APIだから…
    • パスオペレーション関数の引数で…っていうのは、わかりやすくてよさそうです。
    • 型ヒントもドキュメントっぽくていいかも。
    • バリデーションもドキュメントっぽくていいかも。
    • モデル <-> JSON も便利そう。
  • 扱いやすそう…。API特化、いいなぁ。

第3章:マシンパフォーマンスを引き出す非同期処理 同期処理との違い,非同期I/O,ユニットテスト……陶山 嶺

  • 非同期処理…気になります。
  • 普通にasync/awaitしてるように見えるんですが……途中でサーバがハングしたりとか平気なのかな?どれくらいの信頼性で設計されているのか気になります…!
  • とにかく、エンドポイント単位で導入を決められるのはよさそうです…!

第4章:FastAPIの豊富な機能 エラーハンドリング,DI,バックグラウンド処理……陶山 嶺

  • エラーハンドリング、楽そう…。
    • APIだから、たしかに例外送出が適当そう。
  • バックグラウンドタスク、よさそう。
    • 非同期とどう使い分けるんだろ…?
    • redisとか使うっぽい。
  • 普通に便利に扱えそう…って、スゴいことですね…。

第5章:SQLAlchemyでデータベースと連携 基本から非同期I/O対応まで一気に紹介……陶山 嶺

  • OR Mapper なんですね。
  • 命名規則とかあんまりうるさくない → 全部自分で設定するので面倒 …ということにならないようにデフォルトがいい感じになってるとよさそうだけど、どうなんでしょう?
  • 非同期対応はいいですね…。

第6章:本格的なWeb API開発にチャレンジ 支出管理APIを作成する……陶山 嶺

  • あとで試したい…。
  • うーん…ログの設定とか、自分で書いていくのか…。慣れているひとが作ったものは大丈夫そうだけど…不慣れなひとが始めたプロジェクトを途中で引き継ぐと苦労しそう……。
    • あ…でも、Railsでもツラいか ><
  • ここまでの章で出てきたサンプルの全体像みたいなので、説明と紐づいててよさそう。

特集2 実戦投入パスキー いまこそ実現,パスワードレス認証!

第1章:パスキーの登場 パスワードレス認証,なぜ必要? なぜ実現できない?……えーじ,倉林 雅,真武 信和

  • 2段階認証面倒くさい、めっちゃわかる…。
  • パスワード、パスキー以前のパスワードレスの試みの歴史、待望のパスキー…わかりやすくまとまってました!
    • うちの会社でうまく説明する資料を作りたい気持ち…。

第2章:パスキー時代の認証UX ユーザーが自然に使えるパスワードレス認証とは……えーじ,倉林 雅,真武 信和

  • 再認証…大事なところではあると安心しますね…。
  • パスキーは単体で2要素認証だから、2段階認証に使っても……なるほど。
  • 一度断ったひとにも時間を空けて再度勧めるのか…。内容が内容だけに悪くはないかも。
  • ブラウザのサジェストも案外スムーズに見えます。
  • …これを機会にGoogleアカウントでパスキーを使えるようにした…つもりだけど、自然すぎてよくわかりませんでした…。
    • そこがスゴいのかも…。

第3章:パスキー実装の基礎知識 基礎となるWebAuthn APIを理解しよう……えーじ,倉林 雅,真武 信和

  • んー…ブラウザ依存……?まだ早いのか……?
  • 使う段になったらもう1回読んでみます…。

第4章:実践! パスキー実装 WebAuthn APIを使ってパスキーを作成しよう……えーじ,倉林 雅,真武 信和

  • …うむ。使う段になったらまた読みます…!

第5章:パスキー導入時の考慮事項 プライバシー保護,セキュリティ耐性,互換性問題を正しく知ろう……えーじ,倉林 雅,真武 信和

  • めっちゃ知りたいです!
  • 生体認証が盗まれたら……考えたことなかったな……。
  • エンドツーエンドの暗号化はホントありがたいです…。
  • フィッシング耐性…。登録URLもセットだから、起き得ないのか…。
  • すばらしい、うちのサービスにも入れたい…!
    • パスワード、面倒ですもんね…!

一般記事

ChatGPTのある世界の歩き方 開発の歴史から将来の課題まで ……あんどうやすし

  • OpenAI、変わった営利団体ですね…。知りませんでした。
  • 三並べ…なるほど、たしかにそういうことか…。ここから、どういうことが得意でどういうことがダメなのか、ちょっと透けて見えてきた気がします。
  • 言語処理関連は非常にうまいのは感じます…。
    • 変数の名前を考えてもらったり、割とよい感じでやってくれます。
  • 指示とデータのデリミタをちゃんとすると良い感じに…。
    • なるほど…英訳を頼むとその後の会話も英語になったりしてました。
  • めっちゃ幅広く書いてくれてて、よかったです!
    • OpenAIがどんな団体かもなんとなくわかったのは収穫…!

連載

実践データベースリファクタリング ── アンチパターンに立ち向かう 【最終回】複雑なクエリを紐解く……曽根 壮大

  • 複雑なクエリ……すみませんすみませんすみません!!!
  • 読み解くときに実行計画…?
    • クエリの実行順がわかりにくいときに、ココを見るとわかるとは…なるほど。
  • Window関数…ちょっと前のMySQLにはないんですよね>< 使いたい…!
  • アプリケーションのコード外で、BIにこういうSQL書いてしまうんですよね…。
    • ちょっと使うだけだと思ったのに、案外利用期間が長くなったりして…。
    • しかも他にコピペしちゃったりして、あああ…ってなります…。
    • そのうちに書き換えます…。
  • とても勉強になりました。つづきもどこかに出していきたいとのことで…楽しみです!

基礎力アップ! Javaプログラミング 【最終回】再帰とスタック,キュー ……プログラムの裏側を理解して,どんな処理にでも対応できるようにする……きしだ なおき

  • 最新というか…早期アクセス版Java
  • 再帰、割と好きです。
  • 使うなぁ…と思ったら、たしかに文字列の解析に使ってるかも。
  • メモ化再帰…まだ実感したことないや…。試しにサンプル書いてみるか…。
  • 移動平均をキューで…なるほど…。
  • 今回、めっちゃ詰め込まれていたような…。
  • 普段Javaは使ってないのですが、言語によらないことも多く、楽しませてもらいました!

乗りこなせ! モダンフロントエンド 【最終回】日時・数値のフォーマット,多言語化の最新手法 ……Intlの基礎からユースケース,注目プロポーザルまで……左治木 隆成

  • Intlオブジェクト?
    • developer.mozilla.org
    • 国際化、地味に困ってました…。
    • 組み込みオブジェクトだと、だいぶ安心感ありますね。
    • 言語タグ、こんなに細かく規定されているんですね…。
    • 小数点表示の丸めオプションが入ってる…!
    • メッセージフォーマットはまだなんですね…。とはいえ、そのうち来ると思えば!
    • フロントエンド、弱かったからこの連載を楽しみにしてたのに、終わってしまうの残念です…。

Ruby 3組込みライブラリ紹介 【最終回】正規表現Regexp ……マッチ/取得/作成のメソッド,キャプチャ処理,ReDoS対策……西山 和広

  • ^行頭、$行末問題はホント気をつけてます!
  • うわ…iオプション、気をつけなきゃいけないんですね…。(あまり使ってなかったですが…)
  • Regexp#sourceとRegexp#to_sの違い…なるほど…。
  • 名前付きキャプチャはたまに使うけど、便利…。
  • ReDoS対策、必須ですよね…。
    • Regexp.linear_time? そんなメソッドがあるんですね…。
  • Rubyの機能をあらためて見直せたり、ニッチな機能を知れたりと、とても助かる連載でした。ありがとうございました!

現場のPython ── システム開発も! 機械学習も! 【最終回】最新Python環境構築 ……シンプルでコーディングしやすい環境を整える……altnight

  • 開発環境、いつも困るところで…めっちゃ助かります!
  • pyenvは?と思ったら、ちょっと用途が違うんですね…。
    • venvは言語バージョンを切り替えるものではなく、環境を分けるもののよう…。
  • pyenvよりはDocker推しなんですね…。
    • わかるんですが…遅くないのかな…?
    • MacRailsのものをDockerで…と思ったら、遅すぎてダメでした。
  • Poetry…RubyのBundlerみたいなの?
  • PEP 8、black、ruff…コーディングスタイルの統一は重要ですね…。
    • セキュリティスキャナとかそういうのはないのかな…。
  • 型と型チェッカー
    • あるとだいぶ助かりそう…。
    • うちも入れたいけど、まだそこに至ってない…。
  • Python、普段使ってませんが、使う機会もあるだろうと思って、楽しみながら読んできました。ありがとうございました。

Goに入りては…… ── When In Go... 【最終回】あらためてGoの強みとは ……Goコードのメンテナンス性の高さの理由……牧 大輔

  • Goの好きなところ…!連載の最後にふさわしいテーマ…。
  • 大きく他の言語と異なるところがあって、そこが気になるところ…。実際に使っている感想が一番参考になります…。
  • Github Copilot……もしかすると、言語の設計が大きく変わるかもしれませんね…。面倒なところを自動で書いてもらうというのは、なるほどです。
  • 毎回、何か実際に書いてみたい…と思いつつ、思いつかないのでアレですが…。
  • とはいえ、実際に使っていないのに言語の良さも知れたりというのは、大変勉強になりました。ありがとうございました!

Perl Hackers Hub 【最終回】Carmelによる依存モジュール管理 ……CPANモジュールの更新を高速,安全に……宮川 達彦 監修:牧 大輔,福本 貴之,松木 雅幸,大沢 和宏

  • Carmel、聞いたことがなかったです。最後にPerlを使ってた頃はCartonだったかなぁ…。
    • ちゃんと今もこうやって開発されているので、Perlもずっと現役ですね。
    • よく、まだPerl?とかからかわれましたが…それはいつからメンテナンスしてないPerlアプリケーションなの?と言われてたんだなって、今は思います。
  • carmel diff 、これアップデート時に超便利そう……。
  • これも終わりですか…。
  • Webアプリケーション開発で横断的にいろんな情報を集められるの、めっちゃ便利だったのに…。
  • この連載がハッカー色が一番強かったかも…。とても楽しかったです、ありがとうございました!

コラム

池澤春菜SF小説の歩き方 ──エンジニアリングの未来を描く名作たち 【最終回】あなたの世界を変えるSF ……常識を揺さぶれ,世界を揺らせ……池澤 春菜

サバンナ便り ── ソフトウェア開発の荒野を生き抜く 【最終回】脆いテスト ……継続的な変更と改善を阻むテストの原因と対策……和田 卓人

  • 脆いテスト…確かにインテグレーションテストやE2Eテストみたいなところがそうなりがちですね…。
  • 今のところ守ってやっているとは思いますが……気をつけるようにします!

ちょっと気になる隣の技術畑 【最終回】チューニングが止まらない! プログラミングの魅力 ……941さん……日高 正博

  • ISUCON…そんな名前だったんですか……スゴい……。
  • 「8時間後にCM打ってアクセスたくさん来るからよろしく!」…ってマヂですか……。
    • うちならどうしようかなぁ……。
  • ISUCONの仕組み、スゴいんですよねぇ……。
  • なるほど、スコアに変化があると表示……。なるべくみんなにスポットライトが当たるようになってるようで…よくできてます…。
    • 8時間と長いことと、ほぼ同時に…みたいなのがほぼないからかな。
  • 懇親会が盛り上がる…なるほど…これはスゴいかも。
  • あ…確かに過去問があったんでした。やってみることも可能なのか……。8時間………。厳しいか…。
  • しかし、こういう社会への還元方法もあるのか…と感心しました。うーん…なるほど…。
  • やっぱり、スゴいなぁ……。

News Hot Line

はまちちゃんわかばちゃんのREADER'S FORUM ── 読者のページ 【最終回】……はまちや2,竹原

  • 最終回……さびしいです!
  • お悩み相談がw
  • アンケート書いたら、結構載せてもらって、たのしかったです!ありがとうございました!!

特別広報

Web3の新時代を拓くココネのエンジニアリング力を探る

  • 今回インフラ?結構幅広くインタビューしてますね…。
  • こういうところにいると大規模なデータベースに触れられるかあ…。
  • いろんな会社がチャレンジして戻ってきてる、グローバル化…。うまくいくとよいなぁ…。
    • マルチリージョン、マルチマスター…。
    • 一番はデータベースかぁ、やっぱり。
  • 福利厚生もいいなぁ…。