タグ

2024年6月18日のブックマーク (21件)

  • 非同期 IO について - Qiita

    非同期 IO について おしながき C10K 問題 について 非同期 IO とは何か async-await 非同期 IO のこれから 1. C10K 問題 について 時は 2002 年 Web 勃興期 牧歌的時代の終わり HTTP サーバ 10000 クライアントからの同時接続 どう実装するか 当時の Web サーバ Apache クライアント毎に 1 プロセス クライアント毎に 1 スレッド クライアント毎に 1 プロセス 10000 プロセス も起動したら OS が死ぬ CPU|メモリ が足りない PID の上限 etc... クライアント毎に 1 スレッド 10000 thread も起動したら OS が死ぬ CPU|memoryが足りない thread数の上限 virtual memory の上限 etc... これからの時代(2002年当時) nginx 複数の thread

    非同期 IO について - Qiita
  • 非同期処理とは何か、何が嬉しいの? - Qiita

    let add = (a, b) => { return a + b; } let hoge = 0; hoge = add(10, 100); console.log(hoge); // 表示は「110」 JavaScriptはシングルスレッド JavaScriptは「UIスレッド」と呼ばれるメインスレッド上で処理を1つ1つ順番に実行していくことしかできない。 処理のブロック 時間のかかる処理を行うとJavaScriptはその処理にUIスレッドを占有してしまう。 処理完了まで一切なにもできなくなる。クリックもローダーやプログレスバーの表示もできない。 時間のかかる同期処理を実行してみる。 下の処理は10秒間UIスレッドを独占する。その間はクリックなどができなくなる。

    非同期処理とは何か、何が嬉しいの? - Qiita
  • イベントループとは何なのか? - Qiita

    皆さんはJavaScriptの「イベントループ」についてどのくらいご存知でしょうか? イベントループはJavaScriptランタイムがプログラムを実行するときの基盤となる仕組みです。他の言語やフレームワークにも類似概念がありますが(例:C#のWinForms)、重要さの度合いが異なります。 最近、社内で開催している読書会の課題図書で「イベントループ」について言及する箇所があり、、私自身この仕組みについて概要を理解できていないことに気がついたので少し調べてみました。 似通った関心をお持ちの方にとっての参考になればよいなと思っています。 なるべく簡潔にまとめたつもりですが、、、すみません、ものすごく文字だらけです。私の関心の的になったものをギュウギュウ押し込みました。 JavaScriptプログラムはシングルスレッド Webブラウザであれ、Node.jsであれ、JavaScript(JS)ラン

    イベントループとは何なのか? - Qiita
  • JavaScriptのFetch API について - Qiita

    Fetch APIについて この記事では、JavaScriptのFetch APIの簡単な使い方を紹介します。モチベーションとしては、「XMLHttpRequestだと記述が長い!」「コールバックが面倒!」です。 なお、この記事ではPromiseとawaitは出てきますが、asyncは出てきません。 Fetch APIとは Fetch APIとは、XMLHttpRequestと同じでHTTPリクエストを発行する APIですが、XMLHttpRequestよりシンプルでモダンな APIです。 Fetch APIのfetchを使えば、下記のような簡単な呼び出しで HTTPリクエストを発行して結果を見ることができます。実際、F12ツール(DevTools)上でリクエストを送ってみると、 (20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…},

    JavaScriptのFetch API について - Qiita
  • JavaScriptの非同期処理を同期させる方法【初心者向け】 - 株式会社オーツー|スタッフブログ

    こんにちはWEBの佐野です。 久しぶりの投稿になりますが、今回はJavaScriptの非同期処理についての内容になります。 この記事では非同期処理で想定した結果にならなかったケースを仮定して、その解決策を実際にコードを見ながら説明したいと思います。 ここで紹介する方法を詳しく理解するのは説明も長くなりますので、今回は使い方のイメージを掴める程度で紹介します。 よろしければ実際にコードを動かしながら最後までお付き合いください。 非同期処理とは まず非同期処理ってどんなものかを簡単に説明します。 非同期処理は実行した処理の完了を待たずに次の処理を実行する動きの事です。 逆に同期処理は実行した処理の完了を待って次の処理を実行する動きとして説明していきます。 ここでは例として2つの変数を足し算するコードで説明したいと思います。 let int1 = 0; let int2 = 0; // int1

    JavaScriptの非同期処理を同期させる方法【初心者向け】 - 株式会社オーツー|スタッフブログ
  • 閉域網でWebRTCを使う際の勘所 - Qiita

    はじめに withコロナ時代を迎えて、WebRTCを利用したビデオ通話や音声通話の需要はかなり伸びています。 その中で最近よく聞くようになってきたのは、閉域網内でWebRTCを利用した通話をしたいという話です。 閉域網はPublicなインターネットには直接繋がれておらず、限られた利用者や拠点家のみを接続するプライベートネットワークのことで、VPNともいいます。 この記事では、WebRTCをVPNで利用する際の各種Tipsをまとめます。 VPNの種類 接続レイヤー VPNには色々な方式があります L2接続 広域イーサネットVPN 通信事業者の閉域網を利用する 設定・構築は煩雑だが通信プロトコルにIP以外を利用できるなど汎用性は高い L3接続 IP-VPN 通信事業者の閉域網を利用する クローズドなので安心感がある インターネットVPN 通信網にパブリックなインターネット回線を利用する 安価に

    閉域網でWebRTCを使う際の勘所 - Qiita
  • async/await を完全に理解してからもう少し理解する

    この記事は「async/await を完全に理解する」の続きになります。 この記事では「完全に理解した」先の「なにもわからない」「チョットデキル」レベル[1]を目指すための補足説明をします。 なお、前回の記事より少し踏み込んだ内容になるためC#色が強い内容になりますが、同様の仕組みは他言語にもあるはずなので多少参考にはなるかと思います。 既存の同期処理を非同期化する 既存の同期メソッドを、呼び出し側から非同期扱いすることができます。 Task.Runを使うと処理をTaskでラップすることができます。 public async Task<int> RunTaskAAsync() { var result = await Task.Run(RunTaskB); // Task<int>化されるのでawaitできる return result + 1; } private int RunTask

    async/await を完全に理解してからもう少し理解する
  • async/await を完全に理解する

    この記事ではasync/awaitについて完全に理解する[1]ことを目標に説明します。 完全に理解するために一部厳密には正確ではない表現をしますがご了承ください。 (明らかに事実と異なる内容が含まれている場合はご指摘いただけると助かります) ちなみにC#の文法説明になりますが、他の言語でも基的な考え方は同じはずです。例えばJavaScriptの場合はTask型をPromise型に置き換えていい感じに読んでください。 非同期処理とTask型 async/awaitを完全に理解するためには、非同期処理の扱い方について完全に理解する必要があります。 そもそも非同期処理って何?という方はググってください。同期処理と非同期処理の違いについては完全に理解した前提で説明します。 非同期処理は複数のタスクを同時並行に処理するためのものですが、実際にコードを書いていると非同期で処理しているタスクが終わるま

    async/await を完全に理解する
  • JavaScript: async function内で await を使ってもその関数自身が同期的に実行されるわけではない - Qiita

    JavaScript: async function内で await を使ってもその関数自身が同期的に実行されるわけではないJavaScript はじめに async/awaitで勘違いしていたことがありました。 それは、async function 内で 非同期処理を await で待機した場合、そのasync function 自身が同期的に振舞うようになるものだと思っていたことです。 基的な事とは思いますが、最近同じような問題に直面したので記事にまとめる事にしました。 async/awaitの基礎 まずは、以下のような非同期処理を含む関数があるとします。 function funcA(){ console.log("a1"); new Promise((resolve)=>{ setTimeout( ()=>{ console.log("a2"); resolve(); }, 10

    JavaScript: async function内で await を使ってもその関数自身が同期的に実行されるわけではない - Qiita
    knj2918
    knj2918 2024/06/18
  • 【WSL】ホストIPからWSL上のWEBサーバーに接続する

    ホストIPからWSL上のWEBサーバーに接続する 概要 Windowsのポートフォワーディング設定を行い、WindowsIPアドレスからWSL上のWEBサーバーに接続する。 手順 1. WSL側でサーバー起動する apacheやnginxなどをWSL側で立ち上げる。 ※この時点でホスト側(Windows)でWEBサーバーが確認できることが前提 2. 起動中WSLのIPアドレスを確認する

    【WSL】ホストIPからWSL上のWEBサーバーに接続する
  • 最強の WSL 環境を作る

    最強の WSL 環境を作る まあ、何が最強なのかよくわからないのですが。 WSLg は GUI が動いて音もなるので大変便利なのですが、systemd が動作していない弱点があります。LXD を多用している身としては結構しんどいのですね。 snapd が使えないので、JetBrains の開発ツールをインストールするのもちょっと面倒。まあ、Ubuntu Make を使えばいいのでそれほど気にはしていないのですが... というわけで、定期的にいろいろ試している今日この頃、ようやく自分が常用しているものが全部動く環境が作れました。 セットアップ (2022/01/11 追記) 手順は、入力するコマンドを PowerShell だったり、WSL だったりといりみだれます。次のルールで書いていますので、間違えないようにしてください。 プロンプトが > のときは PowerShell に入力してくだ

    最強の WSL 環境を作る
  • VSCodeで生産性を上げる

    はじめに こんなツイートを見て執筆をしようと思いました。 実際に、VSCodeは機能の追加や拡張機能の開発が活発に行われており、かつUIもユーザーフレンドリーであるため人気のエディターだと思います。VSCodeを使いこなせるのとそうでないのではエンジニアリングの生産性に大きな差が出てしまうと思います。 パンくずの設定 '>' を入力します。 '>' preferences: Open User Settings (JSON)を入力します。 僕のsettings.jsonは以下です。 { "workbench.colorTheme": "GitHub Dark", "terminal.integrated.fontFamily": "MesloLGM Nerd Font", "terminal.integrated.profiles.osx": { "fish": { "path": "/o

    VSCodeで生産性を上げる
  • /usr は何の略か – ビットログ

    Unix系OSのルートディレクトリ直下にある “/usr” はなんの略なのか。 巷の意見はおおよそこんな感じです。 「もちろん “USeR” の略でしょ。」 「あまいな。 “User Services and Routines” の略だ。」 「その “User S*R*” の略だっていうソースはあるの?」 どうもはっきりしません。そこで調べ始めたら、思いのほか深入りしてしまったので、今回調べたことを書いておきます。 0. Unixユーザグループの機関誌に載っていた説 Unixユーザグループの機関誌に “User Services and Routines” の略だと書いてあったという情報が散見しますが、ここではそれをソースとして認めません。その記事に「XXXのドキュメントに書いてある」とか、「IEEE NNN.N で決まっている」とか書いてあれば一件落着なのですが、原典を見つけることはでき

  • ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛

    今回の記事は特に私の意見であり、所属会社の意見ではないことをお断りしておきます。 最近になってまたウォータフォール vs アジャイルの議論を見かけることが多くなってきたので、私が勤務する米国の世界規模のクラウドプロバイダーでは2024年現在どんな開発をしているのかをご紹介したいと思います。私はこれが「正解」といいたいのではなく、何らかのポイントが皆さんの何らかの参考になったらいいなと思って筆をとりました。 ちなみに、2016年時点で私のウォータフォール開発に対する考え方は下記のブログの通りで今も変わっていません。ただ、2024年現在だからといってアジャイルをやるべきと思っているわけでもありません。 もし、今ウォータフォールをやっている人がいたら「そんなこと言ってもどうしたらええねん」となると思うので、自分なりの解決方法も考えてみました。 最初に自分的な結論を書いておくと「2024年の開発と

    ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛
  • 2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO

    初めてAWSのサーバレスサービスを学習するときに利用できる「基的なェブアプリケーションを構築する」の内容を2024年現在でも実行できる手順にしてみました こんにちは、臼田です。 みなさん、AWSのチュートリアル活用してますか?(挨拶 今回はAWSの初心者向けハンズオンコンテンツである基的なウェブアプリケーションを構築するを2024年の現在版の手順としてまとめてみました。 このコンテンツはAWSのサーバレスなサービスを利用して、簡単にウェブアプリケーションを作成する体験ができるチュートリアルとなっており、登場するAWSの各サービスを理解するのにちょうどよい内容でした。しかし、リリースされてしばらく経っているのもあり、特に今回のAmplify Gen2リリースもあってだいぶ画面や操作方法などが変わってしまいました。 実現できる事自体は変わらないので、現時点でこのチュートリアルを初心者でも完

    2024年版「基本的なウェブアプリケーションを構築する」のチュートリアル手順まとめてみた[Amplify Gen2対応] | DevelopersIO
  • はてなに集まる男たちとセックスについて

    セックスレスの話題が出ると悩んでる増田には申し訳ないと思いつつも 「うちの夫婦はずっと楽しくセックスしてますよ」ってことを毎回言っとかないと いけないなって思ってるんだけど 「世の中には普通に楽しくセックスを続けてる夫婦が少なくないですよ」ってことを これからの結婚に夢を見てる人たちにちゃんと知ってもらう必要があるだろうと でもマジではてなって具体的にどうとセックスしてるのかってことを語れる男がいなくて、 「はてなってセックスしてないか、つまらないセックスしかしてない男しかいないのでは?」 てちょっと意地悪に書いてみたんだよ。そんなことねーよ!という反論を期待してな。 そしたら「マジでそうだわ・・・」とか「俺に刺さりすぎて泣いてる」みたいなコメントばっかり返ってきて はてなってマジやべーなと思いました はてなという特殊な場に集まりがちな男って、マジでセックスの内容に興味ないんじゃないだろ

    はてなに集まる男たちとセックスについて
  • 本当にしてよかったセックス

    学生時代のこと 入学当初、地方から出てきた俺は期待や緊張やらで毎日がなんとも言えないそわそわした気分だった。 ある日学生課で手続きのことなどを色々聞いていたら、後ろから声をかけられた。 「あ、~学部ですか?私もです」 淡い茶色のふわふわしたパーマが特徴的な、明るそうな女の子だった。 それをきっかけにして入学当初はその子(以下M)と一緒になることが多かった。 徐々にそれぞれ別の友達も出来ていったが、共通の友達同士でのグループ付き合いもあり、よく一緒に遊んだりしていた。 そしていつの間にかMは俺の友達の一人と付き合うことになった。正直Mは俺の事を内心気になってるんじゃないかと勝手に思いこんでたので少し驚いた。 でも自分から積極的にモーションをかけるようにも見えなかったし、押しに弱そうだったので流れで付き合うことにしたのかなと思ったりした。 俺は俺でMのことはなんとなく気になってはいたけど、これ

    本当にしてよかったセックス
  • netsh.exeコマンドでポートフォワーディングしてみる - アプリ開発備忘録

    はじめに 管理者権限で起動したコマンドプロンプトが必要になります。 追加 (v4 or v6) to (v4 or v6)が追加できます。2*2で四種類。 localhost:8081を192.168.0.10:8080に転送するコマンド。 netsh interface portproxy add v4tov4 listenaddress=localhost listenport=8081 connectaddress=192.168.0.10 connectport=8080 localhostではなく「*」ワイルドカードも使用できます。 確認 以下のコマンドで追加したものを確認できる。 netsh interface portproxy show all netsh interface portproxy show v4tov4 netsh interface portproxy s

    netsh.exeコマンドでポートフォワーディングしてみる - アプリ開発備忘録
    knj2918
    knj2918 2024/06/18
  • Dockerのポートマッピングのデフォルト設定は危ない - JUNのブログ

    あらすじ 公衆WiFiに繋いだ状態でいつものように docker container run -p 8080:80 nginx のような感じでDockerコンテナを動かしていたら、外部からリクエストを受信した。 ファイアウォールを設定し、外部からのアクセスを拒否しているはずなのになぜアクセスできたんだ... 環境 Docker desktop for mac with apple silicon 4.21.0 何が起きた? Dockerはデフォルトの設定では-p 8080:80のようにポートマッピングするとファイアウォールの設定を書き換え、外部からそのポートへのアクセスを許可するようになっている。 その結果LAN内の他のPCから対象ポートにアクセス出来てしまう。 ちなみにこれはDocker公式からも注意が出ている。 Publishing container ports is insecur

    Dockerのポートマッピングのデフォルト設定は危ない - JUNのブログ
  • Dockerコンテナ内からホストのlocalhostにアクセスする

    この記事ではホスト側でlocalhostに立てたサーバーにDockerコンテナ内からアクセスする方法を紹介します。--add-host host.docker.internal:host-gatewayを指定するのはもちろん、Rootless Docker使用時に発生するFailed to connect to host.docker.internal port xxxx after 0 ms: Connection refusedのエラーに対処する方法も紹介します。 --add-hostオプションでコンテナ内からアクセス可能なホストを追加する --add-hostオプションを使うとコンテナ内からアクセス可能なホストを追加できます。例えば以下のようなコマンドでUbuntuのコンテナを立ち上げます。 docker container run --rm --name ubuntu -it --

    Dockerコンテナ内からホストのlocalhostにアクセスする
  • 妻とセックスしない事が決まった

    先日今後2度ととセックスしない事が決まった。 自分が思っていた以上に衝撃的で悲しかったので、せめて自分への慰めに長くなるが文字にして残そうと思う。 増田はアラフォー、は30代半ば、数年付き合って5年ほど前に結婚した。 付き合ってる時はデートの度にしてたし、結婚して1〜2年目もコロナ時期と被ってたからやる事もなく、少なくとも週に1回くらいの頻度でやっていた。 3年目くらいに子供が欲しいねという話になり、増田としては同じくらいの頻度でしようと思っていたのだが「疲れている」「気分が乗らない」といった理由で断られる事が増えた。週1回が隔週になり月1になり隔月になり、そして4年目は1度もセックスすることはなかった。 というか4年目はそもそもキスすらしなかった。 子供は欲しいというが、この状態じゃできるわけもない。この時点で増田はもう自分とはしたくないんだろうなと諦めていたので、シリンジ法とかを調

    妻とセックスしない事が決まった
    knj2918
    knj2918 2024/06/18