こんにちは、皆さん!マイクです!今日は2024年12月19日、木曜日ですね。今日はZennでトレンドの記事をいくつかご紹介しますよ!
さて、前回紹介した記事は「bun testが速いのでvitestから置き換えたらめちゃ高速化された」、「uGUIからUI Toolkitに変わるとUIデザイナーのUnity作業はどう変わるのか?」、そして「Azure を支える SRE チームの原則とプラクティス」でした。これらの話題も気になりますが、今日は新しい記事に移りましょう!
今日ご紹介するのは、全部で5つの記事です。それでは、さっそく今日の内容をお伝えしますね。
まず1つ目の記事は、「Haskeller の異常な愛情:または、生粋の Haskeller は転職して Rust を一ヶ月半書いて何を思うようになったか」です。このブログ記事では、Haskellに17年間従事していた著者が、転職を機にRustを約1ヶ月半使ってみて感じたことを語っています。HaskellとRustにはそれぞれの良さがあり、お互いに学び合うことができるというメッセージが強調されています。
Rustのエコシステムとツールチェインはとても充実していて、特にRust Analyzerが強力で、エラーの指摘やモジュールの生成が非常にスムーズです。しかし、著者はRustにはREPLがないことを不便だと感じています。ビルドシステムのCargoはプロジェクトごとの依存管理が便利ですが、HaskellのCabalのような厳格さが欠けているとのこと。また、テスト駆動開発の面では、Rustのテストはコード内に混在できる利点がある一方で、Haskellの柔軟性も評価されています。Haskellの型システムやマクロシステムの強力さを称賛しつつ、Rustの所有権システムにも注目しています。お互いの良いところを取り入れることで、より良いプログラミング体験が得られるというのがこの記事のポイントです。
。...。
続いて2つ目の記事は「関数とかクラスとかを切り出すときに考えていること」です。著者は、コードを分割する理由として人間の認知能力の限界を挙げ、関数やクラスの切り出しは理解可能な抽象化であるべきだと指摘しています。コードの設計はUIデザインと同じように、詳細を隠蔽し、直感的に理解できる形で提供することが重要です。
関数やクラスは実装を隠すことで認知負荷を軽減し、利用者が内部の詳細を理解する必要がないように設計すべきです。具体的には、関数名やシグネチャから意図が明確に推測できることが求められます。また、関数やクラスのインターフェイスは自身の責務に基づいて設計することが推奨されています。このアプローチを取ることで、理解しやすさや再利用性が高まります。設計は試行錯誤の結果であるため、柔軟なアプローチが重要であるというのがこの記事の結論です。
。...。
次に3つ目の記事、「月3万円のChatGPT Proに課金する意味は無いなと思った話」をご紹介します。OpenAIが発表した月200ドルの「ChatGPT Pro」プランに対して著者は懐疑的です。利用してみた結果、従来のPlusプランで十分だと感じており、Proプランの価値を見出せないと述べています。
Proプランは複数のo1を並行して実行し最良の結果を選定する機能を搭載していますが、モデルそのものの精度は向上していないとのことです。著者は具体的な事例を挙げて、Proの方が低品質なコードを生成したことに失望しています。全体として、著者はProプランから得られる明確な価値を感じておらず、現時点ではo1で十分だという結論に至っています。
。...。
そして4つ目の記事、「コピペってなんだろう?Clipboard編」です。この記事では、コピペ(copy and paste)のメカニズムに焦点を当て、特にOSのClipboardについて解説されています。Clipboardは複数のアプリケーションからアクセス可能な共有メモリで、単なるコピペだけでなく、スクリーンショットの一時保存やドラッグ&ドロップなど多様な用途で活用されています。
Clipboardは複数のデータタイプを保持し、アプリケーションは必要なデータ形式を選択してアクセスできます。OSごとのClipboardの扱いは異なり、MacOSやWindows、iOS、Androidなど、それぞれの特性やAPIについて詳しく解説されています。コピペの仕組みを理解することで、エンジニアリングにおけるデータ処理の深さを再認識できる内容となっています。
。...。
最後に5つ目の記事は「ちょっと面倒だなぁ~ってテキスト編集をなんとかする使い捨て十徳ナイフの作り方」です。この記事では、Vimを使ったテキスト編集の効率を上げる方法が紹介されています。特に、ドットリピートやマクロ、多重繰り返し、外部コマンドとの連携に焦点を当てています。
ドットリピートは直前の変更を繰り返す基本的な機能で、マクロを用いることで複雑な編集操作を記録し再実行できる柔軟性があります。また、多重繰り返し機能や外部コマンドとの連携を活用することで、Vimのスクリプト機能を駆使した効率的な編集が可能です。全体として、Vimを使ったテキスト編集の創造的なアプローチが示されています。
。...。
さて、今日は5つの記事を駆け足でご紹介しました。HaskellとRustの比較から、コードの設計、ChatGPTのプランの考察、Clipboardのメカニズム、そしてVimの効率的な使い方まで、さまざまなトピックがありましたね。次回も楽しみにしています!詳しい内容はショーノートに書いてありますので、ぜひチェックしてくださいね。それでは、番組の感想もお待ちしています!また次回お会いしましょう!