こんにちは、hachi8833です。
🔗Ruby
🔗 Rubyで環境変数を扱う(Ruby Weeklyより)
つっつきボイス:「Rubyで環境変数を扱うときによく使われる手法をまとめた記事です」「Twelve-Factor Appが登場してもう12年も経つんですね」「dotenv周りも定番」「ちなみにDocker Composeを使って構築しているのであればforemanを併用することは少ないとは思うので、使うならどちらかを使うということが多いと思います」
参考: The Twelve-Factor App
参考: The Twelve-Factor App (日本語訳)
🔗 Rubyの型アノテーションの現状についていくつか思うこと
つっつきボイス:「zverokさんが型アノテーションについて書いた記事です: 既にドラフト翻訳まで行ったので近々公開します」「軍事訓練の合間を縫ってスマホで5000ワードの記事を書いたんですか😳」
「記事ではRubyに前からあった型アノテーションシステム"的な"ものとしてYARDやGrapeなどが挙げられていますね」「YARDは個人的に割りと好きかも」「Grapeって知りませんでした」「Grapeは、OpenAPIがまだSwaggerと呼ばれていた頃にRubyでAPIサーバーを作るのによく使われていましたね: もっともGrapeは内部APIではなく外部からHTTP呼び出されるAPIですが」
参考: YARD - A Ruby Documentation Tool
「zverokさんは、型アノテーションは外付けのツールとしてではなく、Rubyの構文と一体化して欲しいと考えているそうです」「そこはきっと他の人も同じ願いでしょうね」
「PHPは後から型アノテーションを段階的に導入してstrict
モードを導入したりしているけど、Rubyは公式の方向性としてはあくまでソースコードに型情報を直接書くというアプローチは取らず、やるにしても別ファイル定義というアプローチをとる方向になりましたね: StripeがSorbetを別途開発してShopifyなどが採用するといった動きもありますが、それはそれでRuby本体とは別のGemとして利用したい人が利用すればよい、という感じだと思います」「zverokさんもPythonの型ヒントを使ってみて羨ましいと思ったそうです」
参考: PHPにおけるstrictモードを使った厳密な型宣言
参考: 2021年版Pythonの型ヒントの書き方 (for Python 3.9) | フューチャー技術ブログ
「Rubyのあらゆるものに型を書きたいとはまったく思わないけど、特にバックエンドだとシステムが大きくなったときに場所によっては多少コストをかけてでも型を書きたくなってくるときはある」「ですよね」
「まだざっと見ただけですが、Rubyの型アノテーションシステムの歴史と状況を押さえながら考察した記事のようですね: 後で落ち着いて読んでみたい👍」
🔗 その他Ruby
Rubyプログラマー同士のオンライン交流スペース『ruby-jp』の英語ページを用意しました! 🌐🆕
I've created an English page for the online Ruby community space in Japan, "ruby-jp", where 4k+ Rubyists joined. https://t.co/VmFZrLKVCM
Feel free to join if interested in the community!😆🗾
— 安川要平/Yohei Yasukawa (@yasulab) May 24, 2023
つっつきボイス:「言われてみればruby-jp Slackの案内ページは今まで日本語だけだった」「ruby-jpにも海外勢増えるといいですね」「ちなみに最近の海外勢はMastodonのruby.social/@rubyに参加している人が多い印象あります」
🔗DB
🔗 SQLite3
一昨日書いたブログのはてなブックマークがなんか急に増え始めたぞ?👀
僕たちは本当のSQLite3を何も知らない(柔軟なデータ型と外部キー制約の罠について) - give IT a try https://t.co/uqRVFGIVac
— Junichi Ito (伊藤淳一) (@jnchito) May 25, 2023
つっつきボイス:「jnchitoさんの記事です」「SQLite1とかSQLite2ってあったんですね」
「SQLite3のデータ型の扱いはとってもファジーなので、厳密にはACIDのC(Consistency)が保たれると限らないし、確実にINTEGER型とかにしようとして頑張ってもしょうがなかったりします」「そこがポイントですね」「もちろんSQLite3はデータを1ファイルに収められてSQLで扱えて、しかもSELECTが非常に高速なのは大きな魅力なので、そういう特性を押さえて使うべきだと思います」「SQLite3はそういう思想で設計されているということですね」
🔗 AI
🔗 ChatGPTのプラグイン
- 元記事: ChatGPT plugins
つっつきボイス:「ちょっと前に有料版のChat-GPT4でプラグインかURLを渡してブラウズする機能のどちらかをセッションごとに使えるようになってました↓」「お〜」「URLを渡してChatGPTに読ませられるようになったのは個人的にめちゃくちゃ便利です😂」
「プラグインストアに掲載されているプラグインがものすごい勢いで増えてました」「そのプラグインをChatGPTで書いてたりして」「他に、プラグインを開発したい人向けの順番待ちリストも公開されています↓」
🔗 Photoshopのジェネレーティブ塗りつぶし機能
つっつきボイス:「最近のAdobe製品の拡張機能はどんどん強力になっているけど、また機能が増えてますね」「こういう機能は研究レベルでは昔からありましたけど、Adobeの場合はあくまでデザイナーが使えるツールに特化していて実用性が高いのが特徴でしょうね」
Photoshop(beta版)で追加された生成AIがすごい。
firefly搭載のbeta版、イラストのアウトペイント(描き足し生成)が簡単にできる。生成機能のプレビューが写真画像ばっかりだったから出来るか分からなかったけど絵でもいける。やばい。 pic.twitter.com/iPvAB9xhGk— 852話 (@8co28) May 24, 2023
🔗クラウド/コンテナ/インフラ/Serverless
🔗 docker init
つっつきボイス:「docker initが導入されたのは少し前で画期的な機能とかではありませんが、何もないところからDockerを使う場合にセットアップの書き方で迷うことが減るのは地味に嬉しい👍」「今だと誰かが作った雛形がないといろいろ大変ですよね」
参考: docker init | Docker Documentation
🔗CSS/HTML/フロントエンド/テスト/デザイン
🔗 Web標準に「Baseline」ステータスが追加(Publickeyより)
- 元記事: Web標準に新たなステータス「Baseline」が登場。変化し続けるWeb標準のうちWeb開発者が安心して使える機能群を示す。MDNドキュメントなどで表示開始 - Publickey
- 元記事: Introducing Baseline: a unified view of stable web features | MDN Blog
つっつきボイス:「メジャーなブラウザでサポートされていることを示すBaselineステータスが追加されたことで、これまでのようにCanIUseとかで使えるかどうかを調べなくてもよくなった🎉」「これはありがたい🙏」「Recommendedなどのステータスと違って、Baselineはメジャーなブラウザで現実にサポートされていることを追認する表示ですね」
参考: Can I use... Support tables for HTML5, CSS3, etc
「Baselineステータス表示はW3Cが行っていることに意味があると思います: ステータスがBaselineの機能がたまたまブラウザで使えないことがあっても、それはブラウザ側で実装が追いついていないということがはっきりわかるので」「ですよね」「WhatWGはあくまで仕様を固める方を担当するようですね」
参考: Web Hypertext Application Technology Working Group (WHATWG)
後編は以上です。
バックナンバー(2023年度第2四半期)
週刊Railsウォッチ: Ruby 3.3.0-preview1リリース、in_order_ofのバグ修正ほか(20230525後編)
- 20230524前編 withで作成したリレーションをjoinsで指定可能に、キャッシュストアの例外処理を統一ほか
- 20230502 スライド『Rails 7.1をn倍速くした話』、Rails 7.1でMessagePackをサポートほか
- 20230427後編 第1回Rails Worldが10月に開催、『研鑽Rubyプログラミング』でRuby本体も高速化ほか
- 20230425前編 Rails 7.1の複合主キー対応が引き続き進む、exceptメソッドにwithoutエイリアスが追加ほか
- 20230413後編 ShopifyのRubyパーサーyarp、RJITを書いた理由ほか
- 20230412前編 複合主キーの実装が進む、Rails公式のバグ再現用テンプレートほか
- 20230406後編 Rubyオブジェクトモデルクイズの最難問ほか
- 20230405前編 Arel::Nodes::NodeにAPIドキュメントが追加、rubocop-mdほか
ソースの表記されていない項目は独自ルート(TwitterやはてブやRSSやruby-jp SlackやRedditなど)です。
週刊Railsウォッチについて
TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)