Yappli Tech Blog

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

DroidKaigi 2023に参加してきました!

こんにちは、株式会社ヤプリでAndroidエンジニアをしている古谷です。 DroidKaigiに参加してきたのでその際の様子をご紹介します。 9/14(木)~9/16(土)の3日間開催され、9/14(木)、9/15(金)はセッションがメイン。9/16(土)はワークショップがメインでした。 2…

iOSDC Japan 2023:プロポーザルを出すためのチームとしての取り組み

こんにちは。iOSグループの古賀です。 今年(2023年)のiOSDCは、私たちのチームから2名が5つのプロポーザルを提出し、そのうち2つが登壇と原稿で採択されました。この記事では、プロポーザルが採択されるまでのチームとしての取り組みを書いています。 (登…

WWDC勉強会を行いました!

こんにちは、iOSエンジニアの西村です。 今年も WWDC23 が開催され数多くのセッションが公開されました。その中から気になるセッションをピックアップし社内で勉強会を行いましたので、その取り組みを紹介します。 WWDC勉強会とは? 勉強会での学びや発見 社…

iOSDCで興味があったセッションについて

こんにちは、iOSチームに所属しています加藤です。 iOSDCにオンライン参加致しましたので、気になったセッションを取り上げたいと思います。 私はiOSチーム以外にも問い合わせのチームに所属しており、 特定の機能などのセッションではなく、サービスにおけ…

iOSDC 2023 個人的にためになった発表

こんにちは、みしまです。 iOSDC 2023 にオンライン参加させていただいたなかで気になった発表を紹介させていただきます。 かつてあったCellの使いまわしによる前の状態が残るあるあるの不具合について、対応が取られてだいぶ改善されていることを知りました…

iOSDC 2023 に初めてスピーカーとして参加しました!

こんにちは。kamimi です。 今年も iOSDC がありましたね。私は今回で3回目の参加ですが、初めてスピーカーとして参加しました!(うれしーー) プロポーザルを3つ出し、そのうち以下の2つを採択いただきました。一つが20分トーク、もう一つがパンフレット…

iOSDC Japan 2023 オフライン初参戦のレポート

iOSDC Japan 2023 参加レポート はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です この度は、iOSDC Japan 2023に初めてオフラインで参加しました。今回はその経験と学びをシェアしたいと思います。 iOSDC Japanは日本最大級のiOS…

プロダクト開発本部LT大会#9を開催しました

こんにちは!データサイエンティストの山本( @__Y4M4MOTO__ )です。 先日、プロダクト開発本部にて9回目のLT大会を開催しました。今回は技術だけにとどまらず自分の好きなものについての発表が数多くあり、聞き応え抜群でした! この記事では、当日の様子…

【小ネタ】Bing AIちゃんIAMポリシー作っといてよ!

こんにちは、SREグループのはぶちん(羽渕)です。 この夏から育てたミニトマト、いちごは順調に育っているのですが、きゅうりが枯れてしまいました プランターの排水性が悪く根腐れしてしまったようです。農業はパラメーターが多くて難しいですね。 今回は…

BigQuery内にある多重エンコードされたURLのデコード

こんにちは!データサイエンティストの山本です( @__Y4M4MOTO__ )です。 今回は、ヤプリのデータ基盤内にあるウェブビューURLのデコードに取り組んでみました。この記事では、その際につまづいたポイントやその解決策について記します。 ウェブビューURLの…

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

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

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

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

「『Docker よくわからない』を終わりにする本」を読んだので社内LT発表してきた話

こんにちは!データサイエンティストの山本( @__Y4M4MOTO__ )です。 プロダクト開発本部では毎月「プラットフォーム技術共有会」という技術共有の場が設けられています。以前、下記の技術書を読んでこちらの会で発表してきました。 zenn.dev この記事では…

パスワードレス認証に移行してみた(Android Credential Manager)

Androidのパスワードレス認証と移行方法 2022年5月5日(世界パスワードデー)に、Apple、Google、Microsoftは共同でFIDOとW3Cをサポートし、汎用的なパスワードレスログイン標準の策定を発表しました。この発表により、パスワードの代わりに生体情報などの認…

VueでWAI-ARIA Rolesに準じたComboboxを作ろう

フロントエンドエンジニアのこん(@k0n_karin)です! ヤプリでは毎四半期の末頃になると、各自が期初に立てた目標を達成するべく大量の記事が投稿されます!私ももれなくそのうちの一人です! WAI-ARIA、Roleとは 十分調べて記事執筆しておりますが、もし間違…

戦術的DDDの側面でコーディング規約を作る取り組みを始めた話

概要 こんにちは。サーバーサイドエンジニアの窪田です。 ヤプリのプロダクトではよりメンテナンス性の高いシステムを作るために、DDDを採用しています。 しかし、歴史が長い分一部のコードでは開発者によって異なる書き方をしたり、教科書的な書き方から大…

今年も社内で Google I/O 2023 Android 勉強会 をしてました 🤖

こんにちは、Androidエンジニアの近藤(ふなち@_hunachi)です 去年も行っていたGoogle I/O勉強会ですが、今年も行いました! そこで、去年からのアップデートや、今年学べたことを紹介していきたいと思います。チームの雰囲気も感じ取ってもらえると嬉しい…

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

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

Zapier Tables で Slack でアサインするときの重複排除してみた

Zapier Tables でステート管理を行い Slack で人をアサインするときの重複排除する方法について

New RelicとSalesforceをZapierで繋いで、アラートを運用担当者にSlackでメンションしてみた

こんにちは、インテグレーション・エンジニアの尾宇江です。 聞き慣れないインテグレーション・エンジニアという職種ですが、 お客様がYappliを利用する際の「ポイントカードを表示したいけど、基幹システムの既存のAPIはYappliのポイントカード表示用APIと…

Google CloudのTech Acceleration Programに参加した話

ヤプリのSREマネージャー望月です。 近況としては以前のしいたけ栽培の失敗を教訓に、栽培はプロに任せて成果物だけいただくという素晴らしいサービス(普通の収穫体験)にハマっています。 先日SRE・サーバーサイドエンジニア・セキュリティエンジニアの6名で…

AWS GameDayに初挑戦して無事入賞してきました!

こんにちは、SREグループのはぶちん(羽渕)です。 この夏はミニトマト、きゅうり、いちごの栽培に初挑戦しているのですが、最近は YouTube でプロの農家の方が余すこと無く知識を共有してくれるので今のところ順調に育てることができています。ベランダでも…

TypeScriptとJavaScriptのclass継承の違い

概要 こんにちは。サーバーサイドエンジニアの窪田です。 ヤプリでは Webフロントエンド (Nuxt.js, Next.js) 自動化しているアプリのbuild処理 (Node.js) 一部のPush通知の送信基盤 (Node.js) でJavaScriptとTypeScriptを使っていたり、試験的にDenoを使った…

技術記事共有用のSlackチャンネル #talk-tech-news と期待している効果

サーバーサイドエンジニアの田実です! ヤプリのSlackには #talk-tech-news という技術記事や技術ネタを共有するチャンネルがあります。 今回はこの技術共有用チャンネルに期待している効果や共有する技術記事を探す方法を紹介したいと思います! 育休中なの…

cyberagent/open-calm(日本語大規模言語モデル)をAWS SageMakerで動かす

概要 こんにちは。サーバーサイドエンジニアの窪田です。 ChatGPTやGoogle Bard、そのほか色々な生成AIが次々と世の中に出る中、ソフトウェアエンジニアのあり方も変わっていきそうですね。 ヤプリ社内でも生成AIについての話題はかなり盛り上がっています。…

trocco で App Store のレビューをスプレッドシートへ書き出す

こんにちは!データサイエンティストの山本( @__Y4M4MOTO__ )です。 ヤプリは去年、 レビューダイアログ機能 をリリースしました。これによりレビューを用いた効果検証を行いたい場面が増えています。そのため、現在、 iTunes Search API と trocco を使っ…

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

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

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

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

セキュリティSaaS「Shisho Cloud」を使ってAWSリソースの設定値診断を行ってみた

こんにちは!SRE三橋です。 突然ですがSecurity Hub使っていますか?AWSを利用している企業様であればAWS Security Hubで継続的なセキュリティコンプライアンス対応状況の可視化、対策を実施していることが多いかと思いますが、今回はサードパーティ製のセキ…

Aurora MySQL のスローログを BigQuery に取り込んでみた

SREチームの中原です。 今回は Aurora MySQL のスロークエリーのログを BigQuery に取り込む方法について書いてみます。 TL;DR Aurora からスローログを取得するには CloudWatch Logs から awslogs コマンドでもってくるのが楽だよ スローログをパースさせる…