Gradle にしっかり入門する
1 章 はじめに
こんにちは、@p1assです。
最近、Gradle を使ったプロジェクトを 1 から構築することがありました。 以前から Gradle を使ったことはあったのですが、ほとんど雰囲気で触っていたため、いざ諸々をセットアップしようとすると戸惑ってしまうことが多々ありました。そのため、改めて Gradle について学んだほうが良かろうということになりました。
この記事では、改めて Gradle を学んだ際に自分のためにまとめたドキュメントを再編集して公開します。
2021年にブックマークした記事まとめ
こんにちは、@p1assです。
普段利用しているブックマークサービスである Pocket の API を使って、今年ブックマークした記事の一覧をまとめてみました。 大体 280 記事くらいあるので、目次をみつつ漁ってみてください。 バックエンドからインフラ、設計、フロントエンド、マネジメントまで幅広くあります。
なお、記事の一覧は下記のスクリプトを使って生成しました。 急いで作ったので拡張性はないです。 使いたい方は適当に手直しして使ってください。
2021年の振り返り
二項演算子のASTを参考にした動的なフィルターのデータ構造
この記事はDeNA 21 新卒 ×22 新卒内定者 Advent Calendar 2021の 1 日目の記事です。
こんにちは、@p1assです。
いよいよDeNA 21 新卒 ×22 新卒内定者 Advent Calendar 2021が始まります 🙌
今年は新卒と内定者によるこの Advent Calendar と DeNA のエンジニアが担当するDeNA Advent Calendar 2021の 2 種類があるので、どちらもぜひチェックしてください!
(執筆時点では新卒 Advent Calendar はまだ埋めてないですがこれから埋まっていくはず...!)
ドキュメントの運用を考えてみたが正解が分からない
ドキュメント運用について考える機会があったので、そのとき考えてたことをダンプしてみる。 実際に運用しているわけではないので机上の空論だが、文字に起こしてみることで何か得られないかと思いやってみる。
EnumやUnionの列挙子が増えたときに起こりうる人為的なバグを撲滅したい
こんにちは、@p1ass です。
Enum や Union 型は、取りうる値を列挙する上で非常に便利な構文です。 曜日のようなものを全列挙したり、エラーコードのように本来 string 型として無限の集合だったものを有限の列挙としてアプリケーション側で扱ったりと、様々な用途で使われます。
これらの型は if や switch などの条件分岐やパターンマッチングと共に使われることが多いです。 しかし、これらの処理は列挙子を増えたときに意図しないバグを埋め込んでしまうことも多いです。 そこでこの記事では、Enum と switch を組み合わせたときに人為的に起こしうるバグを紹介しつつ、できるだけ静的にバグを発見するための方法を考えていきます。
先に話をまとめると、この記事に書いてあることは、
default
はできるだけ使わないようにするswitch
式やmatch
式があるプログラミング言語は羨ましい- 上記の構文がない言語では静的解析に頼ろう
になります。
サンプルコードは TypeScript と Rust で書いていますが、これらの言語特有の話をしたいのではなく、一例として挙げています。
他言語を書いているエンジニアがJavaをざっくりキャッチアップする
こんにちは、@p1ass です。
この記事は、他のプログラミング言語は書いているが Java はそんなに書いていない/忘れた私が Java をキャッチアップするために得た知識をまとめたものです。 ある程度他の言語を書いている人であれば文法周りは困らないと思うので、エコシステム周りを重点的に書いています。
ISUCON11予選に出場し48位で予選敗退しました
こんにちは @p1ass です。
今年も去年に引き続きISUCON の予選に参加しました。 去年は FAIL で学生枠の本戦出場を逃したので「今年こそは!」と思っていたのですが、タイトルの通り予選敗退しました。 結果は Best が 71,673 点、追試スコアが 67,097 点で 48 位でした。
この記事では、競技中にやったことをまとめておきます。 実装言語は Go で、メンバーは @Lorseと @usagigaです。
「データ指向アプリケーションデザイン」を読んだ
こんにちは、@p1ass です。
先日、ずっと積んであった「データ指向アプリケーションデザイン」を読み終わりました。 書籍自体は一年半以上前に頂いていたのですが、当時の自分には難しい内容でずっと放り投げていました。 しかし、最近になって本書のサブタイトルにもある 「信頼性、拡張性、保守性の高い分散システム設計」 に対する興味が増したので改めて読み始めました。 今回は興味も相まって最後まで読み切れたので、忘れないうちに軽く本書を読んだ感想を書いておこうと思います。
「趣味プロジェクトを支える技術」というタイトルで登壇しました
こんにちは、@p1assです。
この記事は、CAMPHOR- DAY 2021で発表した「趣味プロジェクトを支える技術」の書き起こし記事です。 2 ヶ月以上前の発表ですが、重い腰を上げて書きました。
スライドは最後に置いてあるので、長ったらしい文章を読みたくない方はスクロールして読んでください。
ここで書いている内容は個人の経験を元に書いているので、万人受けするものかどうかわかりませんが、一例として参考になれば幸いです。