並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 296件

新着順 人気順

*Programの検索結果161 - 200 件 / 296件

  • PythonのGILを取り除く試み - Qiita

    こんな記事を見つけたので気になって調べてみました。 この記事は、Pythonの開発者専用のメーリングリストに、Sam GrossというFacebookの開発者が投稿した、GILを外したCPythonの実装(nogil)の提案について書かれています。 彼は、Global interpreter lock (GIL)を外したCPythonの概念実証のための実装とメモを投稿しました。メモのリンクはこちらです。 Global Interpreter Lock (GIL) とは Python(のReference ImplementationであるCPython)は、マルチスレッドに対応していますが、スレッドセーフティを確保するためにGIL(Global Interpretation Lock)という仕組みがあります。 複数のスレッド処理を行っても、GILの仕組みにより、Pythonの命令は一つずつ

      PythonのGILを取り除く試み - Qiita
    • OpenMMLabの始め方@SUMMER 2023 - Qiita

      Rist Kaggle チームの藤本(@fam_taro)です。 今回は Rist Kaggle合宿2023夏の時間を使って、最近の OpenMMLab の始め方をまとめてみました。本記事内ではその中の mmdetection を使って説明していきますが、他の OpenMMLab の使い方もカバーする内容となってます。 また記事の後半では Kaggle のコードコンペなどに参加したいときの使い方も記載します。 1. OpenMMLabとは 下図と紹介文は 公式サイト より引用 OpenMMLab builds the most influential open-source computer vision algorithm system in the deep learning era. It aims to provide high-quality libraries to reduc

        OpenMMLabの始め方@SUMMER 2023 - Qiita
      • WebAssemblyコンポーネントモデルを調べる

        Rustの相互運用ABI(interoperable_abi)の提案 について調べるはずが、いつのまにかWebAssembly Interface Types (WIT) について調べていたのでとりあえずまとめておきます。 2023/2/11現在Interface Typesの提案はWebAssembly component modelに統合されています。 WebAssemblyコンポーネントを使うとき このプロジェクトで目標としているユースケースにはサーバーレス等のいくつかの場合があがっていますが、今回はCPythonからwasmのコンポーネントを読み込んでその中にある実装を利用するケースを考えましょう。これはCPythonにとっては共有ライブラリを読み込んでその中の関数を呼び出しているのと似ています。これを実現するためにコンポーネントモデルはwasmのコア言語の上に インターフェース定

          WebAssemblyコンポーネントモデルを調べる
        • 「大規模計算時代の統計推論」 を全部Rでやってみる ~第1章~ - kur0cky

          かの有名な「カステラ本」の姉妹編?「大規模計算時代の統計推論―原理と発展―」の和訳が発売されました 大規模計算時代の統計推論: 原理と発展 作者:エフロン,ブラッドレイ,ヘイスティ,トレバー発売日: 2020/07/30メディア: 単行本 著者はブラッドリー・エフロン,トレヴァー・ヘイスティという超レジェンド研究者達ですが,訳者にもそうそうたる名前が並んでいます. せっかく新たなバイブルに出会えたので,この本で行われている解析を全てRでやってみる,ということをやっていきます. 解析には随時適当なライブラリを使用し,作図・作表には基本的にggplot2, gtパッケージを使います.tidyverseも可能な限り活用していきます. 今回の記事では第1章「アルゴリズムと推論」の再現をします. 準備 1.1 回帰の例 fig 1.1 fig 1.2 tab 1.1 fig 1.3 1.2 仮説検定

            「大規模計算時代の統計推論」 を全部Rでやってみる ~第1章~ - kur0cky
          • Unityの推論エンジン『Barracuda』を試してみたのでそのメモ - e.blog

            概要 以下の記事を参考に、最近リリースされたUnity製推論エンジンを試してみたのでそのメモです。 qiita.com note.com Barracudaとは? Barracudaとは、ドキュメントにはこう記載されています。 Barracuda is lightweight and cross-platform Neural Net inference library. Barracuda supports inference both on GPU and CPU. 軽量でクロスプラットフォームなニューラルネットワークの推論ライブラリということですね。 そしてこちらのブログによるとUnity製のオリジナルだそうです。 セットアップ BarracudaはPackage Managerから簡単にインストールできます。 インストールするにはWindow > Package Managerから

              Unityの推論エンジン『Barracuda』を試してみたのでそのメモ - e.blog
            • Pyppeteer(with headless Chromium) + GitHub Actionsでoptuna-dashboardの継続的E2Eテスト - c-bata web

              以前 optuna-dashboard というWebツールを開発・公開しました。 もともと Goptuna のために実装したReact.js + TypeScript製のSPAのWebツールでしたが、Optunaでも使えるようにしたところ、周りでも使ってるよという声をいただくことが増えてきて、公式に利用が推奨されるようになりました。 Optuna v2.7.0 released, with new tutorials, examples, and code improvements! @c_bata_ has fully redesigned the dashboard. Try out the new version with `pip install optuna-dashboard` and then `optuna-dashboard $STORAGE_URL`!https://t

                Pyppeteer(with headless Chromium) + GitHub Actionsでoptuna-dashboardの継続的E2Eテスト - c-bata web
              • 次世代Pythonバインディングライブラリnanobindを試す

                Pythonバインディングとは? (主に)C/C++で書かれたコードをpythonで使えるようにすることを言います。 このようなことを行う理由としては、Pythonはもともと計算のパフォーマンスがあまり良くなく、ボトルネックとなるような処理をC/C++のような処理の速いコンパイル言語で記述し、それをPythonから呼び出せるようにするためで、これによって計算のボトルネックを解消することがしばしば行われます。 C/C++以外でもバインディングすることもあるかと思いますが、C/C++だとSIMDやOpenMP、CUDAといったハードウェアアクセラレーションとの親和性も高く、特に科学技術系ではこのような高速化が行われることが多いです。 Pythonバインディングを行うためのライブラリ 本記事で取り上げるnanobindを紹介する前に、現在よく使用されている他のPythonバインディングライブラリ

                  次世代Pythonバインディングライブラリnanobindを試す
                • 拡散生成モデルで学ぶJax/Flaxによる深層学習プログラミング

                  はじめに 深層学習モデルやその学習を実装する際には、多くの場合でPyTorchやKerasなどのフレームワークが使われます。本記事では、Googleより公開されているJaxというフレームワークを用いた深層学習プログラミングを紹介します。 コードは以下に配置しています。 Jaxとは JaxはGoogleから公開されている、自動微分を備えた数値計算ライブラリと言えます。Numpyとほぼ同じように計算処理を実装でき、またGPUやTPUによって高速に演算を実行することもできます。これによって深層学習モデルを実装し、学習することができます。またNumpyと近い使い方ができるので、やろうと思えば深層学習以外の多くのアルゴリズムを実装することもできます。 Jaxにはいくつかの派生ライブラリがあります。深層学習でよく利用されるような畳み込み層やバッチ正規化などはFlaxというライブラリで提供されており、本

                    拡散生成モデルで学ぶJax/Flaxによる深層学習プログラミング
                  • Reactpyとか言う面白いライブラリ

                    こんにちは。だだっこぱんだです。 今まではフロントエンドな人間のつもりでしたがいつの間にか Most used languages の1位がPythonで50%になっていてあれーってなっています。 今回はpythonで面白いライブラリを見つけたので紹介していきます。 Pythonとフロントエンド 「pythonでフロントエンドする必要ある?」って思う方がいるかもしれません。 割と需要あります。 今ある中ではGradio, Streamlit が有名ですね。 これらは stable-diffusion-webui で使われたり、AI関係の技術のデモでは毎度お馴染みレベルで使われます。 Gradioのデメリット 拡張性が低い バグが多い システムがわかりづらい(フロントエンドをやっている人間からすると) Gradioはクラス名を変えられなかったり、reactiveじゃなかったりして若干使いづら

                      Reactpyとか言う面白いライブラリ
                    • local llmでsentence embeddingどれ使えば良いんだっけ|if001

                      最近の日本語喋れるLLMでそのままsentence embeddingしても良いんだっけ?そもそもどうやってsentence embeddingしてるんだっけ?と思っていたので調べてみた。 単語単位のembeding実装はsentence tranfomerが参考になる。 sentence transfomerでない場合やbertのclsトークンを持たない場合は、単語embeddingを足し合わせて、単語列の長さで平均をとるmean_poolingがよく使われる手法らしい。 追加でattentionのweightも加味すると良いみたい。 sentence transfomerではpoolingする層を最後に追加して、出力がembeddingされたvectorになる。 Flan-T5単語単位のembeddingしかできないが、mean_poolingを用いた場合が精度が良いらしい。 embe

                        local llmでsentence embeddingどれ使えば良いんだっけ|if001
                      • ベクトル検索の高速化アルゴリズムと量子化パラメータの速度・データサイズ・精度の計測 - RAGでの利用時にはtop-N を意識する - A Day in the Life

                        最近、文をembeddingsといった特徴ベクトルに変換するユースケースが増えている。そのベクトルから類似ベクトルを探す時に、数千ベクトルならほぼ何も考えなくともよく、数万ベクトル〜になると検索速度を高速化するためHNSW等のANNの近似最近傍探索アルゴリズムを使い、そして数百万ベクトル〜になってくると現実的なデータサイズ収めるために量子化等々を組み合わせた最適化を行うことが多いだろう。 これら類似ベクトル検索のための最適化(HNSW・IVFといったアルゴリズムや量子化)では、検索速度、データサイズ(メモリに乗るか)、精度、三つのトレードオフが発生する。これらトレードオフを踏まえた最適化戦略を考えるのだが、最適化時の正確さの計測結果として recall@10 や recall@100 が掲載されていることを多く見かける。例えばChoose the k-NN algorithm for yo

                          ベクトル検索の高速化アルゴリズムと量子化パラメータの速度・データサイズ・精度の計測 - RAGでの利用時にはtop-N を意識する - A Day in the Life
                        • 高速なインメモリ全文検索Lyraで遊んでみた | DevelopersIO

                          こんにちは、こんばんわ。 「きのこたけのこ戦争は中立の立場をキープしたい。」 どうも、CX 事業本部 Delivery 部 MAD グループ@札幌の hiro です。 今回は、Typescriptで実装された超高速インメモリ全文検索を実現する、 Lyra で遊んでみた内容を、記述しています。 はじめに 技術的にLyraを聞くと、 GoogleのLyra を想像してしまいそうになりますが、 そちらではなく、 Lyra です。 自分も詳しくなく、何気なくTwitterでTweetを漁っていたら DEMO ができて、 やってみたら、高速すぎて驚いたので実際に触れてみようと思い、記述してみた次第です。 ちなみに使用できる言語は、以下になるようで、現状は日本語はないみたいです。。。 dutch english (default) french italian norwegian portuguese

                            高速なインメモリ全文検索Lyraで遊んでみた | DevelopersIO
                          • Rails でトークン認証 API を 15 分で実装する - Qiita

                            scaffold で User Model と Controller を作ります。 lock_version というカラムを追加すると Rails で楽観ロックを実装してくれます。便利ですね。 $ cd yourappname $ rails g scaffold User name:string \ email:string \ role:integer \ password_digest:string \ register_user:integer \ update_user:integer \ lock_version:integer \ activated_at:datetime \ deleted_at:datetime User.create!([ { name: 'admin', email: 'admin@example.com', role: 'admin', passw

                              Rails でトークン認証 API を 15 分で実装する - Qiita
                            • 因果探索ライブラリcausalnex - と。

                              quantumblackって名前がかっこいい 以前quantumblack社がオープンソースで開発しているkedroを紹介しました。 socinuit.hatenablog.com これ、kedro開発者にも見つかっていろいろと反応をいただいて大変光栄でした。 今回は同社が同様にオープンソースで開発しているcausalnexを使ってみます。 理由は単純。 ロゴが、かっこいい。 まだチュートリアル段階ですが、これだけでも十分に実用に足るんじゃなかろうか、 というくらいには強い。仕事のOSがUbuntuなら完全に優勝していた。 githubはこちら github.com 基本的には公式チュートリアルに沿ってやっていきます。 進捗的には因果グラフをつくるところまで。 チュートリアルではベイジアンネットワークの作成ができていますが、 そこまで追いついていないので一旦保留。 下準備 causalne

                                因果探索ライブラリcausalnex - と。
                              • Pythonによるキーフレーズ抽出(KPE)アルゴリズムの比較 - Qiita

                                最近、業務で文章からキーフレーズを抽出するアルゴリズムを選定する機会があったので、その際に調べたアルゴリズム間の比較を簡単にまとめておこうと思います。 環境 Ubuntu 22.04; Intel Core i7 9700K Python3.10 比較したアルゴリズム すべてアルゴリズムを1から実装はせず、Pythonを使ってパッと試せるアルゴリズムをいくつか試しました。カッコ内はライブラリ名です。自分で中身を書かなくてもこれだけの数のアルゴリズムをライブラリから利用できるのは嬉しいですね。 YAKE (textacy) SGRank (textacy) sCAKE (textacy) TextRank (textacy) RAKE (rake-ja) MultipartiteRank (pke) PositionRank (pke) TopicRank (pke) textacy内のアル

                                  Pythonによるキーフレーズ抽出(KPE)アルゴリズムの比較 - Qiita
                                • GoとRustを使い分ける

                                  最近社内で Go を使うチームが増えてきました。僕のチームでも Rust を導入していて、コンパイラ言語がこれから活性化しそうです。 ネットでは Go vs Rust のような構図で書かれた記事をよく見ますが、個人的には問題が解決できて、かつ各チームが導入に納得してれば別にどっちでも良いと思っています。まあ 1 つのチームで両方を導入するとメンバの負担が増えそうなので、両方使うというのは今の所避けたほうが良さそうですけどね。どちらも C++ をはじめとした過去の言語の置き換えを目指していると思うので、牽制しあって片方を潰すよりはお互いいい刺激を与えあって既存の言語を双方が置き換えたほうがみんなハッピーになるように思います。 言語の流行りってキラーアプリが出たかどうかが大きく影響するので、僕は機能面より言語のブランディングを重視しています。僕の中での Go と Rust の使い分け方は次のよ

                                    GoとRustを使い分ける
                                  • ブラウザのみの統合開発環境 StackBlitz の紹介

                                    初めに この記事は StackBlitz の紹介になります。 初めに言っときます。 StackBlitz は滅茶苦茶凄いです。 現状 JavaScript 系のフレームワーク・ライブラリは勿論。(Next.js / Nuxt.js / jQuery等) Node.js自体も動かせます。 WASM を利用して Python や WordPress も動きます。 (2023/10/24 現在) ブラウザのみで開発が完結します。 疑問 でも貴方は今こう思ったかもしれません。 Q. でもお高いんでしょ? A. 基本的には無料です。 Q. 基本的? 使えるプロジェクトの数とか制限されてるんでしょ? A. されてません。 無料アカウントで 無制限です そして今こう思ったのではないでしょうか。 [*] でもなんか裏が有るんでしょ? 無料はおかしい。 確かにおかしいです。 サーバーを動かすのにも電力やクラ

                                      ブラウザのみの統合開発環境 StackBlitz の紹介
                                    • しゃくとり法のDequeを使ったバグりにくい実装 - Qiita

                                      この記事の目的 しゃくとり法のバグりにくい実装の紹介です! しゃくとり法(尺取り法)って? しゃくとり法の説明自体は、とってもいいまとめがあるのでこちらをご覧ください。 しゃくとり法 (尺取り法) の解説と、それを用いる問題のまとめ でも、しゃくとり法ってバグりません? しゃくとり法っていざ書いてみるとかなりの確率でバグります。 区間の端を表す添え字 $l$ と $r$ の動かし方が結構混乱します。 この記事ではdeque(両端キュー)を使った実装を紹介します。 なんとこの実装では添え字を使う必要がありません! deque(両端キュー)によるしゃくとり法の実装 次の問題を例にとって説明します。 ABC 032 C - 列 長さ $n$ の整数列 $A = \{a_1, a_2,..., a_n\}$の連続部分列で、その要素の積が $K$ 以下となるものの長さの最大値を求める問題です。 次の

                                        しゃくとり法のDequeを使ったバグりにくい実装 - Qiita
                                      • Rの作図におけるベストな配色の選び方 - yokaのblog

                                        論文のFigはほぼRで描いているのだけど、複雑なデータをコンパクトに見せるためにカラフルな図を作ることが多い。そこでいつも悩むのが「いかに効率よく配色するか」ということだ。カスタムの配色セットを作ってみたり、カラーパレットのパッケージをあれこれ試してみたりしたのだけど、自分なりに今落ち着いているのがkhromaとcirclizeという2つのパッケージなので簡単に紹介したい。 khromaはPaul Tol’s Colour Schemesに準じたカラーパレットを出力できるパッケージだ。このカラースキームの特長として、 カラーユニバーサル モノクロ印刷した際の視認性も考慮 質データ(Qualitative)、2極データ(Diverging)、連続データ(Sequential)のそれぞれに対応した複数のカラーパレットが準備されている という点が挙げられる。自分が知る限りでは、最も綿密な考慮の上

                                          Rの作図におけるベストな配色の選び方 - yokaのblog
                                        • 【2023年版】Google ColabでSQLを使う【DuckDB, JupySQL】 - Qiita

                                          0. 使うもの JupySQLとDuckDBを使う。 JupySQLは以前紹介したipython-sqlと似たようなライブラリだが、現在あまり更新されていないipython-sqlに対して、(i) バグを修正し、(ii) 機能を追加しているものである。基本的な使い方はipython-sqlと変わらない。 DuckDBはSQLiteのOLAP版という立ち位置らしい。お手軽に使え、分析用途に強いDBだと理解している1。 ということで、実際に簡単に使う方法を見ていく。 1. 諸々準備 !pip install jupysql duckdb-engine # データ(csvファイル)のダウンロード !wget https://raw.githubusercontent.com/mwaskom/seaborn-data/master/penguins.csv

                                            【2023年版】Google ColabでSQLを使う【DuckDB, JupySQL】 - Qiita
                                          • AWS LambdaとPyArrow3.0.0を使ってサクッとParquetファイルに変換する | DevelopersIO

                                            id price total price_profit total_profit discount visible name created updated 1 20000 300000000 4.56 67.89 789012.34 True QuietComfort 35 2019-06-14 2019-06-14 23:59:59 PyArrow3.0.0用のLambda Layerを作成する Lambda動作環境の選定 今回は、TSVファイルに軽量・高速に変換するためAWS Lambdaを用います。Lambdaは、パッケージフォーマットとして、従来どおりLambda関数を用いる方法に加えて、コンテナイメージがサポートされました。複数のLambdaアプリケーションや関数から再利用されることを考慮して、デプロイパッケージは、Layerを用います。 Lambdaの制約事項 デプロイパッケ

                                              AWS LambdaとPyArrow3.0.0を使ってサクッとParquetファイルに変換する | DevelopersIO
                                            • Playwright+GitHub Actions*E2E with VRT 環境構築とCI/CD連携の知見

                                              はじめに 業務でPlaywrightの環境構築及びCI/CD連携担当したことから、E2EテストとVRTのベストな構成をずっと悩んでいました。 自分の中である程度納得できる形まで落とし込めたので、その知見を残しておきます。 🎭Playwrigth Microsoftが開発したテストツールです。複数ブラウザ対応、自動待機機能、並列処理などによりE2Eテストを実施します。また、スクリーンショットの比較によるテスト(VRT:Visual Regression Testing)により視覚的変更も検出可能です。元々Puppeteerを作っていたチームにより開発が行われているようです。 ツールの比較対象にcypressがありますが、最近の週間ダウンロード数はPlaywrightが上回っているようです。 (他にはSeleniumやベンダー提供の有料E2Eテストツールなどもあります) また、Playwri

                                                Playwright+GitHub Actions*E2E with VRT 環境構築とCI/CD連携の知見
                                              • プログラマ育成者に知っておいて欲しい初心者の5段階 - レベルエンター山本大のブログ

                                                プログラミングスクールといえばグレーなビジネスモデルというようなイメージが蔓延ってしまって悲しいですが、プログラミングのスキルを多くの人が手にすることはとても有用なことではあるので今後も頑張っていきたいと思います。 プログラミングを習得しよう!と学習を始めた人たちをこれまで、数千人ほど観察してきました。その中で気づいたことは、プログラミング初学者は同様の場所で詰まってしまう傾向がみられるということです。多くの人にとって、同様のハードルというかステップがあるのだと思います。そういうことを書こうと思います。 ステップは0−4としました。しかし、Webや組み込み、ゲーム、データサイエンスなど、目指す世界によってその先にさらにたくさんのハードルがあると思います。ここでは、その後にどのような世界に進むかに限らず、プログラミング学習者に共通して現れるハードルに絞って記載しようと思います。 ステップ0:

                                                  プログラマ育成者に知っておいて欲しい初心者の5段階 - レベルエンター山本大のブログ
                                                • GitHub - mlcraft-io/mlcraft: Synmetrix – open source semantic layer / Boost your LLM precision

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - mlcraft-io/mlcraft: Synmetrix – open source semantic layer / Boost your LLM precision
                                                  • 日本語プロットの文字化けストレスを低減する - RStudio v1.4とraggパッケージを使う - cucumber flesh

                                                    RStudio v1.4とraggパッケージの登場でRStudio上で日本語の作図が面倒な指定不要で行えるようになりました。記事中で紹介する方法をとれば、RStudioのPlotsパネルに出力する図が文字化けしなくなります。RStudioユーザで日本語での作図を行う方にはぜひ知っていてもらいたいtipsです。 すごい!確かにグラフィックデバイスにAGGを指定すれば、ggplot2で日本語表示する際に面倒な ggplot2::theme_*(base_family = ) をしなくても、問題なく日本語が表示される。ハッピー( ^ω^ ) https://t.co/DL1ec5wj9U— Uryu Shinya (@u_ribo) 2021年2月17日 なお、この記事の元ネタは https://www.tidyverse.org/blog/2021/02/modern-text-feature

                                                      日本語プロットの文字化けストレスを低減する - RStudio v1.4とraggパッケージを使う - cucumber flesh
                                                    • 「大規模言語モデルはグロービス学び放題の問題をどれくらい解けるのか」というテーマで色々検証してみた|グロービス・デジタル・プラットフォーム

                                                      はじめにグロービスのデジタルプラットフォーム部門データサイエンスチームの機械学習エンジニアの田邊です。 グロービスではChatGPTのAPIが公開されて以降、関連領域の動向に注目しながら、そのクオリティの高い回答生成能力に加えて、プロンプトの指示に従ってくれる能力の高さや教育事業に関する知識の多さといった点に可能性を見出し、サービスへの活用を積極的に進めています。 直近の具体例を挙げると、グロービス学び放題というサービスにおける、ユーザーのコース振り返りコメントに対する自動フィードバック機能、自由記述問題の解答に対する自動フィードバック機能、そしてAIと学ぶシリーズのコンテンツ公開といったところが挙げられます。 これらのChatGPTを活用した機能は、現段階でもある程度コンテンツに沿った価値を提供してくれているのではないかと体感的には感じられますが、実際ChatGPTはどのくらいグロービス

                                                        「大規模言語モデルはグロービス学び放題の問題をどれくらい解けるのか」というテーマで色々検証してみた|グロービス・デジタル・プラットフォーム
                                                      • ChatGPT API を使って BigQuery SQL を自然言語で記述する CLI を作った - Qiita

                                                        クエリで実現したいことを自然言語で書けば ChatGPT が BigQuery SQL に変換してくれる CLI (Command Line Interface) を langchain で作りました。 https://github.com/algas/bigquery-generator-ai クエリに関連する BigQuery のテーブル名(複数可)を渡すとそのテーブルのスキーマ(だけ)を取得します。 テーブルのデータ内容は取得しない(データ取得権限を付与しない)ので機密漏えいの心配はありません。 対象読者 次のいずれかに当てはまる BigQuery ユーザを対象としています。 SQL を書くのが苦手な人 SQL を書くのが苦手な人に SQL を書いてもらう必要がある人 ChatGPT を使ったアプリケーション開発に興味がある人 アプリケーションの概要 このツールが何をするのかを簡単に

                                                          ChatGPT API を使って BigQuery SQL を自然言語で記述する CLI を作った - Qiita
                                                        • dreddで認証付きのAPIをテストする - Qiita

                                                          しばらく書いてなかったけどメモ程度に dreddとは dreddはopenapi(swagger)やAPI Blueprintの定義を読み込んでテストを実行してくれる便利なツールです。 例えば localhost:8080 でAPIサーバを動かして のようにすればschema.yamlに定義されたAPIの定義に従ってリクエストを送り、レスポンスが仕様に従っているかテストしてくれます。 が、ログインしてtokenを貰ってそのtokenでアクセスするというようなAPIはそのままではテストできません。 hooksという仕組みを使うと、レスポンスからtokenを取得して以後はそれを使う、といった動作が可能になります。 dredd hooks ドキュメントにある通り、hooksは様々な言語で書くことができますが、とりあえずdreddと同じnode.jsでやってみます。 (なぜかと言うと、docker

                                                            dreddで認証付きのAPIをテストする - Qiita
                                                          • tidymodelsで覚えるRでのモデル構築と運用 / tidymodels2020

                                                            リポジトリ http://github.com/uribo/190831_fukuokar15

                                                              tidymodelsで覚えるRでのモデル構築と運用 / tidymodels2020
                                                            • OpenAI APIで思い出す、Server-Sent Events - console.lealog();

                                                              Server-Sent Events・・・お前・・・生きていたのか・・・! っていう気持ちになったので、ちょっとだけまとめておく。 OpenAI API 話題のChatGPTはAPIが公開されていて、それぞれの言語のライブラリだったりREST APIだったりから利用できる。 それを使ってチャットを実装する場合に、本家GUIみたく、レスポンスを一気にまとめてではなくちょっとずつ返ってくるようにしたいとする。 そこで、あの挙動はどうやって実現するのか?ってなった人も多いはず。 あのレスポンスをちょっとずつ、ストリーミングで返してもらう挙動を実現するためには、`stream: true`というオプションを指定する。 これはREST APIをJavaScriptから利用する場合の指定。 const res = await fetch("https://api.openai.com/v1/chat/

                                                                OpenAI APIで思い出す、Server-Sent Events - console.lealog();
                                                              • Postgres WASMを支える技術

                                                                Intro 10月3日にWebAssemblyを用いてWebブラウザにx86の仮想マシンを構成することで、PostgreSQLをWebブラウザ上で実行可能にした「Postgres WASM」がオープンソースで公開されました。 以前から気になっていたSupabaseが公開していたこと、最初にSnapletという企業がOSSで公開しておりそれをフォークして完成させたこと、色々気になることばかりでしたので自分なりに調べて深掘りしてみました。

                                                                  Postgres WASMを支える技術
                                                                • 2019年度未踏に関する備考録

                                                                  本記事は@ushitora_anqou(以下、お魚さん)の開催した投稿大会に当たってせっかくだしそこに投げようかという気分で執筆されたものである。ちなみに間に合ってない。WordPress何もわからんので見づらいかも。なんか途中から口調が変わってるんですがまぁ執筆が日をまたいだのであれ。 主な登場人物@nimdanaoto:筆者 @Vtb:同じサークルに所属するみかん。祖父が鯛の養殖をしてるらしい。彼との会話でアイデアが固まった。自作CPUしてたし興味あるんでねと思って声をかけたやつ。 @ushitora_anqou 初見はk/vmだったと思うんだけどCコンパイラが書ける頭おかしい(そういう名前の賞もらってたしほめことばに違いない)のがいるというのを覚えていたので、みかん経由で声をかけた魚。自然言語コンパイラ。 準同型暗号という、暗号文のまま計算ができる暗号がある全ては、2019年2月末に

                                                                    2019年度未踏に関する備考録
                                                                  • GoからZetaSQLを使う

                                                                    Photo by David Thielen on UnsplashIntroductionGoを使ってBigQueryやSpannerのSQLをフォーマットしたりパースしたりしたいなと思い調べたらGoogleが公開しているZetaSQLというライブラリにたどり着きました。 ただZetaSQLはC++とJavaで書かれていたのですが、他にGo製のOSSなどもなく自前でSQLパーサーをちゃんと書くのも大変なのでこれを使ってどうにかできないか模索した話になります。 最終的にはGoからZetaSQLを呼び出すserverを作りました。↓ naoto0822/zetasql-server GitHub - naoto0822/zetasql-server: This is server parsing/analyzing ZetaSQL (ongoing).

                                                                      GoからZetaSQLを使う
                                                                    • Pactで小さく始めるコンシューマ駆動契約テスト|sys1yagi

                                                                      Ubie(ユビー)株式会社でソフトウェアエンジニアをしている八木(@sys1yagi)です。現在Ubieはソフトウェアエンジニアが25名おり、採用活動の進捗としてはまもなく30名を超えることが見えてきています。 Ubieには大きく2種類のプロダクトがあります。病院向け(toB)の「AI問診ユビー」というプロダクトと、一般ユーザ向け(toC)の「AI受診相談ユビー」というプロダクトです。病院向けの「AI問診ユビー」は、病院、クリニック、グローバル(アジア)に分かれており、全体で4つのプロダクトを開発しています。これらのプロダクトは15個のサービスを組み合わせて動作しています。 プロダクトとサービスの関係図 プロダクト間連携で起こる課題現在はサービス群がざっくりプロダクトのバーティカルで分かれていて、一部で共通のサービスがあったり、プロダクト間で連携しあう部分が出てきたといった状態です。人数や

                                                                        Pactで小さく始めるコンシューマ駆動契約テスト|sys1yagi
                                                                      • ESLintチームから200ドルもらった話 - Qiita

                                                                        ESLint チームから $200 いただきました!とても嬉しくありがたいです! プログラマー人生の中でも、あまり無い経験だと思ったので駄文ですがこの経験を残そうと思います。 一応書いておくと私は ESLint の中の人ではありません。 まず簡単な時系列(日本時間) 3/26朝、ESLint TSCミーティングでコントリビューターの誰に今月分の寄付をするのが良いか話し合われる。 ミーティングメモのPR: https://github.com/eslint/tsc-meetings/pull/246 3/26朝、ESLint チームのリーダーである Nicholas さんから、あなたに $200 あげます(かなり意訳)な旨のメールが届く。 3/26、メールに案内の通りに Open Collective で申請。3/27、申請が承認される。 3/30 $200 もらた! ESLint チームの

                                                                          ESLintチームから200ドルもらった話 - Qiita
                                                                        • ベクトル検索の苦手を克服。ナレッジグラフでRAGを作る

                                                                          TL;DR ベクトル検索だと、複数のステップを踏まないと答えられない質問の検索がむずい 「TomにEmil Eifrém(Neo4jのCEO)を紹介してくれる人は?」とかを検索むずい ナレッジグラフは構造化データと非構造化データをうまく扱えてベクトル検索の苦手を補える 課題はあるけどナレッジグラフは、Neo4jとLangchainで構築できるよ。 はじめに 今回はベクトル検索の苦手分野をどうしても補ってあげたいとおもっている筆者やまぐちが、ベクトル検索の苦手を補ってあげられるナレッジグラフに関してまとめていこうと思います。 少々長い記事ですが、ベクトル検索を労ってあげたいと思っている方はぜひ読んでください。 ベクトル検索の限界 以前の記事の最後にも少しだけ記載しましたが、ベクトル検索は以下の問題点があります。 必要な情報がTop Kのドキュメントには含まれていない可能性がある。 チャンクの

                                                                            ベクトル検索の苦手を克服。ナレッジグラフでRAGを作る
                                                                          • WebHID APIを使ってJoy-ConとChromeを簡単コネクト - Qiita

                                                                            Joy-ConとChromeがツナガル こんな感じでJoy-Conをクネクネ動かしたりスティックをグリグリしたりすると、Chromeに表示されたJoy-Conが連動して動きます。Joy-Conって、普段はNintendo Switchでゲームする時に使うコントローラーなので、こうしてブラウザのChromeと連動して動くだけでワクワクします。 このアプリはGoogleのエンジニアの方が作られたもので、以下のGitHubで公開されています。 https://tomayac.github.io/joy-con-webhid/demo/ https://github.com/tomayac/joy-con-webhid どうやっているの? WebHID APIという技術が使われています。 このAPIを使うことで、Webアプリケーションからニンテンドースイッチのジョイコンやプレイステーションのデュア

                                                                              WebHID APIを使ってJoy-ConとChromeを簡単コネクト - Qiita
                                                                            • gqlgen でのキャッシュ性能向上を考えてみる - 病みつきエンジニアブログ

                                                                              NewsDigest ではアプリの BFF として GraphQL を使っていて、ライブラリとしては gqlgen を使ってます。で、なるべく CDN でのキャッシュヒット率を上げたいなぁということで、 gqlgen でできることをプロトタイプしてみました。 github.com 前提として、 Apollo とかは使ってなくて、curl でのコンセプトレベルの検証 僕は Go を書く力が弱い 頭の体操であって、実戦投入したものではない 1: Persisted Query をつかう まず、Persisted Query を使います。 Add File-based Persisted Query · yamitzky/example-gqlgen-cached@5917721 · GitHub Persisted Query は、簡単に言うと、クエリ自体をハッシュ文字列(0123456789

                                                                                gqlgen でのキャッシュ性能向上を考えてみる - 病みつきエンジニアブログ
                                                                              • 構文木のあるものを文字列として扱わない - blog.8-p.info

                                                                                ちょっと前に、他のチームの書いたものをセキュリティ的な観点でレビューする、という仕事があった。「SQL インジェクションはありませんか?」みたいなチェックリストを片目に AWS SDK で DynamoDB にアクセスするようなコードをレビューするのは、なかなか隔世の感があった。 私は2000年代の後半から2010年台の頭にかけて、いわゆる Web プログラマ仕事をしていて、Perl から MySQL に SQL を投げて結果を HTML に入れて返すようなものをよく書いていた。当時は SQL インジェクションとか XSS が、よくある脆弱性として語られていた。 この感じ、パブリッククラウドの SQL じゃないデータベースを使っている人々や、最終的には SQL になるけど基本的には OR マッパーを使っている人々、React で HTML を作っているような人々には伝わらないんじゃないかと

                                                                                • フロントエンド DB で運用コストゼロ

                                                                                  最近はサーバーレスの SQLite が人気みたいですが、個人的には sql.js-httpvfs が好きです。 個人開発で運用コストをゼロにしたいなら、こちらのほうが気楽です。 sql.js-httpvfs は Accept-Ranges を利用して、 DB のすべてのデータを fetch することなく、必要な時にバイト単位での fetch を実現します。 つまり DB をフロントエンドに置いた運用開発ができます。 バイト単位での fetch を実現する Accept-Ranges の仕組みは、フロントエンド新時代を支える技術になる気がしています。 静的 DB はフロントエンドへ移行する ほとんどの開発において DB / ネットワークが最初にボトルネックになります。 昔から bytes-level fetch ができればフロントエンドに DB を置けるのにとは思っていたので、 Accept

                                                                                  新着記事