並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 65 件 / 65件

新着順 人気順

非同期処理の検索結果41 - 65 件 / 65件

  • 大規模レコメンドシステムの構築とレイテンシ改善 〜 Yahoo!ショッピングの事例

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは!サイエンス統括本部でYahoo!ショッピング のレコメンドシステムを開発している高久です。 私の所属するチームでは、さまざまな技術を使ってサービスに実際にどうレコメンド機能を組み込んでいくかについて取り組んでおり、機械学習モデルから配信システムまで一貫して開発・運用しています。 今回はそんな中で取り組んだレコメンドシステムの配信部分の構築事例について紹介します。 ※ レコメンドシステムの開発ではプライバシーポリシー の範囲内で取得したデータを用いて行っています。 Yahoo!ショッピングのレコメンドについて レコメンドとは端的にいうとユーザーの興味がありそうな商品を薦める機能のことで、Yahoo!ショッピング内のさまざ

      大規模レコメンドシステムの構築とレイテンシ改善 〜 Yahoo!ショッピングの事例
    • 非同期処理を理解する - Sansan Tech Blog

      はじめに プロダクト開発部の荒川です。私事ではありますが、バックエンドエンジニアからiOSエンジニアへと転向しました。iOS開発は全くの未経験だったのですが、周りのメンバにも助けられつつ、なんとかやっていけています。サーバサイド、クライアントサイドの両側面から一つのアプリケーションを眺めることができて、非常に楽しく開発できています。 さて前置きはここまでにして、今回は非同期処理をまとめてみました。擬似コードはMDN Web Docsより参考にさせていただいております。 同期処理と非同期処理のキホン 非同期を説明する前に、同期処理について説明しておきましょう。 同期処理とはあるタスクを順番に実行する方式のことで、そのタスクが実行されている間は他のタスクが中断される方式です。*1 同期処理にはいくつかの欠点があります。最たる例としてディスクアクセスなどのI/O処理の場合、メモリアクセスと比べる

        非同期処理を理解する - Sansan Tech Blog
      • コルーチンは怖くない

        コルーチンの基本的なアイディアを正確さより雰囲気重視で解説してみました。 一応コルーチンやイベントループによる非同期処理に関しては概念はPythonに限った話ではないのでNode.jsなどでも同じ理解でいいはず。。。 下記のサンプルを全部動かすにはPython 3.6以降を使ってください。(ローカルにない場合はdocker run --rm -it python:3.7とかでもOK) コルーチンとは サブルーチンの上位(?)概念です。 サブルーチン(いわゆる関数)はエントリポイントが一つで、一度呼び出したら値が返されるまで一気に動きます。 これに対しコルーチンはエントリポイントが複数箇所あるため、一度呼び出されても中断でき、その場所からまた再開できるというものです。 async/awaitとネイティブコルーチン Python 3.5でasync/await構文とともに導入されたネイティブコ

          コルーチンは怖くない
        • SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々

          SpringFramework 6.0.11 SpringBoot 3.1.2 @Async と @EnableAsync の使い方 SpringFrameworkで @Async を使うとかんたんにメソッドを非同期で実行できます。 @Component class AsyncComponent { @Async void method() { // 時間のかかる処理 } } 使う側は単にメソッドを呼び出すだけです。戻り値を処理したいなら Future で受ければいいけど、投げっばでいいなら void で良い。投げっばでいい場合の方が多いはず。 @Async を使うためにはアノテーションを処理する何かしらが必要で、この一式を用意するように指示するのが @EnableAsync です。 以下のようなクラスをSpringがわかるところに置いてあげます。 @EnableAsync @Config

            SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々
          • 今日こそJavaScriptの非同期処理とPromiseを理解しよう! - Qiita

            let i = 0; console.log(i): //0が出力される i += 1; console.log(i); //1が出力される コメントにて記載の通り、当然ながら0が出力された後に1が出力されるはずです。 つまり、前の処理が終わることを待ってから(処理同士が同期しながら)進んでいく処理のことを同期処理と呼びます。 非同期はこの逆です。つまり、前の処理が終わらなくても先へ進む(処理同士が同期しない)ことを非同期処理と呼んでいると考えることができます。上記のコードはこのままでは非同期的に動くことはありません。非同期処理を行うには"何か特殊なことをしないといけない"のです。 ここまでをまとめると以下のようになります。 プログラムの基本は同期処理 非同期処理をするにはなにか特殊なことをしないといけない (少しだけ寄り道)非同期処理が適しているケースとは? 以前のコードのような、ちょっ

              今日こそJavaScriptの非同期処理とPromiseを理解しよう! - Qiita
            • 非同期処理、なにもわからない

              最近のお仕事で、C#の非同期処理の書き方が分からずに、溶岩地帯に自爆していくコードを沢山みるようになったので、ケースとして日常風の記事にしてみました。 どんな風にハマってしまい、どうやって解決するのかが分かると思います。 結論 先に書いておきます。 Task.Run()を使ってはいけません Task.Result, Task.Wait()を使ってはいけません Threadクラスを使ってはいけません async-await構文だけを使って書きます async voidにするのは特殊な場合だけです がんばれー、わかってしまえば難しくない! 補足: もしあなたがJavaScriptで非同期処理を書いた事があるなら、その知識をそのまま生かせます。 JavaScriptではTaskの代わりにPromiseを使いますが、Promiseには上記1,2,3は存在しません。しかし、それで困ることはありません

                非同期処理、なにもわからない
              • [JS]なぜawaitはasync関数の中にしか書けないのか - Qiita

                先に結論 awaitが使われている関数はジェネレータとして内部的に変換され、非同期処理になる。 その為、async関数である必要がある。 コンパイラから見ても、asyncが付いていることで効率的にコンパイルできる。 (追記 2021/07/21)最上位でのawaitは、もうすぐ可能になるかもしれない(一部ブラウザは実装済)。(鶏(async)が先か卵(await)が先かでコメントで教えて頂きました。感謝!) というわけで本編 awaitはPromiseを返す関数を呼び出す方法として非常に便利ですが、それを使う箇所にはいちいちasyncを付けて回らなければならないのが面倒だと思ったことはないでしょうか。 そもそもawaitを内部で使っている関数が常にasyncである必要性がいまいちピンと来ない方もいるのではないでしょうか(最初にasync/awaitの構文を見た時、私自身がそうでした)。 例

                  [JS]なぜawaitはasync関数の中にしか書けないのか - Qiita
                • 初心者のためのTask.Run(), async/awaitの使い方 - Qiita

                  はじめに 最近、Unity/C#でもちょいちょい非同期処理を書いているんですが、なんだかんだやっぱり非同期は難しいです。 そこで、GoogleでTaskやasync/awaitについて検索すると、「TaskをWait()するのはダメ!」とか「async voidは基本的に使っちゃダメ!」といった記事はよく見かけるのですが、じゃあどう書けばいいんじゃと思って探してみると、なかなか記事が見つかりません。見つかっても、「UIのクリックイベントにasync voidのメソッドを登録して...」という記事が多いです。 残念ながら僕はUnityユーザなので、コードを書いてて非同期処理をしたいとき、処理のきっかけはUIのクリックイベントではない時の方が多く、あまり参考にすることができませんでした。 ということで、UnityでTask, async/awaitを使おうとしたときに僕が困ったことや、その結果

                    初心者のためのTask.Run(), async/awaitの使い方 - Qiita
                  • 【図解】C#のasync/awaitの内部挙動を理解する - Qiita

                    はじめに async/awaitとは? 一言でいうと、本来Begin/Endパターンやコールバック関数を使用して非同期的に書かなければいけない処理を同期的に書ける技術です。 非同期的な書き方と異なり、プログラムで実現しようとしているロジックを一連の流れで追いやすくなるという意味で活気的な書き方ができ、非常に魅力があります。その一方で、実際の内部挙動、スレッドの使い方は隠蔽されてしまうため、イメージがつかみにくいという面もあると思います。 この記事で書きたいこと ある程度async/awaitの書き方を知っている方向けに、内部的な動きを深堀りしてみたいと思います。 本題 ソースコードサンプルを見てみる 早速ですが。 まず、サンプルとしてasync/awaitを使って記述したものがこちら。 (処理内容の意味は皆無です。ただ前処理の結果を受けて連続呼び出しをしたかっただけです。) public

                      【図解】C#のasync/awaitの内部挙動を理解する - Qiita
                    • DispatchSemaphoreで非同期処理の完了を待つ - しおメモ

                      Swiftにasync/awaitがなかなかこないので書いてみました。 コールバック地獄が嫌いな人向けの記事です。 DispatchSemaphoreの使い方 基本の構造 タイムアウトの設定 DispatchSemaphoreの使い方 なんらかの大人の事情で、非同期処理を同期的なメソッドと同じような書き方で処理したい場合があると思います。 (もちろん良いとは言えないですが) 例えば、completion handlerで順番に処理したいことが多くなり、JSのcallback hellのように、ネストが深くなってしまう場合です。 そのような場合に、DispatchSemaphoreを活用することで、処理の記述を見やすくすることができます。 https://developer.apple.com/documentation/dispatch/dispatchsemaphoredeveloper

                        DispatchSemaphoreで非同期処理の完了を待つ - しおメモ
                      • 非同期通信をするなら絶対にやったほうがいいこと - Qiita

                        TL; DR ユーザーを待たせるとき、「どのように待たせるか」によって印象は結構変わります。 非同期処理などでユーザーを待たせるときは、適切なローディングを表示してUXを改善しましょう。 違いを体感していただけるよう、いくつかの例を元に書いてみました。 ボタン押下の例 送信ボタンを押してから、通信に1秒かかるお問い合わせフォームを作ってみました。 2つの例を比べてみて下さい。 実際には何も通信しないダミーのFORMなので、気軽に試して下さい。 Bad See the Pen ダミーFORM by laineus (@laineus) on CodePen. Good See the Pen ダミーFORM by laineus (@laineus) on CodePen. 改善されたこと1 ユーザーの操作に対し、画面が即時応答するようになりました。 結果: 体感速度が向上しました。 どちら

                          非同期通信をするなら絶対にやったほうがいいこと - Qiita
                        • 非同期処理を使いこなそう ! - 第 3 回 AWS サービスを活用した非同期処理アーキテクチャ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                          こんにちは、プロフェッショナルサービス本部クラウドアプリケーションアーキテクトの五十嵐です。 「非同期処理を使いこなそう !」シリーズの第 3 回となる今回は、いよいよ物理アーキテクチャ、つまり AWS サービスを利用したアーキテクチャ構成を考えていきます。 これまでの連載記事では、EC サイトを例として 第 1 回 で同期処理と非同期処理の使い分けについてご説明し、第 2 回 で各処理のステップや論理構成についてご説明しました。これをベースとして、第 3 回は非同期処理を実現するための AWS サービスをご紹介し、それらを活用した非同期処理アーキテクチャについてご説明します。 みなさまは AWS を活用したアーキテクチャ (以下「アーキテクチャ」と記載) をご自身で描かれたことはありますでしょうか。もしあまりイメージがわいていなかったり、見たことはあるけどもご自身で描いたことがないという

                            非同期処理を使いこなそう ! - 第 3 回 AWS サービスを活用した非同期処理アーキテクチャ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                          • async await - TypeScript Deep Dive 日本語版

                            思考実験として、次のことを想像してみてください: await のキーワードがPromiseに対して使われた場合、JavaScriptコードの実行を一時停止します。そして、その関数から返されたPromiseが完了した場合にだけ、コードの実行が再開されます。このようにJavaScriptランタイムを制御する方法を想像してみてください:

                              async await - TypeScript Deep Dive 日本語版
                            • Django非同期View入門 | gihyo.jp

                              筒井@ryu22eです。8月の「Python Monthly Topics」は、Djangoでの非同期Viewの使い方について解説します。 Webアプリケーションの非同期処理とは何か? 非同期処理をサポートするWebアプリケーションでは、複数のリクエストを受け取った際、シングルスレッドの中で各リクエスト用の処理を細かく切り替えながら、同時に動かしているように見せかけて実行します(⁠「⁠並行処理」とも言います⁠)⁠。 非同期処理の利点として、Djangoの公式ドキュメントでは以下のように説明しています[1]。 The main benefits are the ability to service hundreds of connections without using Python threads. This allows you to use slow streaming, long-

                                Django非同期View入門 | gihyo.jp
                              • 【C#】Taskをキャンセルする - vaguely

                                はじめに Task.Runの中で処理を止める Task.Runの外から処理を止める おわりに 参照 はじめに 前回に引き続き、async / await / Task ネタです。 非同期で処理している内容をストップするにはどうするの?というお話。 Task.Runの中で処理を止める Task.Run の中で、条件に応じて処理を途中で止める、というのは比較的簡単です。 private async void CallAsyncMethod() { var myTask = await GenerateTextAsync(); // GenerateTextAsync() の処理が完了したら実行される. Debug.Log(myTask); } private async Task< string> GenerateTextAsync() { return await Task.Run< str

                                  【C#】Taskをキャンセルする - vaguely
                                • JavaScriptの非同期処理の歴史 - Qiita

                                  はじめに JavaScriptにおいて、非同期処理の扱い・知識は欠かせないものとなっています。 この記事ではそもそも非同期処理とは何なのか、JavaScriptで非同期処理がどのような変遷を遂げてきたのかについて解説していきたいと思います。 同期処理 JavaScriptで以下のようにコードを書いた場合、各行の処理が完了するまで次の行の処理が開始されません。 変数numが初期化される前にconsole.log(num)が呼び出されることはなく、必ずnumの初期化が完了してからコンソールに出力されます。 let num = 1; console.log(num); num++; console.log(num); // => 1 // => 2 このように、書いた順番にプログラムが実行され、現在行の処理が完了してから次の行の処理に移るような処理は同期処理と言われています。 同期処理の問題点

                                    JavaScriptの非同期処理の歴史 - Qiita
                                  • Spring Data R2DBCでリアクティブにDBアクセスを行なう - Uzabase for Engineers

                                    はじめに こんにちは、SaaS Product Teamのヒロオカです。 SPEEDAではSpring Webfluxの採用が行われおり、一部リアクティブなシステムが動いています。 今回は、R2DBCという、リアクティブな非同期でRDBにするための仕様とSpring(Reactor Project) による実装およびサポートを利用して、APIの実装を試してみたいと思います。 はじめに R2DBとは リアクティブシステムにおけるJDBCの問題点 実際に使っていく 環境 事前準備 プロジェクトの作成 DBの起動 APIを実装していく 空ハンドラーの実装とルーティングの設定 リポジトリの実装 DBの諸々の設定 BDの初期化処理の記述 エンティティの作成 ReactiveCrudRepositoryを継承したリポジトリインターフェースを作成 ハンドラーの修正 終わりに 参考資料 R2DBとは 前述

                                      Spring Data R2DBCでリアクティブにDBアクセスを行なう - Uzabase for Engineers
                                    • 【TypeScript】非同期処理の良さを図解で日常生活に例えて解説する - Qiita

                                      「同期的処理」の部分を、公式ドキュメントや他記事では同期処理や非同期処理と混在して書いていたように感じたので、本記事では「同期的処理」と名称を統一しています(個人的にはこの名称部分でかなり混乱してしまいました。。)。 今回は実装にて時間計測を用いるので、asyncを用いた「同期的処理」「非同期処理」について解説していきます。 同期的処理 // 計測 const elapsedTime = (start: number, end: number) : string => { return (end-start).toFixed(0) } // タスク消化 const doTask = (task: string, time: number) : Promise<string> => { return new Promise(resolve => { setTimeout(() => { re

                                        【TypeScript】非同期処理の良さを図解で日常生活に例えて解説する - Qiita
                                      • 非同期処理ってなんだい? - Qiita

                                        今回は非同期処理の方法をサロンの勉強会で理解を深めたので、そのアウトプットをしていきたいと思います。いろんな人から意見をいただけてとても勉強になりました。一人で勉強するよりも、いろんな人と話し合いながら勉強することで、楽しく学べちゃいます!もし、興味あればどうぞ! 🥋アプリ道場サロン🥋 サンプルコードはたくさんの人がスマートにまとめていらしたので、実際にどんな感じで使うのか具体的に載せていけたらなと思い長ったらしいコードを書きました。笑 間違い等があればコメントで教えていただけたら幸いです!! 流れ 非同期処理とは? キーワード completionクロージャを使った非同期処理 async/awaitを使った非同期処理 completionクロージャとasync/awaitの違いって何? まとめ 非同期処理とは? 担当直入に言うと、実行結果を後で受け取る。ということだそうです。 日本語

                                          非同期処理ってなんだい? - Qiita
                                        • SpringBootの非同期イベント発行に必要な手順 - Qiita

                                          SpringFrameworkには、Spring管理下にあるインスタンスの実行を「イベント」として登録し、イベント発行で実行を制御できる仕組みが用意されています。使うのも単純ですし、SpringBootでは非同期処理にもできます。今回はSpringBootで非同期イベントを使った非同期処理の実現例を記載します。 動作環境 Java 11 SpringBoot 2.3.1 イベント駆動処理に必要なこと 以下3つの作成が必須です 処理実行に必要なパラメータ類を渡すEventクラス イベントを起動させるPublisherクラス イベントを検知して処理を開始するListenerクラス 実装例 今回作成するイベント:呼び出し元のクラスから文字列を受け取り、ログに出力する イベントから受け渡す文字列を格納するクラスは以下を用います。 import lombok.AllArgsConstructor;

                                            SpringBootの非同期イベント発行に必要な手順 - Qiita
                                          • JavaScriptを使った非同期通信について - Qiita

                                            はじめに こちらの記事ではWEB開発における非同期通信について理解しやすいように手を動かして作れるアプリを作りました。 非同期通信について学んでみたい人はぜひ作ってみてください。 対象者 非同期通信とはなにかわからない、または名前だけ知っている、漠然としたイメージだけあるといった方 WEB開発に関する知識はある程度持っている方 非同期通信とは 非同期通信とは通信技術の一つで送信者のデータ送信タイミングと受信者のデータ受信タイミングを合わせずに通信を行う通信方式です。 イメージが湧きにくいと思うので以下の画像を見てください。 この処理ではボタンをクリックした後、画面遷移を行わずにデータベースへアクセスしランダムなポケモン情報を画面に表示しています。 非同期通信では処理は以下のように行われています。 送信ボタンをクリックするとJavaScriptにてhttpリクエストが送信され、サーバーサイド

                                              JavaScriptを使った非同期通信について - Qiita
                                            • 非同期処理でLLMにもっと働いてもらおう

                                              イベント: https://connpass.com/event/305220/ コード: https://gist.github.com/zerebom/bc9dce376a9a8f28a32e5c73b425a239#file-async_gradio_app-py-L12 参考資料 解像度を上げる: https://speakerdeck.com/tumada/jie-xiang-du-wogao-meru リーンキャンバスとは? 実践的な書き方と考え方【テンプレート付き】: https://sairu.co.jp/method/24846/#:~:text=%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%90%E3%82%B9%EF%BC%88Lean%20Canvas%EF%BC%89%E3%81%A8,%

                                                非同期処理でLLMにもっと働いてもらおう
                                              • C#非同期メソッドを指定したスレッド上で動かす - Qiita

                                                内容 C#の非同期メソッドが実行されるスレッドはThreadPoolクラスが生成したワーカースレッドですが、これを指定したスレッドに切り替える方法を紹介します。 スレッド切り替えの様子 非同期メソッド中でSwitchToメソッドを呼び出すことでそれ以降の動作スレッドを切り替えます。 切り替えの様子: async Task SwitchToTestAsync() { Console.WriteLine(".NET ThreadPoolクラスのワーカースレッドまたは起動元スレッド上"); await mainThreadQueue.SwitchTo(); Console.WriteLine("メインスレッド上"); await userThreadPool.SwitchTo(); Console.WriteLine("自前スレッドプールのワーカースレッド上"); await Task.Yiel

                                                  C#非同期メソッドを指定したスレッド上で動かす - Qiita
                                                • 多分わかりやすいC#の非同期処理その2 〜 asyncとawait 〜 | SIOS Tech. Lab

                                                    多分わかりやすいC#の非同期処理その2 〜 asyncとawait 〜 | SIOS Tech. Lab
                                                  • 【ChatGPT】と話して学ぶ、【asyncとawait】 - Qiita

                                                    本記事を書くきっかけ 実務に入る前に、Webアプリケーション開発の基礎の勉強をさせていただいたので、その知見の共有として。特に今回はChatGPTとの対話を通して、"文量多めの読み物っぽい"記事を目指しています。箇条書きより一連の文章の方が好みの方におすすめ。 asyncとawaitについて 「非同期処理」「待機する」といったキーワードはなんとなく覚えていたものの、説明ができなかった「async」と「await」。FEだったら避けては通れないよ!と先輩社員からもお声をいただきましたざっくり言うと asyncで非同期的な処理をして、awaitでその中で待機しなければならない内容を書いている そうです。実際に使うと、asyncの中のawaitがついている部分は完了までその後の処理が止まっているのがわかります。 ではここで早速、ChatGPTに 「サンプルコードで説明して」 とお願いしてみます。

                                                      【ChatGPT】と話して学ぶ、【asyncとawait】 - Qiita