Home Web Document Ruby on Rails ガイド 新規リリースに伴うRailsガイドの更新の情報 @wakairo 2024/08/22 11:22 Railsの公式ドキュメントであるRuby on Rails Guidesは、Rails本体の新規リリースに伴って更新されており、そのRails Guidesの日本語版であるRailsガイドもそれらに伴って更新されています。 このTopicでは、このRails本体の新規リリースに伴うRailsガイドの更新に関する情報を取り扱います。
Home Software Libraries Ruby rails Ruby on Railsのサポート終了日(各バージョンのEOL) @wakairo 2024/08/13 11:38 最終更新 2024/11/13 20:19 railsの各バージョンについて、セキュリティアップデートが行われる期限(End-of-Life)は以下の通りです。 8.0.x - 2026/11/07 7.2.x - 2026/08/09 7.1.x - 2025/10/01 7.0.x - 2025/04/01 6.1.xは、以下の通りサポートが終了しています。 6.1.x - 2024/10/1 なお、railsのサポート期間に関するより詳細な情報については本家のメンテナンス・ポリシーを参照してください。
Home Web Service ChatGPT OpenAI(ChatGPT)のAPIで、意図したJSON形式の出力を確実に得るための設定 @wakairo 2024/08/09 19:04 2024年8月に「Structured Outputs」の機能と設定がOpenAI(ChatGPT)のAPIに導入されました。 この設定を有効にすることで、スキーマで指定したJSON形式の出力を、例外的な場合を除いて、確実に得ることが出来ます。 詳細は以下の記事を参照してください。 OpenAIがJSON出力の際に100%の精度で特定のスキーマに従わせる機能をリリース - GIGAZINE OpenAI API の Structured Outputs の使い方|npaka
Home Software Libraries Ruby meta-tags meta-tags側のtruncateでは、スペース文字のところで切り詰めが行われます @wakairo 2024/07/05 20:26 最終更新 2024/07/05 20:27 meta-tagsのv2.21.0で'truncate_on_natural_separator'の設定が追加されました。この設定を利用することで、スペース文字のところでの切り詰めを回避できるようになりました。このことを上のコメントに反映しました。
Home Software Windows UniGetUI (formerly WingetUI) WingetUIはv3.1からUniGetUIに名称が変更されました @wakairo 2024/07/04 07:36 winget以外のパッケージ・マネジャーも多数サポートするようになってきたため、WingetUIをUniGetUIにちかぢか名称変更しますというアナウンスメントが2024/03/13に出ていました。 2024/07/03にバージョン3.1がリリースされ、リリース名が初めてUniGetUIになりましたので、名称変更が完了したものと思われます。 なお、バージョン3.0のリリースではWingetUIという名称でした。
Home Software Windows UniGetUI (formerly WingetUI) WingetUIにおいてVCRedistのアップデート通知が繰り返される問題とその解決策 @wakairo 2024/06/25 14:09 問題 WingetUIにおいて、Visual C++ 再頒布可能パッケージ(Microsoft.VCRedist.2015+.x64)がアップデート可能であると通知されるので、WingetUIからアップデート操作をして成功と表示されたにもかかわらず、すぐにまたアップデートが可能であると通知されることが繰り返されました。 どうやら、アップデート成功という表示は嘘のようで、実際にはWingetUIからこのVCRedistのアップデートには成功していなかった模様です。 解決策 コマンドプロンプトから以下のコマンドを実行したところ、アップデート通知が繰り返されることはなくなりました。 winget upgrade Microsoft.VCRedist.2015+.x64 つまり、WingetUIからアップデートが上手く行かないときは直接wingetでアップデートすると問題が解決することがあるようです。 参考 本件と関係するかは分かりませんが、以前のコメントにあるように、かつてWingetUIのインストールにおいて"Microsoft.VCRedist.2015+.x64"に関連するエラーが存在していました。
Home Web Service ChatGPT LLMからJSON形式の出力を安定的に得るノウハウ @wakairo 2024/06/11 20:26 Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 「TypeScriptをデータ出力例として与えると、かなり忠実に従ってくれるようになる」などのノウハウが示されている。
Home Web Service ChatGPT LLMからJSON形式の出力を安定的に得るノウハウ @wakairo 2024/06/11 20:25 最終更新 2024/08/09 19:08 ChatGPT(OpenAI)のAPIにはスキーマで指定したJSON形式の出力を確実に得るための機能であるStructured Outputsがありますが、他のLLMではJSONのためのこういった機能や設定がない場合もあるようです。 このTopicでは、LLMから安定したJSONを得るためのノウハウやLLMの出力したJSONが問題ないかチェックするためのノウハウを扱います。
Home Software プログラミング言語 Python Pythonライブラリの作成に関する公式情報 @wakairo 2024/05/25 20:19 最終更新 2024/05/25 20:24 なるほど、Pythonのパッケージングに関して、公式情報に相当する情報があるのですね。勉強になります。 それから、言及されているチュートリアルとサンプルプロジェクトのどちらも設定を書くのがsetup.pyではなくpyproject.tomlなのですね。 自分でも少し調べてみたのですが、python.orgにあるガイドには、「(パッケージングの設定には)pyproject.tomlファイルを使うのが標準的な慣習です。」と書いてあり、Zennの記事でも「現在でも歴史的経緯から setup.py のみで設定を行っているプロジェクトは多く存在しますが、このような構成は現在では非推奨」、「setup.pyを設定ファイルの一部として用いる場合であってもpyproject.tomlは配置するのが現在の標準的なセットアップ方法」と書いてある記事を見つけました。 どうやら、Pythonパッケージにはpyproject.tomlを用意すべし、pyproject.tomlを起点にしてPythonパッケージをビルドすべし、というのが公式見解のようですね。コマンドラインからsetup.pyを直接実行するやり方はlegacy、つまり、廃止予定とのことですし。
Home Software Unix Unix commands bash コメントを利用してコマンドを再利用する方法 @wakairo 2024/05/16 20:34 最終更新 2024/05/16 20:41 よく使うコマンドはaliasやシェルスクリプトの形で保存し再利用するのが王道かと思いますが、 「#」」を使ったコメントをコマンドの後ろに付けることで、コマンドを手軽に再利用する方法もあります。 例えば、以下のようにコマンドの後ろにコメントを付けておきます。 cd ~/foo/bar/baz #cfbb すると今後は、このコマンドをそのまま再実行したいときには、C-rのあと#cfbbと入力してEnterで再実行できます。 ちなみに、コマンド全体が同じではなく、引数などの部分をそのときそのときで変えたい場合には、 先ほどの操作から続けて、C-eで行末に移動し、M-bとM-fで単語単位で移動して、M-dかC-wで単語単位で削除して、新たな内容を入力、といった形で対応することも出来はします。 もちろん、こういった操作がややこしい感じになるなら、素直にaliasかシェルスクリプトの活用の方が良いのではないかと思いますので、このコメントを利用した方法が活躍する場面は、全く同じコマンドを繰り返す場合だと思います。
新規リリースに伴うRailsガイドの更新の情報
Railsの公式ドキュメントであるRuby on Rails Guidesは、Rails本体の新規リリースに伴って更新されており、そのRails Guidesの日本語版であるRailsガイドもそれらに伴って更新されています。
このTopicでは、このRails本体の新規リリースに伴うRailsガイドの更新に関する情報を取り扱います。
Ruby on Railsのサポート終了日(各バージョンのEOL)
railsの各バージョンについて、セキュリティアップデートが行われる期限(End-of-Life)は以下の通りです。
6.1.xは、以下の通りサポートが終了しています。
なお、railsのサポート期間に関するより詳細な情報については本家のメンテナンス・ポリシーを参照してください。
OpenAI(ChatGPT)のAPIで、意図したJSON形式の出力を確実に得るための設定
2024年8月に「Structured Outputs」の機能と設定がOpenAI(ChatGPT)のAPIに導入されました。 この設定を有効にすることで、スキーマで指定したJSON形式の出力を、例外的な場合を除いて、確実に得ることが出来ます。
詳細は以下の記事を参照してください。
meta-tags側のtruncateでは、スペース文字のところで切り詰めが行われます
meta-tagsのv2.21.0で'truncate_on_natural_separator'の設定が追加されました。この設定を利用することで、スペース文字のところでの切り詰めを回避できるようになりました。このことを上のコメントに反映しました。
WingetUIはv3.1からUniGetUIに名称が変更されました
winget以外のパッケージ・マネジャーも多数サポートするようになってきたため、WingetUIをUniGetUIにちかぢか名称変更しますというアナウンスメントが2024/03/13に出ていました。
2024/07/03にバージョン3.1がリリースされ、リリース名が初めてUniGetUIになりましたので、名称変更が完了したものと思われます。
なお、バージョン3.0のリリースではWingetUIという名称でした。
WingetUIにおいてVCRedistのアップデート通知が繰り返される問題とその解決策
問題
WingetUIにおいて、Visual C++ 再頒布可能パッケージ(Microsoft.VCRedist.2015+.x64)がアップデート可能であると通知されるので、WingetUIからアップデート操作をして成功と表示されたにもかかわらず、すぐにまたアップデートが可能であると通知されることが繰り返されました。
どうやら、アップデート成功という表示は嘘のようで、実際にはWingetUIからこのVCRedistのアップデートには成功していなかった模様です。
解決策
コマンドプロンプトから以下のコマンドを実行したところ、アップデート通知が繰り返されることはなくなりました。
つまり、WingetUIからアップデートが上手く行かないときは直接wingetでアップデートすると問題が解決することがあるようです。
参考
本件と関係するかは分かりませんが、以前のコメントにあるように、かつてWingetUIのインストールにおいて"Microsoft.VCRedist.2015+.x64"に関連するエラーが存在していました。
LLMからJSON形式の出力を安定的に得るノウハウ
Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話
「TypeScriptをデータ出力例として与えると、かなり忠実に従ってくれるようになる」などのノウハウが示されている。
LLMからJSON形式の出力を安定的に得るノウハウ
ChatGPT(OpenAI)のAPIにはスキーマで指定したJSON形式の出力を確実に得るための機能であるStructured Outputsがありますが、他のLLMではJSONのためのこういった機能や設定がない場合もあるようです。
このTopicでは、LLMから安定したJSONを得るためのノウハウやLLMの出力したJSONが問題ないかチェックするためのノウハウを扱います。
Pythonライブラリの作成に関する公式情報
なるほど、Pythonのパッケージングに関して、公式情報に相当する情報があるのですね。勉強になります。
それから、言及されているチュートリアルとサンプルプロジェクトのどちらも設定を書くのが
setup.py
ではなくpyproject.toml
なのですね。 自分でも少し調べてみたのですが、python.orgにあるガイドには、「(パッケージングの設定には)pyproject.toml
ファイルを使うのが標準的な慣習です。」と書いてあり、Zennの記事でも「現在でも歴史的経緯から setup.py のみで設定を行っているプロジェクトは多く存在しますが、このような構成は現在では非推奨」、「setup.py
を設定ファイルの一部として用いる場合であってもpyproject.toml
は配置するのが現在の標準的なセットアップ方法」と書いてある記事を見つけました。どうやら、Pythonパッケージには
pyproject.toml
を用意すべし、pyproject.toml
を起点にしてPythonパッケージをビルドすべし、というのが公式見解のようですね。コマンドラインからsetup.py
を直接実行するやり方はlegacy、つまり、廃止予定とのことですし。コメントを利用してコマンドを再利用する方法
よく使うコマンドはaliasやシェルスクリプトの形で保存し再利用するのが王道かと思いますが、
「#」」を使ったコメントをコマンドの後ろに付けることで、コマンドを手軽に再利用する方法もあります。
例えば、以下のようにコマンドの後ろにコメントを付けておきます。
すると今後は、このコマンドをそのまま再実行したいときには、
C-r
のあと#cfbb
と入力してEnterで再実行できます。ちなみに、コマンド全体が同じではなく、引数などの部分をそのときそのときで変えたい場合には、 先ほどの操作から続けて、
C-e
で行末に移動し、M-b
とM-f
で単語単位で移動して、M-d
かC-w
で単語単位で削除して、新たな内容を入力、といった形で対応することも出来はします。 もちろん、こういった操作がややこしい感じになるなら、素直にaliasかシェルスクリプトの活用の方が良いのではないかと思いますので、このコメントを利用した方法が活躍する場面は、全く同じコマンドを繰り返す場合だと思います。