Software Design の2022年7月号について、
- ざっくり内容紹介
- 個人的に気になった記事やポイント
をまとめている記事です。
サマリー記事の一覧はこちら。
特集①:Vimの基本大全
- 著者は mattn さんです!
- Vimとは
- viとvim
- viがもと、vimが派生カスタマイズ品、みたいな感じ
- モード
- ノーマルモード
- インサートモード
- コマンドラインモード
- キーバインド
- bashrcに set -o vi を追加するとbashがviライクになる
- GmailやGitHubやTwitterでも j / k でスクロールできるがこれはviのもの。なるほど。
- Neovim
- vimのフォーク。vimは元来保守的だったため、新規機能の追加が望まれることも増えてきた。今では互いに輸入しあう状態になっておりよい発展を遂げているとのこと
- なんで使われ続けるの
- アクティブな開発
- 今でも毎日何かしらのコミットがある、30年開発が続くのはとてもすごいこと。
- 一体なにをそんなにやっているんだ…
- 今でも毎日何かしらのコミットがある、30年開発が続くのはとてもすごいこと。
- 独特の操作体系
- 使っている人の理由はほぼこれなのでは?という印象だけどどうなんだろう。僕は必要性を感じるタイミングに恵まれていないのでいまだに :q を頑張ってしまうくらいオンチではある(別に否定の気持ちは全くない)
- 今書いて思ったけど終了コマンド :q かわいい。
- 実はいままで何ができるかすらよく知らなかったのだけど、ここに例示されていたちょっとした作業例だけでキーボードですべて操作したいマン的にはものすごく魅力的に思えた。なんとなくなんでもできそうというのは知ってたけど、覚えたら本当にすごそうだ…。いつか取り組む…かも。
- 使っている人の理由はほぼこれなのでは?という印象だけどどうなんだろう。僕は必要性を感じるタイミングに恵まれていないのでいまだに :q を頑張ってしまうくらいオンチではある(別に否定の気持ちは全くない)
- プラグインのエコシステム
- Vim scriptと呼ばれる独自の発展系
- なんかわからんがすごい(例にアクションゲームとか書いてあるんだけど一体なんなんだ、、、)
- アクティブな開発
- できること
- すばやいテキスト編集
- なんと連番作成とかもすぐできるとか…。すごくない??
- 対話シェルとの連携
- コマンドの実行結果をパイプで受け取ってそのままなんやかんやできる、大量のリネーム作業とか一発だ、しゅごい。。。
- こんなにすごいものが身近にあったのに全然興味を持ってなかったことに愕然としていて語彙力が失われている
- 強いて使わない理由を探すとするなら、自分のキーバインドカスタマイズとキーボードの物理的セッティングに何年も費やしてきたゆえにほぼカーソル移動に困ることがないことくらい。でも一定の作業を一瞬でできちゃうのとかはテキスト編集の枠を遥かに超えているのでとても魅力的…。
- 高度なコーディング
- ここでは「IDE顔負けの機能」という表現がされているので、コーディング用の高度なテキスト編集はもちろんできるけどそれはあくまでもvimコマンドの中でのこと?
- VS CodeとかにもVimのプラグインがあることは知っていたし誌面でも紹介されていたけど、それは使わないの??
- ここでは「IDE顔負けの機能」という表現がされているので、コーディング用の高度なテキスト編集はもちろんできるけどそれはあくまでもvimコマンドの中でのこと?
- コマンドの実行結果をパイプで受け取ってそのままなんやかんやできる、大量のリネーム作業とか一発だ、しゅごい。。。
- すばやいテキスト編集
- インストール、基本操作、カスタマイズ方法
- 割愛。
- vimtutorというチュートリアル用コマンドがあってひと通り教えてくれるらしい。日本語OSで起動すれば日本語で教えてくれるとのこと。
- なんか色々見てたら30年開発というのもわからん話ではない気がしてきた
- viとvim
- カーソル移動で1章割かれているw
- なんかもう別に使えなくても読んでるだけで普通に楽しかった
- vimmerのYouTubeとかあったら面白そう(小並感)
- 検索&編集操作
- 今の段階だと「すごい」しか書くことがなかったので割愛します
- なんとなく想像できることはすべてできそう
- ファイル操作
- コマンドとしてのファイル選択など
- 複数指定して開いておいて、あとから前後に移動なんてこともできる
- ところどころのコラムにちょっとしたテクニックみたいのが書いてあるんだけど「なるほどこれは全機能覚える人なんていない」よねというのが伝わってくる
- バイナリも扱える
- コマンドとしてのファイル選択など
- ウィンドウとタブ操作
- ここで気づいたが mattn さんの執筆は第1章だけだった、毎章著者は変わってた
- チートシート付属!
特集②:ソフトウェア開発のシン常識
- ツール編
- 最近の開発に登場するもろもろの表面だけがすくわれて色々書かれている感じ
- テキストエディタ論争や各比較について書いてあるのがVim特集の次だけに面白かった
- その他IaCだのCI/CDだの
- 設計編
- 要件定義~設計くらいまでの流れが実際のチーム内会話例で書かれていくのだけど、リアリティがあってよい特集だったと思う
- 最近自分のスクラムチームでもMiroを多用しているのだけど、ズバリ会話の流れで「Miro出てきそうだな…」と思ったら出てきてびっくりした。うちはかなり雛形的なスクラムができているのかもと思えてちょっと嬉しい気持ちになった
- 後半の会話は登場人物がみな優秀すぎ&話がスムーズに進みすぎるので「フィ、フィクションだ…」というほうになってしまった。現実はつらい。
- 中でもいいと思った部分:「顧客が開発者と同じGitリポジトリを使って成果物をレビューするというスタイルは増えており、顧客に開発者が使うサービスについてのリテラシーを上げてもらうのも、継続的な開発のために重要になっています」
- モデリングツールとUMLについての考察もとてもよかった
- 組み込み系を除いて現在の開発ではモデルベース開発が減ってきたこと、クラス図が根幹になる言語やフレームワーク(Javaなど)の採用機会が減ってきたことなどを例に挙げて、ひと昔前のものになりつつあるとしている
- しかしクラス図やシーケンス図単体が重要であることは変わっていないしエンジニアとして読めないといけないというのももちろんちゃんと書いてある
- デザイナー→UIを実装するエンジニア(Web/スマホアプリ)についてはさらっと書かれていたが、個人的にはここが地獄なのでもうちょっと色々読みたかった
- 要件定義~設計くらいまでの流れが実際のチーム内会話例で書かれていくのだけど、リアリティがあってよい特集だったと思う
- 開発編
- 相変わらず会話記事おもしろい、筆者さんはかなり広範囲にキャッチアップされていると見える…
- リポジトリ構成
- モノレポは個人的に好きではないので全く採用しないけど、伝家の宝刀「運用でカバー」できるらしい
- CIはパス単位でトリガーすれば特に問題ないと(登場人物が)言っているけど本当にそうなのかな。
- GitLabの場合はGitHub Actionsのように定義ファイルの気軽な区分けができないらしいので安易なモノレポ構成は危険とのこと
- モノレポは個人的に好きではないので全く採用しないけど、伝家の宝刀「運用でカバー」できるらしい
- CI/CD
- 「毎晩E2Eテストを回したい」
- ナイトリービルド用のパイプラインをつくってCypressとか使う、なるほど。やったことないなー
- 「毎晩E2Eテストを回したい」
- 知識獲得
- 「先輩の机の本棚に置いてあるやつをちょっと立ち読みして自分で買ったりとかもあったよね、同僚の人が興味を持ってる技術分野を蔵書で知るみたいなのはなくなったよね」
- 数少ないフルリモートによって失われた正の財産だ
- 「先輩の机の本棚に置いてあるやつをちょっと立ち読みして自分で買ったりとかもあったよね、同僚の人が興味を持ってる技術分野を蔵書で知るみたいなのはなくなったよね」
- 会話読んでたらいきなり終わった!
OS/Network
- 明後日のコンピューティングを知ろう「トラフィックの特異点」
- なんか "インターネッツ" の歴史的な振り返り的な
- 全世界で観測されているドメインは2億6680万、その13.8%が7つのIPアドレスで表現されるWebサービスへ誘引されている
- GoDaddy.com
- awsglobalaccelerator.com
- ...
- 日本だと1つのIPアドレスで3万サイト
- 知らんドメインだった
Software Design 2022年7月号
この号の分のみ単品で読みたい方は、普通にAmazonで買うのがおすすめ。
紙 or 電子書籍で選べます。