エンジニアが選ぶ、2022年イチオシ技術記事 in FORCIA CUBE
こんにちは。新卒4年目のエンジニアの谷井です。
自社プロダクトの開発をしながら、有志の技術広報チームでリーダーをしています。
先日このFORCIA CUBEにて、2022年入社社員が選ぶ「『フォルシアを知る』にあたって参考になったブログ」を紹介させていただきましたが、本日はエンジニアに、「2022年 なるほど!!と思ったFORCIA技術記事」についてアンケートをとってみました!
今回は特に推された8つの記事について、アンケートで寄せられたコメントとともに、記事を要約して紹介していきたいと思います。
高速検索のプロたるフォルシアエンジニアたちが、特にどんな技術に興味関心を持っているか、お伝えできればと思います。
なるほど!!と思ったFORCIA CUBE 技術記事たち 8選
- AWS Amplify + Next.js + TypeScript で作るCognitoユーザープールのアカウント管理アプリケーション
- GitLab CIで社内複数プロジェクトをrenovateする
- 私が営業からエンジニアに転向した訳、できた訳
- 正規表現専門家がエンジニアになって正規表現がわからなくなった話
- PostgreSQLのシステムカタログをのぞいてみよう
- PostgreSQLの移動集約モードについて
- GitLab CIでブランチをオートマージ(自動追従)させる
- FORCIA Meetup #4 PostgreSQL vs Elasticsearch -ファセットカウント編-
【1】AWS Amplify + Next.js + TypeScript で作るCognitoユーザープールのアカウント管理アプリケーション
記事概要
- Amazon Cognitoユーザープールのユーザーを管理するアプリケーションを、AmplifyでNext.jsをホスティングして実装した。
- Cognito user pools APIを利用して、AWSのコンソール上ではなく、実装したアプリ画面上で管理対象のユーザープールへのユーザーの作成・更新・削除が可能に。
エンジニア社員コメント抜粋
- 目標アプリや構成図、ソースコードなどをふんだんに交えて丁寧に解説されており、この記事を真似てすぐにアカウント管理アプリケーションが作れそうです。
- AWSのユーザプールを使うことによって、アカウントの管理(認証権限の管理やユーザーグループ概念など)が簡単になること、ラップしてあげることでより使いやすい形で提供できることが示されていてとても勉強になりました。
【2】GitLab CIで社内複数プロジェクトをrenovateする
記事概要
- ライブラリの更新を自動化するためのツールrenovateを、Gitlab CIを活用する形で導入した。
- renovate対象のプロジェクトを柔軟に取得するための機能をTypeScriptで実装し、社内の他プロジェクトでも低コストで導入できる仕組みを作成。
エンジニア社員コメント抜粋
- groupにprojectを入れて管理するという発想が「なるほど!」と思いました。
- renovateという概念を初めて知ることができました。社内での実際の活用事例からもその便利さを体感できました。
【3】私が営業からエンジニアに転向した訳、できた訳
記事概要
- フォルシアに総合職として入社し2年目にエンジニアへと転向した新卒社員の竹下さんが、その経緯や心境について詳しく語った記事。
- 営業を経験してエンジニアとなったことで、プロダクトに対する両者の視点の違いに自覚的になることができた。
エンジニア社員コメント抜粋
- 「営業からみたエンジニア」を意識しながら仕事に取り組もうと思えました。
- 一般的なIT企業と異なり、営業・技術に垣根を設けないフォルシアの特徴を、当事者として具体的な事例としてわかりやすく表現されていると感じました。
- 営業視点、エンジニア視点、両面から物事を分析されていてとても参考になりました。
【4】正規表現専門家がエンジニアになって正規表現がわからなくなった話
記事概要
- 大学の数学科で正規表現を研究対象としていたエンジニアが、プログラミング言語における正規表現について考察した。
- 数学的な「正規表現」の定義に始まり、プログラミング言語における正規表現との目的の違いに触れ、具体例としてPostgreSQLの正規表現の記法や用例について解説する。
エンジニア社員コメント抜粋
- なんとなくの理解で止まっている正規表現に対して、数学的な立場から詳しく説明していただいてよかったです。
- 正規表現大好きなので大好きな記事です。
【5】PostgreSQLのシステムカタログをのぞいてみよう
記事概要
- RDBMSのメタデータや内部的な情報が格納される「システムカタログ」について、特にPostgreSQL固有のスキーマについて紹介する。
- 例として、pg_class からはテーブルやインデックスのoidをはじめとするメタ情報を、 pg_available_extension_versions からは導入済み拡張機能に関する情報を、pg_stats からはチューニングにも活用可能な統計情報を得ることができる。
エンジニア社員コメント抜粋
- 奥深いシステムカタログについてわかりやすくまとめられており、勉強する上での指針となりました。
- 「プランナが見積もりに使っているテーブルを見れば、explainで吐かれた実行計画の根拠となる値が確認できる」という説明には特に納得感がありました。
- PostgreSQL のシステムカタログに含まれる情報の紹介だけでなく、実際の開発で使えた機能を自らの経験を通して紹介していたり、ためになる補足情報も随所に散りばめられているため、+αで勉強になる素晴らしい記事だと感じました。
【6】PostgreSQLの移動集約モードについて
記事概要
- PostgreSQL内部で使用される移動集約モード(アルゴリズムによる高速化)について紹介。
- 値を足し合わせていくような具体的なクエリについて、移動集約モードの有無に相当する2種類の解法とその計算量を示し、実際に移動集約モードが適用されるクエリとされないクエリの実行速度を比較する。
エンジニア社員コメント
- 移動集約モードはPostgresの内部処理のため普段意識していませんでしたが、そのような内部処理が行われていることに記事を読んで気が付き、なるほど!! と思いました。
- PostgreSQL 内部で使われている高速化手法が興味深いのはもちろんですが、移動集約モードが使われる・使われない条件も分かりやすく解説されていると思います。
【7】GitLab CIでブランチをオートマージ(自動追従)させる
記事概要
- GitLab CIを用いて「あるブランチに入る変更を、自動で別のブランチに取り込む」仕組みを実現した。
- 各プロジェクトからはincludeする形で簡単な記述だけでCIを実行できるようにテンプレート化を行った。
エンジニア社員コメント抜粋
- template化を活用した事例で、活用の幅が広いことに素晴らしさを感じました。
- webコネクト検索領域にも一部オートマージが導入されていてとても助かっています。中の仕組みまでは追えていなかったのでとても勉強になりました。
【8】FORCIA Meetup #4 PostgreSQL vs Elasticsearch -ファセットカウント編-
記事概要
- 2022/2/15に行われたイベント FORCIA Meetup #4 にてLTで発表された内容の書き起こし記事。
- PostgreSQLとElasticsearchについて、フォルシアが提供するアプリでもよく実装されているファセットカウント(該当の絞り込み条件を選ぶと検索結果が何件残るかを先回りして表示する機能)を通じて両者の速度比較を行った。
エンジニア社員コメント抜粋
- やはりフォルシアの技術のコアはPostgreSQLによる大規模データの高速検索。記事を読んでいると、あれ、Elasticsearchを薦めている?、と思いきや最後にきちんとSpookの「凄さ」をさらっと、定量的に示していて印象に残る記事でした。
- Spook"チューニング"パワーについて、定量的なデータを用いることで客観性の高い検証ができていると感じました。
- ファセットカウント編として、ちょっと使ってみたという類の記事ではなく、一歩踏み込んだ内容での比較だったので内容に深みがあって面白かったです。
フォルシアの情報を多面的に発信するブログ、FORCIA CUBE
さて、今回はエンジニア社員へのアンケート結果をもとに、2022年に公開した技術記事を紹介させていただきました。
フォルシアでは2021年度まではアドベントカレンダー企画を、2022年度からは月2本以上の技術記事を継続発信する月刊化企画を行っており、他にもたくさんの技術ブログがあります。
2023年もすでに7本の技術記事が公開されていますし、今年はエンジニア組織で持ち回りで執筆するユニットリレー企画も準備を進めています。ぜひご期待ください!
谷井 嶺太
2019年新卒入社エンジニア。
webコネクト開発の傍ら、最近はWINGSPANという鳥のボードゲームにハマっています。
フォルシアではフォルシアに興味をお持ちいただけた方に、社員との面談のご案内をしています。
採用応募の方、まずはカジュアルにお話をしてみたいという方は、お気軽に下記よりご連絡ください。
※ 弊社社員に対する営業行為などはお断りしております。ご希望に沿えない場合がございますので予めご了承ください。