
はてなキーワード:キューとは
お前は元カノが夜の歌舞伎町でキラキラしてることに絶望している。なんと愚かなことだろう。
「俺の彼女だけは、そんな世界とは無縁の清純派だ」って勝手に思い込んでいたあの慢心。
キャバ嬢とか漫画やドラマの中だけの存在だと、脳内で勝手にジャンル分けしていたあの頃の自分!
友人の「お前の元カノ、歌舞伎町で見かけた」という一言で、頭真っ白。
まさかとか思いつつ、詳しく聞くとやっぱり彼女。シンジラレナイ。モエ〜。
思い出してほしい、彼女の素朴な笑顔、実家の質素な食卓、奨学金返済の愚痴。
お前のせいじゃない—と建前では言いつつ、
胸がキューン、胃がモニョモニョ。まさに「メンヘラは夜に生まれる」の具現化。
でもな、ここで「俺がもっと話を聞いてやれば」「経済力があれば」「別れなければ」などと回想シーン増殖させるの、思春期漫画の主人公かよ。
「彼女が知らない男に夜な夜なお酒を注いでいるだと?」「笑顔ふりまいて癒しの女王でいるだと?」「お前、笑顔のバッテリー残量は?」
「男の未練はゴキブリ並みにしぶとい」説を自分の体で証明してしまう。
「夜の世界でも頑張っててすごいな!」
「健気に生きてて偉いけど、正直、絶対そっちの才能じゃない」
—ぜんぶ、素直じゃないエモ。
本当はただ、
そっと見守ってたいのか、ダッシュで駆け寄りたいのか、復縁チャレンジしたいのか、自分の中でも答えが出ていない。
心配して連絡取りたい?でも迷惑かも?それとも友人として声をかけるべき?
全部正解で全部間違いな気がする。
でもどうしても気になる、元カノの今日の売上ノルマと笑顔の裏側。
正直に言おう。「俺がもうちょっと器デカけりゃこんな独白してねーんだよ!」
だけどアレコレ悩むのが恋ってヤツだ。考えても答えが見えないのが元カノという宇宙。
結論は出ない、いや、出せない。ただ一つ言えるのは——
どんな世界で働いていても、
昔の笑顔でいてくれたら、
この場を借りて伝えたかった。
ってことだろ?多分。
あ!今日より少し涼しくなるじゃん!って思いがちだけど
それでも35℃ってーのは
ドシーを超えているわよね。
40℃に迫る感じの気温だったから、
それよりも5℃ぐらい低いとなると、
そんな予感になっちゃうの!
実際なんか体感35℃とて
涼しく感じちゃってるから、
とはいえ35℃よ!
ドシーが超えているわ。
もう一息我慢すれば秋の気温になる涼しさがやってくるだろうから、
いろいろと秋のシーズンに取り組みたいことが捗りそうよね!
家事が滞っているので
秋シーズン到来したならば
捗ることをやりたいわ。
秋目前なのか急にまたゲームやりたい欲、
あ~
やっぱり軽量級のブキは早く動けて連射も効くからキビキビ動けて楽しいんだけど、
射程距離が物足りないのよね。
私がなれこなしてきたブキたちは重量級射程距離のものが多いので、
それに慣れちゃってしまっていると、
射程距離の物足りなさはあるわよ。
ちなみに、
チャージャーは除くんだけど。
あれは使い勝手が超絶難しいわ。
よーく狙って撃っている間に後からインクぶっかけられてやられちゃうのよ。
だから
タダならぬ恐怖を感じる。
狙って居るときはスコープを除いて周辺視野がまったく無くなるので、
私も後から迫っていけばいいんだけど、
4Kのブキと4Kスコープのブキが見分けが私がつかないものだから4Kときたらただただ恐怖におのののかさん級にかは分からないけれどおののいているのよ。
散々セブンファイブオーライダー無印やカスタムと使い続けてきたので、
今さらこれ躍起になってセブンファイブオーライダーコブラって燃えるたぎる気力もないのよねー。
最近は相手チームからやられたら嫌なことを私もやるの!をモットーに
纏わり付かれたらうっとおしい捕捉されたら追跡されるロボットボム。
私もこれの使い手になろうとザッパーのサブでロボットボムが使えるものを
ギア調整して2連発投げられるようにしてみて、
キューバンボムも貼り付いて牽制になって威力も大好きなんだけど、
相手を補足して追いかけるロボットボムは決まったらこっちも気持ちいいわよね。
ボム系のいいところって、
こっちが投げ放っても打ち消されないってこと。
それ以外なら逃げるしかないので、
これ相手にされたら壮絶うっとおしいでしょ?
しかも2連発喰らったら、
チャージャーとか潜んでいるところに投げ込むと潜伏しているところをあぶり出せるわ。
あと、
相手を探すのにも有利よね。
ちょっとこのザッパーのロボットボムの戦術に最近目覚めだしたわ。
そんで!
サブ性能ギアのせてアップさせたら
長射程距離ブキ好きな私にもうってつけってわけ!
いいでしょ?これ。
今考えたら、
スプラトゥーン2のスペシャルのロボットボムが連射できるロボボムピッチャーって鬼だったのかも知れないわ!
スプラトゥーン3で採用されなかったところを察すると鬼だったのかも知れない。
そんなわけで、
秋のシーズン、
秋の秋刀魚フェアが始まるまで、
うふふ。
目玉焼きに何つけて食べる論争で
ってそれは焼き加減か!?
まあそれはともかく朝のションテン上げて今日も頑張りたいところよ!
朝に飲む量がその分多くなっただけなので
涼しくなってきたとはいえ、
まだまだ水分補給は年中しっかりとね!
すいすいすいようび~
今日も頑張りましょう!
async function f() {console.log(1); await newPromise(r => setTimeout(r, 1000));console.log(2);} f();console.log("done");
結果は、まず「1」「done」が出力され、1秒後に「2」が出力される。
流れを説明すると、f()が実行されると「console.log(1);」と「newPromise(r => setTimeout(r, 1000));」が実行される。
その時点でf()の戻り値として先ほどnewされた ……じゃなかった、f()を非同期実行中でそのうち続きが実行されますよというPromiseオブジェクトが返ってくる。
このPromiseオブジェクトは「resolveされたときにawait以降が実行される」というPromiseオブジェクトだ。
そして通常の処理の流れとして、その次の行の「console.log("done");」が実行される。
んで、1秒後にsetTimeoutで終わったことでキューに「r(イコール、resolve関数)」が登録される。
最後に、resolveが実行されたので、await以降……つまり「console.log(2);」が実行される。
どこか分からないとこある?
実行キューに入るのは非同期処理が終了した後だ。
なんか矛盾してない?
async function f() {
console.log(1);
newPromise(r => setTimeout(r, 1000));
console.log(2);
}
f();
console.log("done");
こう書いたらコンソールに出る順は1,2,doneだよ。1,2を出してる関数は非同期でありそれ以外にはこのコードに非同期関数は存在しないんだけど。
-----BEGINPGP SIGNEDMESSAGE-----
Hash: SHA512
https://anond.hatelabo.jp/20250908203539#
-----BEGINPGP SIGNATURE-----
iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL6/iwAKCRBwMdsubs4+
SNVCAQDh/59YPp/11Ts/tp7JdxGIs6BqRv1PhkFmjUkBZH00owD/fN0PnyFGyJ8N
QGQlMNJvfsFGvNT5tbsEY1d/dhjCmQI=
=KsE1
-----ENDPGP SIGNATURE-----
とりあえず今理解できてることはは「asyncが実行されたらawaitが書いてあるところまでは実行してそのあとは一旦呼び出し元に戻ってそれが実行されるまではキューに入れられる」ってことだけ。
まずその理解が間違ってる。
実行キューに入るのは非同期処理が終了した後だ。
javascriptにおけるasync/awaitは、「やがて終了する処理」を表すオブジェクトである「Promise」をうまく扱える文法なのでまずPromiseを単独で理解しよう。
それはわかってるんだよ。じゃあその「仕様=ルール」だけでさっきのコードがどういうフローで最後まで実行されるか説明できる?
ソースは俺って言うのは変だけど自分は説明できないんだけどそっちも説明できないから教科書に書いてることトラバしただけちゃうんか。
保留しておいたasyncを途中から実行してるときにもその続きにもawaitがあるし現にまだキューに別の保留してる処理があるしその場合どういう順番で実行されるんやってもう頭パンクするで。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908200738# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL64+gAKCRBwMdsubs4+SK96APwNy/oz2B3cXByf5gciHHP/XzaC7FK4qOB/+TDg7ZlkWAEAlXeh6QsYSaARWL1L2g4YvVDwR2ypy5ki3UyYUhJMaQ4==NDYE-----ENDPGP SIGNATURE-----
自分のとこでは何百回試しても指定したタイマーの大きさ順どおりに実行されたが。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908195744# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL62qQAKCRBwMdsubs4+SG/IAP96THpXvukwgXRfkeG00D7M37O27I3ZetiSXC26Yivm0QD8DNahd27HZ7TohV5cgIdbG1n5bJT0XkN1z/mS5BHWuAo==egut-----ENDPGP SIGNATURE-----
あとはasyncとかawaitの(抜本的な)理解を諦めかけてるがそもそも自分レベルじゃ飛ばすべきなのか?
・・・(略)
await (acync f(){・・・
await (asycf()){・・・})();
})();
(f(){
await (async f()){・・・})();
})();
※省略部分に書かれているのは全部同期関数
↑こういうコードがどういう流れキューに出し入れされるのかエンジン仕様に即したごまかしのない説明ができないから、逆に言えば自分の意図に基づいて適切にawaitとか書けないためにバグのもとって状態になってる。
独習jsレベルに書いてあることじゃどう考えてもこういうコードの挙動を読み解くのは無理(数学的な見方で言うなら提示されている公理が足りない)って感じだしいつデッドロックを起こすかもわからない理解のまま学習を進めても結局その無理解で詰まってあいまいに済ませてって感じで根本的なレベルが一生あがってかなさそうに思えるんだがどうなんだ?
とりあえず今理解できてることはは「asyncが実行されたらawaitが書いてあるところまでは実行してそのあとは一旦呼び出し元に戻ってそれが実行されるまではキューに入れられる」ってことだけ。
でもこの理解にしても「awaitの後ろに置かれてる関数の内部処理自体が途中までは同期関数だったらそこまでは実行されてからキューに入れられるのか?」とかに対する手がかりがなくてもう混乱しっぱなし。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908195255# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL61iAAKCRBwMdsubs4+SKMOAQDXWR1tFpjkx7MBSQFS58GgB8MqU8LuQxugSCrg8OG8kQEArKKxXhQsgdDzc1z4stZcDl8ajX30rTcE7oXJTBNqIwI==IH5m-----ENDPGP SIGNATURE-----
Aが先にキューに入ったと考えても1001ms経ってないなら再度キューに入れて後回し、先にBの方が処理されると考えられるだろう
Aについて1001ms経過するという条件が達成されない限りAはキューに入りっぱなしであると考え、そうであるならば、先にBが条件達成してもAがキューから取り出されるまでは実行が保留されると考えたと言うわけだ。
事実グローバルコンテクストとそこに直接書かれるsettimeoutのコールバックとの関係でいえば、グローバルコンテクストが最後まで行かない限りは先にsettimeoutの条件が達成されても保留されるからその類推でそう考えてしまうのには一理ないかね。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908193440# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL6xRAAKCRBwMdsubs4+SEAlAQCBXgzzC1WV/rUyNSb56/o4d9LswCzvp2WZQex6NoF6HgD/V9nNLOWnGk0qKKmg75MWBNaBq+U4nPFEXx/PzMPWUw8==Eh3b-----ENDPGP SIGNATURE-----
ソースコードをいくら見てもそのソースコード作成者が想定してるエンジン側の実装なんて推測できんだろ。
ちなみにその「細かいこと」が気になった発端は初歩であるはずのコードの挙動の理解につまづいたからだけどな。
setTimeout(() => {console.log("A"); }, 1001); setTimeout(() => {console.log("B"); },1000);console.log("C"); 上のsetTimeout()の各第二引数の大小関係をどのように調整しても常に第二引数により小さい数が指定されたもののコールバック関数が先に実行されます。 これはどういうことですか?先にsetTimeoutと書かれたもののコールバック関数からキューに登録され、キューへの取り出し方はjsの場合fifoが採用されているので、上記のコードのような場合は、()=>console.log("A")の方が先にキューに登録されたものとして第二引数に無関係に()=>console.log("B")より先に実行されるのではないのですか?-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908192456# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL6u+QAKCRBwMdsubs4+SAtwAP49XRX8yOJwd/XLSKjjP1TASfuVR29t/NIhuLSNb0vr2AD8CtGJTYMzavjSi9TuxJTV/DSYuwhuBLnKkd0lsJOldQI==wm4J-----ENDPGP SIGNATURE-----
なら、settimeoutの第二引数の値はキューから取り出して実行するまでの待機時間ではなく、キューに登録するまでの待機時間だったって知ってた?
あとsettimeoutとかとプロミスじゃ入れられるキューの種類が違うというけどそもそもプロミスとsettimeoutは組み合わせて使うことが多いのであってその場合どういうフローでキューへの出し入れが行われるか明快に説明できる?
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250908185341# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaL6npwAKCRBwMdsubs4+SDmQAQDrOl1re7j2l6y55njYUqKdzCekEEPOiml4lmbi8Jd7vQEA/FNHVRyqpgCvQxma+GrzVTZAKpTs3XMeK3ugthXwcAc==5veI-----ENDPGP SIGNATURE-----
英語だとexpandだし展開っていう言い方もあるけど日本で解凍っていうことが多いよな。
むしろ水分が含まれたら解凍後のほうがだいたい体積は減るのでは
(追記)
よなあ。圧縮→アチチだからむしろ解凍してるよな。まあデータはエチチかもしれないけど。
でもそうすると逆によ、逆にだけどさあ、旧ツイッターの場合はどんだけ「凍結」しても「解除」なのが今度は謎だよな。「キューツイッター解凍されたー!」って言ってる人みたことないわ。
(追記)
expandって言わない件、ちょっとAIの野郎にきいてみたわ
| 日本語表現 | 意味・用途 | 英語表現 |
| 圧縮 | データを小さくまとめる | compression |
| 解凍 | 圧縮されたデータを元に戻す | decompression |
| 展開 | 解凍とほぼ同義。特にGUIでよく使われる | extraction / unpacking |
| アーカイブ化 | 複数ファイルを一つにまとめる | archiving |
| 復元 | 元の状態に戻す(バックアップなど) | restore / recovery |
| パック | 圧縮と似ているが、ゲームやソフトで使われることも | packing |
| アンパック | 展開と同義。特定のツールで使われることが多い | unpacking |
そんでexpandは圧縮のソフトでもたまに用いられるけどふつうはもっとUIよりの表現らしい
| 英語表現 | 日本語訳 | 用途・ニュアンス |
| expand afolder | フォルダーを展開する | UI操作で中身を表示する(Windowsなど) |
| expand a section | セクションを展開する | 折りたたまれた情報を表示する(WebやPDFなど) |
| expand a compressed file | 圧縮ファイルを展開する | やや技術的。`extract`や`unzip`の方が一般的 |
| expand memory | メモリを拡張する | 容量や機能を広げる意味での「拡張」 |
| expand code snippet | コードスニペットを展開する | 折りたたまれたコードを表示する(IDEなど) |
inflateは専門よりらしい
| 用語 | 日本語訳 | 用途・ニュアンス |
| inflate | 展開・復元する | zlibやgzipなどのライブラリで、圧縮されたデータを元に戻す処理。 |
| deflate | 圧縮する | inflateの対義語。DEFLATEアルゴリズムとしても知られる。 |
(追記)
文書ファイルをアーカイブ化することを昔は「凍結」と呼んでたんだよ
で、アーカイブ化したファイルを変更するために一旦元に戻す行為を、対義語として「解凍」と呼ぶようになって、そちらがそのまま生き残ったが、圧縮するのが当たり前になってからは「凍結」は「圧縮」に置き換わっていった
・英語圏ではアーカイブ化のタームに「凍結・解凍」の概念は用いないらしい(AIさんより)
・それとは別の流れで、unix系osではfreeze/meltというコマンドがあり、これはアーカイブ化ではなく圧縮・解凍(展開)の機能だったらしい。このコマンドは1980年代中盤に登場し、80年代後半から90年代初頭に人気があったらしい(これは確かっぽい)
ただし、freeze のマニュアルには「所有者やパーミッション、タイムスタンプを保持できるのでアーカイブ用途にも使える」といった記述があり、このあたりから「凍結=保存・保管」というニュアンスで広く捉えられた可能性はあります。
とはいえ、当時も複数ファイルをまとめる作業はtar や cpio の役割で、「凍結」という言葉がアーカイブ全般の俗称だったわけではありません。
・LHAの「凍結・解凍」の由来はアーカイブ化の文脈で用いられていた語の流用か、それともfreeze/meltを意識して採用したのか?(疑問1)
・アーカイブ化の文脈で日本で凍結・解凍の語が使われだしたのはアーカイブの特性からまったく新たに発想されたのか(疑問2)
・そこに(圧縮解凍機能だが)freeze/meltコマンドの影響もあったりしたのか?、その逆もあったのかも?(疑問3)
さらっと調べただけだがなんか深そう!
(追記)
「でもさあ、お前が圧縮してるのって全部オカズばっかだろ?オカズは解凍するから合ってるんだよ」
って返しを思いついたわ。ここにこっそり記すものとする。
Permalink |記事への反応(23) | 05:46
settimeoutの第二引数の値はキューから取り出して実行するまでの待機時間ではなく、キューに登録するまでの待機時間だったのか。
今まで前者の方で勘違いしてた。教科書はもっとこのあたり念入りに誤解されないように書くべきじゃないの?
独習jsでは「settimeoutを通じてコールバック関数がキューに登録される」というふうにしか書いてなくて、これだとsettimeoutが実行された瞬間に登録が行われると解釈されて仕方がないのでは。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250903180046# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaLgDwAAKCRBwMdsubs4+SBLAAP9Q43nJkJN5+gh1/ivCKSbCXezSj5wSftzmnJsSuRT/iAD/faSuVx09Gn/w/8GyJywKGTUkA8txtJI4+GFHAWLplQw==qIYl-----ENDPGP SIGNATURE-----
2002年、IT業界に入って苦節23年、我慢して糞みたいな特定派遣でいじめられながら生きて、2010年にweb業界に入って、詐欺師や頭のおかしいイキリ意識高い系の役員のスタートアップでブラック労働をして
お金も女もできず、あれだけ熱意があったオタク趣味も秋葉原もいかなくなって、ストレス発散といえば、はてな匿名でテック論でマウント取ったり、年収1200万のイケイケwebエンジニアって経歴詐称して天下国家や技術論語ったり、
やってた時は楽しかったんだろうけど、その後激烈に虚無感と自分への惨めさがきて頭がキューッてなるんだよ、でもやめられないんだよ、だって現実がクソなんだから
DCには勝てるレーンがマジで無かったよ 強いて言えばmidがワンチャンあるけど、Coreは他チームも強いからせいぜい互角になっちゃう
jgにとっては間違いなくやっててキツいチームだっただろうな
それでjgが「俺がキャリーチャンプを」って思っちゃう気持ちは分かるんだけど、レーンで有利引けないって分かってるなら尚のこと集団戦を安定させられるチャンプにするべきだったね キル取れないけどデスを重ねない程度にはレーニング出来てたし
本文にも書いたけど、ご指摘の通りjgのコールは実際微妙。敵味方の構成やパワークパイクも全然考えてない感じで、ミクロはともかくコーラーには向いてなかったね
練習中、相手のTopにVladがいるのに「これlate行ったら絶対負けるから~」みたいな発言が一回も出なかったし、考えてもないみたいだった
>これじゃ萎縮して選手もやりづらい
本人が上手いことと教えるのが上手いことって別なんだよなって強く思ったね
見てた限り、練習でのらいじんはマクロ面をめちゃくちゃ重視してたんだけど、そんなことよりレーニングどうにかしろよって見てる側としてはずっと思ってたな スワップの練習なんかしてる場合じゃなかったと思う
全員基本的な座学と全チャンプに対する知識が圧倒的に足りてない コーラーに知識が足りてなくて優勢劣勢の判断が正しく出来ないのは特に致命的
スクリムやる暇があるなら同じ時間でソロキュー回させるべきだったと思うよ
らいじんは生徒の実力をあまりにも過大評価し過ぎてたよな 基礎があって上手い人に教える方が向いてそうだと思った
そこであんま上手くない奴をちゃんと一から叩き上げする他チームとの差が出たね
追記:
TopはTank固定だからレーンで有利取れる可能性は低いけど、集団戦の立ち回りは普通にかなり上手かったと思う
他チームより明確に上手いTankがいるってだけでメチャクチャなアドだから尚のことそれを活かせるpickをjgは選ぶべきだった
「Topには期待出来ない」って事実に反する雰囲気がリスナーには出来上がってたけど葛葉には関係ないし、あれでTankが頭一つ抜けてチーム内で上手いって分からないならjgにもコーラーにも向いてなかったな……
dorawiiです。要件と設計の区別も曖昧な日曜プログラマーもどきです。
なにか自動化をやりたいことしたときにこれはキューを作っておくべきとかpromiseで制御すべきだろうとか処理の流れはこういうふうにすると無駄がなさそうとか頭を回転させることは多いですけどこういうのって要件?設計?どっちなんですかね?
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250825020702# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKwbnQAKCRBwMdsubs4+SIAEAP9nlstiR3bac7KbHe9v99/SogkJZINIgoVpOA5oqga7awD8Ce6KMSyOvsiSihZIb3inguzc1GtTnSqEpXYrJj/ZgQs==cvkO-----ENDPGP SIGNATURE-----