AI を活用したチャットアプリの開発では、会話のコンテキストをどのようにプロンプトに含めるかが重要な課題です。
単純なチャットアプリでは、例えば直近 5 件分の会話をプロンプトに含めて AI の返答を自然にしたりします。
しかし、会話の中には文脈に関係ない情報が多く含まれていることがあります。これを効率的に削減するために、文脈の「要約」を AI で行い、それをプロンプトに含める方法があります。
Motörhead
は、こういったチャットアプリの実装を代わりに行ってくれるツールです。
Grafana Loki
はログ管理システムであり、大量のログデータを効果的に管理するために使用されます。しかし、Loki はログデータが膨大になるとストレージ領域を圧迫する可能性があります。そこで、一定期間ごとに Loki の古いログデータを削除する必要があります。本記事では、Bash シェルスクリプトを使用して Loki のログデータを削除する方法を説明します。
GnuPGの公開鍵・秘密鍵の有効期限を確認し、期限切れ前に延長する手順を解説。gpg --edit-keyコマンドの使い方と、有効期限を設定しない選択肢についても説明。
English version
何らかの理由によりThe Graph
等のhosted-serviceを使わずに自分でgraph-node
を建てる場合、グラフノードのスケールアウトも正しく考慮する必要があります。スケールアウトできる構成を組まないと、Web3クライアントからリクエストが504(Gateway Timeout)になってしまう事態が頻発します。本稿では簡単に実現できるグラフノードのスケールアウトの方法をご紹介します。
English version
ブロックチェーン上のスマートコントラクトを開発するに当たって実行コストである「ガス代」を削減することは重要な事です。消費Gasを削減するためのいくつかの有名なトリック
があるのですが、そのうちの一つに「ストレージ変数の変更を避ける(Avoid changing storage data)」というのがあります。
例えばUniswapV2のスマートコントラクトにはこんな感じでgas savingsのトリックが至る所に施されています。
自分でスマートコントラクトを書いたり、レビューしたりするときにはこの点常に気をつけているのですが、先日ふと「これあまりにも古典的なトリックなので、すでにSolidityのオプティマイザで解決されてるのでは?」と思い、最新のSolidityコンパイラ0.8.11で検証してみました。
なんとなく事態が緊迫している空気を感じ、コロナ禍のベトナム・ダナンから急遽思い立って帰国したのが2020年の7月でした。この日の翌日からベトナムと日本の定期便が停止となりましたのでギリギリ日本に滑り込んだというタイミングでした。この当時、完全にベトナムに移住していたため日本住むところがなく、またすぐにベトナムに帰るつもりだったので日本で居所を借りずにマンスリーマンションや民泊(AirBnBなど)を利用して日本各地を泊まり歩いていました。この放浪生活が最終的には16ヶ月続きました。
今年からこの日記を書き始めて日本語入力と英語入力を切り替える頻度が上がりました。macOSの日本語変換にイラッとする事が多くなり、ATOK for Mac
を使ってみました。今日はATOKを使用した感想を書いてみたいと思います。
リモートサーバと開発用Macのファイル同期をしているSyncThing
が同期エラーを出していました。
今日はこのエラーの対処をします。
サーバがトラブルを起こして止まった後のトラブルシューティングで気づく、入れ忘れていたパッケージランキングのトップがsysstatでしょう。sarと言うコマンドを提供するこのパッケージは以下のようなCPUやメモリなどの使用状況を記録してくれます。
BinanceSmartChain
(以下、BSC)が凄まじい勢いでトランザクションを増やしています。go-ethereum
をベースとし、Ethereumのエコシステムを引き続きつつ、ステークによるコンセンサスアルゴリズムで早く・コストが安いトランザクションを実現しています。実際BSCにトランザクションを流してみると、BitcoinやEthereumメインネットが一世代前のものに見えます。
当初から言われているとおり、BSCの「早さ安さ」というのはセキュリティとのトレードオフで実現されています。今日は、BSCのコンセンサスアルゴリズムの中核となるProof of Staked Authorityがどんなものか本家ドキュメント
から抜粋翻訳してみます。