Qiitaアドベントカレンダー2023を振り返る
-
2024年1月23日
こんにちは!エンジニアリングマネージャーのSです。
2022年にココネでは初めてQiitaのアドベントカレンダーに参加し、昨年末も2回目となる参加を致しました。
年は明けてしまいましたが、カレンダー1つ分、25名の記事について、簡単ではございますがこちらに紹介させて頂きます。
記事の紹介
12/1 2023年後半 ココネ開発組織の取り組み
[著者]@kura_shuichi
[内容]トップバッターはCTO倉による、2023年のココネの開発組織をスケールさせるにあたっての改善の取り組みの内容が書かれています。組織拡大に伴う開発リーダーの負荷、という世間的にもよくある課題をどう捉え、どのように改善していったのかが書かれています。
[感想]TLもですが、特にEMメンバーが円滑に決まったのがココネらしさを感じて良い話だなと思ったりします。人に恵まれております。
12/2 re:Invent 2023で追加された、CloudWatch Logsの自動パターン分析と異常検出がとても良い
[著者]@saito_yuji
[内容]こちらは私の記事です。EMをしてはいるものの、サーバーエンジニア出身ということもあり毎年この時期はワクワクが止まりません。AWSによりまた新たな魔法が多数生み出されました。re:Inventもですが、日々のアップデートが業務に凄まじい影響を与える可能性があるのがクラウドの面白いところです。
[感想] –
12/3 M5Stackにごみの日を表示する
[著者]@cocongo
[内容]M5Stackを使ったGoogle カレンダーとの連携記事です。IDEの選定から、どのようにカレンダーにデータを登録してGoogle Apps Scriptで連携して取得するか、などコードも含め具体的かつ丁寧に書かれております。
[感想]アイコンも出す、というのが重要だよなぁと思いますし、他の用途なども想起されて非常に読んでて「楽しそう!」と思いました。
12/4 英語で命名なんてできない(できる)
[著者]@Nekoka
[内容]英語での命名について、ChatGPTを利用した聞き方の一例が書かれています。プロンプトエンジニアリングとしても役に立ちますし、毎回聞くというより英語力も鍛えられる、といった内容です。
[感想]高校の頃「英英辞典で調べろ」と言われたのを思い出したのですが、今は日本語をベースにそれが出来るんだな…という観点で、後半の英語力の話がハッと気付かされました。
12/5 QRコードを活用しよう
[著者]@yugulab
[内容]QRコードの基本的な特性や利点、活用例が書かれています。実際にファインダパターン、タイミングパターン、アライメントパターンを意識しつつどこまでいけるのか、大きな画像を背景にしたり、背景を動かしたりしても読み取りが出来る画像が実際に紹介されています。
[感想]ある程度までいけるのは知ってましたが、ここまで背景画像動いていてもいけるのですね、、、エンジニア以外にもオススメの記事だと思いました。
12/6 ソースコードのコメントについて考える
[著者]@imafukuf
[内容]コメントを書くかどうかについて、なぜ書くべきなのか、どういう場合に書くべきなのかについて、例えば「よく分からないがここを消すと動かなくなる」といったコメントが生まれる理由なども交え述べられています。
[感想]コメントは他人のものという話で出てくる「未来の自分も他人です」というフレーズがキャッチーでした。私個人もコメントは書く派です。
12/7 GitHub Actions + Cloud Deploy で Cloud Run にデプロイする
[著者]@nakanod
[内容]GCPでのIAMサービスアカウントとWorkload Identityの連携、IAMカスタムロールの作成、Artifact Registryの設定、GitHub側は簡単なHello Worldのプログラムと共に、各種環境のyamlの例が解説されており、具体的な実装手順とワークフローが詳細に説明されています。
[感想]記事の例が、CLIベースとなっているのも非常に助かります。日頃私はAWS中心なので、社内でGCPが使われているプロダクトが実存するのは知識が広がって嬉しいです。
12/8 GitHub Copilot Chat活用のこまごまTips
[著者]@kkuchi
[内容]VSCodeを用いて、現時点でのGitHub Copilot Chatを実務利用するにあたってインラインチャットとサイドバーでの違いや、プロンプトエンジニアリングの勘所を「ミリ秒ありで時刻を出力する」という実際の題材で紹介しています。
[感想]私もGitHub Copilotのお世話になっておりますが、まだChatが活用しきれていないので参考になりました。VSCodeが現時点では一強ですねぇ…(12/23の記事も参照)
12/9 connect-go+dockerでサーバー開発環境を構築する
[著者]@maruc
[内容]connect-goを実際に使ってみるにあたり、実際にprotoを作ってDockerでpb.goファイルを出力する工程が丁寧に書かれており、サンプルプログラムと動作確認までを学ぶことが出来ます。クライアント、サーバー、どちらにとっても重要な内容となっております
[感想]クライアントとサーバーを繋げる事情の最新情報の入口の記事ともなっており、必読ですね。最後に書かれた「積み重ね」の話も、意識したいです。
12/10 今さら聞けない「カード情報の非保持化」
[著者]@jeong_jaeseop
[内容]オンライン決済におけるカード情報の非保持化について、決済代行会社を用いてトークンや決済IDで実現していることを図解で解説されています。クレジットカード決済を扱う会社に属するエンジニアにとっては基礎かつ必須の情報が書かれています。
[感想]クレジットカード30枚保持に脳内が圧迫されてしまいました笑。私個人は前職でPCI DSS周りを知る必要があったのですが、業界によってはこうしたインプットを得る機会も稀有なので、とても良い記事だと感じました。
12/11 【スターウォーズ】帝国軍に学ぶコードレビュー心得
[著者]@kei3da
[内容]スターウォーズの帝国軍になぞらえて、コードレビューの心得についてユニークな視点で語られています。大規模なプルリクエスト、一言でのコメント、独特なアプローチを通してコードレビューのポイントが書かれていますが、これらの手法は実は…?
[感想]ネタバレを意識した記事解説をしてしまいました。後半に書かれている「辛かったコードレビュー」みたいなものを集めるのも、メンバー同士お互いに有意義な気もします。
12/12 ポケモンカードのショッピングサイトを作ってみよう!
[著者]@nk60
[内容]Pokémon TCG APIで相場情報も取得可能なことから、React.jsとAnt Designを使用してポケモンカードのショッピングサイト風のサイトを作成する方法についての記事です。非同期でのリクエストやカートの状態管理までソースコードを用いて詳細に書かれています。
[感想]このようなAPIがあることを初めて知りました。相場情報まであるのが凄いですし、ただただ楽しそうなAPIで好きです。
12/13 ChatGPT Slack Botを作った話
[著者]@rougan
[内容]Slack Bolt Frameworkを用いたSlackとChatGPTの連携についての記事です。LambdaをベースにDynamoDBへの履歴の保存、OpenAI GPT-4での連携なども行っており、記事外ですがAWS SAM テンプレートも書かれています。また、ConversationBufferWindowMemory以外のMemoryの紹介もあります。
[感想]3秒ルールによってアーキテクチャが変わってしまうんですよね、、、悩ましさを思い出しました。LambdaのProvisionedConcurrencyとも戦った日々も思い出しました。
12/14 GitHub Copilot Chat を使ったワンフレーズコードレビュー
[著者]@c_hammerhead
[内容]Visual Studio Code + GitHub Copilot Chat Extensionにより、Go言語のレビューをCopilotで行う場合のプロンプトエンジニアリングの記事です。5つのフレーズと、その実例が紹介されています。
[感想]いつもお世話になっている方なのですが、コードレビューをAIがしてくれる時代に既になっておりますが、そのレビューに利用するフレーズの選定の勘所がまず流石でございました。
12/15 TextMeshProでOSにインストールされたフォントを使いたい
[著者]@dhorio
[内容]フォントを全てビルドに組み込んでしまうとアプリサイズが大きくなってしまうという課題を改善すべく、UnityのTextMeshProでOSにインストールされているフォントを使用する方法を、実際のコードをもとに説明しています。
[感想]データのダウンロード量が増えるとお客様にとって不便なだけでなく、私たちもインフラ費用が多額になってしまったりもするので、サーバー観点でも超実践的な話だ…!ということが分かりました。
12/16 EC2 Macインスタンスの構築と運用について
[著者]@yamada_yuki
[内容]AWSのEC2 Macインスタンスの構築と運用方法について詳しく解説しています。Dedicated Hostが必要である点を初めとして、cインスタンスタイプの選択、インスタンスの料金、ディスクサイズの変更方法、CloudWatchを使ったメトリクス監視の設定、及びインスタンスの停止と再開の手順について具体的に説明されています。
[感想]リリース当時に話題にはなりましたが、確かに実践例をみたことが無、、、自社でやってたーーー!みたいな気持ちになりました。ディスクはEBSが使えるんですね。
12/17 【Unity】MVP設計に業務で初めて触れて見えてきたこと
[著者]@KyoheiOkawa
[内容]UnityでのMVP(Model-View-Presenter)設計パターンの使用経験と得られた洞察を共有しています。MVP設計をしっかり活用しようと思っている側から、MonoBehaviourに全てを書くケース、MVP設計の場合、それぞれのメリット、デメリット、過去の経験からの所感が書かれています。
[感想]やはりメリットデメリットで比較された記事は分かりやすいし説得力があるなと思いました。コードと売上の話はよく耳にしますね、、、
12/18 行くにしてもログ1行くらいはいいだろ?(Logging)
[著者]@shiro_2b
[内容]効果的なロギングの重要性と実践方法について説明されています。ロギングレベル(TRACE、DEBUG、INFO、WARN、ERROR、FATAL)から、どういう時に、どれを使うかの基準の具体例が4XXエラーの時の例をもとに解説されています。
[感想]ログへの興味があるエンジニアを増やすことが、サーバーエンジニアを楽にすることにも繋がるな、、、とあらためて思いました。みんなで日々考えてゆきたいですね。
12/19 スプレッドシートで簡単GAS入門:すぐ忘れる自分のためのメモ
[著者]@daikon_san
[内容]Google Apps Scriptを使ってスプレッドシートで簡単な操作を行う方法について説明されています。ブレークポイントの設定などデバッグ実行の方法も説明しており、最後には画像の差し込み、削除といった具体的な内容も備忘録として記載されています。
[感想]デバッグとブレークポイントみたいな記事はなんぼあっても良いですからね、、、この記事もまた、エンジニア以外にもオススメしたい記事だなと思いました。
12/20 新卒2年目が思うクソコードがなぜ生まれてしまうのかとその対策について
[著者]@maphy
[内容]掲題の問題が生じる原因と対策について述べています。具体例として頻繁な仕様変更が入る部分、汎用処理の複雑化、アーキテクチャ上の誤った書き方、テストコードの不在などを挙げており、対策として、SOLID原則の遵守、適切なコメントの残し方、コードレビューでの勘所、テストコードの重要性などが説明されています。
[感想]ビジネス上で重要な部分について、極力変更したくないけどロジックの追加が必要、みたいな要件が発生しているという視点はとても納得感がありました(ウッ頭が …)
12/21 【Unity】図形を描くプログラムを紹介してみる
[著者]@LeNia
[内容]Unityを使用して星型、クローバー型、ハート型を描くプログラムの作成方法について解説しています。各図形の実際の出力結果と、その計算式が記載されております。
[感想]私がサーバー出身でプログラムに対してグラフィカルな話と関わりが薄かったので、改めて楽しそうだなぁ、と感じました。ぽっちゃりハート可愛いですね。
12/22 UnityとVOICEVOXでChatGPTと音声対話できるシステムを作る
[著者]@takokurage
[内容]UnityとVOICEVOXを使用してChatGPTとの音声対話システムの構築方法を説明しています。主なプロセスは、UnityのWindows.Speech.DictationRecognizerで音声入力を行い、OpenAI APIを叩いて応答を得ること、そしてVOICEVOXを利用して得られた応答を音声ファイルとして再生することです。
[感想]せっかくなのでこの記事内容もChatGPTに聞いてみたのだ。良い粒度でちゃんと書いてくれたのだ。と、うっかり語尾が変わる記事でした。夢が広がります。
12/23 『IntelliJ IDEA』で『GitHub Copilot Chat』 の導入を試す
[著者]@yoshiaki_s
[内容]VSCodeではなくIntelliJ IDEAでGitHub Copilotを使う場合、GitHubの画面を含め、確認すべき点がまとめられており、現時点でどこまでいけるのか、が書かれております。
[感想]あと一歩なのですが、これが出来ないのでVSCodeになってしまう判断が多くなされる気がします。コメントやコードの提案などはIntelliJ IDEAでも利用できるので、IDEを変えたくない場合は試す価値はあります。
12/24 5分で学ぶ RustとWave Function Collapse (波動関数崩壊アルゴリズム)の旅
[著者]@panicdragon
[内容]Rustの布教…ではなく、Wave Function Collapse を用いたランダム生成アルゴリズムを5分で学ぶ内容となります。Tile Modelを利用するにあたりEntropyについても数独の例も交えて解説がされており、それをRustによる具体的なコードで記載されて、しっかりと学べる内容になっております。
[感想]流石という内容のかっこいい技術記事でした(5分…?)。最後の方に書かれている、FlutterやFlameとRust実装の違いについて、どういった要因なのかが気になりました。
12/25 オブジェクト指向から学ぶ、思春期の子供とのコミュニケーション「Tell, Don’t Ask」原則
[著者]@nihonsyu
[内容]思春期の子供に対する部屋の掃除や勉強について、Tell, Don’t Askに従って行うとコミュニケーションも上手くいく、といった内容が、具体的な改善前後のコードで表現されております。現実の「アドバイス」という行為もまたこの原則に従う、といったお話が書かれています。
[感想]私もメンバーと目標設定をする立場なので、非常に考えさせられました。現実の話と関連させることで、よりコードも意識するようになりそうです。
まとめ
25人のさまざまな記事を見てきました。人の個性や状況は25通りあるのですが、記事のテーマが自由であるにも関わらず、意外と収束しているなという印象でした。生成AIの記事の内容を見ていると、他のテーマも解決するのかも、と思うと、2024年末にこれがどういう状況になっているのか、恐ろしくも楽しみだなという印象を持ちました。
ぜひ、気になる記事を参照頂ければ幸いです!
