Gemini Advancedでもうゲームが変わっていた
2025-02-21

Gemini Advanced を使えるようになったので少し試してみた。 Gemini Advanced は単純に Gemini が Google Workspace で今開いているドキュメントに対して利用できるだけでなく、 Gmail の中身 Google Drive の中身 をインデックスして検索することができる。 つまり、Gemini モデルが学習時点で獲得した知識だけでなく、自分や Google Workspace 内のデータ固有の知識に基づく動作が可能になっている。ということは Google Workspace 内に対象データが閉じている場合、RAG を作る必要がない ということを意味する。え? あれこれいきなり最強では? これまでは使えるかどう...
今さらLLMのモデルの違いとプロンプトエンジニアリングについて
2025-02-16

まとめ Ollamaですごく簡単にLLMを動かせたけど… (2023-12-29) | あーありがち 以来、LLM については、自分が調べたものの理解が概ね合っているか確認するとか、ちょっといじわるな問答をして確かめるみたいな、普通に使ってみる以外にアプリケーション開発に組み込んだりはしないまま時間だけが過ぎていた。今回は、2024年にもそれなりに新しいモデルが発表されているし、現状をもう一度おさらいし、以前概念だけをさらって分かった気になっていた部分を復習しながらより具体的に考えられるように何かやらせてみようとして、いろいろ分かっていないことに気付かされた話。 まずローカルでも動かせるツール周りの状況 上記時点からローカルのマシンスペックなどもろもろ変わっていないので、以下...
Bundler環境でIRBでもLSPでもドキュメントを利用する方法
2025-02-11

Bundlerでrubygemsをインストールした場合、ドキュメントがない まぁ deploy 時のことを考えれば実行時間が短縮されていいんだけど、なぜかドキュメントをインストールするためのオプションがないので、ドキュメントが欲しい場合に Bundler だけで対処する方法がない。 何が困るのか ri コマンドでインストール済みの gem のドキュメントを参照できない irb でも同様 irb で補完が効かないのはマジで困る。 対処方法 Bundler には、少なくとも Bundler v2.5 の時点ではドキュメントもインストールするというオプションがない。したがって Bundler 以外の方法で解決が必要。 global に同じ gem をインス...
Ruby 3.2と3.3のirb historyの扱いの違いと対処方法
2025-02-11

Ruby 3.3以降.irbrcはどうすればよいか Ruby 3.3 以降、.irbrc の以下の記述の扱いは require "irb/ext/save-history" # <- LoadError IRB.conf[:SAVE_HISTORY] = 1000 # default が 1000 になったので不要 このようになりました。もし Ruby 3.2 以前と 3.3 以降の両方の環境を触る場合は、.irbrc には以下のように書いておきましょう。 begin require "irb/ext/save-history" rescue LoadError ensure IRB.conf[:SAVE_HISTORY] = 1000 end これ...
Result型とRailway Oriented Programmingをめぐる旅
2025-02-08

まとめ(長い) JavaScript からの POST エラーで必要以上に広く例外を捕捉していたため、実際に起きたアプリケーションエラーには対処できず、かつ POST できていない事態も検知できていないという障害があった (少なくともアプリケーションレベルのコードにおいては)例外は監視対象の障害レベルのエラーのみに利用し、アプリケーションエラーのレベルは例外を使わずにエラー状態を伝播させる方法はないか1 Result 型が一部では流行っているらしい Railway Oriented Programming という考え方があるらしい 最近また TypeScript 界隈は関数型が流行っているらしい(なんか定期的に流行るけど定着はしないよね) Railway...
dry-operationのススメとエラー情報をViewまで持っていく方法の模索
2025-01-26

今回は Ruby で Web アプリっぽい何かの話。Rails や Sinatra を想定していて、いくつかの処理でエラーが発生する可能性があり、それをいい具合に例外を使わずにフロー制御し、View まで一貫して伝える方法を考える。 エラー処理を書きたくないし、例外では潔く終了して監視されてほしい エラー処理って面倒くさい。だいたいエラーってなんだ。目の前のソレ、別にエラーじゃなくてただの False や Nil や String じゃないですか? あるいはただの ActiveModel では? エラーとはいったいなんですか? 以前、 少しでも例外を安全に扱うために - RubyとJavaScript編 - (2024-08-10) | あーありがち で扱っていたのは例外...
aligach.netのRubyとViteをバージョンアップした
2025-01-11

変わったこと Ruby 3.1.6p260 -> 3.3.6p108 -> 3.4.1p0 Bundler 2.2.21 -> 2.5.22 -> 2.6.2 csv gem, base64 gem を依存に追加 Node.js 18.20.3 -> 20.18.1 Docker image ruby:3.1-bullseye -> ruby:3.3-bullseye -> ruby:3.4-bookworm ruby:3.1-slim -> ruby:3.3-slim -> ruby:3.4-slim-bookworm no...
ViteRuby 3.7.0は起動方法のデフォルトがnpx経由になった
2025-01-10

何が起きるのか 場合によっては以下のようなメッセージを目にして Vite が動かない。 Building with Vite ⚡️ rake aborted! ViteRuby::MissingExecutableError: ❌ The vite binary is not available. Have you installed the npm packages? 悲しい。 assets:precompile から ViteRuby が呼ばれる ViteRuby は「はいはい♪」と起動するフリをする 「Viteが見つからないよぉ、ちゃんとインストールしたの?」とキレられる いやいや、この間まで動いてた環境のままやぞ?という話。 何が変わったのか ...