はじめに 開発環境 開発準備 コーディング 変数定義 構造体宣言 関数実装 ファイル読み書き機能(関数名:FileReadWrite) 成績ランク算出機能(関数名:CalcGradeRank) 実際の実装(main.cpp) ソースコードの解説 実際の実装(ClassFileReadWrite.cpp) ソースコードの解説 実際の実装(ClassCalcGradeRank.cpp) ソースコードの解説 コードレビュー 次回予告 はじめに どうも、迷走星人です。 2回目はプログラム実装の話を出来たらと思います。 尚、この段階では以下の工程が完了しているものとします。 プログラムの設計&レビュー …
はじめに からあげ帝国、バンザイ!! nikkieです。 春ですね。F#する春です🌸 慣れるための素振りをしていきましょう。 目次 はじめに 目次 F#で自分だけのクソコンソールアプリケーションを作る コンソールアプリケーションを作る モジュールを導入 終わりに P.S. nikkieによるunkoオマージュギャラリー F#で自分だけのクソコンソールアプリケーションを作る この記事では、F#で小さなコンソールアプリケーションを作ります。 我が主(=皇帝)のからあげさんの記事に、オマージュ捧げていく形となります。 Python版1 . ├── unko/ │ ├── __init__.py │ …
最近「非同期ストリーム」というのを知りました。 今回はそんな非同期ストリームについて API で利用した場合のパフォーマンスの検証結果をご紹介します。 非同期ストリームについて 検証 サーバー クライアント まとめ おわりに 非同期ストリームについて 通常データを取得するメソッドはこんな感じです。 public Item[] GetItems() { } 非同期にするとこんな感じ。 public Task<Item[]> GetItemsAsync() { } 非同期ではあるけど、必要なデータが集まるまで待たされる。集まったデータは一括で呼び出し元に返されます。 これらの方法は必要なデータを集…
少し前ですが、Azure FunctionsのNode.jsでstream対応になりました。 techcommunity.microsoft.com stream対応したということは、OpenAIのstreamの返信をFunctions経由で返すことができるということなので、このブログで検証しようと思います。 ※OpenAIのAPIを使います。AzureOpenAIではないです。 環境 @azure/functions 4.0.0 openai 4.38.1 FunctionsはHTTPトリガーを使用 Functions実装 最初に環境変数を設定します。 名前:"OpenAIApiKey" 値…
さて、例のLXD上のMateで遊んでいます。 現在CodeTyphonがやっと入りました。 これを入れるのにコツがあります。 /etc/sudoersにおまじないを 書いてinstall.shを走らせないとコンパイルできません。 くわしくはCTのForumに書いてありますが、みんなそこではまっています。 DelphiのAlternateであるLazarusとは別系統であるCodeTyphonですが、 最新を入れてみました。CodeTyphonはMultiPlatformなのでソースからコンパイル してIDEをいれるのです。(Lazarusもですが) BigIDEを選ぶと大量のコンポが入りますが…
環境 Azure.AI.OpenAI 1.0.0-beta.15 コンソールアプリ(.NET 6) 実装 まずはクライアントを作成します。 string key = "[OpenAIのAPIキー]"; OpenAIClient client = new(key); 次にモデルの指定やプロンプトの設定を行います。 string modelName = "[モデル名]"; var chatCompletionOptions = new ChatCompletionsOptions() { Messages = { new ChatRequestSystemMessage("You are a he…
今週は年次有給休暇を消化する週間でした。久しぶりに研究室に来てみると研究室内で稼働しているMac miniのファンがものすごい音を立てて回りっぱなしでした。。。あれ?どーしたかな?と。あれこれやってみたものの、想像通り、外部からは入れず強制シャットダウンしリブートしました。 とりあえず問題のMac miniでコンソールアプリを起動してクラッシュリポートに何かあるかな?と覗いてみると。以下のような感じでした。ちなみにこのMac miniのOSはあCatalinaです。古いけど頑張って動いてくれています。 PenTabletDriverとSymantecの何かしらがひたすらクラッシュしていました。…
最近、おそらくは常駐させているなんかのアプリの影響で、急にウィンドウのフォーカスを奪われることがある。例えば、普通にVSCodeで何かを書いてる時、急にフォーカスが飛ぶと普通にびっくりするし、何度も繰り返されるとイライラする。 直接的な原因になりそうなアプリが思いつくわけでもなかったので、どうにかしてフォーカスを奪ってくるアプリを知る必要があると思った。 こういうニッチなケースに関しては、サクッとコードを書くのが良いとされているので、そういうコンソールアプリを作ろう!と思い立った。 WindowsのAPIをバリバリに叩くアプリだし、しかも今回の場合はフック先の関数とかも書かないといけなさそうな…
どうも最近は中古PCを買うと、悪い意味の「大当たり」を引くことが多いです。 先日衝動買いしたDELL XPS 13 9300(以降XPS 13)ですが、本体内蔵のWebカメラが認識しない問題が発生し、残念ながら返品になってしまいました。 sylve.hatenablog.jpXPS 13購入に伴いSurface Pro Xは売却済みのため、再び代替品を急ぎ調達する必要が出てしまいました。 手元にiPad Pro 11-inch/2021+iPad用Magic Keyboardの組み合わせでノートPCのように使えるデバイスはありますが、iPadはスマホ派生OSなので「ぬーーん!」と思うシチュエー…
概要 PostgreSQLでプログラム上から単発のSQLを実行したい場合に、ファイルを経由せずに1回限りのパスワードを与える方法の話です。 最初に結論まとめ コマンドプロンプトの/cのセッション内で環境変数を設定し、そのままコマンドも実行します。例えば次のようになります。 cmd /c "set PGPASSWORD=user1password&&psql.exe --username=user1 --dbname=postgres --command="CREATE DATABASE database1'"" 話の背景 PostgreSQLでpsql.exeを使って、--commandオプシ…
AI Search の検索インデックス作成 フィールド セマンティック構成 ベクタープロファイル 前の記事 hiro128.hatenablog.jp AI Search の検索インデックス作成 クロールしてクレンジングしたはてなブログ記事のドキュメントを登録する AI Search のインデックスを一括で作成するコンソールアプリを準備しました。 github.com なお、AI Search の検索インデックスは RDBMS の世界に例えれば 検索インデックス = RDBMS のテーブル ドキュメント = RDBMS のテーブルにおける行 と理解いただければ、イメージしやすいと思います。 検…
はじめに カスタマイズ方針 検討したシステム構成と処理フロー 注意 ソースコードと各プロジェクトの解説 はじめに 最近 Azure OpenAI の RAG について色々調べていますが、サンプルアプリは Python が多いです。 自分は C# が大好きなので、C# でやってみたいな~と思いました。 とりあえず、参考になりそうなサンプルを探してたところ以下のようなものを発見しました。 github.com 上記サンプルは Python で作成されておりとても素晴らしいもので、このサンプルだけで Azure Open AI の Add your data と組み合わせて独自ナレッジの連携を試せる…
こんにちは! 今回はRubyでコンソールアプリを作る時に便利なコマンド 第四回です。 何をしたいか RGBで文字色を指定する コード def rgb(red, green, blue) "\033[38;2;#{red};#{green};#{blue}m" end red, green, blueに0~255の数値を指定 後ろに文字を続けると文字色を変更できる おわりに 今回は文字色のバリエーションを増やす方法についてまとめました。RGBで指定できるので様々な色が作れますね。 23/100
こんにちは! 今回はRubyでコンソールアプリを作る時に便利なコマンド第三回です。 やりたいこと 文章全体は太字、一部の単語だけの文字色を変更したい 文字色の変更の終了時に前回の記事で使用した「"\e[0m"」を用いると、太字もリセットされてしまう コード "\e[39m" 文字色の終了時のコマンドを、「"\e[39m"」(文字色をデフォルトに戻す)に置き換える 「"\e[0m"」と違って、文字色だけデフォルトに戻るため、太字はリセットされない おわりに 修飾を重ね掛けしたときに困ったことをまとめました。うまく組み合わせるとコンソールでもいろいろと文字の表現が出来ておもしろいですね。下線を引く…
こんにちは! 前回に引き続き、コンソールアプリを作る時に便利なコマンドを紹介します。 文字に色を付ける 次のコードは文字色が赤色になります。 puts "\e[31m" + "この文字が赤色になります" + "\e[0m" 31を他の数字に変えると色が変わります。 例) 32 → 緑 33 → 黄 34 → 青 文字を太字にする 次のコードは文字色が太字になります。 puts "\e[1m" + "この文字が太字になります" + "\e[0m" どちらのコードも後半の "\e[0m" でそれ以降の文字スタイルを元にもどしています。 おわりに 太字や赤色は選択状態を表すのに便利ですね! では今回…
こんにちは! 久しぶりの投稿ですが、勉強は続いています! 今回は、Rubyでコンソールアプリを作る時に、便利なコマンドをまとめます。 画面のクリア 次のASCIIコードで画面全体がクリアされます。Windows環境では動作すると思います。 puts "\e[H\e[2J" キー入力のリアルタイム判定 次のコードはキー入力を受付したタイミングで(Enterを押さなくても)処理を行います。ループ内で実行することで、常にキー入力を監視して入力に応じて処理を変えることが可能になります。 require 'io/console' input = STDIN.getch while true case i…
今回は.NET 6以降、MAUI世代のユニットテストに使えるデバイステストランナーについて紹介します。 動機 Xamarin.Forms世代の頃には、古い内容のままでしたが一応ユニットテスト用のプロジェクトテンプレートが存在していました。しかしこれは.NET 6以降のiOS, Androidアプリに対応していないため乗り換える必要がある、というお話です。 xUnit向け、NUnit向けと1つずつ紹介します。 デバイステストテストランナーとは? ここではiOS, Androidアプリ上で実行するテストを"デバイステスト"(Device Tests)と呼びます。 テストランナーについては、xUni…