株式会社HRBrainのフィード
https://zenn.dev/p/hrbrain
HRBrainは、タレントマネジメント、組織診断サーベイ、パルスサーベイ、人事評価、360度評価、ストレスチェック、労務管理、社内向けAIチャットボットの8つのクラウドサービスと組織人事コンサルティングサービスを展開しています。
フィード

【Go】gomvpkgを使ってgoのpackageを安全にrenameする
株式会社HRBrainのフィード
はじめにこんにちは、kenです。お仕事では Go をよく書きます。Go言語で開発を進めていると、プロジェクトの成長に伴ってパッケージ名を変更したくなることってありますよね。ただ手動でパッケージ名を変更すると、依存関係の修正漏れや置換ミスによるコンパイルエラーなどが発生することがあります。そこで今回は、Goの公式ツールであるgomvpkgを使って、安全かつ効率的にパッケージ名を変更する方法を紹介します。 gomvpkgとはgomvpkgは、Goのパッケージ名を安全に変更するためのツールです。このツールは、パッケージ名の変更に伴う影響をプロジェクト全体にわたって自動的に反...
2ヶ月前

【Go】フィールド名を書かずに構造体を初期化するのはやめよう
株式会社HRBrainのフィード
はじめにこんにちは、ken です。お仕事では Go を書いています。突然ですが、みなさんはGoで構造体を初期化するときにフィールド名を指定していますか?Go では構造体を初期化する際に、フィールド名を指定せずに値だけを渡すことができます。これはunkeyed literalsと呼ばれているみたいです。type Point struct { X, Y float64}// unkeyed literalsによる初期化p := Point{1, 2}// フィールド名を指定した初期化q := Point{X: 1, Y: 2}フィールド名を指定しないこの...
2ヶ月前

ローカル・リモートお好きにどうぞな、HRBrainのマイクロサービス開発環境
株式会社HRBrainのフィード
はじめにこんにちは!HRBrainでエンジニアをしている鈴木(善)です。みなさん、開発環境はどのように整えていますか?HRBrainでは、エンジニアが自由に使え、壊しても問題のない開発環境を用意しています。以前は各自のPC上で環境を立ち上げていましたが、PCのリソースを圧迫する問題が無視できなくなり、リモートマシン上でも開発できるように改善しました。運用を始めて1年ほど経ち、課題はあるものの、安定した運用ができています。本記事では以下について紹介します!開発環境の概要なぜ、どのように構築したのかそこから得られた知見ざっくりまとめると次のような内容です。ローカ...
2ヶ月前

【Go】コーディング規則を簡単にlinterに落としこむ!go-ruleguardを使ってみる
株式会社HRBrainのフィード
はじめにこんにちは、kenです。 2025年が始まりましたね! 今年はより一層発信に力を入れていきたいと思います。さて、今回はgo-ruleguardというツールを使ってオリジナルのGoのlinterを作る方法をご紹介します。オリジナルのlinterの作成は難しいイメージがありましたが、このツールを使えば驚くほど簡単に自前のlinterを作れることがわかったので、簡単なlinterを作成しつつその便利さを紹介できればと思います。 go-ruleguardとはgo-ruleguardは、Goのコードを解析し、ユーザーが定義したルールに違反しているコードがないかを検出する静的...
4ヶ月前

【Go】sqlxからsqlcへの移行をしてから半年たった
株式会社HRBrainのフィード
はじめにこんにちは、こんばんわ、新卒一年目のなかじです〜💪sqlxからsqlcに移行し半月ほど経ったので、記事にしようと思います!(PostgreSQLを使用しており、ドライバはpgx/v5を使っています!) 対象読者sqlcに興味がある方これからsqlc を導入してみようと考えている方 sqlcについてsqlcは、SQLファイルからデータベースにアクセスできる型安全なGoのコードを生成するライブラリです。従来のGoのコードでは、SQLクエリの手動マッピングや構造体タグの記述、ランタイムで発生するエラーに悩みがあり、そこを楽するためにSQLのクエリをコンパイ...
5ヶ月前

Observability: Google Cloud Runロギング&トレーシング
株式会社HRBrainのフィード
はじめにこんにちは!バックエンドとプラットフォームエンジニアのビクトルです。この記事では、Google Cloud Runをロガーする方法についてお話しし、マイクロサービスアーキテクチャでトレーシングを使用するために試してみたいと思います。 トレーシングとロギングオブザーバビリティは、トレース、ログ、およびメトリクスを収集および集約することによって分散トレーシングを実現します。トレースは、リクエストを受信するとそのリクエストがどのようにして始まり、ソースから宛先までどのように流れるかを示し、リクエストの各部分間の遅延を測定します。ログは、開発者がデバッグを行い、アプリで...
1年前

Google Cloud認定試験を決定
株式会社HRBrainのフィード
はじめに久しぶりです、ビクトルです年末はどうでしょうか!サンタさんからたくさんお土産をもらいましたか? 🎅私、サンタさんが少し遅くなって、12月27日Google Cloud Developer認定試験をもら。。。受かりました。あまり認定試験や面接のコードチャレンジなどは小学生のようにすごく苦手ですが、試験を受ける理由は。。。G.I.Gプログラム初めてG.I.Gと聞くと。。。昔のアメリカのアニメを思い思い出しました。 G.I.GとはGoogle Cloud Innovators Gymというプログラムで、Google Cloud Platform (GCP)で他...
1年前

Voltaでも.node-versionや.nvmrcを使ってNode.jsのバージョン切り替えがしたい!
株式会社HRBrainのフィード
はじめにディレクトリ移動をするとNode.jsのバージョンを自動で切り替えてくれるバージョンマネージャーの存在って嬉しいですよね。私はRust製のVoltaを使っているのですが……「Voltaでも.node-versionや.nvmrcを使ってNode.jsのバージョン切り替えがしたい!」「でもチームメンバーはVoltaを使っていないのでpackage.jsonを汚染するのはいやだ!」そう思ったことはありませんか?https://github.com/volta-cli/volta/issues/282https://github.com/volta-cli/volta...
2年前

Cloud Run上で一時ファイルを作るときはメモリ消費に気をつける
株式会社HRBrainのフィード
はじめにCloud Runのドキュメントに以下の記述があるのを見つけました。ファイル システムへのアクセス各コンテナ内のファイル システムは書き込み可能で、次の動作の影響を受けます。これはインメモリ ファイル システムであるため、書き込みにはインスタンスのメモリが使用されます。インスタンスが停止すると、ファイル システムに書き込まれたデータは保持されません。出典: コンテナ ランタイムの契約HTTP 500 / HTTP 503: コンテナ インスタンスがメモリの上限を超えている(...中略...)Cloud Run では、ローカル ファイル システムに書...
2年前

モダンWEBサイトにおける画像最適化について
株式会社HRBrainのフィード
はじめにこの記事は『Picture perfect images with the modern img element』という記事を参考に画像最適化に関しての重要な観点をまとめたものです。https://stackoverflow.blog/2022/12/27/picture-perfect-images-with-the-modern-element/画像はWEBにおいても重要な役割を担っており、2021年時点で1つ以上の画像を含むWEBサイトは95.9%、faviconなども含めて1回でも画像取得のリクエストを送信するWEBサイトは99.9%であるという調査もあります。...
2年前

GitHubでStarを付けたらBlueskyに投稿する
株式会社HRBrainのフィード
はじめにこんにちは。夏休みは新潟からフェリーで北海道に行く予定を立てている@yug1224です。最近はTwitterの突発的な仕様変更により、Twitter以外の分散型SNSも注目されるようになってきましたね。自分もちょうどBlueskyの招待コードをいただいたので登録して遊んでいます。今回はGitHubでStarを付けたらBlueskyに投稿するプログラムを作ってみたので紹介します! Blueskyとは?🤔まずそもそもBlueskyとは何か?BlueskyとはTwitterの創業者であるジャック・ドーシー氏が支援する分散型SNSであり、現在はプライベートベータ中のサ...
2年前

React Queryはデータフェッチライブラリではない。非同期の状態管理ライブラリだ。
株式会社HRBrainのフィード
はじめにこの記事はDominikさんが執筆された「Thinking in React Query」を参考にReact Queryの考え方をまとめたものになります。DominikさんはTanStack Query(以下ではReact Queryと呼ぶ)のコアメンテナーであり、彼のブログからReact Queryについての知見を吸収することができます。https://tkdodo.eu/blog 目次React QueryはデータフェッチライブラリではないではReact Queryとは何か?Client StateとServer Stateの違いReact Query...
2年前

React Application Architecture for Production〜これ一冊で全てが網羅〜
株式会社HRBrainのフィード
はじめにこの記事は、Alan Alickovicさんの著書「React Application Architecture for Production」をまとめたものになります。Alanさんと言えばZennで最も人気のある記事「bulletproof-react」の作者であり、彼のprojectから学ぶことはとても多い印象です。https://zenn.dev/manalink_dev/articles/bulletproof-react-is-best-architecture今回紹介する本は2023年1月に公開されたため、bulletproof-react以後のReactア...
2年前

Goで大きなJSONからExcelファイルをメモリに優しく作る
株式会社HRBrainのフィード
はじめにJSONで表現されたデータをExcelファイルに変換したい場合に、ストリームで行うことでメモリ消費量を抑えることができます。本記事ではサンプルコードを用いてその方法を紹介します。なおサンプルはGoで実装しています。 アプローチJSONファイルからExcelファイルを作る際、以下のようなアプローチが考えられます。JSONファイルを構造体としてメモリ上に読み込む構造体をExcelファイルとして書き出す JSONをストリームで読み込むJSONファイルを読み込む際、JSON全体を一括で読み込むとそれだけのメモリを必要としてしまいます。一括ではなく部分的にストリ...
2年前

OpenAPIからコードを自動生成!『Orval』のメリットと選定理由
株式会社HRBrainのフィード
はじめに本記事ではOpenAPIからclientコードを自動生成するライブラリ『Orval』を紹介します。そしてOrvalの強みを明らかにし、どのような場合に選定するべきかを提案できたらと考えます。https://orval.dev/いきなりですが簡潔に結論を述べます。!REST設計で状態管理にTanStack QueryやSWRのようなライブラリを使用している場合、Orvalは高い価値を発揮する。これはOrvalの作者自身がswagger codegenといった他の自動生成ライブラリに物足りなさを感じ、特定の技術の上で最適なコード生成をしたいというモチベーションが根底...
2年前

フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」
株式会社HRBrainのフィード
はじめにJavaScriptにおけるテストのベストプラクティスをまとめた「javascript-testing-best-practices」というGitHubレポジトリが大変勉強になったため、特に参考になった内容をまとめて共有したいと思います。(補足)本レポジトリにはfrontendのみならずbackendのテストに関する情報もありますが、今回はfrontendに焦点を当てて共有します。そのため扱うSectionは以下の4つです。Section 0: The Golden RuleSection 1: The Test AnatomySection 3: Fronten...
2年前

私の考えるReact Queryベストプラクティス
株式会社HRBrainのフィード
はじめにこんにちは。株式会社HRBrainでインターンをしている安井です。この記事では今業務で採用しているReact Queryの特性を生かした設計を考察してまとめていきます。本記事はHRBrain Advent Calendar 2022の24日目の記事です。https://qiita.com/advent-calendar/2022/hrbrain 前提本記事で使用するライブラリ等のversionReact: v18.2.0TypeScript: v4.9.3React Query(TanStack Query): v4.19.1axios: v1.2.1...
2年前

Frontend Talk(2022-07-08)
株式会社HRBrainのフィード
こんにちは。株式会社HRBrainでフロントエンドエンジニアをしているしっぽくんです。私たち HRBrain では週に1度30分、フロントエンドトークという「1週間の間に発見したフロントエンドに関するネタを共有もしくは相談する会」を社内で開催しています。今回は公開第 8 回目です。過去の記事はこちら。 news Vue2.7 Releasehttps://blog.vuejs.org/posts/vue-2-7-naruto.htmlVue2 系最後のマイナーバージョンである 2.7 がリリースしました。Vue3 系からいくつかの機能がバックポートされました。...
3年前

Frontend Talk(2022-07-01)
株式会社HRBrainのフィード
こんにちは。株式会社HRBrainでフロントエンドエンジニアをしているしっぽくんです。私たち HRBrain では週に1度30分、フロントエンドトークという「1週間の間に発見したフロントエンドに関するネタを共有もしくは相談する会」を社内で開催しています。先週はお休みでしたが、引き続き更新していきます。今回は公開第 7 回目です。過去の記事はこちら。 news New in Chrome 103https://developer.chrome.com/blog/new-in-chrome-103/ HTTP 103 status code 103 - early...
3年前

Frontend Talk(2022-06-17)
株式会社HRBrainのフィード
こんにちは。株式会社HRBrainでフロントエンドエンジニアをしているしっぽくんです。私たち HRBrain では週に1度30分、フロントエンドトークという「1週間の間に発見したフロントエンドに関するネタを共有もしくは相談する会」を社内で開催しています。今回は公開第 6 回目です。過去の記事はこちら。 news Announcing TypeScript 4.7https://devblogs.microsoft.com/typescript/announcing-typescript-4-7今週は先週に続き、TS4.7 の情報について深掘りをしていきました。...
3年前