並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 57件

新着順 人気順

asyncの検索結果1 - 40 件 / 57件

  • 令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io

    Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp

      令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io
    • JavaScript で then を使うのは避けよう(await / async の初級者まとめ)

      JavaScript において、特に苦手とする人が多い印象のある Promise ですが、await と async の文法が導入されたことで、Promise の仕様を深く理解しなくても非同期処理を自然に書けるようになってきたのではないかと思います。 極論ですが、JavaScript の非同期処理は async await new Promise のみで、(ほぼ)全て表現可能です。特別な理由がない限り then を使わないようにしましょう、ということを周知するのがこの記事の目的です。 なお本記事では Promise の rejected の状態についてほとんど解説しておりません。基本を理解したら、別記事でぜひ学んでみてください。 Promise とは? Promise は、少し乱暴に説明すると「実行が終わっていないかもしれない何らかの関数」を包んだオブジェクトです。 普通の関数とは違って、

      • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

        この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

          Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
        • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

          今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

            Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
          • Node.js + TypeScriptのモジュールを整理してみる

            はじめにlink 最近受けるNode.js + TypeScript環境の相談の中で、CommonJSやECMAScript Modulesのあたりで落とし穴にはまっている人が多いという事に気づいた。 Node.jsは歴史的にCommonJSとECMAScript Modules(以後ESMと表記)がどうしても入り乱れる環境にあり、これにTypeScriptのモジュールが加わると組み合わせでさらに複雑度が増すのが現状である。 説明する際に口頭より整理した文章が欲しいと思ったので記事にする。 以下のリポジトリで検証コードを管理している。 https://github.com/koh110/module_test Node.jsモジュールチェックシートlink まず最初にNode.jsにおけるCommonJSとESMの挙動について整理する。 いきなり書かれても把握できないかもしれないが、一旦こ

              Node.js + TypeScriptのモジュールを整理してみる
            • エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

              TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再利用可能なパーツを組み合わせることで、メンテナンス性、可読性、柔軟性の高いソフトウェアを構築する リソースの安全な管理(resource-safety):処理が失敗したとしても、安全にリソースを開放する 型安全性(type-safety):TypeScript の型システムを活用した型推論と型安全性に焦点を当てている エラー処理(error handling):構造化された信頼性の高い方法でエラーを処理する 非同期性(asynchronicity

                エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
              • Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers

                はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。

                  Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers
                • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                  はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                    Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                  • デジタル復調の学習を目的として、ワンセグチューナーで地デジのフルセグTSを抜く - Qiita

                    お詫びと訂正 タイトルにて「ワンセグチューナー」と表記しておりますが、正しくは「ワンセグチューナーの技術を応用したSDR受信機」となります。お詫びして訂正いたします。 本題 さて、茶番はこのあたりにして(今回は使わなかったと言うだけで、本物の「ワンセグチューナー」でもフルセグを受信できるはずなので、あながちタイトが誤っているというわけではないのですが、茶番をやりたいための茶番でした)。 今回はデジタル変調の復調を学習することを目的としているので、それ以外の部分(例えば受信機のハードウェアや、リードソロモン誤り訂正のような情報理論的分野)には触れません。また、限定受信を目的としたスクランブルの解除や映像の復号にも一切触れません。一方で、海外の人が作ったGNU Radioのソースコードをコピペして「受信したよ!」と言っても学習という意味では全く意味がありませんから、ISDB-Tの復調に関しては

                      デジタル復調の学習を目的として、ワンセグチューナーで地デジのフルセグTSを抜く - Qiita
                    • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

                      Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript で

                        neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
                      • LogLog Games

                        The article is also available in Chinese. Disclaimer: This post is a very long collection of thoughts and problems I've had over the years, and also addresses some of the arguments I've been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn't meant to brag or indicate su

                        • 楽観的更新を行うための React の useOptimistic フック

                          楽観的更新を行うための React の useOptimistic フック 2024.05.12 React v19 では楽観的更新を行うための `useOptimistic` フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 React v19 では楽観的更新を行うための useOptimistic フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 楽観的更新を使用している例として、X(旧 Twitter)のいいねボタンがあります

                            楽観的更新を行うための React の useOptimistic フック
                          • VS Code Extensions and WebAssembly

                            It is important to note that the component model does not support low-level (C-style) pointers. As such, you cannot pass object graphs or recursive data structures. In this respect, it shares the same limitations as JSON. To minimize data copying, the component model introduces the concept of resources, which we will explore in more detail in a forthcoming section of this blog post. The jco projec

                              VS Code Extensions and WebAssembly
                            • Cloudflare WorkersのJS RPCを理解する

                              前置き 4月の第1週に行われたCloudflare Developer Week 2024でAIやデータベース関係のアップデートの影に隠れ、WorkersをつくってるKenton氏のブログが2つ投下されました。 そして「JS RPC」という機能が追加されました。 これが一見地味なんですが、非常に楽しい未来を想像できるので、書いてみます。というか以前chimameさんが書いた記事でだいぶ理解できるのですが、もう少し噛み砕いて書いてみます。 Bindings Cloudflareにはいくつもプロダクトがあります。ストレージのR2、データベースD1、KVストアのKVなどです。そしてそれらに繋ぐ方法が「Bindings」という方法です。このBindingsで繋げられるものはたくさんあります。 AI Analytics Engine Browser Rendering D1 Environment

                                Cloudflare WorkersのJS RPCを理解する
                              • AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた

                                LangChain なんか使わなくてもシュッと作れたので記事にしておく。 RAG とは 生成AIに検索能力をもたせるやつ。 要は検索機能をこちらで提供してやって、AIにそれを読ませる。 AnthropicAI Tool OpenAI でいう Function Calling JSONSchema で関数シグネチャを与えると、それを使うDSLを生成する。実際の関数は自分で実装して、AI が生成した引数(JSONSchema に従う)を渡す。 TypeScript の Mapped Types でツールの実装部分に型をつける簡単なラッパーを書いた。 RAG の CLI を作る Google検索をするAPIを実装 Google Custom Engine API を使った 本文要約をするAPIを実装 Mozilla の実装を使った 与えられた URL を fetch して、その本文部分を抽出する

                                  AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた
                                • オブジェクトストレージにおけるファイルアップロードセキュリティ - クラウド時代に"悪意のあるデータの書き込み"を再考する - Flatt Security Blog

                                  はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、オブジェクトストレージに対する書き込みに関連するセキュリティリスクの理解と対策についてお話しします。 本ブログは、2024年3月30日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたりオブジェクトストレージを主題とした内容の再編と、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 なぜ今、この問題を取り上げるのか? 近年のクラウドリフト、クラウドシフトにより、クラウドを活用する場面が多くなってきていると思います。その中で、多くの場面で利用されるオブジェクトストレージにおいて、データの書き込み時に気にすべきセキュリティリスクが存在するのをご存知でしょうか? 近年、オブジェクトストレージの不適切な利用に起因する情報漏洩が多く発生しています。そのよ

                                    オブジェクトストレージにおけるファイルアップロードセキュリティ - クラウド時代に"悪意のあるデータの書き込み"を再考する - Flatt Security Blog
                                  • kyju.org

                                    Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                    • Portable stories for Playwright Component Tests

                                      Storybook is the industry standard workshop for building, documenting, and testing UI components. It’s used by leading development teams at organizations like Shopify, Gov.UK, and NASA. One of the biggest benefits of developing in Storybook is that you get tests for free. Each isolated component example—or “story”—is a UI test. And if you want to test data fetching and user interactions, Storybook

                                        Portable stories for Playwright Component Tests
                                      • Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す

                                        先日のGoogle I/O 2024でFirebaseの新機能が発表されました。 これを読んでいて気になったのが、App Hostingという機能です。どうやらAngularとNext.jsのSSRをサポートしてくれるようになったようです。 自分はboobyというOSSコントリビュートしやすそうなリポジトリを探せるサービスを過去にリリースしています。 これのホスティング先として最初に検討していたのがFirebase Hostingでした。が、「?SSRどうやって動かすんだ?」と思いながらデプロイのための調査をしていたところ、どうやらCloudRunなどのサーバーサイドランタイムも使いながらでなければ動かせないということに行きつきました。 これまでやってきたCSRのHostingと異なり色々と手間が増えるなという結論に至り、結果初期構築が楽なVercelにデプロイすることにしました。当時の奮

                                          Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す
                                        • gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記

                                          GitHub CopilotにはCLIがあるのを思い出して、コマンドの実行結果をそのままプロンプトに渡すと、文脈に沿った仕事をお願いしやすいんじゃないか、と思って、試してみた。 git stashをよく使うのだけど、一覧になっていると、何がstashされているかわからないので、stashの保存時に、内容を要約してもらう、というタスクを試してみる。 なんらかのCLIにdry-run機能をつけている途中で、git stashしたいとする。 index f1f5a2f..dd70bf5 100755 --- a/cli.js +++ b/cli.js @@ -19,6 +19,10 @@ command } else { command.help(); } + }) + .arguments(['dry-run']) + .action(async(file) => { + console.lo

                                            gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記
                                          • @location-state/conformをリリースした

                                            この記事はlocation-stateをconformに対応させるために開発した、@location-state/conformの紹介記事です。 location-stateとは location-stateは履歴位置に同期する状態管理ライブラリです。主にNext.jsをサポートしています。 Next.jsなどを採用している場合、ページ内のuseStateは遷移時のunmountで状態が破棄され、ブラウザバック時には復元されません。そのため、アコーディオンやform要素の状態はブラウザバック時にはリセットされてしまいます。これはNext.jsに限らず、ReactやVueなどをベースにしたモダンなフロントエンドフレームワークを採用して、クライアントサイドルーティングが発生する場合に起きがちな挙動です。クライアントサイドルーティングが不在なMPAでは、bfcacheやブラウザ側の復元処理によっ

                                              @location-state/conformをリリースした
                                            • Rustのtokioを使ってLSP, DAPサーバーを書く

                                              はじめに 最近はioliteという言語とそのコンパイラを書いています。 そこで、VSCode上の言語機能やデバッガーの機能を作りたくなったので、それをRustのtokio上で動くLSP,DAPサーバーを書いたのでそれに関する記事です。 (この記事執筆時点のリポジトリ) LSPとDAPについて この記事を読んでいる人はLSPについては知っている人が多いと思いますが、LSPはmicrosoftが定める規格で、エディター上のautocompleteや定義ジャンプ、エラーの表示やホバー時の型表示などの機能を提供することができる規格です。 一方でDAPはLSPのデバッガーバージョンのようなもので、VSCodeのデバッガーを起動した時に提供される、ブレイクポイントやステップ実行などの機能について定めた規格です。 いずれもエディターから呼ぶためのプロトコルとして定義されており、通信は必ずしもサーバーを立

                                                Rustのtokioを使ってLSP, DAPサーバーを書く
                                              • Rails: SidekiqからSolid Queueに移行したときの方法と注意点(翻訳)|TechRacho by BPS株式会社

                                                概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: How we migrated from Sidekiq to Solid Queue - BigBinary Blog 原文公開日: 2024/03/05 原著者: Chirag Shah 日本語タイトルは内容に即したものにしました。 私たちBigBinaryは、neetoでさまざまなプロダクトを構築しています。現在22のプロダクトを開発中で、それらはいずれもSidekiqを利用しています。Solid Queueが公開された後で、私たちのneetoFormで使われているSidekiqをSolid Queueに移行する決定を下しました。 なお、現時点のSolid Queueはcronスタイルのジョブや定期的に繰り返されるジョブ実行をサポートしておらず、これに関するプルリク#155がオープンされています。そういうわけで、Solid

                                                  Rails: SidekiqからSolid Queueに移行したときの方法と注意点(翻訳)|TechRacho by BPS株式会社
                                                • Cloudflare Workersを使って定期的なタスク自動化を実質無料で行う(不要な画像、アカウントの定期削除など)

                                                  Cloudflare Workersなら定期的なタスクを自動化 Google Cloud Schedulerのような機能を実質無料で実行できます(1日あたり最大100,000リクエストまで) 実際に自分のサービスで使っている例 Cron 実行履歴(不要な画像の定期削除) 自分の扱っているサービスの場合1日1度不要な画像の処理を定期実行するので1日1リクエスト 30日で30リクエスト リクエスト サブリクエストを含めると先月(4月6日から〜5月6日まで) 1ヶ月あたり90リクエスト 1日あたり最大100,000リクエスト以内なので無料で使える! Cloudflare Workersの料金体系(2024/5/6現在) 2024年5月時点の料金体系 最新の料金情報はCloudflareの公式ウェブサイトで確認してください。 基本プラン Free: Cloudflare Workersの無料プラン

                                                    Cloudflare Workersを使って定期的なタスク自動化を実質無料で行う(不要な画像、アカウントの定期削除など)
                                                  • SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024

                                                    SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024 Last month, I gave a talk titled "SemVer in Rust: Breakage, Tooling, and Edge Cases" at the FOSDEM 2024 conference. The talk is a practical look at what semantic versioning (SemVer) buys us, why SemVer goes wrong in practice, and how the cargo-semver-checks linter can help prevent the damage caused by SemVer breakage. TL;DR: SemVer is

                                                      SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024
                                                    • 坂本龍一 追悼連載vol.12:『エスペラント』など、ニューエイジ的審美眼で新たに読み解く5作品 | CINRA

                                                      坂本龍一が発表した数々の音楽作品を紐解く連載「追悼・坂本龍一:わたしたちが聴いた音楽とその時代」(記事一覧はこちら)。 第12回の書き手は、『ニューエイジ・ミュージック・ディスクガイド』の監修・編集を務めた門脇綱生。坂本龍一がリラクゼーションミュージックの類や、音楽による「癒やし」(*1)といった考え方を忌避していたことはよく知られるところだが、その残された多様かつ膨大な音楽を「ニューエイジ・リバイバル」以降の視点から新たに読み解くことができるとしたら……。 本稿では「ニューエイジ」という言葉につきまとう怪しげな部分を注意深く退けたうえで、ここ10年ほどの「ニューエイジ・リバイバル」の背景を概説しながら、筆者に5つの坂本龍一作品をピックアップしてもらった。本人自ら「達成感」(*2)を口にした傑作から、現在ではほとんど顧みられない作品まで、「ニュー・ニューエイジ」的審美眼から新たに光をあてる

                                                        坂本龍一 追悼連載vol.12:『エスペラント』など、ニューエイジ的審美眼で新たに読み解く5作品 | CINRA
                                                      • 2024-04-26のJS: Electron 30、Firefox 125、Node.js 22、React 19 Beta、TypeScript 5.5 Beta

                                                        JSer.info #690 - Electron 30.0.0がリリースされました。 Electron 30.0.0 | Electron V8 12.4、Chromium 124、Node.js 20.11.1へアップデート。 File System APIをサポート、Cross Origin iframeにPermission Policyを使うように変更、WebContentsView/BaseWindowの廃止などの変更が含まれています。 Firefox 125がリリースされました。 Firefox 125.0.1, See All New Features, Updates and Fixes Firefox 125 for developers - Mozilla | MDN Intl.Segmenterのサポート、Popover APIのサポート、AV1コーデックのサポート

                                                          2024-04-26のJS: Electron 30、Firefox 125、Node.js 22、React 19 Beta、TypeScript 5.5 Beta
                                                        • WebKit Features in Safari 17.5

                                                          Happy May! It’s time for another release of Safari — our third significant update of 2024. With just a month until WWDC24 and the unveiling of what’s coming later this year, we are happy to get these 7 features and 22 bug fixes into the hands of your users today. CSS There are several exciting new CSS features in Safari 17.5, including text-wrap: balance, the light-dark() color function, and @star

                                                            WebKit Features in Safari 17.5
                                                          • Node.js v22の主な変更点 - 別にしんどくないブログ

                                                            引用元: https://nodejs.org/en/about/branding 2024年4月24日にリリースされたNode.js v22の主な変更点を紹介します。 Node.js v22はLTS(長期サポート)のバージョンになります。10月の後半にLTSとしてサポートが始まります。 nodejs.org require()がESMをサポート V8 12.4 アップデートによる JavaScript の機能 Array.fromAsync() Set methods union() intersection() difference() symmetricDifference() isSubsetOf() isSupersetOf() isDisjointFrom() Iterator Helpers map() filter() reduce() --runオプションによるpacka

                                                              Node.js v22の主な変更点 - 別にしんどくないブログ
                                                            • 管理画面にWasm入れてみた | CyberAgent Developers Blog

                                                              こんにちは、CyberFight DX 事業本部で web フロントエンドエンジニアをしている久保です。CyberFight DX 事業本部は複数のエンタメサービスを開発、運用するFANTECH本部に所属しています。今回は、管理画面を対象に WebAssembly ( Wasm ) を導入した事例をご紹介します。 FANTECH 本部では技術ブログでの発信を強化しており、最近では下記のような記事を投稿しています。ぜひご一読ください。 Cloud Run サイドカーで Fastly の Prometheus Metrics を収集して Grafana で可視化する reminder-lintでFeature Flagsの削除漏れを防ぐ マルチリージョンで稼働する内製Feature Flagsの実装 私たちのプロダクト WRESTLE UNIVERSE では、ユーザー対象のキャンペーンを実施す

                                                                管理画面にWasm入れてみた | CyberAgent Developers Blog
                                                              • An mruby for WebAssembly

                                                                Previous slideNext slideToggle fullscreenOpen presenter view An mruby for WebAssembly Presentation by Uchio Kondo self.introduce! Uchio Kondo from Fukuoka.rb Infra Engineer @ Mirrativ, Inc. livestreaming & "live" gaming Translator of "Learning eBPF" Ruby and WebAssembly Code sample background rule: Ruby.has :red, :background (window.JavaScript || TypeScript).then("yellow"); Rust::<BackGround>::pur

                                                                  An mruby for WebAssembly
                                                                • Leaving Rust gamedev after 3 years | Hacker News

                                                                  That's a good article. He's right about many things.I've been writing a metaverse client in Rust for several years now. Works with Second Life and Open Simulator servers. Here's some video.[1] It's about 45,000 lines of safe Rust. Notes: * There are very few people doing serious 3D game work in Rust. There's Veloren, and my stuff, and maybe a few others. No big, popular titles. I'd expected some A

                                                                  • 空音央が語る、映画『Ryuichi Sakamoto | Opus』。坂本龍一の「最初で最後のコンサート映画」の裏側 | CINRA

                                                                    空音央が語る、映画『Ryuichi Sakamoto | Opus』。坂本龍一の「最初で最後のコンサート映画」の裏側 2022年9月、闘病中の坂本龍一は一本の映画を制作した。コンサートドキュメンタリー映画『Ryuichi Sakamoto | Opus』は、坂本が「日本でいちばん音がいいスタジオ」と高く評価していたNHK509スタジオで8日という撮影期間で制作。ピアノを弾く坂本だけを映したシンプルな作品だが、単に演奏を記録した映像ではない。 そこからは坂本龍一という音楽家がどんなふうに音楽に向き合っているのか、どんなふうにピアノと語り合っているのかが伝わってくる。丁寧に演出されていて、1本の映画としての密度を持った作品だ。坂本から声をかけられて監督を務めたのは映像作家の空音央。空音央は、どのようにして作品に取り組んだのか。撮影や音響へのこだわり、そして本作を貫くテーマについて話を聞いた。

                                                                      空音央が語る、映画『Ryuichi Sakamoto | Opus』。坂本龍一の「最初で最後のコンサート映画」の裏側 | CINRA
                                                                    • Vercel AI SDK で Ollama を使う方法

                                                                      はじめに Vercel AI SDK (React 等から LLM の API をいい感じに stream で呼び出せるようにするやつ) から Ollama (OSS の LLM をローカルで動かすやつ) を呼び出す方法を調べました。 参考 課題 Vercel AI SDK の サンプルコードを、OpenAI から Ollama の langchain のモデルを使って、置き換えて動かそうとしたけど、なぜかうまくいかなかった。 解決方法 ここのディスカッションにいろんな解決方法が記載されている。その中からいくつか試した。 解決方法 1 OpenAI Compatibility API を使う OpenAI API と同じ API で呼び出す方法。呼び出せるモデルに制約がある。マルチモーダルの llava は呼び出せない。 URL 変えるくらい。シンプル。すんなり動いた。 解決方法 2 la

                                                                        Vercel AI SDK で Ollama を使う方法
                                                                      • Zed Decoded: Linux when? - Zed Blog

                                                                        Screenshot of Zed — but where are the red/yellow/green window controls? Does anything stick out? Yes, exactly, it's a screenshot of Zed running on Linux! Wait, what? Zed on Linux? Is it released yet? No, it's not, but it's taking shape, fast. At the end of January we open-sourced Zed and had zero Linux support. Now, three months later, you can compile & run Zed on Linux and actually use it. And I

                                                                          Zed Decoded: Linux when? - Zed Blog
                                                                        • References are like jumps

                                                                          In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to update any of these he must quote its name explicitly on the left of the assignment, so that the identity of the part of the machine subject to

                                                                          • Google I/O 2024 のFirebase速報まとめ - Qiita

                                                                            こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いている@mogmetです。 最近ラグナロクがエフ・コード社傘下になったことにより、動き方も色々変わったり、やることも増えてきて多忙感を感じております。 それにより絶賛エンジニアやデザイナーを募集中なのでご興味ある方は是非気軽にお話しましょう😇 話は戻り、本日はGoogle I/O 2024で発表されたFirebaseの新機能について紹介致します! ※ベースの記事としては What's new in Firebase at I/O 2024を参照としております。 今回のアップデートとしてはAI、リリース周りのアップデートが主に発表されました。 Firebaseロゴが刷新 Firebaseのアイコンが丸みを帯びた優しい感じのアイコンに刷新されました。 進化を反映したロゴになりました。 AI関連のアップ

                                                                              Google I/O 2024 のFirebase速報まとめ - Qiita
                                                                            • Vue3でモーダルダイアログの起動をいい感じに実装する | フューチャー技術ブログ

                                                                              Reactでのダイアログの開閉制御については以前、別のエントリーで書きました。 ダイアログもアラートも、Reactで子コンポーネントの開閉管理を実装するVue3でも、何か簡単に書ける方法はないかと試行錯誤して、ちょっといい感じかな?という方針を見つけたので、備忘がてら技術ブログに書いておきます。 使いやすいダイアログAPIとは太古の昔より、便利なダイアログ機能というのは、呼び出し元はダイアログの開閉状態とか細かい制御は気にせず、必要な情報を渡して、結果だけもらうというものです。JavaScriptのブラウザのAPIにもありますよね。 const result = confirm("今日はいい天気でしたね") // OKのときはtrue console.log(result) これはVisual Basicとかでもなんでも同じですね。ただし、JavaScriptだとconfirm()、ale

                                                                                Vue3でモーダルダイアログの起動をいい感じに実装する | フューチャー技術ブログ
                                                                              • Flutter採用理由_2024 - Continuity is The Father of Success

                                                                                GWでたくさん寝て頭がスッキリしたので、久々にブログで。 個人の感想です LogicとViewの共通化 Native SDK APIへのアクセス 描画パフォーマンス 画面遷移の選択肢 CI/CDのセットアップ容易性 LogicとViewの共通化 flutter.dev Flutter allows you to build apps for mobile, web, desktop, and embedded devices — all from a single codebase. マルチプラットフォーム向けのフレームワークを使う場合、そのフレームワークは複数のプラットフォーム向けのコードを共通化します。 Flutterの特徴の一つは、共通化する対象がLogicとViewの両方である点です。 Logicの共通化は、FlutterのアプリケーションをDartで記述できる点で達成されます。

                                                                                  Flutter採用理由_2024 - Continuity is The Father of Success
                                                                                • クリーンアーキテクチャを説明するときに使う例え話 - Qiita

                                                                                  はじめに おはようございます。Watanabe Jin(@Sicut_study)です。 今回は私の会社でよく使われるクリーンアーキテクチャのレイヤーの説明をたとえ話を交えながらせつめいしていきます。 コードはTypeScriptですが、他の言語のレポジトリもありますのでご確認いただければと思います。 毎朝5分で読める 朝5分で読めるシリーズは平日7時にエンジニアの方に気づきが与えられるような記事を投稿しています。 よければ@Sicut_studyのフォローを宜しくおねがいします! 聞いて学びたい方はこちら👇 私がよく使っているクリーンアーキテクチャ クリーンアーキテクチャは厳密にやっていくこともできますが、私がよく利用するのは実装も比較的簡単で、テストもしやすいという理由から以下の構成で実装をしています。 私は以下の4層を実装で利用して使います usecase gateway driv

                                                                                    クリーンアーキテクチャを説明するときに使う例え話 - Qiita