アルパカログ

プログラミングとマネジメントがメインです。時々エモいのも書きます。

CODE COMPLETE 〜美しいコードを書くために〜

筆者はWebエンジニアの端くれなのだけれど、新しい技術にはほとんど興味がない。 そのことに多少のコンプレックスを抱きつつも、興味がないものは仕方ないということで開き直ってもいる。

とはいえ、エンジニアであるからには技術的関心がどこかにあるはず。考えてみると、「コードの美しさ」には昔から興味があることに気付いた。

以前、「スーパーエンジニアとは?技術力があるとは?」みたいな記事を書いたけど、筆者にとってのスーパーエンジニアとは美しいコードを書くエンジニアだ。

神は細部に宿る」という言葉があるように、洗練されたコードは細部まで無駄がない。無駄がないから誰にとっても読みやすいし、保守もしやすい。 美しいコードやそういったものを生み出す能力に強烈に惹かれるし、自分もそうなりたいと思う。

話は変わって、筆者がエンジニアになった10年前と現在とを比較すると、設計パターンのような比較的ベースに近い部分でも地殻変動が起こっているように感じる。例えば10年前だとWebアプリケーションはほぼMVCだったように思うが、現在だとMVCも未だ多く採用されるものの、クリーンアーキテクチャ、あるいはレイヤードアーキテクチャといった新しい概念に触れる機会も珍しくなくなってきた。

新しい技術に触れるたび、というより、必要になるたび検索して知識をツギハギして補ってきたが、最近は本格的に知識不足を実感するようになってきた。

いろいろ忘れてもいるし、一度基礎から学び直さなくてはということで、美しいコードを書くという初心に返って本を読むことにした。リーダブルコードは読んだことがあったので、古いがリーダブルコードより踏み込んだ内容になっていそうなCODE COMPLETEを読んでまとめていく。

続きを読む

勉強会「実践クリーンアーキテクチャ」参加記

5連休初日に開催されたオンライン勉強会「実践クリーンアーキテクチャ」に参加しました。

nrs-seminar.connpass.com

私は最近仕事でクリーンアーキテクチャを採用したプロジェクトに関わるようになったのですが、いろいろ調べてみても概念的な話が多くいまいちピンと来ていませんでした。

そんなときこちらの勉強会をTwitterで見かけて、まさに渡りに船とばかりに参加ボタンを即押ししました。

勉強会の内容は動画とは別に、講師である @nrslib さんのブログに完璧にまとまっていますので、そちらもご覧ください。

nrslib.com

この記事では、個人的に勉強になったポイントに絞って書きます。

続きを読む

CREとして一緒に働く仲間を募集しています

私のいるミクシィCREでは今、一緒に働いてくれる仲間を募集しています。

このエントリでは募集要項のように形式張らず、CREのミッションと仕事の魅力、チームで大切にしている価値観、どんな人に来てほしいかをご紹介します。

続きを読む

OpenAPIとAPI Sproutを使ったら開発体験がすごく良くなった話

Web開発の現場では、APIを境界にしてサーバー側、クライアント側で分担して開発を進めるのはよくあることだと思います。

そんなとき問題になるのが「API仕様の表現が人によってバラバラ」「ダミーのAPIレスポンスを用意するのが面倒」といったことです。

これらの問題は、API仕様のフォーマットである OpenAPI と、OpenAPI 仕様を元にコマンド1発でダミーのAPIサーバーを立ててくれる API Sprout を使うことで解決することができます。

OpenAPI + API Sprout という組み合わせは、控えめに言っても開発体験がかなり良いです。

ぜひ皆さんにも試してほしいのでご紹介します。

続きを読む

エンジニア、5人リモート、2週間

💁‍♂️ 5 7 5

完全リモートワーク、始まる

完全リモートワークに移行して2週間が経ちました。

私のチームはエンジニア5名という小さめのチームですが、割とうまく移行できている気がするので、振り返りを兼ねて取り組んだことなど書いてみたいと思います。

続きを読む

ポケモン剣盾のバトルシミュレーターを書いた

ポケットモンスターソード&シールドを発売以来ずっと遊んでいて、対人戦(シングルバトル)でいろいろ試したいなーと思ったので、2月3月の可処分時間のほとんどを開発に突っ込んで作った。権利まわりが怖いのでデータやソースコードは公開していない。

f:id:otoyo0122:20200328184024g:plain:w420
シミュレーターの画面

開発に使ったのはPython 3.7で標準ライブラリのみ。行数は全部で5,000いかない程度。

以下、苦労したところなど。

続きを読む

Customer Support Tech Meetupを開催しました

3月25日(水)に、技術を駆使してカスタマーサポートの課題解決事例を紹介する「Customer Support Tech Meetup #1」を開催しました。

mixi.connpass.com

オンライン開催にもかかわらず、当日はYouTubeの視聴者数が70人を超え、多くの人のCS課題への関心の高さが感じられました。

この記事では、発表資料や開催時のツイート、付録資料、ブログをまとめました。

続きを読む