Yappli Tech Blog
https://tech.yappli.io/
株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。
フィード
SSL証明書をTrust Storeに登録し、HTTPS通信における証明書の正当性検証について学ぶ
Yappli Tech Blog
こんにちは、サーバーサイドグループのマネージャーの鬼木です。 今回、直近でSSL証明書を取り扱うタスクを担当し、HTTPS通信について学びになることが多かったのでその知見共有の記事になります。 SSLの仕組み 本題に入る前に簡単にSSLの仕組みについて説明したいと思います。 HTTPS通信をする際、TLSプロトコルを用いてクライアント・サーバー間で通信を行います。HTTPS通信はHTTP通信に比べて暗号化通信ができることが特長ですが、暗号化通信成立までにいくつかの工程を挟みます。 その中でクライアント側は通信するサーバーの正当性検証を行います。 正当性検証 サーバー側はHTTPS通信を行うにあ…
7日前
やらない後悔より、やって大成功!アプリ申請前にやるべき3つのポイント 〜iOS無限却下脱却編〜
Yappli Tech Blog
こんにちは お笑いに全く詳しくないのにM-1に感化されているアプリ申請グループの野村です。 ヤプリでは数多くのお客様にご利用いただいており、その数は800アプリを超えます。 アプリをApple社、Google社に審査提出する回数も多く、今年は1700件を超えました。 ヤプリではこの審査提出を代行しています。数多くのアプリをスムーズにリリースするためには、いかに審査却下(リジェクト)を回避できるかという部分が重要です。過去のノウハウを活かす事で今年は審査通過率が月平均85%を超え、一番高かった月では92%までになりました。 今回はリジェクトになりやすいポイント3点を回避方法と共に紹介します。 有…
7日前
「ヤプリQA課題の見える化」という題で登壇しました #Yappli Tech Conference 2024
1
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024(1枚目)の23日目の記事です アーカイブ スライド 準備編 発表(収録)編 まとめ PR ヤプリでQAエンジニアをしている山口(@Myamaguchi75201)です。 今年の10月17日に開催された「Yappli Tech Conference 2024」にて、QAグループとしては2回目となる登壇をしてきました。 アーカイブ youtu.be スライド speakerdeck.com 今回は発表準備から当日の登壇の様子についてレポートします。 準備編 まず開催にあたり、今年はQAとして何をどんな内容で発表するのかを、事前にQ…
7日前
2回目の addSublayer
Yappli Tech Blog
こんにちは、iOSエンジニアの西村です。 皆さんは、一度addSubviewで追加されたViewを、別のViewに再度addSubviewすると、そのViewが入れ替わる仕組みをご存知でしょうか?ドキュメントにも記載があるのでご存じの方はいらっしゃるかと思います。 addSubview(_:) | Apple Developer Documentation Views can have only one superview. If view already has a superview and that view is not the receiver, this method remove…
8日前
Laravelのジョブですべてのリトライに失敗したらエラー通知させる方法
Yappli Tech Blog
はじめに 【前提】Laravelのジョブの失敗時の挙動について すべてのリトライに失敗したらエラー通知させる方法 リトライしたい例外をcatch リトライさせるためだけの独自例外をつくる まとめ さいごに はじめに こんにちは。サーバーサイドエンジニアの佐野きよ(@Kiyo_Karl2)です。 弊社では一部のサービスで分析のためRedshiftを利用しています。利用シーンとしては、例えば「ユーザーにより商品の購買が行なわれたときにジョブを利用してこの購買データをバックグラウンドでRedshiftへ投入する」といった感じです。(本当は脱Redshiftしたい・・) しかし、Redshiftではデ…
8日前
【Go】イテレータを用いた二分木探索を使ってクリスマスツリーを描いて遊ぶ
Yappli Tech Blog
はじめに アドベントカレンダーでクリスマスの日に順番が回ってきたので、クリスマスツリーを描きます🌲🎅 こんにちは、株式会社ヤプリ サーバーサイドエンジニアの坂本(@mohvuba)です。 なぜクリスマスツリー? ヤプリでは月に1回程度、Go界隈で有名なtenntennさんをお招きしてGoの勉強会を開催しています。 その中でここ最近、ツリー構造のオブジェクトの二分木探索をイテレータを用いて行うという内容のものがありました。 冒頭で書いたように、私がアドベントカレンダーで25日の担当になり、 12/25といえばクリスマス、クリスマスといえばクリスマスツリー! ということで、タイトル通りの記事を書く…
8日前
OpenSSLを1.0.2からバージョンアップしたら本番環境でSOAP通信できなくなった話
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024 の8日目の記事です。 はじめに 発生した事象の詳細と原因 なぜ本番環境でのみ発生していたのか? testssl.sh 本番 ステージング どのように解決したか まとめ さいごに はじめに こんにちは。サーバーサイドエンジニアの佐野きよ(@Kiyo_Karl2)です。 先月PHP + Laravel on EC2で動いているサービスをECS/Fargateへ移行したのですが、その際にサーバーにインストールされているOpenSSLのバージョンが1.0.2と古いバージョンだったのでついでにアップデートを実施しました。 アップデートを…
8日前
ユニバーサルリンクの仕組みと実装方法
Yappli Tech Blog
こんにちは、iOSエンジニアの西村です。 iPhoneでネットサーフィン中にウェブサイトのリンクをタップしたら、アプリが起動してコンテンツが表示された経験はないでしょうか?これはユニバーサルリンクという技術で実現されています。 本記事では、ユニバーサルリンクの基本的な仕組み、実装の流れ、そして開発時に役立つ情報について紹介していきます。 こちらは ヤプリ #1 Advent Calendar 2024 21日目の記事になります! ユニバーサルリンクの仕組み AASA ファイルとは? ユニバーサルリンクを使用するまでの流れ 実装の流れ サーバー側の対応 AASA ファイルの用意 パターンの定義 …
8日前
【iPadOS 18】Tab barのUI / UXの大幅アップデート
Yappli Tech Blog
はじめに iPadOS 18のTab barについて WWDC24にてTab barの更新が発表 Human Interface Guidelineでは… 新たなTab barの構築方法 SwiftUIによるTab barの構築 UIKitによるTab barの構築 最後に はじめに みなさん、こんにちは!ヤプリでiOSエンジニアをしております、白数 (@cychow_app) です。 本記事は「ヤプリ Advent Calendar 2024」のDay 17となります! 本記事では、iPadOS 18から大きく変更されたTab barに関して、以下の内容に焦点を当てて解説していきます。 WW…
10日前
PC が壊れた・・・!のでどうしても iPad だけで開発したい!!(with GitHub Codespaces)
Yappli Tech Blog
こんにちは。iOS エンジニアの kamimi です。🌞 いきなり個人的な話で恐縮ですが、最近 PC(Macbook)が壊れました・・・!💥 「やばい・・・仕事どうするんだ・・・」 仕事に関してはたいていまずは会社から代替機を借りるという選択肢があると思うのですが、私の場合会社との物理的距離があまりにも大きいために不可能でした。。 となると今いる場所、今持っているものでどうにかするしかない。。!ということで必須に検討した結果、手元にある iPad での開発に挑戦しました! ということで、 はじまりはじまり。 いきなりですが結論だけ知りたい人のために先にお伝えすると、 新規かつ小規模な iOS …
10日前
プログラミング初心者がAndroidアプリ制作にチャレンジした話
Yappli Tech Blog
こんにちは! ヤプリのアプリ申請チームのあきなです。 この記事は Yappli Advent Calendar 2024(2枚目)の21日目の記事です! 自己紹介とチャレンジの背景 普段、私は「アプリ申請チーム」という名前の通り、アプリの申請作業をメインに担当しています。 いつもの業務に関わる記事もアドベントカレンダー1日目に書いているので、ご興味がある方はこちらも見てみてください! tech.yappli.io 業務効率化のために、Google Apps Script(GAS)やJavaScriptを使うことはありますが、それ以外の技術にはあまり触れたことがありません。 今回アプリを作ってみ…
13日前
Aurora MySQL 3 アップグレード時の検証まわりのおはなし
Yappli Tech Blog
Aurora MySQL 3 へのアップグレードで、ジェネラルログやスロークエリーを使って検証したあれこれについて
13日前
内製受付アプリの API を Cloud Run × Swift で実装してみた
Yappli Tech Blog
こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 これまで SaaS を利用していた受付アプリを内製化した iPad アプリに移行する方針となり、その API を Cloud Run × Swift を利用して実装しました。 背景 2020 年にリモートワークの社員が増加しつつ来客数も減少している中で、年間 100 万円以上もかかっていた受付アプリのコストを削減すべく、内製化した受付アプリのリリースに向けて動き出したことが背景です。 技術選定 社内アプリということとアプリチーム主導で進めるということで、触れてみたい技術や新しい技術を取り入れつつ、新技術の…
15日前
フロントエンドのAPI通信における構造化の模索
Yappli Tech Blog
はじめに フロントエンドエンジニアの @aose_developer です。 自分がプログラミングにハマったきっかけでもありますが、「いかに構造化された可読性の高いコードが書けるか」を意識して「ああでもないこうでもない」と模索するのが専ら趣味です。 直近でも、開発業務を通じてAPI通信周りの実装とコードの構造化について模索していたので、今回はその備忘録的な記事を残したいと思います。 この記事は Yappli Advent Calendar 2024(2枚目) の12/12の記事です。 はじめに 前置き この記事について この記事の目的 どんな人が対象か 読者にどうなってほしいか 前提共有 使用…
15日前
StorybookのDocsを自動生成に頼らず泥臭くリッチに手書きする方法
Yappli Tech Blog
モチベーション 前置き 基本方針 想定読者 書くこと 書かないこと 完成形 参考リンク 作り方 環境構築 環境 初期化 Storybookに表示するまで Storyを操作可能にする 本題 ArgsTableの基本的な書き方 必須のマークを追加 カテゴリー分け 共通の情報をmetaに移動 型定義の変更 パーツのPropsを追加 依存関係のあるPropsとコントロールの修正 概要の追記 Tips お約束 モチベーション 前略、ヤプリ #1 Advent Calendar 2024の18日目の記事です。shadcn/ui(Radix UI)などコンポジションパターンでの利用が前提のライブラリは次の理…
16日前
チームを異動して気付いたこと
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024 の16日目の記事です。 チーム異動のきっかけ 異動して気付いたこと 大変だったこと 問い合わせチームの経験が活きたこと 最後に こんにちは!アプリ申請チームの山崎です。 ヤプリには、申請代行をメインとするアプリ申請チームがあります。私は今年の4月からアプリ申請チームに異動しました。 それまでは、お客様からのメールやチャット対応を行う問い合わせ対応チームに所属していました。 今日は、チームを異動して感じたことや気付いたことについてお話ししたいと思います! チーム異動のきっかけ まず簡単に経緯をお話しすると、私が所属していたカスタ…
17日前
新米エンジニアが身につけるべき習慣
Yappli Tech Blog
はじめに 開発でつまづいた時 Slackを見る ドキュメントを見る 人に聞く DMを極力使用しない 質問の仕方に気を付ける 「詳細はスレッドに記載」を控える 開発で気を付けること 15分ルール To Doメモを残す アウトプットを残す 仕様や実装に疑問を持つ おわりに はじめに ヤプリでサーバーサイドエンジニアとして内定者インターンをしている籔本です! 師走になり、いよいよ「インターン生」という肩書きが通用する期間が残り短くなり、気を引き締めなければ思い始めています。 以前に私が書いた、こちらのブログもぜひご覧ください! tech.yappli.io さて、私はヤプリのインターンに参加するまで…
19日前
YappliのCMSにおけるVuexとの付き合い方と今後の展望
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024 の13日目の記事です。 Nuxtを採用した理由 当時のアーキテクチャの方針 現在の課題 1. アプリケーション全体がVuexと密結合になっている コード例 2. Vuexの移行コストが高い 3. グローバルで使わない状態もVuexに存在している 4. 肥大化したVuexモジュールの認知負荷が高い 5. dispatchが型安全でない どうするのが良さそうだったか 1. Vuexを参照する層を限定する 2. ラッパーを噛ませてVuexを参照する これからの旅路 必要な分だけグローバルな状態管理をする グローバルで持ちたい状態やロ…
20日前
Proxyman を活用してエラーの動作検証や不具合調査を行う
Yappli Tech Blog
こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 🗒️ 本記事は ヤプリ #2 Advent Calendar 2024 の 9日目 の投稿です。 アプリエンジニアの方は使ったことのある人が多いと思いますが、今回は標題の Proxyman の活用について「エラーの動作検証」と「不具合調査」の 2点 紹介できたらと思います🙌🏻 エラーの動作検証 正常系はともかく、異常系の動作検証は例えばサーバーをモック化してエラーレスポンスを返すようにしたり、何かと準備が大変でコストが高かったりします。 そんなコストの高いエラーの動作検証ですが、Proxyman の Ma…
22日前
QAとしての意識の変化について考えてみた
Yappli Tech Blog
はじめに 初めまして。 QAの日沢と申します。 QAとして13年目になり、一度これまでの自分の軌跡みたいなものを振り返った時に思ったこと、感じたことをお伝えしたいと思います。 これまでの経歴 まずは簡単にこれまでの経歴について話したいと思います。 まとめるとこんな経歴になります。 チームスポーツと一緒で、同じ役割(QA)でもチーム(会社や環境)によって求められるものが変わります。 ここまでの自分を振り返り、ヤプリに行き着いた中で感じた、QAとしての意識で変わらない部分と変わった部分をまとめてみました。 ただ、これはあくまで私自身のケースであり、他にもいろんな考え方があるのも承知の上です。 なの…
22日前
「ヤプリにおける保守課題を解決するモジュール化戦略」という題で登壇しました #Yappli Tech Conference 2024
Yappli Tech Blog
こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 Yappli Tech Conference 2024~Invitation to Empathy~ - connpass で 「ヤプリにおける保守課題を解決するモジュール化戦略」というテーマで登壇しました! アーカイブ動画 www.youtube.com スライド speakerdeck.com 発表概要 ヤプリでは、ノーコードで高品質なネイティブアプリを作成できるアプリプラットフォームを提供しています。 その仕組みは、個社ごとのアプリを同じコードベースからビルド時に組み立てることで実現しており、そんな…
22日前
新卒SREが挑む!New RelicでYappli Data Hubの監視を劇的強化した話
Yappli Tech Blog
はじめに 想定読者 Yappli Data Hubとは 課題 影響範囲(対象クライアント)がわからない どの部分で問題が起こっているかがわからない そもそもインシデントに気付けない Google Cloudのリソース監視 ログの整備 アラートの強化 ダッシュボードの作成 おわりに はじめに 初めまして、私は今年度4月に24卒としてヤプリに入社した眞田と申します。 この記事は「New Relic Advent Calendar 2024」と「ヤプリ Advent Calendar 2024」の記事となります。 他にもたくさん興味の惹かれるような記事がございますので、ぜひご覧ください。 みなさん、…
22日前
protoファイルからAPIドキュメントを自動生成するまでのハンズオン
Yappli Tech Blog
ヤプリ Advent Calender 2024の5日目の記事です。 はじめに こんにちは、サーバーサイドエンジニアの中川です。 API開発時にリクエストやレスポンス内容を定義して、フロントやネイティブのエンジニアと合意をとってから開発を進めると思います。 最初に仕様定義してるとはいえ、実装途中で「やっぱりこっちの方がいい」となって双方合意の元API仕様を変更することもよくあると思います。 そうなった時、もし社内ドキュメントなどコードとは別にAPIドキュメントをまとめていた場合はそっちも変更する必要がありますよね。変更内容が少なければすぐに変更できますが、変更量が多い場合はドキュメント更新は後…
1ヶ月前
シニアエンジニアが若手エンジニアが企画した勉強会に参加してみた
Yappli Tech Blog
この記事はヤプリ Advent Calendar 2024 の6日目の記事です! こんにちは。フロントエンドエンジニアの武井です。 前回こちらでブログを書いてからずいぶんと間が空いてしまいましたが、アドベントカレンダーをやろうということで重い腰をあげてみました。 ブログも書かずに潜行しているうちにアラフィフを迎えてしまい。シニアエンジニアというかシニアになってしまいました。 革新的な技術のめまぐるしいフロントエンド界隈を定年まで生き抜くために、若手が企画する勉強会に参加してみました。 「おじいちゃん。もうjQueryなんて使ってないのよ?」
1ヶ月前
SSL通信がエラーになったので調べてみた
Yappli Tech Blog
どうも、株式会社ヤプリのサバゲー部所属のわたなべです。 先日、夏に提携したばかりのフラーさんも含めてサバゲー部の活動をしてきて、久しぶりの筋肉痛になりました。 もっと鍛えねば、と思いました。 さて、今回はSSL通信がエラーになって、いろいろ調べて大変だった話をしたいと思います。 ある日エラーは突然に… 新しい証明書を配置してもエラーが出ちゃう? まずは状況の再現から 原因調査してみるも… あとは、中間CA証明書を配置するだけ で、どうすればよかったんだろ?的な結論 謎の解明:ローカルのPCからのcurlコマンドだとなぜ動いたのか? 最後に ある日エラーは突然に… とある日、いつものように仕事を…
1ヶ月前
BigQuery上にあるUDFをdbt macroで管理するようにした話
Yappli Tech Blog
この記事は dbt Advent Calendar 4日目&Yappli Advent Calendar 4日目の記事です。 こんにちは! データサイエンス室の山本(@__Y4M4MOTO__)です。 ヤプリではdbtを用いて分析用データ基盤を構築しています。過去の記事で、UDFはdbtで管理せずBigQuery上に置く運用を採っているとの旨を書きました。 BigQueryのUDFはdbtプロジェクトでは管理せず、UDF用のデータセットを用意することで管理していました。この管理方法を採っていた理由は、UDFとして実装した処理をデータ基盤だけでなくアドホックな分析でも利用できるようにするためです…
1ヶ月前
JSConf JPに参加しました
Yappli Tech Blog
この記事はヤプリ Advent Calendar 2024 4日目の記事です! はじめに フロントエンドエンジニアの平川です。 今回は11/23(土)に開催されたJSConf JPに参加してきたのでそのレポートです。 jsconf.jp 印象に残ったセッション 幸せの形はどれも似ているが、不幸なプロジェクトはそれぞれの形がある スライド WebアプリケーションにおけるパフォーマンスバジェットやWeb Vitalsという指標について、Light HouseとChorome DevToolsを使ったパフォーマンスの改善方法についての内容でした。 私個人として恥ずかしながらLight Houseは見…
1ヶ月前
「内定者インターン時代に半年かけて作った全社横断のSlackデータ基盤、TROCCOなら爆速構築できる説」の検証
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024(2枚目) 、 TROCCO® Advent Calendar 2024 の12/3の記事です。 こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 内定者インターン時代に全社横断のSlackデータ基盤を構築しました。作成したデータ基盤はSlack APIを叩いてその結果をBigQueryへ格納するものだったのですが、Pythonで実装したところとても工数がかかり、運用開始まで半年(正確には5ヶ月)かかりました…。その後、「Pythonで実装した処理、TROCCOならサクッと作れるのでは…
1ヶ月前
社内でDroidKaigi 2024の視聴会を開催してみました
Yappli Tech Blog
こちらの記事はヤプリ Advent Calendar 2024 10日目の記事です。 こんにちは、Androidエンジニアの伊藤です😆 2024年9月11日(水) - 13日(金)の3日間でDroidKaigiがありましたね!今年で10年目を迎えたこともあり、知名度も高まっています。 海外からの登壇者も多数参加され、大盛り上がりのイベントだったのを覚えています! 当時の記録もブログに書いてありますので、ぜひチェックしてみてください! tech.yappli.io さて、今回はそんなDroidKaigi 2024について Android以外のエンジニアの方も気軽に参加できるような動画視聴会を社内…
1ヶ月前
Findy Lunch LTに『ヤプリのデータカタログ整備 1年間の歩み』という題で登壇しました!
Yappli Tech Blog
この記事は Yappli Advent Calendar 2024(1枚目) の初日の記事です。 明日以降もヤプリ社員が様々な記事を毎日投稿していきますので、ぜひお読みください!🙌 こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 11/28(木)に開催されたFindy Lunch LT『データカタログ事例から学ぶメタデータ管理の実態』に表題のタイトルで登壇してきました! findy.connpass.com この記事では、その時の登壇資料や発表中では割愛した内容などについて記しています。 登壇資料 補足 「①dbt導入と並行したdbt docs整備…
1ヶ月前