はてなキーワード: UNIXとは
ChatGPTに聞いたらええんちゃうか
いい質問ですね!
これ、実は「どっちが正しい」みたいな決着はなくて、言語文化や時代背景によって意見が分かれる話題なんです。
---
1. for(;;) vs while(1) vs while(true)
* `for(初期化; 条件; 更新)` のすべてを省略すると無条件ループになる。
* 昔は「最適化や挙動が明確」という理由で好まれることもあった。
* ただし「1って何?ブール値?」と初学者には直感的でないかも。
* C++やJava、C#などブール型が明確な言語では「一番可読性が高い」。
* 「ずっと真の間繰り返す」という自然な書き方なので、最近はこちらが推奨されることが多い。
* Cではtrueを使うには stdbool.h をインクルードする必要があるので、昔は避けられがちだった。
---
2. 「for(;;)派」の人は誰?
ネットでよく言われるのは、Linuxカーネルのコード規約とか古いUNIX文化の影響です。
* 「無限ループは for(;;) を使う」とカーネル開発のスタイルガイドで書かれている。
* 理由は「歴史的にCで最も標準的で、誰もが見慣れているから」。
要するに「C文化圏ではfor(;;)が王道」というだけで、現代の教育やC++/Javaなどの文脈では while(true) の方が読みやすい、という感じです。
---
3. まとめると
なので、初学者が「while(true)の方が可読性高い」と思うのは大正解です 👍
---
👉質問:
UNIX哲学の「正常動作時は何もprintしない」という原則ですね。
HTMLを使用する際には、さまざまな問題が発生することがあります。まず、HTMLが正しく表示されない主な原因として、タグの閉じ忘れやネスト(入れ子)のミスが挙げられます。たとえば、
タグが正しく閉じられていない場合、ブラウザは意図した通りにコンテンツを表示できません。このようなエラーを検出するには、W3Cのバリデーションツールを使うのが有効です。
次に、画像が表示されない問題については、<img>タグのsrc属性で指定されたパスが間違っている可能性があります。ファイルが存在するかどうか、また拡張子(.jpg、.pngなど)が正しいかを確認しましょう。さらに、ファイル名の大文字と小文字が一致していない場合も、特にUnix系のサーバーでは読み込まれない原因になります。
https://mavenanalytics.io/project/37984
https://mavenanalytics.io/project/37985
https://mavenanalytics.io/project/37992
リンクが機能しない場合は、タグのhref属性が誤っているか、リンク先のページが存在しないことが考えられます。相対パスと絶対パスの違いを理解し、正確なURLを記述することが大切です。また、CSSがページに反映されない問題もよくあります。これはCSSファイルのパス指定が間違っていたり、セレクターの書き方にミスがあったりすることが原因です。キャッシュが影響することもあるため、ページをリロードする際はCtrl + F5 https://mavenanalytics.io/project/37998で強制的に更新するのがおすすめです。
最後に、フォームが正しく送信されないケースでは、<form>タグのaction属性に誤りがあることが多く、また<input>タグにname属性が設定されていないと、データがサーバーに送られません。JavaScript https://mavenanalytics.io/project/37999を使用している場合は、開発者ツール(F12)を使ってコンソールにエラーが出ていないか確認するのがよいでしょう。
このように、HTMLのトラブルを解決するには、基本的なタグの構造やパス指定の正確さ、そしてブラウザの開発者ツールを活用する知識が不可欠です。
自分はAndroidからiPhoneに乗り換えた人だけど、ただ使うだけなら絶対にiPhoneのほうが使いやすい。
なぜだかわからないけど、iPhoneのほうが手に馴染むというか、直感的に操作できる感じというか。
唯一、円安もあって値段の高さだけがどうにもネックだけど、価格以外の理由でAndroidを選ぶ理由が全くわからない。
Androidのように自由にいじれないとか言ってる人もいるけど、何をどういじるんだ?
そもそもAndroidにできてiPhoneにできないことというのが、全く思いつかない。
なので正直、iPhoneがあってなおAndroidを選ぶというのは、クライアント用途でWindowsよりもLinuxを選ぶみたいな奇妙さを感じてしまうんだわ。
例えるならAndroidは機種ごとにディストリビューションが違うみたいな感じで、多様性なんてそんないいもんじゃないことの証明になっているとさえ思う。
そこに使い勝手の話を加味すると、それこそクライアント用途については「UNIXなんてダメだ」と思っているけど、それがスマホでも再現したイメージしかない。
何よりLinuxなんて登場してから10年くらいは、本当に「ワナビーのクソガキのためのオモチャ」みたいな位置づけで、フリーのUNIXというカテゴリでさえ本命は*BSDだった。
結論から言うと、「Macはウイルスが少ない」という認識は現在も“相対的には”正しいですが、状況は年々変化しています。
主な理由は以下の通りです:
Windowsは圧倒的なシェアを持つため、攻撃者にとって「効率の良い標的」でした。Macは長年シェアが少なかったため、ウイルス作者から狙われにくかったのです。
macOSはUNIXベースで、アクセス権限管理が厳格。さらに「Gatekeeper」や「XProtect」など、標準で強力なセキュリティ機能が搭載されています。これにより、不正なソフトの実行や既知のマルウェアの侵入を自動的に防ぐことができます。
App Storeで配布されるアプリはAppleの厳格な審査を経ているため、マルウェアが混入しにくい仕組みとなっています。
シェア拡大やサイバー攻撃の巧妙化により、Macを狙う攻撃も増えています。OSやアプリの脆弱性を突いた攻撃、Web経由やメール経由のマルウェア感染も確認されています。
標準のセキュリティ機能(Gatekeeper、XProtectなど)は強力ですが、未知のマルウェアやゼロデイ攻撃には対応しきれない場合もあります。実際に、Apple自身も定期的にセキュリティアップデートや脆弱性修正を行っています。
セキュリティソフトの導入やOS・アプリの最新化、怪しいサイトやメールのリンクを開かないなど、ユーザー自身の対策も重要です。
これは再インストールかなあ。
まさか復旧にネットワークが必須というアホなモジュールをubuntuが採用するとは思わなかった。
いかれてるよ。
いつものようにsambaとteratermでubuntu24 LTSにアクセスして作業していたら突然の切断。
そして起動しない。
mount /snap/core22/1908: special device /var/lib/snapd/snaps/core22_1908.snap does not exist.
can't look blockdev
みたいなエラーメッセージが出ていて、よくわからないけどネットワークブートをしたいのか1分カウントダウンをしていた。
ただし、NICを認識していないっぽくてネットワークには出れない。
しかないので、エラーメッセージを手で描き移すという原始人みたいなことをしながらchatgpt先生に聞いてみると、どうやらsnapdが壊れてしまったみたいだ。
このSSDを別のマシンに刺してみると、パーティションは生きているmountもできる。
とりあえずtarでバックアップを取った。SSDのデータは無事らしい。
さて復旧なんだけど・・・これができないんだよな。
/var/lib/snapd/snaps/core22_1908.snap がないならコピーすればいいじゃんということでコピーを試みるも、正常に動作するubuntu24マシンにはそんなファイルはない。
同じUSBからインストールしたOSのはずなのに意味わからん。
しかたないので、chrootしてsnap refresh coreを実行することにした。
sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt # chroot内で snap refresh core
chatgptがいうにはこうやると復旧できるらしいが、失敗!
error: cannot communicate with server: Post "http://localhost/v2/snaps/core": dial unix /run/snapd.socket: connect: no such file or directory
やはり、ちゃんと動く方のubuntu24には snapdはいないようだ。
パーテーションもちゃんと見えるのに、grubとかでkernelは起動しているのに、snapdとかゴミが正しく動作しないだけでOSの再インストールをしないといけなさそうだ。
余計な手間を増やすんじゃないよ。
ubuntuインストーラーのUSBをさして、nic認識させたらCtrl+F1..F6とかでインストーラーから飛び降りてmountして復旧する作戦も試してみた。
snap refresh coreを発行するとやはりエラー。
もう知らん消すと apt purge snapd とやった。
そしたら起動時のエラーは消えたけどやはり緊急モードでしか起動しない。
もういいよ。バックアップを取っているし、再インストールしよう。
オープンソース文化が育った背景には、技術的な実利や“止まれぬ事情”も大いにありました。
⸻
たとえば1970〜80年代のUNIX系OSの時代には、同じ「UNIX」と名がついていてもベンダーごとに仕様が異なっていました(System V系、BSD系など)。そのうえ、
こうした状況では、ソースコードを配布しないと移植が不可能だったんです。
⸻
つまり:
⸻
なので、「思想的に自由を重んじたからソースを開いた」だけではなく、閉じていたら回らなかったという実情がちゃんとあったんです。
フリーランス時代とか含めて割といろんなとこで仕事してるけど、最近はWindowsをメインで使ってるエンジニアってほとんど見ないよね
営業とか企画とかはWindowsっぽいけど、最近はOffice依存も減ったからMacで十分なんだよね
というかOfficeも365になってOS依存がなくなったからブラウザが動けばどこでもいいでしょ
逆にブラウザはAppleとはいえSafariは微妙でChromeしか使ってない
そもそも、今時のソフトウェアエンジニアやってたらiOS対応って絶対に必要でXCodeが必要になるでしょ
WinとかAndroidはVMで動くけど逆は動かないんだからMacにするしか選択肢ないと思うんだけど
あとは、タブレットたまに使うのと通知を即座に知りたいからWatchは必要で
Unix系もMacの方が情報が揃ってるし便利(どうせDocker動かすだけだったりするけど)
まぁWindowsでもWSL2とか使えば仕事出来なくは無いけれど
何回かトラブったり対応してなかったりして諦めてMacになったかな
そしてMacだと、トラブルがあっても検索したら絶対に同様のトラブル起こしてる人がヒットするから解決策がすぐ分かる
最近だとChatGPTに聞けば懇切丁寧に教えてくれる(brewとXCode周りのトラブルとか)
Programming proficiency necessitates a comprehensive understanding of multifaceted concepts, paradigms, and philosophies that underpin the art and science of software development. The Unix philosophy, with its emphasis on modularity, simplicity, and composability, serves as a foundational ethos for elegant code design. This philosophy advocates for creating small, focused programs that excel at singular tasks, facilitating the construction of complex systems through the judicious composition of these atomic units.
Proficient programmers must possess an encyclopedic knowledge of algorithms and data structures, enabling them to architect solutions with optimal time and space complexity. This encompasses a deep understanding of sorting algorithms (e.g., quicksort, mergesort), searching techniques (binary search, depth-first search), and advanced data structures (red-black trees, B-trees, Fibonacci heaps) The ability to analyze algorithmic efficiency using Big O notation is paramount for creating scalable solutions.
OOP principles—encapsulation, inheritance, and polymorphism—form the bedrock of modern software architecture. Mastery of design patterns (e.g., Singleton, Factory, Observer) and SOLID principles is crucial for creating maintainable and extensible codebases.
The FP paradigm, with its emphasis on immutability and pure functions, offers a powerful approach to managing complexity and facilitating parallel execution. Proficiency in higher-order functions, currying, and monads is essential for leveraging FP's full potential.
Expertise in language-specific advanced features, such as C++'s template metaprogramming or Python's metaclasses, allows for the creation of highly generic and reusable code. Understanding compiler theory and the ability to write domain-specific languages (DSLs) further expands a programmer's capabilities.
In an era of multi-core processors and distributed systems, mastery of concurrent programming models (e.g., actor model, communicating sequential processes) and parallel algorithms is indispensable. This includes proficiency in lock-free data structures, memory models, and synchronization primitives.
A deep understanding of computer architecture, operating systems, and memory management enables the creation of highly optimized, low-level code. This encompasses knowledge of cache coherence protocols, CPU pipeline optimization, and assembly language programming.
In an increasingly interconnected world, a thorough grasp of cryptographic principles, secure coding practices, and common attack vectors (e.g., buffer overflows, SQL injection) is crucial for developing robust and secure systems.
Proficiency in distributed version control systems (e.g., Git) and collaborative development practices (code reviews, continuous integration) is essential for effective team-based software development.
Advanced testing methodologies, including property-based testing, fuzzing, and formal verification techniques, are indispensable for ensuring software reliability and correctness.
In conclusion, the pantheon of programming knowledge extends far beyond mere syntax mastery. It encompasses a rich tapestry of theoretical concepts, practical skills, and philosophical approaches that, when harmoniously integrated, enable the creation of elegant, efficient, and robust software systems. The relentless pursuit of this multifaceted expertise is the hallmark of a truly accomplished programmer.
https://anond.hatelabo.jp/20250105165945
上の記事を読んで、ドワンゴの中の人として糸柳で思い出したこと、彼を雇ったドワンゴがどんな会社だったのかを書いてみようと思う。
糸柳を雇ったのは、ドワンゴのエンジニアのトップだったS君だ。ここでは鉄男(仮名)と呼ぶことにする。
糸柳を雇う少し前、僕は鉄男を叱責したことがある。「お前は自分の使いやすい人間しか採用してない。だからてめえは小物なんだ。自分にない能力をもった奴を採用しろ」みたいなことを言った。
鉄男は中卒だ。そう、ドワンゴのエンジニアのトップは中卒だった。いや、鉄男だけでなく、ドワンゴの幹部エンジニアの半分以上は中卒、あるいは高卒だった。
これは当たり前で、当時のドワンゴは天才エンジニアみたいなやつがゴロゴロいる職場だった。同じ天才エンジニアなら、高校も大学も行かずにずっとプログラミングをやっている中卒エンジニアが一番能力が高くなる。プログラムを書く速度が圧倒的に速い。実装力が桁違いだ。
だから、ドワンゴでは中卒高卒エンジニアが情報学部を出たような大卒エンジニアを見下す風潮があって、ぼくはそれを懸念していた。
天才中卒エンジニアは創業メンバーみたいな連中だけで、新卒で入ってきて補充されるようなことはない。インターネットはUNIXの文化で、ようするに大学などのアカデミックな世界からやってきた技術だ。
ドワンゴもコンピュータサイエンスを学んだ大卒エンジニア中心に変えていかないと将来的には戦えないと、ぼくは危機感をもっていた。
だが、ドワンゴでは実装力でエンジニアの格を判断する文化があって、そういう基準で新卒の採用も行われすぎているとぼくは思っていた。
自分にない能力をもったエンジニアを採用しろと鉄男を叱ったのは、個人技ではないチーム開発、スクラッチから全部自前でコードを書くんじゃなくて、世の中にあるライブラリを活用してソフトウェアを組み上げていくのに長けているような、つまりは今後主流になっていくだろうが、これまでの鉄男やドワンゴのスタンスとは違うエンジニアをイヤかもしれないけど積極的に採用しろ、という意味だ。
しかし、なにを勘違いしたのか、鉄男が連れてきたのが糸柳だった。
ぼくに叱責されて反省し、使いやすい社員じゃなく、圧倒的に使いづらいネットでも有名な頭のおかしい問題児を採用したのだという。
「凄いというわけではないですが・・・、まあ、ふつう、ぐらいですかね」
「ふつうで問題あったら普通以下ってことじゃん。なんで採用すんだよ」
ドワンゴはプログラミングの能力が高ければ、メンヘラだろうが、コミュ障だろうが、性格に問題があろうが、もちろん学歴があろうがなかろうが、採用するという方針だった。
これはベンチャー企業だと、そういう難ありの人間でないと優秀なエンジニアなんて採用できなかったからで、なにも難ありを好き好んでいるわけではない。
難ありはプラスじゃない。難ありでも優秀な社員であれば結果的に得をするから雇っているだけだ。
鉄男は自信ありげに答えた。
「ドワンゴの評判が上がります。いえ、世の中全部で上がるわけではないですが、ネットの中の一部で糸柳を雇うなんてドワンゴはなんて懐の深い会社だという評判になります」
「それってかなり偏ったネットの一部だよね。それって本当に得なのかな?」
ぼくは鉄男とその後もしばらく話したが、どうしても糸柳を雇いたいというので、その怪しげな理屈を一応は信じてみることにした。ただ、会社は慈善事業じゃないから、宣伝だけのために頭のおかしい社員を雇うわけにはいかない。ちゃんと普通のエンジニアとして仕事をさせることを条件として糸柳を雇うことを了承した。ちなみにぼくはドワンゴで糸柳を庇っている側の人間と思われていることが多いと思うが実際は違う。鉄男には早く糸柳はクビにしろとよく言っていた。ぼくが庇ったのは糸柳を庇おうとしているドワンゴ社員の気持ちであって、結果的に糸柳を庇うように見えてただけだ。
糸柳は本当に頭がおかしかったが、とにかく普通の社員として扱う、そう決めた。
例えば、当時、糸柳は毎日、twitterに世の中の全ての人間を自分は憎んでいて滅んでしまえとか、なんかおどろおどろしい呪いの言葉を連投して書き込むのが日課だった。
そういう書き込みを見かけたら「おはよー。今日も元気そうじゃん」とレスをつけることにした。返事はなかったが、やがて呪いのツイートは減っていった。糸柳と仲のいい社員から後から聞いたけど、彼はぼくのつけたレスを、さすがだと喜んでいたらしい。
糸柳の数々の奇行はどうせ構って欲しいだけの拗らせだと思っていたので無視して、興味も持たないことにした。なので、よくは知らない。ただ、文章が上手いのは本当だと思ったので、それだけ褒めた。彼は自分は昭和初期の私生活を晒す系の純文学者みたいな文章しか書けないんだと謙遜しながらも嬉しそうだった。
糸柳はドワンゴに入って自分の居場所と幸せを手に入れた。しかし、それはとても不安定なものだった。
糸柳にとって不幸だったのは当時のドワンゴのエンジニアの中では、彼の能力が足りてなかったことだと思う。少なくとも彼はドワンゴで技術力でマウントが取れないと判断したのだと思う。実際のところはともかく、彼が組織で仕事として安定したアウトプットを出すと言うことに向いてなかったのは間違いない。
だから、糸柳は自分がドワンゴに入れたのは、自分が狂っているからだという妄想にしがみつくことになり、一層の奇行に走った。
糸柳の周りの社員から聞いたところによると、ドワンゴ時代の糸柳は年に1回のペースで失踪し、警察から連絡があったという。定期的に暴れて、物を壊したり、他人に迷惑をかけた。会社の階段の壁を殴って穴を開けたのも彼だという。
また、糸柳を雇ったことで、ドワンゴに変な奴の応募が増えた。変だけど優秀な奴の応募もあったが、それ以上に、自分には能力ないですけどメンヘラです、とか謎のアピールをするような応募が増えた。糸柳の周りにはドワンゴの中でも変な社員が集まってきて、いろいろ変なことを始めた。
彼らは頼んでもいないのに糸柳の周辺の近況報告をぼくに教えたがった。
曰く、ネットでニートが集まって共同生活をするギークハウスという企画が話題になったことがあり、彼がいろいろ現代アートみたいなことをやりはじめて話題になり、テレビでも特集された。そこでニートとして紹介されたメンバーのうち半分は糸柳周辺のドワンゴ社員だった。ドワンゴ社員はニートじゃねーだろ。そして彼らが作った現代アートを村上隆が面白がって高額で買い取ってくれた。それらはガラクタの寄せ集めみたいな物なんだが、その中にある冷蔵庫の中身は糸柳が作ったものだ、等々。
糸柳は自分をドワンゴに救ってもらったという感謝の念から、自分も他の誰かを救いたがった。ある日、糸柳が地方から出てきて食べるものがないとネットカフェで呟いていた高校生を拾ってきた。
これは糸柳だけでなくドワンゴエンジニアの多くにいえる特徴だが、人生の進路に悩んでいる若者への助言はワンパターンだ。「なるほど、よくわかった。お前はプログラミングを覚えてエンジニアになれ」。プログラミングの腕だけあれば人生が変えるという神話を信じているのだ。
ネットカフェで拾ってきた高校生はドワンゴのバイトになり、優秀だったのでやがてエンジニアとして正社員になった。
しかし、糸柳は上野で浮浪者を拾ってきて自分の部屋に住まわせ始める。浮浪者がプログラミングを覚えてエンジニアになったという話は聞かなかった。
代わりに浮浪者の一人に女の子がいて、糸柳が恋をしたという話を聞いた。
糸柳に救われた元高校生のエンジニアが糸柳のためを思って、その恋を止めようとしたが、糸柳は逆上し殺害予告をした。糸柳は本当に刃物とかを振り回して実行しかねないので、元高校生をぼくの長野の別荘に匿った。
糸柳はぼくのところに怒鳴り込んできた。ぼくも糸柳と揉み合いになり怒鳴り返した。
半年後、もう大丈夫だから、そろそろ戻ってこいと長野に見に行くと元高校生は彼女を連れ込んで同棲していた。早く会社に戻れと追い出した。
そうこうしているうちに運命の東日本大震災が起こる。糸柳が悪ふざけで、サーバールームに閉じ込められたので助けてくれとかいう、デマツイートをして日本中のネットユーザーが彼のツイートを拡散するという事件が起こる。
冗談だったという事実が分かると、彼はあっという間にパブリックエネミーとなり猛烈な批判にさらされることになった。糸柳の脆い精神は極めて不安定になった。
ぼくは糸柳に金を渡して、すぐに被災地に支援物資を持ってボランティアに行けと言った。そして被災地に支援に行くことは絶対にネットで書くな。言い訳に使うなと厳命した。同時に、ぼくは絶対にネットでは会社の件で謝罪をしないというポリシーでTwitterを使っていたが、この件で、はじめて会社を代表して糸柳の代わりに謝罪をした。
こんなことで糸柳を辞めさせるわけにはいかないと思った。糸柳がやったのはただの悪ふざけだ。こんなので辞めさせるんだったら、糸柳はとっくに100回ぐらいはクビになっている。なんだかんだいって糸柳を雇ったのは善いことをしようとしたからで、そのためにこれまで散々な苦労をしてきたんだろう。糸柳を非難するネット世論からよく思われたいために糸柳をクビにするとしても、それはよく思われたいだけで善ではない。偽善だ。善とはそもそも人知れずにやるものだし、なんなら世界中から非難されても正しいと思うことを貫くことだ。今回の件では、糸柳はクビにしないと社内で宣言した。
しかし、もともと糸柳の存在を心良く思ってなかった人間は社内に多く、批判の声も大きかった。糸柳はドワンゴのエンジニアとして平均的なパフォーマンスを出していない。宣伝効果があるとか言っていたけど、デマツイートの件で、むしろマイナスの宣伝効果になった。糸柳はもう庇えないんじゃないか。理屈としては正しかった。
糸柳の代わりに自分がその分もっと働くからクビにしないでくれという社員が何人も現れた。そういうことを言って守ろうとする社員がいるのであれば、会社としてはやっぱり守るべきだという新しい理屈を、ぼくは社内に宣言した。
しかし糸柳の精神状態は不安定になっていて、仕事のパフォーマンスは出ないばかりか、周りに迷惑をかけ始めた。糸柳を守ろうとした社員が、糸柳の世話をするうちに次々とメンタルをやられ始めた。
もう糸柳を守る理屈はなかった。1人の社員を守るために2人以上の社員が犠牲になるなら、もう会社としては守れない。ぼくは最後の理屈を社内に宣言した。
糸柳が退職した時、鉄男は泣いていた。ぼくは「これに懲りちゃダメだ。もう、一回やろう」と鉄男に言った。「これで僕らが諦めたら、糸柳みたいな人間に関わるなという前例を世の中に残すことになる。そんなことになったら、僕らのこれまでの努力は無駄になるじゃん。絶対に懲りちゃダメだ。何度でもやろう」
鉄男は「正直、自信がない。でもやってみます」と言った。
しかし、その後、中卒の鉄男はドワンゴに増えた大卒エンジニアたちの突き上げにあって、エンジニアのトップを追われた。ドワンゴも大卒の優秀なエンジニアが中心の会社になった。その後、糸柳のような人間を雇ったという話は聞かない。
1年後だか2年後だか、風の噂で糸柳が真面目にエンジニアとして働いていてしかも優秀だという話を聞いた。なんだと思った。ドワンゴ以外ではやっていけないんじゃないかという、僕らの思い込みは傲慢な思い違いだったんだと思った。ドワンゴで奇人変人を無理に演じるより、そんなことでは許してもらえない実社会の荒波に揉まれた方が結局は良かったんだなと思った。
糸柳がよく言っていたのは、自分は糸柳家のエリートだ、という話だ。聞くところによると家族は全て精神病患者で自殺したり入院したりで、糸柳自身も障害者手帳を持っている精神病患者ではあるものの、ちゃんとまともに社会生活を送っているただ一人の人間なのだという。だから、自分は糸柳家に珍しく生まれたエリートなんだと自慢していた。
人間は誰しも与えられた環境で勝負している。遺伝子だったり家庭環境だったり、所属するコミュニティや経済的制約の中で生きていて、それによって人生の選択肢は決まってくる。
世の中の多くの失敗者と呼ばれる人たちは人生の最初からウルトラハードモードのゲームをプレイしているだけであって、彼らの失敗をイージーモードやノーマルモードのゲームプレイヤーが見下したり笑ったりする資格が本当にあるのだろうか。
ぼくにも子供が出来て思うのは、小さい子は全ての瞬間を一生懸命に生きているということだ。その健気な姿に感動するし、誇らしくなる。一生懸命に生きるということこそ、人間のもっとも美しい本来の姿ではないか。
人生をもっとも一生懸命に生きている人間とは、どういう人なのか?それは大谷翔平でもイーロンマスクでもないと思う。彼らは成功者であり、彼らの一生懸命は成功によって報われていて、本人の自覚としては、それほど苦労した努力をしているわけではないのではないかと思う。
生涯を一生懸命に生きている人とは、一生懸命に生きざるを得ないような人たちであり、それはいくら努力しても認められず、仲間はずれにされ、敗者の烙印を押されて、それでもなお生きようと足掻きながら死んでいくような人たち、なんなら自ら命を断つような人たちの中に存在しているに決まっていると、ぼくは思う。
冒頭のドワンゴ以降の糸柳の人生についての記事を読んだが、それでも糸柳は最後まで与えられた過酷な人生の中で一生懸命に戦って立派に死んでいったとぼくは思う。そして僕たちもドワンゴで短い間ではあるが糸柳に対して一生懸命に向き合った。それは良い思い出というにはいくばくかの悲しみを伴う思い出ではあるが、大切な思い出だ。
おしまい。合掌。