はてなキーワード: シングルスとは
ソフトテニスはダブルスなので、ペアを組んでいる人に申し訳なく感じる。
ただ部活の話になると「〇〇大会とか出た?(なんか上位陣の戦い)」とか「補欠だったとか?」と言われる。
違う。出たくもない大会に出て負けていただけだ。
ここで「一度も勝ったことがない」と言えば、「またまた〜w」と言われる。
自分は運動神経は良かった方で、入った高校の体力テストでも上位の方だったが、中学の頃の試合では勝てなかった。
ソフトテニスの大会は負けてもすぐには帰れない。負け審というものがあり、負けたペアが別の試合の審判をやる。
審判は難しい。ただでさえ自分よりも弱い奴らに試合の結果を左右されるなんてかわいそうだなとも思った。
大会で他の学校の人が「〇〇中(私の学校)はザコだな」と言っていたらしい。それを直接聞いたらしい子はムカついていたが、私は別に何とも思わなかった。
実際私含めて他のペアも試合で勝ったところをほぼ見たことがなく、部活全体として弱小なのは事実だった。
さすがに3年の最後の試合で1年生ペアに負けたのは悲しくなったが、相手校の練習の質や在籍人数を考えれば負けても仕方がない。
顧問は終わり際にやって来て何も言わない。
基礎トレーニングというものをやっていなかった。というか、練習の仕方がわからなかった。
だからかランニングと素振りをした後はすぐに練習試合をしていた。
当時は筋トレや戦略を考えたりとかも思ったが、別に部員みんなが試合に勝ちたくて部活をやっていたわけではない。
真面目に基礎トレをする部員は2人くらいで後はサボっていた。
みんなにとって私は頑固なマジメくんに見えていたかもしれない。
楽しくソフトテニスをする。それだけでいいのが、公式試合で勝つことに目的が移ってしまった気がする。
日中の生産性は、夜の過ごし方、特に「就寝」というクリティカルなタスクをいかに成功させるかにかかっている。本記事では、つい夜更かししてしまうエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたのQoLと生産性を向上させるための、実践的なスリープエンジニアリングだ。
我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中の喧騒から解放され、思考は冴えわたり、ゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間の生存に不可欠な基本プロセスを犠牲にすることで成り立っている。
「リファクタリングが楽しくなってきた」
これらの探求心はエンジニアの美徳であるが、同時に我々を「睡眠負債」という深刻な技術的負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。
早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターンを特定しよう。
就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNSの無限スクロール、動画プラットフォームの自動再生、チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。
深夜まで続くコーディングや問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンやコルチゾールといったホルモンがCacheに残り続け、CPUがクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。
「夜更かしの供」として注入されるカフェインやアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠のアーキテクチャ全体を不安定にする。
不規則な就寝・起床時間は、体内時計という最も重要なCronジョブを破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則な睡眠スケジュールは、日中のパフォーマンスを予測不可能なものにする。
では、どうすればこれらのアンチパターンを排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。
毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。
- PC/スマホのシャットダウン: 最も重要なステップ。物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。
- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。
静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。
ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。
すべての準備が整ったら、ベッドという本番環境にデプロイする。余計な思考はgit clean -fdで強制削除し、呼吸に集中する。
例:「夕食後のコーヒーが原因だった」→「カフェインの摂取は15時までというSLAを設ける」
早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。
我々はインフラをコードで管理し、CI/CDでデプロイを自動化するように、自身の睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループをbreakし、持続可能なパフォーマンスを手に入れるための第一歩を踏み出してほしい。
Happy sleeping!
日中の生産性は、夜の過ごし方、特に「就寝」というクリティカルなタスクをいかに成功させるかにかかっている。本記事では、つい夜更かししてしまうエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたのQoLと生産性を向上させるための、実践的なスリープエンジニアリングだ。
我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中の喧騒から解放され、思考は冴えわたり、ゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間の生存に不可欠な基本プロセスを犠牲にすることで成り立っている。
「リファクタリングが楽しくなってきた」
これらの探求心はエンジニアの美徳であるが、同時に我々を「睡眠負債」という深刻な技術的負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。
早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターンを特定しよう。
就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNSの無限スクロール、動画プラットフォームの自動再生、チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。
深夜まで続くコーディングや問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンやコルチゾールといったホルモンがCacheに残り続け、CPUがクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。
「夜更かしの供」として注入されるカフェインやアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠のアーキテクチャ全体を不安定にする。
不規則な就寝・起床時間は、体内時計という最も重要なCronジョブを破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則な睡眠スケジュールは、日中のパフォーマンスを予測不可能なものにする。
では、どうすればこれらのアンチパターンを排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。
毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。
- PC/スマホのシャットダウン: 最も重要なステップ。物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。
- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。
静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。
ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。
すべての準備が整ったら、ベッドという本番環境にデプロイする。余計な思考はgit clean -fdで強制削除し、呼吸に集中する。
例:「夕食後のコーヒーが原因だった」→「カフェインの摂取は15時までというSLAを設ける」
早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。
我々はインフラをコードで管理し、CI/CDでデプロイを自動化するように、自身の睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループをbreakし、持続可能なパフォーマンスを手に入れるための第一歩を踏み出してほしい。
Happy sleeping!
「すべての人間に優しくすべきだ」と言っていないのなら、「味方に優しく敵に厳しくするべきだ」というシングルスタに従ってるだけでは?
会社が倒産する主な原因だと分かり切っているRuby on Railsは決して開発で使用してはいけないと言う重要な話をしようと思います。
Railsは、メリットは、開発スピードは速く、開発していて楽しいが、
デメリットの方が遥かに大きく、ソースコードの分析は開発者本人にしか分からないので、
チームでの共同開発やメンテナンスに向かない、他人がソースを分析出来ないのでメンテナンス不能。
ですから、もし、Railsで企業の重要なシステムを動かしている場合は、メンテナンスや改善の必要が出た場合には、システムの設計書を元に、無ければ担当部署やお客様にヒアリングして調査して回って、必要なら最新、最先端の技術書や医学書などを調査したり専門家に意見を聞いたりなどをして、新たに、設計書を作り、PythonのFastAPIで開発しなおす需要と言うかニーズはかなり増加しております。
PythonのFastAPIは、Go言語のGinフレームワークと同等の高速性が御座います。しかも、Snowflakeと互換性があり相性が良いです。しかしシングルスレッドのマルチプロセスでしか動作しないと言うデメリットもあるので、将来のPythoのバージョンアップで、V言語の高速性をベースに中身とバックグラウンドはV言語で、見た目と構文はPython、セキュリティの脆弱性問題は発生しないと言うRustの様な仕様でトライブリッドの様なハイブリッドな仕様とするのが一番良いでしょう!
Python/Djangoも、PHP/Laravelも、Ruby on Railsも低速なので、世界中から大量アクセスの大規模なシステムには向かないと言うデメリットが大きいので、今から開発するなら、PythonのFastAPIが御勧めで御座います。
最近秋葉原の「U Mobile Shop」で開催されたセールで購入したIntel NUCキット(NUC6CAYS)に
ついてのレビューです。
このミニPCは、その小さなボディに秘めた可能性に驚かされることばかりでした。
それでは、購入から設定、そして実際の使用感まで、詳しく見ていきましょう。
NUC6CAYSの画像: https://i.imgur.com/LrfNMrA.jpeg
1. 購入経緯
2024年9月14日、秋葉原の「U Mobile Shop」とそのオンラインストアで中古ミニPCのセールが
開始されました。
オンラインストアは午前0時からスタートし、私はこの機会を逃すまいと注文しました。
Intel製Windows 10ミニPC中古が3,000円でセール!【Intel NUCキット】
https://daily-gadget.net/2024/09/12/post-77177/
セールの目玉商品だったIntel NUCキット(NUC6CAYS)の仕様は以下の通りでした:
- メモリ: 4GB
- ストレージ: 32GB
- OS: Windows 10 Home
https://youtu.be/Q9gM8jAOf_0?si=kr-9lrfr20P0eG-Z
残念ながらWindows11には非対応ですが、そのために価格は3,000円!でした。
2. 開封と初期の印象
商品が届いてすぐに開封しました。外観は予想以上にきれいで、ミニPCとは思えないほど
頑丈そうで加工精度が高い印象を受けました。
手に取ってみると、その小さな筐体からは想像できないほどの重量感があり、
a. まず、HDMIケーブルでモニターに接続し、2.4GHz帯のワイヤレスキーボード
b. 電源を入れると、問題なくモニターに映像が表示され、キーボードとタッチパッドも
c. BIOS画面はIntel独自のデザインで、タッチパッドでスムーズに操作できました。
3-2. Windows 10の起動
そのまま起動すると、内蔵eMMC(32GB)にインストールされていたWindows 10が
立ち上がりました。起動は速く、基本的な操作も問題なくできました。
ただし、機能更新プログラムのバージョンは相当古いものでした。
注目すべき点は、CPUファンが搭載されているにもかかわらず、とても静かだったことです。
デスクトップ環境として使用する上で、この静音性は大きなメリットだと感じました。
ネットで見つけた分解写真: https://i.imgur.com/BXApN8U.png
まず、空きスロットに8GBのDDR3Lのメモリを追加で挿し、12GBに増設しました。
BIOSで問題なく認識され、システムの応答性が向上したように感じました。
次に、2.5インチSATA SSD 1TBを増設しました。内蔵の増設スロットを利用したので、
取り付けは非常に簡単でした。
4-3. eMMCの無効化
搭載されていたeMMCは容量が32GBと限られていたため、BIOSから無効化することにしました。
ただし、元のWindows 10インストールを保険として残しておきたかったので、
完全に消去することはしませんでした。
無効化後、NUC6CAYSを起動すると新しく増設した2.5インチSATA SSDにインストール
されていたWindows 10が問題なく起動しました。
Windows 10も快適に動作しましたが、さらに軽量なOSでの使用感を試すため、
a. インストール自体はスムーズに完了し、特に問題は発生しませんでした。
c. YouTube FHDの60FPS動画も問題なく再生でき、Wi-Fi接続も安定していました。
Chrome OS Flex上でいくつかのベンチマークテストを実行しました:
シングルスコア:約15,000 マルチスコア:約110,000
b. WebGL Aquarium:5,000匹の魚で約35FPS
ベンチマークの画像: https://i.imgur.com/5zmXXbc.jpeg
これらの結果から、高性能とは言えないものの、日常的な使用には耐える性能を
持っていることがわかりました。
特筆すべきは、これらのテスト中もファンの音がほとんど聞こえなかったことです。
天板に直接耳を当てないと音が聞き取れないほどの静音性は驚きでした。
6.総評
Intel NUCキット(NUC6CAYS)は、その小さなボディからは想像できないほどの
可能性を秘めていました。
6-1. 長所:
- 驚くほどの静音性
6-2. 短所:
- 高負荷のタスクには向かない
- 自宅用のChromebox的な使い方
3,000円という破格の価格で手に入れたこのマシンですが、その価値は金額をはるかに
超えています。
拡張性、静音性、そしてある程度の性能を兼ね備えたこのミニPCは、様々な用途に適応
できる素晴らしいマシンだと言えると感じました。
Chrome OS Flexの検証に続いて、Linux開発環境の可能性も探ってみました。結果は予想以上に良好で、
Chrome OS Flex上でLinux(Beta)を有効にし、開発環境をセットアップしました。
Linux開発環境の画像: https://i.imgur.com/8URQQSU.png
Linux環境で、以下のアプリケーションをインストールし、動作を確認しました:
参考サイト:初期設定&日本語入力を使えるようにする方法|ChromebookでLinux
https://catalyst-wakaba.com/linux-on-chrome-os/
https://www.cpubenchmark.net/compare/3308vs5844/Intel-i7-8565U-vs-Intel-i7-14650HX
キャッシュもかなり増えている。
仕入れが5000~10000円くらいだと思うので約20000円のリセールバリューを業者は得ていることになる。
https://akiba-pc.watch.impress.co.jp/docs/news/news/1583692.html
スコアが6倍以上あることを考えると2万円のバリュー以上はあるので、やはり中古PCはコスパが悪いことが分かる。
未だに「謎の半導体メーカー」程度の認識の方になぜNVIDIAが時価総額世界4位なのかをあれこれ説明する必要があるので短めにメモ。半導体業界のすみっこの人間なので機械学習まわりの説明は適当です
・~1993年 AI冬の時代。エージェントシステムがさほど成果を挙げられなかったり。まだ半導体やメモリの性能は現代とくらべてはるかに劣り、現代のような大規模データを用いた統計的処理など考えられなかった。2006年のディープラーニングの発明まで実質的な停滞は続く。
・1995年 NVIDIAが最初のグラフィックアクセラレータ製品NV1を発売。
・1999年 NVIDIAがGeForce 256発売。GPUという名が初めて使われる。以降、NVIDIAはGPU業界1位の座を守り続ける。
・2006年 GPGPU向け開発基盤CUDAを発表。以降、その並列計算に特化した性能を大規模コンピューティングに活用しようという動きが続く。
・2006年 ディープラーニングの発明。のちのビッグデータブームに乗り、これまでよりはるかに高性能なAIを模索する動きが始まる(第3次AIブームのおこり)
・2006年 CPU業界2位のAMDがGPU業界2位のATIを買収、チップセットにGPUを統合することで事実上自社製品をNVIDIAと切り離す戦略に出る。CPU業界1位のインテルも、同じく自社CPUに自社製GPUを統合する動きを強める。NVIDIAはこれまでの主力だったGPUチップセット製品の販売を終了し、データセンター向けGPGPUのTeslaシリーズ、ゲーム用外付けGPUのGeForceシリーズ、ARM系CPUと自社GPUを統合したTegraシリーズの3製品に整理する。このうちTeslaシリーズが性能向上やマイクロアーキテクチャ変更を経て現代のAIサーバ製品に直接つながる。GeForceシリーズはゲーマー向け需要や暗号通貨マイニング向け需要も取り込み成長。Tegraシリーズは後継品がNintendoSwitchに採用される。
・2012年 ディープラーニングが画像認識コンテストで圧倒的な成績を収め、実質的な第3次AIブームが始まる。
・2017年 Transformerモデル発表。これまでのNN・DLと異なり並列化で性能を上げるのが容易=デカい計算機を使えばAIの性能が上がる時代に突入。
・2018年 IBMがNVIDIAと開発した「Summit」がスパコン世界ランキング1位の座を5年ぶりに中国から奪還。全計算のうち96%がGPUによって処理され、HPC(ハイパフォーマンスコンピューティング)におけるGPUの地位は決定的になる。NVIDIAの開発したCPU-GPU間の高速リンク「NVLink」が大規模に活用される。「Summit」は2020年に「富岳」にトップを奪われるまで1位を維持。
・2018~2021年 BERTやXLNet、GPT2など大規模言語モデルの幕開け。まだ研究者が使うレベル。
・2019年 NVIDIA CEOジェスン・ファン(革ジャンおぢ)が「ムーアの法則は終わった」と見解を表明。半導体のシングルスレッド性能の向上は限界に達し、チップレットを始めとした並列化・集積化アーキテクチャ勝負の時代に入る。
・2022年 NVIDIAがH100発表。Transformerモデルの学習・推論機能を大幅に強化したサーバ向けGPUで、もはや単体でもスパコンと呼べる性能を発揮する。H100はコアチップGH100をTSMC N4プロセスで製造、SK Hynix製HBMとともにTSMC CoWoSパッケージング技術で集積したパッケージ。※N4プロセスは最新のiPhone向けSoCで採用されたN3プロセスの1つ前の世代だが、サーバ/デスクトップ製品向けプロセスとモバイル製品向けプロセスはクロックや電流量が異なり、HPC向けはN4が最新と言ってよい。
・2022年 画像生成AIブーム。DALL-E2、Midjourney、Stable Diffusionなどが相次いで発表。
・2022年 ChatGPT発表。アクティブユーザ1億人達成に2カ月は史上最速。
・2023年 ChatGPT有料版公開。Microsoft Copilot、Google Bard(Gemini)など商用化への動きが相次ぐ。各企業がNVIDIA H100の大量調達に動く。
・2024年 NVIDIAが時価総額世界4位に到達。半導体メーカー売上ランキング世界1位達成(予定)。
こうして見るとNVIDIAにとっての転換点は「ディープラーニングの発明」「GPGPU向けプログラミング環境CUDAの発表」「チップセットの販売からコンピューティングユニットの販売に転換」という3つが同時に起こった2006年であると言えそう。以降、NVIDIAはゲーマー向け製品やモバイル向け製品を販売する裏で、CUDAによってGPGPUの独占を続け、仮装通貨マイニングやスパコンでの活躍と言ったホップステップを経て今回の大きな飛躍を成し遂げた、と綺麗にまとめられるだろう。