-
Notifications
You must be signed in to change notification settings - Fork 18
Software Design 2026年1月号のアリゴリズム特集に寄稿したお話 #1739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
||
| 真野さん、松本さんと一緒に[Software Design](https://gihyo.jp/magazine/SD/archive/2026/202601)の特集記事に寄稿しました。 | ||
|
|
||
| 当初は3章構成の2章だけで、「配列 vs 連結リスト / HashMap vs Tree」みたいな企画内容として話が来たのですが、企画を見たときに「今どき連結リストとかわざわざ作ったり、古典的なアルゴリズムとデータ構造の話ってどこまで役に立つんだろうか?」みたいな、自分で何か設計するときに企画でいただいたような内容ってあんまり考慮することはないかな、ということを思い、オタク特有の早口でチャットに以下のようなことを書きました(一部読みにくかったので原文ママではない) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/sentence-length> reported by reviewdog 🐶
Line 22 sentence length(234) exceeds the maximum sentence length of 200.
Over 34 characters. (ja-technical-writing/sentence-length)
|
|
||
| # なぜこのような思いを持つようになったか | ||
|
|
||
| アルゴリズム的には高速とされる圧縮アルゴリズムLZ4に興味をもって実装したことがありました。ブラウザ上ではそのままは使えず、JSに移植してみたがそんなに早くなかった、というのが最初の原体験ですかね。実装言語とかそっちの方が影響が大きいと。当時のiPhone 3GSとか4の時代、WASMもその元になったasm.jsも出る前ですね。もちろん、実装言語とかが選べない場合に、限られた選択肢の中でベストを尽くすみたいなケースはあります。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "は" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "は"
- "は"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| # なぜこのような思いを持つようになったか | ||
|
|
||
| アルゴリズム的には高速とされる圧縮アルゴリズムLZ4に興味をもって実装したことがありました。ブラウザ上ではそのままは使えず、JSに移植してみたがそんなに早くなかった、というのが最初の原体験ですかね。実装言語とかそっちの方が影響が大きいと。当時のiPhone 3GSとか4の時代、WASMもその元になったasm.jsも出る前ですね。もちろん、実装言語とかが選べない場合に、限られた選択肢の中でベストを尽くすみたいなケースはあります。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "が" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "が"
- "が"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| 僕が良く使うたとえでいえば、ファッションというものが、自分で洋服を作るのではなく服の選び方にシフトしていく、みたいな時代の変遷ですね。ファッション全然わかんないですが。 | ||
|
|
||
| もう1つ、二分探索とかTimSortとか頑張ってみたけど早くなかった、というのも経験としてありました。Goにジェネレータが来る前に、C++のSTLのように使えるコードジェネレータを作ってみたことがありました。アルゴリズムの本の通りにそのまま実装するだけでは実用的なものを作るのは難しいです。ただ、作ってみたこと自体は無駄ではなかったな、と思っています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "は" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "は"
- "は"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| # データ構造について考えた | ||
|
|
||
| そんな時代にあって、アルゴリズムとデータ構造に求められるものはなんだろうか?というのが最初のチャットの話になります。データ構造とアルゴリズムの本を見ると、データのコレクションとソートみたいな話が多いです。動的計画法みたいなものもありますが、今回はそこは割愛しました。で、現代の言語だと最初からデータ構造が提供されているし、検索のメソッドも最初からついていることが当たり前です。原稿にも書きましたが、C言語とかC++の1990年代は当たり前ではなかったのですが、今は「どうやって検索しよう」と悩むこととかは減ったのでは、と思います。一方で、ウェブフロントエンドでは、イミュータブルという話が最近多く出てきますね。そのあたりを考えて2章の前半の僕のパートは構成しています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-conjunctive-particle-ga> reported by reviewdog 🐶
文中に逆接の接続助詞 "が" が二回以上使われています。 (ja-technical-writing/no-doubled-conjunctive-particle-ga)
|
|
||
| # データ構造について考えた | ||
|
|
||
| そんな時代にあって、アルゴリズムとデータ構造に求められるものはなんだろうか?というのが最初のチャットの話になります。データ構造とアルゴリズムの本を見ると、データのコレクションとソートみたいな話が多いです。動的計画法みたいなものもありますが、今回はそこは割愛しました。で、現代の言語だと最初からデータ構造が提供されているし、検索のメソッドも最初からついていることが当たり前です。原稿にも書きましたが、C言語とかC++の1990年代は当たり前ではなかったのですが、今は「どうやって検索しよう」と悩むこととかは減ったのでは、と思います。一方で、ウェブフロントエンドでは、イミュータブルという話が最近多く出てきますね。そのあたりを考えて2章の前半の僕のパートは構成しています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "は" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "は"
- "は"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| # データ構造について考えた | ||
|
|
||
| そんな時代にあって、アルゴリズムとデータ構造に求められるものはなんだろうか?というのが最初のチャットの話になります。データ構造とアルゴリズムの本を見ると、データのコレクションとソートみたいな話が多いです。動的計画法みたいなものもありますが、今回はそこは割愛しました。で、現代の言語だと最初からデータ構造が提供されているし、検索のメソッドも最初からついていることが当たり前です。原稿にも書きましたが、C言語とかC++の1990年代は当たり前ではなかったのですが、今は「どうやって検索しよう」と悩むこととかは減ったのでは、と思います。一方で、ウェブフロントエンドでは、イミュータブルという話が最近多く出てきますね。そのあたりを考えて2章の前半の僕のパートは構成しています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "は" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "は"
- "は"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| # ぜひお手に取っていただけると | ||
|
|
||
| 松本さんが書いたDuckDBの話も、本当はもっといろいろ興味深い話もありましたが紙面の都合でちょっと割愛されちゃっていたりしますが、それでも結構興味深い内容になっています。真野さんの3章も、アーキテクチャの失敗はアルゴリズムで覆せないぞ、という辛口な内容でネットワークからデータベースから幅広い話が入っていて、かなり実用的な内容となっています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-conjunctive-particle-ga> reported by reviewdog 🐶
文中に逆接の接続助詞 "が" が二回以上使われています。 (ja-technical-writing/no-doubled-conjunctive-particle-ga)
|
|
||
| # ぜひお手に取っていただけると | ||
|
|
||
| 松本さんが書いたDuckDBの話も、本当はもっといろいろ興味深い話もありましたが紙面の都合でちょっと割愛されちゃっていたりしますが、それでも結構興味深い内容になっています。真野さんの3章も、アーキテクチャの失敗はアルゴリズムで覆せないぞ、という辛口な内容でネットワークからデータベースから幅広い話が入っていて、かなり実用的な内容となっています。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "から" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "から"
- "から"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
No description provided.