WHITEPLUS TechBlog

https://blog.wh-plus.co.jp/

株式会社ホワイトプラスのエンジニアによる開発ブログです。

フィード

記事のアイキャッチ画像
転職エントリ
WHITEPLUS TechBlog
こんにちは、はじめまして。yumeと申します。 2023年11月1日に株式会社ホワイトプラスに入社しました。 入社してもうすぐ5ヶ月です。 あっという間に感じつつ、まだまだのびしろいっぱいというところです。 この記事では、 転職活動を行なっていた際に何を考えていたか 実際にホワイトプラスに入社してどうか などをお話ししたいと思います。 自己紹介 ネットクリーニング「リネット」の顧客領域を担当するCX開発グループに所属しています。 経歴と過去の転職理由 ホワイトプラスで3社目です。 一社目はSES・受託会社でした。 SESの魅力であるさまざまな技術や案件を経験できるというところで、 ソーシャルゲ…
1ヶ月前
記事のアイキャッチ画像
GKEの新機能と不具合情報まとめ 2024年3月
WHITEPLUS TechBlog
2024年3月にGKEのReleaseNoteに流れてきた情報から、新機能と変更内容、影響のありそうな不具合情報のみをまとめて紹介します。 新機能 3/19 Ciliumを使用したクラスタ全体のネットワークポリシーがGAになりました 全てのGKEエディションで使用でき、1.28.6-gke.1095000、1.29.1-gke.1016000以降でGAになっています。 3/11 GKE 1.29.0-gke.1384000以降で作成されたプライベートクラスタはNodeがコントロールプレーンと通信するときにPrivate Service Connect (PSC)を使用するようになります 以前の…
1ヶ月前
記事のアイキャッチ画像
Terraformを安全に実行できる環境を構築する
WHITEPLUS TechBlog
Lenetではクラウドインフラを宣言的構成で管理するようにしていて、メインのクラウドプロバイダーとしてGCPを、インフラのコード管理のためにTerraformを使用しています。 背景 インフラを変更するときは編集者権限を持つインフラチームが手元のPCでterraformコマンドを実行するというのが基本の流れでした。閲覧権限しか持たないバックエンドエンジニアなどがインフラを変更したい場合はインフラチームに要件を伝え依頼するか、Terraformを書いてプルリクを送り実行を依頼するという運用になっていました。 Terraformモノレポ Lenetでは複数のGCPプロジェクトを利用していて、プロジ…
2ヶ月前
記事のアイキャッチ画像
月刊PHPに参加しています
WHITEPLUS TechBlog
はじめに こんにちは、ホワイトプラスのコアシステム開発グループでエンジニアリングマネジャー(EM)をしているinouehiです。 月刊PHPの第一弾である1月のPHPカンファレンス北海道に参加、登壇してきました。2月には第二弾のPHPカンファレンス関西に仲見川、古賀の2名が参加、登壇しました。というわけで、カンファレンスの模様、感想を書き留めたいと思います。 北海道 https://fortee.jp/phpcon-hokkaido-2024 どのトークもおもしろかったり学びがあったりしたのですが、各日1つずつランダムに選んで感想を記します。 PHP で作られたゲテモノを色々紹介する(自作他作…
2ヶ月前
記事のアイキャッチ画像
Docker Desktopに統合されたmutagenが開発体験を改善するか検証する
WHITEPLUS TechBlog
先日リリースされたDocker Desktopの4.27.0で Synchronized file shares という新たなファイル共有システムが導入されました。 docs.docker.com www.docker.com これはDocker社が買収したMutagenというファイル同期ツールで実装されていて、Dockerを使用した開発でボトルネックになりがちなファイルアクセスが改善されることが期待されます。Lenetのサービスは主にPHPで実装されていてファイルアクセスが多数発生するため、開発体験が改善されるかもしれません。 設定 早速 Synchronized file shares の…
2ヶ月前
記事のアイキャッチ画像
GKEの新機能と不具合情報まとめ 2024年2月
WHITEPLUS TechBlog
2024年2月にGKEのReleaseNoteに流れてきた情報から、新機能と影響のありそうな不具合情報のみをまとめて紹介します。 新機能 2/28 AutopilotのコンピューティングクラスでPerformanceが使用可能になりました Autopilotにはコンピューティングクラスを指定することができ、今回新たにPerformanceが追加されました。 PerformanceとはPod1つにNodeを専有させる機能です。この機能を使うことでCPUメインの重たいワークロードでNodeリソースの全てを使用することができパフォーマンスの向上が見込めます。 2/21 Stateful HA Ope…
2ヶ月前
記事のアイキャッチ画像
情シス、はじめました
WHITEPLUS TechBlog
はじめに こんにちは! エンジニアリング部で情報システムを担当しているnakanoleeです。 1人目の情報システム担当者として入社し、早くも半年が経ちました。 今回は、入社後に感じた弊社の雰囲気、一瞬で過ぎ去った半年の間に達成したこと、そしてこれからやりたいことについてお話ししたいと思います。 入社後に感じた弊社の雰囲気 入社してすぐに、弊社の以下のような点について感銘を受けました。 部署間のコミュニケーションが非常に円滑。 まず、全員チャットでのレスポンスが早い。 専門用語が控えめで、認識のズレが起きにくい。 コミュニケーションの中で浮き球が出ない。出たとしても誰かがすぐに拾ってくれる。 …
2ヶ月前
記事のアイキャッチ画像
PHPでOpenTelemetryを使ってメトリクスを収集する
WHITEPLUS TechBlog
こんにちは!ホワイトプラスのコアシステム開発グループでエンジニアをやっている古賀です。 以前、PHPでOpenTelemetryを使ってトレースを取得する方法を紹介しました。 今回はメトリクス編ということで、OpenTelemetryでメトリクス(リクエストレイテンシ)を収集し、OpenTelemetry Collectorを介してGoogle Cloudに送信する方法を紹介します。 前提 PHP:8.1 open-telemetry/opentelemetry:1.0.0 メトリクスとは メトリクスはデータの数値表現で、CPU使用率やリクエストレイテンシなどが挙げられます。メトリクスを取得し…
4ヶ月前
記事のアイキャッチ画像
スクリプトを超えたアクター達の1年
WHITEPLUS TechBlog
この記事はWHITEPLUS Advent Calendar 2023 最終日になります。 こんにちは、こんばんは、そしておやすみなさい。(映画『トゥルーマン・ショー』のセリフを参考に) www.eiga-square.jp ホワイトプラスCTOの森谷です。 アドベントカレンダー最終日を昨年に続き今年も書くことになり、何を書こうかと考えているうちに、書き始めるまでに2日ほど時間がかかりましたが、今年も今年で変化が大きい年だったため、どんな変化が起こったのかをお届けしていきたいと思います。 カーテンアップ 今年は「開発リードタイムを縮めていこう」という組織目標を年初に掲げ、 エンジニア採用数を伸…
4ヶ月前
記事のアイキャッチ画像
インボイス制度、自分には関係ないと思っていた
WHITEPLUS TechBlog
はじめに この記事は WHITEPLUS Advent Calendar 2023 の 12月21日の記事です。 こんにちは。株式会社ホワイトプラス、エンジニアの @n-black-cat です。 世間で色々と話題になっているインボイス制度がついに施行されましたね。 自分は会社員なので、この制度が始まっても「自分には関係ないや」と思っていました。 しかし、インボイス施行直前の9月に急遽業務で関わることになります・・・! 本記事では、弊社のインボイス制度施行に対して行った対応を共有したいと思います。 また、インボイス制度についても例を交えて解説します。 そもそもインボイス制度とは <売手側> 売…
4ヶ月前
記事のアイキャッチ画像
LaravelのSQLインジェクション対策の実装方法を調べてみた
WHITEPLUS TechBlog
はじめに こんにちは。 ホワイトプラスのコアシステム開発Gエンジニアのyamauchiです。 現在のシステム開発ではフレームワークやライブラリを用いた開発が一般的であり、ありがたいことに元からセキュリティ対策が備わっているものが多くあります。 より便利になった環境でエンジニアとしてのキャリアをスタートした自分は良くも悪くもセキュリティを意識する機会が減ってきています。 最近、情報処理推進機構(IPA)が発行した「安全なウェブサイトの作り方」を読む機会があったため、 今回は、代表的なセキュリティ実装であるSQLインジェクション対策を改めて学習し、ガイドラインに記載されている対策毎に、普段触ってい…
4ヶ月前
記事のアイキャッチ画像
リネットのNativeアプリをFlutterでフルリニューアルしました!
WHITEPLUS TechBlog
この記事はWHITEPLUS Advent Calendar 2023の19日目の記事です。 こんにちは、アプリ開発グループでエンジニアを務めるdomonrです。 入社から約6ヶ月が経ち、この度自分が入社してから取り組んでいたFlutterを使用したアプリのフルリニューアルについての経験を共有したいと思います。 背景 このリニューアルプロジェクトを立ち上げた背景と目的は以下の通りです。 開発効率の向上 Hot Reloadの利用 宣言的なUIフレームワークの採用 Dart言語のみの使用で、SwiftやKotlinの言語コンテキストスイッチの削減 コミュニケーションコストの削減 ビジネス領域に集…
4ヶ月前
記事のアイキャッチ画像
PHPでOpenTelemetryを使ってトレースを収集する
WHITEPLUS TechBlog
こんにちは!ホワイトプラスのコアシステム開発グループでエンジニアをやっている古賀です。 12月に入ると楽しいイベントが目白押しですね。クリスマスがやって来たと思ったらすぐ冬休みに入って、大晦日にお正月。遊びに行くも良し、家でゆっくり過ごすも良し、人それぞれ楽しみ方があると思います。 しかし、そういった時期でもシステムが上手く動いてくれないとおちおち休んでいられません。普段からシステムの信頼性を高め、障害時にはすぐに復旧できる状態にしておくことが重要です。 ここでは、PHPでOpenTelemetryを使ってトレースを収集し、Google CloudのCloud Traceで可視化するまでの一連…
4ヶ月前
記事のアイキャッチ画像
支えられ支えたい、それがリネットエンジニアチーム
WHITEPLUS TechBlog
この記事はWHITEPLUS Advent Calendar 2023の12日目の記事です。 はじめに こんにちは、ホワイトプラスのコアシステム開発グループでエンジニアリングマネジャー(EM)をしているinouehiです。 今年もあっという間に12月ですね。みんな大好きアドベントカレンダーの季節です。 これまでの発信はチーム、技術、開発手法や会社に関連することが多かったのですが、たまには自身のことを振り返ってみようと思います。 2023年振り返り 今年を振り返ってみると、例年よりも外に目を向け、行動した年となりました。端的には、カンファレンスやイベントに参加したり、登壇することが増えました。登…
5ヶ月前
記事のアイキャッチ画像
GPTsにesaを食べさせて開発アシスタントを作ってみた
WHITEPLUS TechBlog
この記事は WHITEPLUS Advent Calendar 2023 の 12月8日の記事です。 はじめに こんにちは、CX開発グループでWeb開発を担当している德廣です! 本記事では、GPTsに興味を持ち、チーム運営にどのように活用できるかを探った経験をお話します GPTsとは 端的にいうと、特定の業務に特化したChatGPTを作ることができるものです。 openai.com 背景 弊社ではナレッジツールとして esa.io を利用しています。 以降 esa と呼びます。 CX開発グループでは開発の決め事をesaにADR(Architectural Decision Records)とし…
5ヶ月前
記事のアイキャッチ画像
【クリスマスに欲しい!】ホワイトプラスエンジニアのおすすめ書籍2023
WHITEPLUS TechBlog
こんにちは! ホワイトプラスのコアシステム開発Gエンジニアのさとうです。 この記事は WHITEPLUS Advent Calendar 2023 の 12月7日の記事です。 アドベントカレンダーは12月1日から25日の間窓を毎日ひとつずつ開けていくカレンダーです。 子どもの頃、クリスマスといえばワクワクするプレゼントが待っていましたね。 でも大人になってからは、その特別な感覚が薄れてきて少し寂しいです。。。 ということで、少しでも特別感を演出しようと自分へのクリスマスプレゼントとして書籍を贈ることにしました! 年末年始の休暇で新しい知識やインスピレーションを得る機会にしたいと思います。 本稿…
5ヶ月前
記事のアイキャッチ画像
個人ではなくチームでつくる、それがWHITEPLUS
WHITEPLUS TechBlog
こんにちは、CX開発グループでエンジニアをしているAKITO-927です。 入社からおおよそ2ヶ月ほどとなります。 今回はそんな私の失敗談を元に開発チームの協力的な雰囲気を紹介したく筆をとりました。 (いずれも社内でインシデントとして扱われたものです) 失敗談をきっかけにというのも微妙な話かもしれませんが、これをきっかけに私が入社して実感したWHITEPLUSの魅力を少しでもお伝えしたいです! 全体の流れとしては「開発の流れ」、私の失敗談、チームとしての振り返り、そして最後に私が感じたことという流れでお伝えさせていただきます。 早速ですが、まずは基本となる開発の流れから紹介していきます。 開発…
5ヶ月前
記事のアイキャッチ画像
リネットのエンジニアチームを紹介しますver.2023
WHITEPLUS TechBlog
この記事はWHITEPLUS Advent Calendar 2023の1日目の記事です。 はじめに こんにちは、ホワイトプラスでテックリードをしている仲見川です。 今回はホワイトプラスが運営する宅配クリーニングサービス「リネット」のエンジニアチームがどんな雰囲気なのかご紹介出来ればと思います。 昨年も同じような記事を書いており、この一年変わったり、よく聞かれるなーという部分をアップデートしました。 対象としている事業 今回ご紹介するリネットのエンジニアチームは 自宅から出せる宅配クリーニングリネット コートなどの冬服などを着用しないシーズンにクリーニングした後、保管するPremiumCloa…
5ヶ月前
記事のアイキャッチ画像
リファクタリングの道しるべ:依存関係を理解して効率的に学ぶ
WHITEPLUS TechBlog
こんにちは! ホワイトプラスのコアシステム開発Gエンジニアのさとうです。 プロダクトコードの改善や技術的負債の返済に役立てようと、書籍「リファクタリング 既存のコードを安全に改善する」を読みました。 これまでリファクタリングという大きなくくりでしか認識できていなかったものが、細かく手法として分解されて行動に移せる単位に変化するきっかけとなる良書でした。 この書籍を一通り読み終えて分かったことがあります。 それは、リファクタリング手法に依存関係があるということです。 (例えば「フェーズの分離」というリファクタリングを行う上で、「関数の抽出」というリファクタリングを使うといったように。) 依存関係…
5ヶ月前
記事のアイキャッチ画像
PHP Conference Japan 2023に参加してきました
WHITEPLUS TechBlog
こんにちは、ホワイトプラスのコアシステム開発グループでエンジニアリングマネジャーをしているinouehiです。 今年のPHP Conference Japanは久々に完全オンサイト開催でした。というわけで、スポンサーとしてブース出展する傍ら生でトークを楽しんできました。 タイムテーブル | PHP Conference Japan 2023 #phpcon - fortee.jp シルバースポンサーということで、お隣のNE株式会社さんとテーブルをシェアしました。少しばかりですがお話させていただいたり温泉の素をいただいたりもしました。ありがとうございました。個人的にも大変うっすくですがNEさんと…
6ヶ月前
記事のアイキャッチ画像
PHPカンファレンス2023に参加・登壇してきました
WHITEPLUS TechBlog
こんにちは、テックリードの仲見川です。 2023/10/08に行われたPHPカンファレンスに参加・登壇してきました。 チームとして取り組んでいるクレジットマスター対策について「クレジットマスターとの戦い*1」と題してお話させて頂きました。 スライドはこちら スポンサーブースや懇親会で「観ました!」「面白かった」と話しかけていただくなど嬉しいフィードバックを頂けてほっと胸をなで下ろしています(笑) 来年はPHPカンファレンスが各地で開催されるのでできるだけ参加したいな、と考えています!お会いした際にはぜひよろしくお願いします! *1:クレジットマスターとの戦い by 仲見川勝人 | トーク | …
7ヶ月前
記事のアイキャッチ画像
PHP Conference Japan 2023に登壇・協賛します。
WHITEPLUS TechBlog
こんにちは、ホワイトプラスCTOの森谷です! 2023年10月08日(日)に開催されるPHP Conference Japan 2023にシルバースポンサーとして5年連続、今年も協賛します。 そして、昨年1に引き続き、今年も当社エンジニアが登壇予定です。 今年は4年ぶりのオフラインのみ開催ということで、久々のブース出展となります。 ブースにお越しいただいた方には、クッキーやステッカーを用意しておりますので会場でお会い出来ることを楽しみにしております! 参加費は無料で、こちらからお申込みいただけます~。 登壇情報 ■ 2023/10/08 11:20〜11:45 Track6 - 3F 特別会議…
7ヶ月前
記事のアイキャッチ画像
LaravelでHTTPテストを実装しました
WHITEPLUS TechBlog
はじめに こんにちは、ホワイトプラスのコアシステム開発Gのエンジニアのyamauchiです。 今回、新たにHTTPテストを実装したため、実装時に発覚した問題とその解決法を共有したいと思います。 HTTPテストとは HTTPテストとは、擬似的なHTTPリクエストを生成し対象のエンドポイントに投げ、返却されたレスポンスが期待したものかチェックするテストです。 背景 現在、コアシスが担当しているシステムでは、手動でテストを行う余地が残されており、リファクタリングを積極的に進める現状では、安全性や効率性をより高めたいという背景がありました。 そのためリグレッションテストの自動化を進め、手動で確認する割…
7ヶ月前
記事のアイキャッチ画像
Webpackの詳細なビルドログを出力する
WHITEPLUS TechBlog
こんにちは、CX開発Gでエンジニアをしているn-black-catです。 弊社の一部のプロダクトではWebpackを利用してビルドを行っていますが、使用している箇所のビルド時間が長くなっていることが社内で話題に上がりました。 問題の原因を探るために、Webpackのビルドログの詳細を出力したいと考えました。 しかし、その方法を調べる中で、日本語の記事や資料が極端に少なくとても苦労しました。 そこで、これから同じ問題に直面する方のため、また自分のための備忘録として、その方法をこちらに記録しておきたいと思います。 TL;DR コマンドラインでの設定 --stats verboseを追加 webpa…
7ヶ月前
記事のアイキャッチ画像
リリース前に実行されるCloudBuildの実行時間を1/3に改善する
WHITEPLUS TechBlog
ホワイトプラスの基盤チームのakaimoです。 lenetではwebサービスの実行にGKEを使用していて、リリースを行うにはDocker Imageを作成する必要があります。また、リリースの前には他にも行わなければならない処理があり、それらを合わせてGCPのCloudBuildで実行しています。 歴史のあるサービスであることもありリポジトリが巨大化していて、CloudBuildの実行に15分以上かかっていました。この状態だと、不具合修正など緊急性の高いリリースの場合でも長い時間待つ必要があり、不具合の影響が大きくなってしまうリスクがありました。 上記リスクの解消、日々の開発体験の向上を目指し改…
8ヶ月前
記事のアイキャッチ画像
OpenTelemetry で始める分散トレース
WHITEPLUS TechBlog
こんにちは!ホワイトプラスのコアシステム開発グループでエンジニアをやっている古賀です。 昨今、オブザーバビリティという言葉を耳にすることが増えましたね。オブザーバビリティとは、システムの状態をどれだけ理解し説明できるかを示す尺度です。 近年のソフトウェアは分散システムに始まり複雑化しているため、挙動を把握するための情報を集めて分析することで、システムを理解できるようにすることが重要です。 このような情報にはメトリクス・トレース・ログがあり、OpenTelemetry はこれらを取得するためのOSSツールです。 この記事では、OpenTelemetry を使ってトレースを取得しようとしている方向…
8ヶ月前
記事のアイキャッチ画像
コード品質のモニタリングに「Qodana」を導入してみた話
WHITEPLUS TechBlog
はじめに こんにちは、CX開発グループでWeb開発を担当している德廣です! 本記事では、JetBrains社が開発した静的コード解析ツール「Qodana」をコード品質のモニタリングツールとして導入した時の話をまとめました。 弊チームでも「Qodana」の導入は試験段階でありますが、コードの品質管理を考えている方へ、何かしらの参考となれば思い記事にしたいと思います。 導入の目的 前提 リネットは10年以上続いているサービスで、レガシーコードがそれなりに存在しています。 コードベースの規模が大きくなってきて、人手だけに頼って品質を担保し続けるのは非効率で効率的な対応を検討していました。 コード品質…
8ヶ月前
記事のアイキャッチ画像
PHP8.1のEnumと独自実装のEnumを比較して移行できるか検討しました
WHITEPLUS TechBlog
はじめに こんにちは、ホワイトプラスでテックリードをしている仲見川です。 PHPにも8.1でついにEnumが導入されました。 ホワイトプラスではこれまでTraitを用いて独自にEnumを実装してきたのですが、今後PHP8.1のEnumに置き換えるために違いを検証しました。 背景 標準機能に則ることで新たにジョインしたメンバーもすんなりキャッチアップ出来たり、今までよりも厳密な処理を書く事ができるのではないかと思い今回詳しく比較検証を行ってみようと思います。 Enumとは 列挙型は、クラスやクラス定数に対して、さらに制限を加えたものです。 ある型に対して、取り得る値の限られた集合を定義する方法を…
9ヶ月前
記事のアイキャッチ画像
ChatGPTと書籍で学んだリファクタリングを比較してみた
WHITEPLUS TechBlog
はじめに こんにちは、ホワイトプラスのコアシステム開発G エンジニアのyamauchiです。 この記事ではChatGPTがどれくらいリファクタリングに活用できるのか確認するため、書籍「リファクタリング 既存のコードを安全に改善する」から学んだリファクタリングとChatGPTに依頼したリファクタリングにどのような差が出るのか比較し検証してみました。 書籍で学んだリファクタリング タイプが違うリファクタリング前後のTypeScriptのコードを用意し、書籍のテクニックに沿ってリファクタリングを行いました。 ①関数の抽出 処理を関数に括りだし命名することで意図と実装を分離させる。 何を行っているか一…
10ヶ月前
記事のアイキャッチ画像
リアクティブシステムのケーススタディ
WHITEPLUS TechBlog
こんにちは。ホワイトプラスのエンジニアの古賀です。 私がシステム開発をする中で意識している(意識したい)考え方の一つに、リアクティブシステムというものがあります。 最近、設計について聞かれた時にこの考え方の話をする機会があり、改めて意識しキャッチアップしていきたいと感じたので、私の理解の範囲内でリアクティブシステムの概要について説明し、ケーススタディを通じて基本原則の実践方法を紹介したいと思います。 リアクティブシステムとは 2014年に発表されたリアクティブマニフェストの中で、昨今の高まるユーザ要求に応えられるシステムは、即応性(Responsive)、耐障害性(Resilient)、弾力性…
1年前