i-plug Tech Blog

フィード

記事のアイキャッチ画像
シルバースポンサーとしてRubyKaigi 2025に参加してきました
i-plug Tech Blog
RubyKaigi2025@松山空港 はじめに 先日開催された RubyKaigi 2025に、i-plugはシルバースポンサーとして協賛しております。 rubykaigi.org コアサービスであるOfferBoxはPHPをメイン言語としていますが、社内ツールや新規事業開発でRubyを採用しているところもあります。 今日はその参加レポートとして、当日参加したメンバーの印象に残ったセッションについて紹介してまいります。 はじめに 会場の様子 印象に残ったセッション Ruby Taught Me About Under the Hood State of Namespace Making TCP…
12日前
記事のアイキャッチ画像
【Laravel】動的プロパティとリレーションメソッドの違い
i-plug Tech Blog
はじめに こんにちは、第2チームにて、管理画面の開発を担当している岡山です。 弊社では、Laravelを使った開発を進めています。 関連するモデルを扱う場面では、リレーションを利用することが多いと思います。 その際、以下のようなコードを書きますが、()の有無による違いで混乱することがあります。 <?php $user->posts; $user->posts(); 似ていますが、前者は「動的プロパティ」、後者は「リレーションメソッド」と呼ばれ、それぞれ異なる挙動をします。 今回はその違いについて確認していきたいと思います。 目次 はじめに 目次 前提 動的プロパティとは リレーションメソッドと…
1ヶ月前
記事のアイキャッチ画像
生成系AIを業務利用するための取り組み(実装編)
i-plug Tech Blog
はじめに 生成系AIを業務利用するための取り組み(準備編)に引き続き、弊社で生成AIを利用するための実装編をまとめます。 生成AI利用環境はAWSから提供されているgenerative-ai-use-cases-jp のリポジトリをフォークして「GenU」と呼ばれるアプリケーションを構築しています。 ゼロから作った箇所はありませんが、カスタマイズした点について記載します。 アーキテクチャ(リポジトリより引用) 目次 はじめに 目次 変更点の概要 カスタムドメインの設定 AWS CDKを用いた導入 社内VPNのみにアクセスを制限 CloudFrontのIPv6を無効化 Amazon Kendra…
2ヶ月前
記事のアイキャッチ画像
ゴールドスポンサーとしてPHPerKaigi 2025に参加してきました
i-plug Tech Blog
PHPerKaigi2025看板 はじめに 先日開催された PHPerKaigi 2025に、i-plugはゴールドスポンサーとして協賛しております。 phperkaigi.jp 今日はその参加レポートとして、当日参加したメンバーの印象に残ったセッションについて紹介してまいります。 はじめに 印象に残ったセッション 機能不全改善を目指したチームビルディングの実践 AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 「うわっ…うちのテスト、遅すぎ…?」 PHPUnit高速化テクニック 安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦…
2ヶ月前
記事のアイキャッチ画像
i-plugエンジニア新卒研修
i-plug Tech Blog
はじめに i-plugのプロダクト開発部で新卒研修を担当している生江 (なまえ) です。 もうまもなく4月。 4月といえば、OfferBoxで就職が決まった学生さんたちがついに社会人となる月です。 i-plugでも毎年新卒採用を行っており、開発部にも新卒の入社が決まっています! もちろん今年も新卒研修を実施するのですが、内容については昨年の反省を活かし絶賛検討中です。 今回は昨年私たちが実施した新卒研修について振り返っていきます。 研修時の様子(イメージ) はじめに 研修について 研修メンバー 研修期間と構成 研修内容 研修を実施して 研修後 振り返りを行って 最後に
2ヶ月前
記事のアイキャッチ画像
【v2とv3を比較しながら】Chakra UI v3のコンポーネントカスタマイズ方法
i-plug Tech Blog
第3チームのフロントエンドを中心に業務をしている赤星です。 弊社のOfferBoxでは一部に Chakra UI を利用しているのですが、先日Chakra UIのバージョンをv2からv3にアップデートした際にとてもアップデート作業に苦労しました。 Chakra UIのv3は大幅な破壊的変更があり、公式リファレンスもどのようにコンポーネントをカスタマイズするのか各コンポーネントごとに解説しなくなったのでここで詳しく説明していこうと思います。 コンポーネントカスタマイズ方法の変更(v2→v3) ChakraProviderの変更 extendThemeからcreateSystemへ コンポーネント…
3ヶ月前
記事のアイキャッチ画像
2025年1月25日(金)に開催されたAmplitudeセミナーのレポート
i-plug Tech Blog
プロダクトデザイングループの林です。 今回は2025年1月25日(金)に東京で開催されたAmplitudeのセミナーに参加してきたので、セミナー内で勉強になった事や感想などをまとめていきます。 勉強会に参加した目的 セミナー概要 1社目「社内への利用促進やナレッジシェア」について 2社目「実際に分析する際のチャートを複数用いた分析例」について 3社目「施策フェーズ毎のAmplitudeの活用」について Amplitude社担当者からの最新機能の紹介 4つのグループに分かれてのグループワーク まとめ&今後のアクション
4ヶ月前
記事のアイキャッチ画像
生成AIに関する社内勉強会を実施しました
i-plug Tech Blog
はじめに 現在、i-plugでは生成AIの利活用を推進するため、様々な取り組みを行っています。 その一環として、生成AIに関する社内勉強会を実施しました。 今回は、そこで発表した内容の一部紹介と、開催後にいただいた感想とフィードバックについても簡単に紹介させていただきます。 目次 はじめに 目次 勉強会について プロンプトエンジニアリングの紹介 Zero-shot Prompting Few-shot Prompting Chain-of-Thought(CoT)Prompting Self-Consistency Least-to-Most Prompting ReAct(Reasoning…
4ヶ月前
記事のアイキャッチ画像
生成系AIを業務利用するための取り組み(準備編)
i-plug Tech Blog
はじめに 昨今何かと話題の生成系AIについて、弊社での業務利用への取り組みについて紹介します。 今回は、生成系AIを導入するにあたってのリスクに対する検討や、プロダクト導入にあたって気をつけたポイントについて説明いたします。 後日、別の記事にて具体的に導入した際の構成や技術的なチャレンジについても紹介する予定です。 目次 はじめに 目次 前提 生成系AI導入にあたってのリスク 入力データの取り扱いに関するリスク 出力データの取り扱いに関するリスク 実際の利用規約を読んでみての評価 入力データの取り扱いについて 出力データの取り扱いについて まとめ
4ヶ月前
記事のアイキャッチ画像
PHPカンファレンス2024 セッション参加レポート
i-plug Tech Blog
はじめに 先日開催された PHPカンファレンス2024に、ゴールドスポンサーとして参加した記事を公開しました。 当記事では印象に残ったセッションについて、桝井・土井・三品の3名が紹介します! phpcon.php.gr.jp はじめに 面白かったセッション 桝井『ワークショップ:PHPエンジニアのためのアクターモデル完全ガイドに参加してわかったこと』 土井『Beyond ORM』と『QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話』 三品 『見えないメモリを観測するを聞いてメモリとすこし距離が縮んだかもしれない』
5ヶ月前
記事のアイキャッチ画像
PHPカンファレンス2024にゴールドスポンサーとして参加しました
i-plug Tech Blog
PHPカンファレンス2024看板 はじめに 先日開催された PHPカンファレンス2024に、ゴールドスポンサーとして参加しました! phpcon.php.gr.jp 本記事では、当日のブース出展の様子について紹介します。 はじめに ブースの様子 あなたがPHP、Laravelで気に入っている関数、機能は? PHPでハマった不具合は? 最後に
5ヶ月前
記事のアイキャッチ画像
アーキテクチャConference2024参加レポート!
i-plug Tech Blog
お世話になってます。開発基盤チームの桝井です。 11/26に開催されましたアーキテクチャConference2024に参加しました。 今回の記事は、当イベントに参加した小椋・三品・桝井の3名が、それぞれの視点でレポートと感想をお届けします! 事業を止めずに変化し続けること by 小椋 レポート 感想 イベントソーシング・CQRSでドメイン駆動開発を加速させる by 三品 レポート 感想 ソフトウェア・アーキテクチャ設計をする前にすべきことがある by 桝井 レポート 感想 会場にて
5ヶ月前
記事のアイキャッチ画像
TSKaigi Kansai 2024に参加してきました!
i-plug Tech Blog
はじめに こんにちは、第3チームのフロントエンドをメインに業務をしている赤星です。 11/16に京都にて開催されたTSKaigi Kansai 2024に現地参加してきましたのでそのレポートと感想を書いていきたいと思います! kansai.tskaigi.org はじめに TSKaigi Kansai 2024とは 現地の様子 印象に残ったセッション TypeScirptの型システムは万能機械の夢を見るか? TypeScript Graphでコードレビューの心理的障壁を乗り越える TypeScript、上達の瞬間 テストコード品質を高めるためにMutation Testingライブラリ・Str…
5ヶ月前
記事のアイキャッチ画像
『AWS AI Day』にオンライン参加しました
i-plug Tech Blog
はじめに 先日開催された AWS AI Day にオンライン参加しましたので、その中から印象に残ったセッションについて感想を述べていこうと思います。 aws.amazon.com i-plugでは生成AIの業務利用を推進する動きが高まってきており、そんな我々にとってこのイベントは非常に興味深い内容でした! はじめに 印象に残ったセッション コンテンツ審査を題材とした生成 AI 機能実装のベストプラクティス 大規模言語モデルが晒される脅威と防御策 RAG における検索システムの 権限分離と評価 国内 SaaS ベンダーによる生成 AI 実践事例 さいごに
6ヶ月前
記事のアイキャッチ画像
Datadog Summit Tokyo 2024 へ参加してきました!
i-plug Tech Blog
はじめに SREチームの手﨑です。 10/16に開催されたDatadog Summit Tokyo 2024に参加してきました。 1 Day イベントとなっており、午前中は基調講演と事例紹介、午後はワークショップと懇親会への参加というプログラムでした。 SREチームとしての視点から特に印象に残った点について、いくつか振り返ってみたいと思います。 開催動画は配信されているのでリンク先から参照することができます。 はじめに 基調講演と事例紹介 Datadogダッシュボードで見える化する、新たなビジネス価値創造のチャンス(株式会社NTTドコモ) 開発チームと歩むSLO監視文化の立ち上げジャーニー(株…
6ヶ月前
記事のアイキャッチ画像
【TypeScriptは思ったよりも色々できる】Minecraftを3Dモデリングソフトにした話
i-plug Tech Blog
はじめに こんにちは、新卒1年目のフロントエンドを中心に担当している第3チームの赤星です。 今回はTypeScriptは皆さんが思っている以上に様々なことができる、といったことを私が学生時代の卒業研究で作成した事例をもとに話していこうと思います。 目次 はじめに 目次 Minecraftを3Dモデリングソフトに? 前書き どういったことか どうやって3Dモデリングソフトにしたのか Minecraft内で3Dデータにしたい範囲を選択 Minecraftが提供しているJavaScript開発環境 造形物の範囲を選択する メニューを開き、印刷倍率や3Dデータを受け取りたいメールアドレスを指定 メニュ…
6ヶ月前
記事のアイキャッチ画像
i-plug Tech研修のお話
i-plug Tech Blog
はじめに 初めまして。 株式会社i-plug プロダクトエンジニアリンググループ 第2チームの山岡と申します。 本日は新人研修の一環として始まったTech研修についてお話したいと思います。 はじめに 研修を行うことになったきっかけ 研修するにあたっての準備 研修の目的を改めて設定 工夫したこと 研修を終えて 終わりに 研修を行うことになったきっかけ ある日、HRチームと雑談している中で新卒研修の話をしていました。 そこで「開発の研修は誰がやるのですか?」という話をしたところ、弊社はHR techカンパニーでありながら新卒研修ではTech研修を実施ししていないことが発覚! 更に話を聞くと、配属さ…
7ヶ月前
記事のアイキャッチ画像
新たなデータ分析基盤のアーキテクチャの紹介
i-plug Tech Blog
はじめに こんにちは、データエンジニアリングチームの山野です。今回は、我々のチームが昨年から取り組んできた新しいデータ分析基盤のアーキテクチャについてご紹介し、プロジェクト中に直面した課題とその解決策、そして得られた学びについて共有します。 はじめに 背景と目的 1. データのサイロ化と一貫性の欠如 2. データ増加に伴うパフォーマンスの低下 3. 分析環境のデータ整備が進まない アーキテクチャ概要 Data Source Data Lake Data Ware House 分析と可視化 直面した課題とその解決策 課題1: データの整合性の確保 課題2: パフォーマンスの最適化 課題3: 個人…
7ヶ月前
記事のアイキャッチ画像
ミーティングのためのアジェンダを定期実行で作ってくれるGASスクリプトを生成AIに書いてもらった
i-plug Tech Blog
はじめに 昨今の生成系AIの進歩により、普段取り扱わない領域や言語においても簡単にプログラムが書けるようになってきました。 そこで、今回は生成系AIを利用して、プログラムがどこまで書けるのかを体験してみたいと思います。 はじめに 前提 早速やってみた より詳しくプロンプトを設定する まとめ 前提 今回実現したいプログラムは以下のようなものです。 週次で行われるミーティングのアジェンダとなるドキュメントを自動的に作成してもらう。 内容は人間が書き込むため、テンプレートをコピーした当日のファイルが作成されていれば良い。
8ヶ月前
記事のアイキャッチ画像
flutter_local_notificationsのタップイベントをハンドリングする
i-plug Tech Blog
はじめに こんにちは、i-plugでモバイルアプリのエンジニアをしている鍵山です。 Flutterでローカル通知を扱いたい場合、定番パッケージとして「flutter_local_notifications」を使っていると思います。 この「flutter_local_notifications」を利用して表示した通知のタップイベントをハンドリングする方法を調べた際に、解説している情報があまり見当たらなかったので需要があるかもと思い記事にしたいと思います。
8ヶ月前
記事のアイキャッチ画像
AWS CodeDeployによるブルーグリーンデプロイの深堀り
i-plug Tech Blog
はじめに SREチームの手﨑です。 OfferBoxでは、コンテナのデプロイにAWS CodeDeployを利用したブルーグリーンデプロイ方式を採用しています。このデプロイ方式については、既に多くの情報が公開されていますが、改めてOfferBoxにおける使い方を詳細に整理していきたいと思います。 はじめに ブルーグリーンデプロイとは デプロイワークフローの概要 デプロイ手順の詳細 デプロイ時のモニタリング 現在抱えている課題と対策
9ヶ月前
記事のアイキャッチ画像
スプレッドシートのORMライクなOSSを作っている話(Google Apps Script)
i-plug Tech Blog
はじめに 初めまして。フロントエンドを主に担当している新卒1年目のエンジニアの赤星と申します。 私は個人的にGoogle Apps Script (以下GAS) のライブラリのOSSを開発しているのですが、今回はそのOSSの紹介と、実際にOSSを作って学んだことや感想について述べたいと思います。 目次 はじめに 目次 スプレッドシートのORMライク? 既存のGASでスプレッドシートを操作する際の大変なところ 1. コード管理の煩雑さ 2. 非JSerに優しくない 3. コードのミスを起こしやすい性質 GASsmaについて Prismaのような感覚でスプレッドシートを操作できる 取得だけではなく…
9ヶ月前
記事のアイキャッチ画像
jQueryからReactへの移行方法の紹介
i-plug Tech Blog
はじめに 初めまして、第3チーム所属の小倉です。 昨年度、私たちのチームにはコード保守性の改善を目的としたフロントエンドの刷新というミッションがありました。 本記事ではその中で取り組んだjQueryからReactへの移行方法について紹介します。
10ヶ月前
記事のアイキャッチ画像
AWS Summit Japan 2024へ参加してきました!
i-plug Tech Blog
はじめに SREチームの手﨑です。 6/20~6/21に開催されたAWS Summit Japan 2024に参加してきました! aws.amazon.com 会場は例年どおり幕張メッセです。 SREチームから2名、データエンジニアリングチームから1名の計3名で現地参加してきました。 それぞれのメンバーから印象に残ったセッションやsummit参加に対する感想を記載させていただきます。 はじめに 会場の様子 参加セッションのレポート サーバーレス開発のベストプラクティス~より効果的に、より賢く使いこなすために~ IPv6 on AWS ~Public IPv4 アドレス削減に向けてできることでき…
1年前
記事のアイキャッチ画像
PHPカンファレンス福岡2024参加・LT登壇レポート!
i-plug Tech Blog
はじめに こんにちは、開発基盤チームの桝井です。 PHPカンファレンス福岡2024に弊社から2名、桝井・梅津が参加してまいりました! そして、私はLT登壇もさせていただきました。 今回はそれらのレポートです! はじめに 参加トークのレポート SPLから始める「データ構造」入門 FatControllerは悪か? なぜキャッシュメモリは速いのか 書き込み処理をスケールさせるために必要な非同期処理の基本と考え方 PHPでデータベースを作ってみた 設計の考え方 インターフェースと腐敗防止層編 過去や未来を扱うのは難しい?過去と未来に立ち向かうための勘所 LT登壇のレポート FuelPHPからLara…
1年前
記事のアイキャッチ画像
FlutterのCustomPainterでグラデーションのプログレス・バー(Arc Progress)を作成する
i-plug Tech Blog
はじめに はじめまして、i-plug でモバイルアプリのエンジニアをしている鍵山です。 先日公開された記事の通り、弊社OfferBoxの学生向けアプリはFlutterにて開発しています。Flutter化にあたって新規にデザインされた画面のひとつにプロフィール画面があり、こちらはプロフィールの入力率を分かりやすくグラフィカルに表示しています。 アプリのユーザーである学生が、企業からより多くのオファーをもらうためにはプロフィールの充実が肝要です。反面、細々としたプロフィールの入力は面倒に思われがちです。そこで入力した項目が増える度に画面に動きがあり、さらなる入力を促す。といった仕掛け(UX)になっ…
1年前
記事のアイキャッチ画像
Laravelのファイルアップロード機能実装とテストがやりやすかったので中身を見てみた
i-plug Tech Blog
はじめに 初めまして。第1チームの土井です。 Laravelのファイルアップロード機能を使用する機会があり、ファイルアップロード機能の実装やテストがとてもやりやすいと感じたので共有したいと思います。 はじめに ファイルアップロード機能について flysystem(PHP用のファイルストレージライブラリ)の紹介 設定方法 実装例 ファイルアップロード機能のテストについて 実装例 ファイルアップロード機能の中身 なぜストレージサービスを簡単に切り替えられるのか カスタムストレージについて おわりに ファイルアップロード機能について flysystem(PHP用のファイルストレージライブラリ)の紹介…
1年前
記事のアイキャッチ画像
OfferBoxアプリをFlutterでリプレイスしました
i-plug Tech Blog
はじめに こんにちは、i-plug でモバイルアプリのエンジニアをしている咲枝(さきえだ)です。 元々 iOS エンジニアとして開発をしており、直近2年以上は Flutter での開発を行っています。 現在は、私ともう一名でモバイルアプリの開発をしています。 今回は i-plug が運営する OfferBox アプリを Flutter でリプレイスしたお話をしたいと思います。 はじめに OfferBoxはどんなアプリ? なぜリプレイスに至ったのか 技術構成 CI / CD 状態管理 アーキテクチャ API定義・モック通信 大変だったこと まとめ
1年前
記事のアイキャッチ画像
FuelPHPからLaravelへの移行PJを振り返る
i-plug Tech Blog
はじめに 初めまして。第1チームの池内です。 OfferBoxは2012年にサービスを開始しましたが、稼働当初より使用しているフレームワーク(FuelPHP)のサポート切れをきっかけに、 LaravelへのリプレースPJが2020年から始動しました。 2024/4時点でようやく完了間近のところまで来ましたが、ここまで紆余曲折、多くの成功・失敗がありました。 そこで今回は、PJを大きく前半・後半に分けて振り返ってみたいと思います。 はじめに PJ前半(2020〜2022年) 当初のPJスコープ PJを進めていく上での課題 課題への対応(PJの方針転換) 課題への対応(リプレース手法の簡略化) P…
1年前
記事のアイキャッチ画像
OfferBoxの実行環境を概要図でまとめる
i-plug Tech Blog
はじめに はじめまして。SREチームの手崎です。 普段はi-plugで運用しているOfferBoxのインフラ面を中心とする開発・運用を行っています。 今回はOfferBoxのアーキテクチャについて概要図でまとめたいと思います。 細かな点まで書き始めるときりがないので今回は概要で、今後各項目ごとの詳細などを記載していきたいです。 はじめに OfferBoxの実行環境について Networking & CDN Container & Database CI/CD Monitoring Batch & Worker その他外部連携サービス マルチアカウント構成 おわりに OfferBoxの実行環境に…
1年前