Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

PHP

mockery/mockery の仕組み

PHP

サーバーサイドエンジニアの田実です! 今回はPHPのモックライブラリである mockery/mockery がどのようにして動いているのかを紹介します。 本記事は PHP Advent Calendar 2023 の5日目の投稿になります! コードリーディング 今回紹介するmockery のバー…

Inertia.js によるSPA実装の効率化とその仕組み

サーバーサイドエンジニアの田実です! SPAはMPAよりもユーザ体験が上がる可能性がある*1一方で、開発・運用が複雑になりがちです。APIスキーマの設計・管理、フロントエンドのルーティングの管理、認証認可・CORSなど、データを取得して表示するだけの簡単…

PHPをバージョンアップするための技術と戦略

サーバーサイドエンジニアの田実です! 2023年3月に開催された PHPerKaigi 2023 のパンフレット記事に PHPをバージョンアップするための技術と戦略 というタイトルで寄稿させていただきました*1。技術要素に依らず汎用的な内容で、パンフレット記事だけにし…

PHPStanで引っかかりがちなエラーについてまとめてみた

サーバーサイドエンジニアの田実です! ヤプリの一部のサービスはPHPで実装されており、それぞれのサービスは品質向上を目的として静的解析ツールである PHPStan を導入しています。 PHPStanにより多くの不具合を事前に検知することができるのですが、PHPSta…

SQLite3で管理していたデータの一部をMySQLに移行した

サーバーサイドエンジニアの田実です! YappliのサービスではコンテンツデータをSQLite3で管理しています。SQLite3を使っている理由や課題の詳細は以下の記事に書いています。 tech.yappli.io コンテンツデータ以外にもアプリやアカウントのデータもコンテン…

Yappli CRMの開発者体験を3ヶ月で爆上げした

サーバーサイドエンジニアの田実です! ヤプリではスマホアプリをノーコードで開発できる Yappli のプロダクトだけではなく、アプリや外部システムと連携可能な顧客管理基盤である Yappli CRM というプロダクトも提供しています。Yappli CRMのバックエンドの…

実行時間に1週間かかっていた日次バッチ処理を6分に短縮した話

サーバーサイドエンジニアの田実です! タイトルの通り、完了まで1週間かかっていた日次バッチ処理を6分に短縮して1500倍以上高速化したので、今回はその改善について紹介したいと思います。 587459秒 = 6.7日かかっていたバッチが… 改善して6分程度に! …

symfony/pantherによるJavaScriptを含めた自動テスト

PHP

サーバーサイドエンジニアの田実です! YappliのPHPアプリケーションに symfony/panther を使ってJavaScriptの処理を含めた自動テストを導入したので、 導入の背景とインストール方法などを紹介をしたいと思います。 ※この記事は PHP Advent Calendar 2022 …

YappliにおけるPHPのテストと現状の課題

PHP

サーバーサイドエンジニアの田実です! Yappliでは一部のネイティブAPIのアプリケーションや社内用管理画面、マイクロサービスなどをPHPを使って構築しています。 今回はYappliにおけるPHPのテストと現状の課題について紹介したいと思います。 詳細はこちら…

PHP Conference Japan 2022に参加・登壇してきました!

PHP

サーバーサイドエンジニアの田実です! PHP Conference Japan 2022 に参加・登壇してきました!今回はそのレポートになります! 登壇してきたよ 今回は業務に全く関係ない話ですが登壇してきました! speakerdeck.com プログラミング言語のソースコードをい…

NewRelicをYappliのサービスに適用してみた

サーバーサイドエンジニアの田実です! Yappliではインフラ・アプリケーションの監視、メトリクスの計測にNewRelicを使っています。 今回、YappliのサーバーサイドアプリケーションにNewRelicを適用したので紹介したいと思います。 Go x gRPCなアプリケーシ…

PHPerKaigi 2022 にダイアモンドスポンサーとして協賛しています!

PHP

サーバーサイドエンジニアの田実です。 もうすぐ PHPerKaigi 2022 が始まりますね! 今回も面白そうなセッションばかりで非常に楽しみです。 phperkaigi.jp ヤプリは PHPerKaigi 2022 にダイアモンドスポンサーとして協賛しています!! ヤプリは創業期からP…

PHPのちょっとした静的解析をGo+GitHub Actionsで実施するようにしてみた

こんにちは、エンジニアの尾宇江です。 goでプルリク作ってリリース作業を改善してみた。のエントリーに引き続き、Goを使ったちょっとした改善をした話です。 最初に 書いたコードをcommitした後、「あープリントデバッグで仕込んでたvar_dump消し忘れた」っ…

PHPからGoを呼び出す方法

サーバーサイドエンジニアの田実です! ヤプリではPHPとGoを使っています。ということで(?)、PHPからGoを呼び出す方法について紹介します。 なおこの記事はGoからPHPを呼び出す方法の姉妹投稿(?)となっております。 ※この記事は PHP Advent Calendar 2…

GoからPHPを呼び出す方法

サーバーサイドエンジニアの田実です! ヤプリではGoとPHPを使っています。ということで(?)、GoからPHPを呼び出す方法について紹介します。 なおこの記事はPHPからGoを呼び出す方法の姉妹投稿(?)となっております。 ※この記事は Go Advent Calendar 20…

事業譲渡によるサービス統合をした話

こんにちは。サーバーサイドエンジニアの武井です。他社で稼働していたサービスをYappliのサービスに統合いたしました。統合から1年以上経過しましたので当時を振り返っての経験をお話ししたいと思います。 何を統合したか これは会社の沿革にも書いてあるこ…

PHP Conference Japan 2021でYappliの改善事例を紹介しました!

PHP

サーバーサイドエンジニアの田実です! PHP Conference Japan 2021でYappliの改善事例を紹介してきました! 今回はその登壇・参加レポートになります。 セッションの内容 独自フレームワークPHPアプリケーションの改善戦略というタイトルで発表しました!*1 …

PHPカバレッジ100%の世界

PHPのカバレッジを100%にした話 はじめまして、2月入社の尾宇江です。オーイェーって呼んでほしいです。 すでに、Yappliの新CMSはGo言語でフルリニューアルされているのですが、 一部にはPHPで書かれているリポジトリも残っております。 今回そのリポジトリ…