2023/05/08(月)JavaScript 非同期処理
今まで、fetchとかthenとか、他のコードみて雰囲気で使ってたけど、つまるところ、何がどうなってるのか、ざっくりわかっておきたくなったので、今更ながらちょっと勉強した、その備忘メモ。
JavaScript 非同期処理
JavaScriptはシングルスレッドだけど非同期実行の仕組みがある。古くは setTimeout
だけど、今はPromise
とThenable
なる概念があって、 fetch()
とかがこれで実装されている。
Promise
と Thenable
MDNでは、ある非同期処理Promise
は「待機 (pending) 」「履行 (fulfilled)」「拒否(rejected)」のいずれかの状態を持つと説明される。
意味がとりにくいので、ここではそれぞれを「未完了」「完了:成功」「完了:失敗」とよびかえることにする。
「完了:成功」「完了:失敗」の状態においては、付随して値を持てる。成功時は処理結果を表す実際の値(計算結果など)、失敗時は失敗理由(例外オブジェクトなど)を持たせるのが一般的な使い方と思われる。
C++だと、Promise
は std::promise<T>
、Thenable
が std::future<T>
、
C# だと、 Promise
が Task<T>
、Thenable
が IAsyncResult<T>
に対応する感じ。
2018/02/15(木)Google Compute Engine のVMからCloud SQLにつないでみる。
今回はCygwinじゃなくて、
GCP上のGCEのVMにCentOS7を入れて、
CloudSQLに作ったPostgreSQLにつないでみます。
2018/02/11(日)ゼロから始めるPHP…… (その1) Hello world
2018/01/30(火)ゼロから始めるPHP…… (その0) php実行環境構築
PHPでWEBアプリケーションを作りたい。
PHPを選んだ理由は簡単そうだしどこでも動きそうだから。
知らなかったけれど、調べてみると、WAMP というものもあるらしい。
LAMPのWindows版でWAMPだろうか。
個人的には、MySQLよりPostgreSQLのが慣れていたり。
今日は、WAMPではなく、Cygwin の上に Apache と php を準備してみます。
- ローカルに開発環境を作る
- httpサーバを立ててみる。
- PHP動かしてみる。
- Web Server をループバックに限定する。
- mod_rewrite を使えるようにする
- 長くなったので今日はここまで。