タグ

ブックマーク / qiita.com (222)

  • RAG入門: 精度改善のための手法28選 - Qiita

    RAGの精度改善するために何があるかを学びました。基系のNaive RAGを知っている人向けの記事です。 方法が多すぎるので、Youtubeの「RAG From Scratch」を中心に少し整理してみました。LangChainをよく使っているので、LangChain出典が多いです。 全体像 まずは、RAGの全体像。Indexingが同じ流れにあるのが少しわかりにくいのですが、実行タイミングとしてはRAGの前準備としてやっておきます。 画像出典: RAG from scratch: Overview もう少し粒度を細かくした図です。 画像出典: RAG from scratch: Overview 表形式で分類します。Generationだけ少し特殊です。 大分類 中分類 内容

    RAG入門: 精度改善のための手法28選 - Qiita
  • インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita

    在宅勤務している人、多いですよね。 いつでも配達を受け取れてとても助かります。 しかし...2階で仕事をしていると、 インターホンの音が聞こえにくい! 他のことに集中していると気づかない!!!! せっかく配達に来てくれたのだから、一発で受け取りたいものです。 エンジニアらしく仕組みで解決しましょう! 忙しい人のための超要約 インターホンの室内モニタのA接点を使用します(鳴ると接点が閉じる) RaspberryPi Zero WH を用いて、A接点のオンオフによりGPIOの出力3.3VをGPIO17に印加する回路を組みます GPIO17に印加されたことをPythonスクリプトで検知します 検知したらLINE Messaging APIを使用してpush通知を送信します この説明で理解できる人は、記事全体を読む必要ないと思います。 電子工作初心者でも理解しやすいよう丁寧に書き上げたので、ぜひご

    インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita
  • コーディング支援AIツールContinueの紹介と構成例 - Qiita

    Continueというコーディング支援AIツールの紹介です。 コーディング支援AIツール・サービスとしてはGitHub Copilotが有名で、次いでCursorやCodeiumあたりが話題性のあるところかと思います。Publickeyに2024年3月時点での情報がまとまっています。 Continueはそれらと比べて知名度は劣りますが以下のような特徴があり、うまく使いこなせば有力な選択肢になると考えています。 ツール体がオープンソースである Visual Studio CodeとJetBrains IntelliJ IDEAの拡張機能がApache License, Version 2.0で提供されています 言語モデルは自分で選ぶ Continueではコード補完用とチャット用で二つの言語モデルを利用しますが、そこでどの言語モデルを選ぶかは利用者側に任されています Continueを開発し

    コーディング支援AIツールContinueの紹介と構成例 - Qiita
  • husky + lint-stagedの支配から解放されるLefthookという選択肢 - Qiita

    HRBrain Advent Calendar 2023 25日目の記事です。 はじめに こんにちは。@yug1224(Yuji Yamaguchi)です。 これまで、pre-commit/pre-push時のLint実行にhusky+lint-stagedを使っていましたが、Monorepo環境だと設定が少し複雑になってしまうので、Lefthookを試してみることにしました。 Lefthookとは The fastest polyglot Git hooks manager out there A Git hooks manager for Node.js, Ruby and many other types of projects. Fast. It is written in Go. Can run commands in parallel. Powerful. It allows

    husky + lint-stagedの支配から解放されるLefthookという選択肢 - Qiita
  • 機械学習による株価予想の十八手 - Qiita

    1. 株価はサプライズによって動く 株式相場には常にプロの投資家がうごめいており、各銘柄の各種業績数値を常に予想して投資活動をしている。そんな状況下において、仮に「売上が前年比2倍」という決算が発表されても、株価が2倍になるわけではない。むしろ3倍が予想されていたのに、2倍だったら失望売りとなる。つまり事前予想と比較してこそ意味があり、staticな値や過去実績との比較を特徴量にすることはあまり意味がない。事前予想と決算の乖離、または前回予想と今回予想の乖離こそが意味のある特徴量であると言える。 2. 業績数値の単純な変化率では株価インパクトは測れない 営業利益の事前予想100億円に対し、決算が200億円の場合、 変化率 = ( 実績 - 予想 ) / 予想 の計算式を使うと、変化率は100%となる。 この変化率を特徴量にするのは一見もっともらしいが、株においてはこれは使いづらい。 営業利

    機械学習による株価予想の十八手 - Qiita
  • もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita

    HTMXとは https://htmx.org/ HTMXは、JavaScript を記述せずに、Ajax通信や高度なUXを実現できるライブラリ。 軽量 で 高速 で、既存のサーバーサイドのフレームワークとシームレスなやり取りができる。また、AJAX通信の発火、フォームの送信処理、DOMの更新などを既存のHTML要素を拡張するだけで可能とする。WebSocketやSSEにも対応しているので、チャットアプリなどにも適している。 2023 JavaScript Rising Starsでは、 フロントエンド・フレームワーク部門で見事2位に輝いた!(一位はReact、全部門だとshadcn/ui) 似たような機能として、Ruby on RailsHotWireがあるらしい。 2024年はHTMXがくると言われているぐらい世界で騒がれているのだが、あまり日では流行っていない。以下はGoogle

    もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita
    surumedaka
    surumedaka 2024/01/19
    コメント欄酷評されててワロタ
  • 完全未経験が半年で個人サービスをリリースした話 - Qiita

    はじめに この度、転職とスキル向上を目的に個人サービス(Football League)をリリースしました。 ITに関する学習は約1年ほど、その内の半年でサービスの開発をしました! まだまだ修正箇所はあるものの、ひとまず形にはなったのでサービスの使用技術や開発過程を共有したいと思います。 私自身、独学で学習してきたのでそういった方々にとって少しでも参考になれば幸いです。 ご報告 現在権利関係について、サイトで利用している外部APIの提供者様にお問い合わせしているため、メンテナンス状態とさせて頂いております。 ・メンテナンス時間 2024/01/18 15:45〜未定 自己紹介 商業高校卒(サッカー部⚽️) 25歳 青森住み🍏 職業はトマト農家です🍅 どのようなサービスか サービスは、欧州5大リーグのサッカーの試合結果やチーム情報などを閲覧することができるWebサイトです。 ただ情報

    完全未経験が半年で個人サービスをリリースした話 - Qiita
    surumedaka
    surumedaka 2024/01/16
    完全未経験でこれは結構すごいのでは
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • ChatGPTプロンプトエンジニアリングのコツ8箇条~OpenAI公式のベストプラクティスから学ぶ~ - Qiita

    はじめに OpenAI API (ChatGPT含む) のプロンプトエンジニアリングのベストプラクティスが公式から出ているのを知り、和訳しながら読んでいきたいと思います! プロンプトエンジニアリング8箇条 (忙しい人向け) 最新のモデルを使用する 指示をプロンプトの最初に配置し、###または"""で指示と文脈を分ける 望む文脈、結果、長さ、形式、スタイルなどについて具体的で詳細に記述する 例を使って望む出力形式を明示する ゼロショットから始め、効果がなければファインチューニングを行う 曖昧で不正確な表現を減らす やってほしくないことだけでなく、代わりにやってほしいことも記述する コード生成には、特定のパターンに誘導する「leading words」を使用する How prompt engineering works (プロンプトエンジニアリングの仕組み) インストラクション・フォロー・モデ

    ChatGPTプロンプトエンジニアリングのコツ8箇条~OpenAI公式のベストプラクティスから学ぶ~ - Qiita
  • dotfilesの配置はGNU Stowを使おう! - Qiita

    HRBrain Advent Calendar 2022、23日目の記事です。 はじめに こんにちは。株式会社HRBrainでエンジニアリングマネージャーをしている山口です。 いろいろなウイスキーでハイボールを作って飲むYouTubeチャンネルを見ていたら、すっかりウイスキーに沼ってしまいました。是非コメントでオススメのウイスキーを教えてください。 記事では、GNU Stowを使ったdotfiles管理について紹介します。 dotfilesって何? dotfilesとは、ドット(.)から始まる設定ファイルのこと。ホームディレクトリでls -laを実行すると表示されるアレです。 基的には自動的に作成されるものが多いですが、.ssh/config .zshrcなどは自分好みに編集しますよね。 マシン交換時に毎回設定するのも面倒なので、自分用リポジトリを持っている人も多いのではないでしょうか

    dotfilesの配置はGNU Stowを使おう! - Qiita
  • ゲーム開発で使えるオープンソースソフトウェア個人的まとめ - Qiita

    恐らく最も有名なOSSのゲームエンジンです。 UnityやUE5の代替となるソフトウェアです。 Godot以外にもOSSのゲームエンジンはいくつかありますが、現状実用に耐えうるのは恐らくこのゲームエンジンくらいです。 3D,2D双方の開発ができ、多くのプラットフォーム向けに出力できる、UnityやUE5に引けをとらない出来のソフトウェアです。 特徴は以下の通りです。 OSSかつ無料である すばらしい。 ゲームエンジン自体がかなり軽い(2桁MBくらいしかない) その分起動もかなり早い。この手軽さはやっぱり便利。 有名なゲームエンジンと比べ後発であるためUIが洗練されている 例えばUnityではオブジェクトにコンポーネントを足していくという感じですが、Godotは全てがノードでありシンプルな設計です。 エディタが内蔵されている 外部エディタは必要なく、全てGodot内で済ませられます。 基

    ゲーム開発で使えるオープンソースソフトウェア個人的まとめ - Qiita
  • 【Flutter】スマホアプリでよく見かけるチュートリアルページを作る方法(3つのパッケージを比較) - Qiita

    最終的にこういったチュートリアルが作れるようになります 左から、tutorial_coach_mark flutter_sliding_tutorial flutter_overboardを使用したチュートリアルページです。 また、GitHubにサンプルコードを用意しました。 ローカルにクローンしてpub getした後にビルドすれば上記のアプリを試せます。 ぜひ自分のアプリに組み込んでみてください。 環境 Mac OS X 10.15.7 Windows 10 Pro 両方で動作確認済み iOSシミュレータ:iPhone 12 Max Proで動作確認 Androidエミュレータ:APIレベル28のPixel 3aで動作確認 [✓] Flutter (Channel stable, 1.22.4, on Mac OS X 10.15.7 19H114 darwin-x64, locale

    【Flutter】スマホアプリでよく見かけるチュートリアルページを作る方法(3つのパッケージを比較) - Qiita
  • ドキュメントDBかリレーショナルDBどっち使う? - Qiita

    はじめに ドキュメントデータベースかリレーショナルデータベース、どちらを選ぶか。 この選択で、アプリケーションのパフォーマンス、コスト、コードの可読性など幅広い影響が出るため、慎重な判断が必要です。この記事では、自分が思う「考慮すべきポイント」を解説したいと思います。 考慮すべきポイント 1. どのデータモデルがアプリケーションコードに最適か スキーマ制約を課さずに、データレコードをドキュメント(つまりJSONオブジェクト)として保存すべきか?それともスキーマを正規化してデータをいくつかのテーブルに分けるべきか? このような判断をするために、開発しているアプリケーションのモデルの関係性(例: UserとTaskの関係が1:N)と、一度に読み込むデータの種類を見た方がいいです。 ドキュメントDBがおすすめの時 アプリケーションのデータは、以下のような木構造で表現できますか?普段そのデータを一

    ドキュメントDBかリレーショナルDBどっち使う? - Qiita
  • GitHub Actions上でdocker composeを使ってCIを回すためにうまいことキャッシュする方法 - Qiita

    docker compose on GitHub Actions 昨今ではDocker(コンテナ)を使った環境整備が主流になってきています。アプリケーションの実行環境自体をコード化できるため、開発環境間の差異や、番環境の差異を吸収し、アプリケーションの開発に集中することができます。 一方、CIとDockerの相性はなかなかに良くないです。Dockerの肝はイメージやレイヤーのキャッシュにより、初回のダウンロード以降は爆速に使えることですが、環境がある程度リセットされてしまうCI環境で愚直にDockerを動かすコードを書くと数百MB単位のイメージのダウンロード、ビルドが毎回走ることになり、Dockerを準備する処理でCIの処理の大半が使われてしまうこともままあります。 今回はDockerによる環境のカプセル化の恩恵を受けつつ、GitHub Actionsでdocker composeを動か

    GitHub Actions上でdocker composeを使ってCIを回すためにうまいことキャッシュする方法 - Qiita
  • Pythonのコードを1行書くだけで誰でも手軽にインタラクティブな地図アプリを作れるLeafmapを使ってみよう - Qiita

    ※公式サイトのデモ映像です。これがPythonのコード1行で作れます。 https://leafmap.org/ データ確認ってめんどくさくないですか GISデータってよくわからないな、なんだそれ。っていう方がいきなり上司に「いろんなデータが蓄積されてきたから、地図上に可視化して分析してみよう。」とか「誰でも手軽に閲覧できるように、Web上にサイトを構築しよう」なんていう話をされたら多分キレますよね? GISデータを日常的に利用していてもそれはさほど変わらず… GISデータを取り扱う中で、主にデータの前処理などを行っている方は同じような悩みを抱えているんじゃないかなと思うんですが、データの可視化ってめんどくないですか? いや、QGISとかデスクトップGISでデータ処理しているならサクッと見れちゃいますし、実際頻繁に使うんですが、サーバーで定期的に行うバッチ処理のためにローカルでプログラミン

    Pythonのコードを1行書くだけで誰でも手軽にインタラクティブな地図アプリを作れるLeafmapを使ってみよう - Qiita
  • VSCodeおすすめ設定大公開!!おすすめ拡張機能も - Qiita

    はじめに 皆さんVisual Studio Code(以下VSCode)使ってますか? 私はメインで使っているのですが、自分なりにしっくりくる設定や拡張機能がある程度揃ってきたので公開しちゃいます。 おすすめ設定だけではなく、おすすめの機能もできる限り紹介したいと思いますので、最後までぜひお付き合いください。 ※プログラミング言語固有の設定の解説は軽めですのでご了承ください。 GIF画像が小さい場合は、クリックして頂けると拡大して表示が可能です デフォルト機能編 Local History機能 Gitは非常に便利なので、皆さん使われていると思います。 Gitはコミット単位で履歴が管理できますが、保存単位で履歴が見れると嬉しいな、保存単位で復元できると嬉しいな、と思うことはないでしょうか。 私はVSCodeは自動保存をオフにして、手動で保存するので、保存単位で履歴が見れると嬉しいなと思うこと

    VSCodeおすすめ設定大公開!!おすすめ拡張機能も - Qiita
  • PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita

    PlanetScaleというサーバレスDBが凄く勢いのあるサービスと聞いて、公式にクイックスタートがあったのでやってみました。 環境 PC: MacBook Pro (Intel Core 2016) OS: macOS Montery12.2.1 では概要から確認していきます。 サーバーレスDBとは サーバがない、のではなく、サーバ管理や検討が不要 AWS Lambda(NoSQL)など PlanetScaleとは PlanetScale年表 2010年頃 YouTubeが急激に成長し、データベースが爆発しそうになっていたので、Sugu氏ともう一人のYouTubeのエンジニアがオープンソースプロジェクト「Vitess.io」(ヴィテス)を立ち上げる 2016年頃 MySQLでバイナリプロトコルを扱えるようにしたことで、VitessはYouTube以外の企業にとっても魅力的なシステムになり

    PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita
  • 最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita

    TL;DR 最近の設計志向はイベント駆動がかなり中心になっている とくにDDD界隈がここまでイベント駆動一槍だとは思わなかった ストーリーを出発点にイベント駆動で設計を組み立てる「イベントストーミング」がかなり多くの場所で事例として取り上げられている はじめに 最近、洋書や動画の講演資料などいくつか海外の情報源に当たることがおおくなり、その中で「結構日でやられている取り組みとちがうなー」と考えることが多く、一旦そのあたりの差分をまとめておこうかと思いました。 ただの出羽守(あるいは鹿鳴館精神)ではなく、一つの潮流としてこんなのがあるってのを記述できればなと思います イベントが設計の基線となりつつある、、、のか? まず1つ目に驚いたのが、イベントが設計の中心になっている、そう感じる機会が多かったこと。 ここで言うイベントは、実践ドメイン駆動設計の中でも「ドメインイベント」として実装パタ

    最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita
  • Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita

    Rust 勉強中の身ですので、何かしら作ってみようと思い立ち、 API サーバーを構築してみました。 自力で一から公開できるサーバーを構築したのは初めてでしたので、試行錯誤の過程を記事にします。 作ったもの 何の変哲もない API サーバーです。 成果物は こちら にアップしました。 API サーバー Rust で実装 Web フレームワーク(Actor): actix-web ORM: Diesel Docker イメージにして Heroku で稼働させる DB サーバー PostgreSQL を利用する Heroku PostgreSQL で稼働させる 開発方針 上記のインフラ構成を目標として、以下の開発方針を軸として調査や検証を行いました。 ローカルでの開発とサーバーへのデプロイはスムーズにできるようにする。 ローカルでテストや動作確認がスムーズにできるようにする:Docker の利

    Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita
  • moldとcargo watchを併用してより快適な開発環境を作る - Qiita

    はじめに 弊社では業務でActix Webを使用してバックエンドの開発を行っています。 普段は以前書いた「actix-webのホットリロードされるDocker開発環境を作る」という記事のように cargo watch を使用してホットリロードされる開発環境を作って開発をしているのですが、ホッとリロードされるとは言え毎度のビルドにはそこそこの時間がかかり、地味なストレスになっています。 そんな折、「moldを使うとRustのビルドが速くなる」という記事を拝読してmoldというリンカーを知ったので早速試してみたいと思います。 題 前述の自筆の記事では docker-compose.yml で

    moldとcargo watchを併用してより快適な開発環境を作る - Qiita