仕組みが丸わかり!ソフトウェア開発の裏側を徹底解説
引用元:https://news.ycombinator.com/item?id=43678144
これって、子供の頃に大好きだった『The Way Things Work』[1]の雰囲気に似てる気がするな。大人になってからも、あんな感じで世の中の仕組みを理解したいってずっと思ってたんだよね。
[1] https://www.indigo.ca/en-ca/the-way-things-work-newly-revise…
最近のクールな本だと、大規模インフラに関する『Engineering in Plain Sight』っていうのがあるよ。https://practical.engineering/book
残念ながら、あれにはがっかりしたな。なんでそれが必要なのかっていう洞察がなくて、ただランダムな情報を垂れ流してるだけなんだもん。Wikiの記事をざっと読む方がよっぽど勉強になるよ。
マジで素晴らしい本だよ。David Macaulayは他にもいくつか本を出してて、そのうち4つは教育アニメのPBSスペシャルになったんだ。うちの母親がPBSからボックスセットを買ってくれたんだよね。
10代(あるいは大人でも)が興味を持てるような、科学とか工学のトピックをわかりやすく解説してる本を探してるんだよね。この本はどうかな?ちょっと簡単すぎるかな?何かおすすめの本があったら教えてほしいな。
数学なら、『Princeton Companion to Mathematics』と『Princeton Companion to Applied Mathematics』があるよ。
もう20年以上前に読んだけど、大人になった今でもまた買いたいな。さっきのコメントにもあったけど、『Engineering in Plain Sight』も似たような本らしいから、去年のクリスマスに父に買ってあげたんだ。今年は自分のために買おうと思ってる。
『The Way Things Work』はちゃんとアップデートされてるよ。90年代半ばに大好きだったんだけど、今年、子供のために新しいのを買ったんだ。SSDとかOLEDとか、重力波検出とかも載ってるんだぜ。
同じこと思った!正確にこの本かどうかは覚えてないけど、子供向けの工学的なコンセプトを説明する本を読んだ記憶があるな。本の後半には、圧縮の仕組みとか、コンピュータサイエンスの内容も少しあった気がする。
もし毛むくじゃらのマンモスがたくさん出てきたら、それたぶんこの本だよ。超おすすめ。原子炉からピンタンブラー錠まで、いろんなことが書いてある。
ランディングページ、マジで美しいね。開発系のデザインでこんなに感動することないんだけど、これはマジでヤバい。予約確定だわ。コーヒーテーブル版も出してほしいって意見に激しく同意。
>Justified text は web ではダメってマジ?
印刷だと OK なのに web だとダメな理由ってなんかあるの?
印刷だと、ハイフネーションとか色々調整できるからね。でもデジタルだと難しいから、変な単語間隔になっちゃうんだよね。
>Justified text は web ではダメ。
>right ragged text の方が読みやすい。
いやいや、俺は web でも印刷でも Justified text 好きだけど。右側がギザギザしてる方が気になる。だから、Justified text がアクセシビリティの問題って決めつけるのは違うと思う。
アクセシビリティの問題って、全ての人に当てはまるわけじゃないよね。理想はユーザーが設定で選べるようにすることだと思う。
今年中には解決すると思うよ。CSS にスマートハイフネーションがネイティブで実装される予定。JS の hyphenator lib 使えば今でもできるけどね。
ソース見せて欲しいな。Justified text の良い例も悪い例も見たことあるし、フォントにもよるよね。
>アニメーションが永遠に止まらないのもウザすぎ。集中できない。
CPU めっちゃ使うし、バッテリーもゴリゴリ減るし。
そのアニメーションで CPU がヤバくなることはないし、バッテリーも無駄に消費するような意図はないと思うよ。
結局、意図はどうあれ、そうなっちゃうんだよね。アニメーションは一回だけとか、せめてホバーした時だけにしてほしいなー。
アニメーションには反対だな。綺麗だし細かいし、ちゃんとポイントを示してるじゃん。他の批判には賛成だけど。 アニメーションが綺麗で細かいのはマジで同意。壁に飾りたいくらい。でも問題は、アニメーションが止まらないことなんだよね。視覚的に動きがあると、隣のテキストが超読みにくいんだよ。実は俺、自閉症なんだよね。言うべきか迷ったんだけど。これらの問題でこのリソースが使えないんだ。だから、usabilityの問題じゃなくてaccessibilityの問題って呼ぶべきかも。カミングアウトすると、大体2つの反応があるんだよね。1つは「ごめん、accessibleにするよ」って言うけど、恥ずかしそうにしてるのが嫌なんだ。共感からやってほしい。もう1つは「お前みたいな少数派なんて気にしてらんねーよ」ってやつ。でもさ、usabilityとaccessibilityの違いって、デザインによって排除される人の数の違いだけだと思うんだよね。今回は、accessibilityの問題としてじゃなくて、usabilityの問題として提示したらどうなるか試してみたかったんだ。ただ、デザイナーには、すべてのユーザーに共感してほしいってだけなんだ。それが良いデザインってもんでしょ。 Hackernewsにはneurospicyな人たちが多いから、偏見も少ないし、感覚過敏とかの問題にも理解がある人が多いんじゃないかな。めっちゃわかる。俺もコーディング中にautocompleteがあるとダメなんだよね。集中してる時にゲームみたいなのが視界に入ると気が散るから。名前は自分で覚える方がマシ。 でも、中間地点もあると思うんだよね。例えば、俺は逆で、一回しかアニメーションが再生されなくて、もう一回見たかったらリロードか連打しなきゃいけないサイトは使いにくいと感じるだろうな。読むのが遅い人とか、dyslexiaの人も同じように感じると思うし、みんなが同じ速さで読める前提でアニメーションを自動再生するのは、少数派を考慮してないって主張すると思うよ。色覚異常の人も、サイトの色が見分けにくいって感じるかもしれない。これが学校とか仕事、医療、政府の書類ならもっと共感できるけど、artistic/designプロジェクトにすべての人のaccessibilityの懸念を考慮しろって言うのは現実的じゃないと思う。 中間地点は 俺はautisticじゃないけど、ノンストップアニメーションは気が散るし有害だって思う。 これはautisticの人にだけ悪いって言ってるんじゃないよ。他の人も同じ問題を抱えてるって知ってる。でも、そうじゃない人に言うと、俺みたいな少数派だけが気にしてるんだって思われることがあるんだ。 君のコメントを、autisticの人だけが気にしてるって解釈してほしくなかったんだ。 モバイル版はセクション間の空白が多すぎる。ほとんど画面全体が空白って箇所がある。 作者のメインサイトを調べてみたよ 作者には、本の中の(めっちゃキレイな)図をどうやって作ってるかのメイキング記事を書いてほしいなー(できれば制作過程を全部見せてほしい)。 FAQに書いてあったよ 手作りだって!?After Effectとかじゃなくて?マジかよ、めっちゃ根気のいるアニメーションだな。 リスペクト Dan Hollickさんは別のプラットフォームにも図解コンテンツがあるよ。 ページの最初にあるアニメーションが、技術的にも美的にも素晴らしい出来だね。本の他の部分もそうなら、絶対買うわ。 素晴らしい努力だね。オススメしたいトピックがあるよ。 YTのCoreDumpped パケット、ネットワークパケット、TCPパケット、UDPパケット、HTTPパケットについても解説してほしいな。それぞれのパケットがどんな感じか、視覚的に分かりやすく説明してくれると嬉しい。 副題の“ソフトウェアを設計、構築する人のためのリファレンスマニュアル”って説明と矛盾してない? 特定の目的を持つものじゃなくて、特定のオーディエンスに向けたものってことかなー。副題は、何のリファレンスマニュアルなのか言ってないし。ただソフトウェアの人が好きそうってだけ。 対象読者:ソフトウェアを設計、構築する人 だよねー、めっちゃ同意。 目次見たら、“AI and ML”の章の後に“What is a byte?”って続いてる。おもしろーい。 この本、順番とか気にせず、好きなところから読める感じなのかなー。パラパラめくって好きなところを読むみたいな。 コンテンツが見当たらないんだけど? TOCの項目クリックしても、ただ下線が引かれるだけだし。これただのお知らせ? そうそう、ただのお知らせだよ。FAQにこう書いてある。 ここにプレビューがあるみたい。 いいねー。昔ブックマークし忘れたウェブサイトを思い出す。ネットワークプロトコルをワイヤーレベルで説明してて、めっちゃ綺麗なビジュアルだったんだよね。何だったか忘れちゃったのが残念。もし知ってる人がいたら教えてほしいなー。 もしそのサイトが子供に何か要求してきたら教えてね たぶんVisualLand.netだったみたいだけど、もう存在しないみたいだね。サイトのアーカイブ(https://web.archive.org/web/20130811073141/http%3A//www.visu…)を見ると、アニメーションとか図はほとんどFlashだったからもう動かないし、archive.orgのエミュレーターでも動かないみたい。 いや、残念ながらそれじゃないんだ。何かの構造をハイレベルで示す図があって、矢印で詳細な構造のフィールドにズームインするような、そんな感じの単一ページだったんだよね。確か、ライトブルーとグリーンがメインの色使いだった気がする。 これかな?TLS 1.3 connectionで、パケットのすべてのフィールドにラベルが付いてるやつ。https://tls13.xargs.org いや、それも違うんだ。そのページは静的で、高品質な画像でフォーマット構造を詳細に解説してたんだ。 ビジュアルはインタラクティブだった?それとも静的? 静的。 ナイスなランディングページだけど、混乱してる。ヘッダーはソフトウェアについてなのに、図の多くはハードウェアについてだ。 ハードディスクの作動アームをドライブの共振周波数で前後に動かして破壊しようとするときに役立ちそうだね。 指が[touch]スクリーンに近づくと、電極が感知する磁場に乱れが生じる。 えーと、AC特性の乱れってことだから、どっちもじゃね?でも、普通はキャパシタンスって言うと電気的な現象って考えるよね。磁気って言われるのはなんか変な感じ。 磁場に影響を与えずに電場に影響を与えるなんてこと、どうやったらできるの? 容量性タッチセンシングで磁気を使うなんてありえない!技術者ぶってる人がそんなひどい間違いをするなんて信じられない。物質は磁場に影響を与えなくても電場に影響を与えることができる。例えば、導電性物質(絶縁体とは対照的)。磁場に影響を与えても電場にあまり影響を与えない物質もある。例えば、フェライトは非導電性。 コンデンサの電場が変化すると、磁場も変化するんだよ。電場と磁場は独立じゃない。 disturbance について聞いているんだけど、Maxwell 方程式を見れば、片方の変化がもう片方の変化を引き起こすのは明らかじゃん。 屁理屈としては正しいけど、容量性タッチセンサーの話とは関係ないよね。それ、役に立たないじゃん。 イラストすごくいいね!この調子で続けてほしいな。見た目が魅力的だから、すごく面白いツールになると思う。アンチに負けないで!頑張って! イラストはマジで最高の要素だね。おかげで、すごく面白いし、ためになる。あと、特定のトピックについてもっと詳しく学べるリンクが欲しいな。例えば: gaussian (blur) って言葉を知ってれば、ググればすぐわかるじゃん。 Google は最高のコンテンツを表示してくれるわけじゃないよ。 私にとっては、だいたい十分なコンテンツが表示されるけどね。 見た目重視で中身スカスカって感じだなー。デザインは良いけど、コンテンツがちょっとなー。 今はまだお知らせページってことみたい。 これいつのやつ?ページのコピーライトが“1990”って書いてあるんだけど。 イースターエッグみたいで面白いじゃん。3.5インチのフロッピーディスクのイラストとか、ドット絵のフォントとかと合ってるし。 1990年製じゃないのは確かだね。 もしかして作者自身が1990年生まれとか? アニメーションはどうやって作ったんだろ? ただのFigmaらしいよ。FAQに書いてあった。 どの章が終わってるの? まだどの章も出来てないよー。その事実がFAQの奥深くに埋もれてるのがちょっと変だよね。お知らせだってことをもっと目立つ場所に書いて欲しいな。 メーリングリストに登録すると、status: 200 | created で返事が来るんだって。もう、シェフのキス!もっとコメントを表示(1)
prefers-reduced-motion
を実装することだと思うな。そうすれば、君はループ再生できるし、ブラウザやOSでモーション軽減設定を使ってる人にも悪影響を与えない。
https://alcohollick.com/
Dan Hollickさん。
デザイン、テクニカル系の人みたい。
Figmaを使って色々作るブログを書いてる(これもそう)。
07 イラストはどうやって作ってるの?
Figmaで手作りしてるって。特に秘密はないみたい。見た目通り複雑らしい。
https://typefully.com/DanHollick
・マイクロプロセッサとマイクロコントローラの仕組み
・ストレージの種類(RAM、SSD、HDD、フラッシュドライブ、NTFS、FAT32)
・OSのこと(スレッディング、マルチプロセッシング、コルーチン、スケジューリング、ページング、優先度)
・データ構造(木、スタック、キュー、グラフなど)
https://www.youtube.com/@CoreDumpped
も、そういうトピックのアニメーション解説としてオススメだよ。
全角の>“この本は実際にソフトウェアを作る方法を教えるものではありません […] 日常的に使うものがどう動くかを説明するマニュアルです。”
技術者じゃなくても読めるよー。図とか絵がいっぱいあってわかりやすいから。必要なのは好奇心だけ!もっとコメントを表示(2)
主題:ソフトウェアを設計、構築する人が毎日使うものがどう動くか
主題じゃないこと:ソフトウェアを設計、構築する方法
タイトル作った後で目標が変わったのかも。基礎を説明するのが楽しくて、最初のアイデアがどっか行っちゃったとか… CRTモニターの仕組みを知ってることが、ソフトウェアを作る上で必須だとは思えないし。ドメインはクールだけど、内容と合ってないよね。whatissoftware.comの方がいいかも。
pixelとか、GPUとか、LLMの仕組みを説明するなら、少なくともVon-Neumann-Architectureの入門くらいは期待したい。
全角の>“いつ発売?
全角の> まだはっきりとは決まってないけど、今年のヨーロッパの夏までには出したいな。イラスト描くのが大変だから、ちょっと我慢してね。”
https://typefully.com/DanHollick
きっとelectric fieldのことだよねー。静電容量式タッチスクリーンの場合。もっとコメントを表示(3)
指は2つの「プレート」間のキャパシタンスを変化させ、それが検出されるんだ。あと、添付の図にはダイヤモンドが描かれてるけど、タッチスクリーンをよく見ると、透明なセンス線は平らな線しか見たことないな。でも専門家じゃないから、図がどれだけ正しいかはわからない。
>“Or maybe you’ve wondered why we call it a Gaussian blur?”
ガウスの名前が出てこないのは残念。Wikipedia の https://en.wikipedia.org/wiki/Gaussian_blur にリンクすべき。
もしかしたら作者は1990年からこの本のことを考えてたって言いたかったのかもね。
どっちにしろコピーライトの年は気にしなくて良くない?何だって書けるんだし。
DOMを調べたらただのSVGアニメーションみたいだけど、何か別のツールで作ったのかな。
最初はRiveで作ったのかと思ったけど、AFAIK彼らのエンジンは
Chapter 2: Fonts and Vectors を見に行きたかったんだけど、まだ出来てないみたい?
進捗状況を見ると、まだ始まったばかりって感じだね。
こんな基本的なことなのに、めっちゃ美的感覚に訴えてくるよね。