Yappli Tech Blog

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

Translation APIとAccessibility APIを使ってSlackやDiscordのメッセージを自動翻訳する

iOS 18とmacOS Sequoiaでは新しくTranslation APIが利用できるようになりました。それなりの品質の翻訳APIが無料で使い放題というのは非常にお得で、おそらく代替になるものは他に存在しません。ですので活用できるところがあれば積極的に使っていくといいで…

Ink APIさわってみた

こんにちは、Androidグループに所属しているにゃふんた(nyafunta9858)です。 今回は、なかなか試せていなかったAndroidXの新しいライブラリを弊社のYappdateDayを使って触ってみましたので、そちらについてお話してみたいと思います。 YappdateDayについて…

SSL証明書をTrust Storeに登録し、HTTPS通信における証明書の正当性検証について学ぶ

こんにちは、サーバーサイドグループのマネージャーの鬼木です。 今回、直近でSSL証明書を取り扱うタスクを担当し、HTTPS通信について学びになることが多かったのでその知見共有の記事になります。 SSLの仕組み 本題に入る前に簡単にSSLの仕組みについて説明…

やらない後悔より、やって大成功!アプリ申請前にやるべき3つのポイント 〜iOS無限却下脱却編〜

iOS

こんにちは お笑いに全く詳しくないのにM-1に感化されているアプリ申請グループの野村です。 ヤプリでは数多くのお客様にご利用いただいており、その数は800アプリを超えます。 アプリをApple社、Google社に審査提出する回数も多く、今年は1700件を超えまし…

「ヤプリQA課題の見える化」という題で登壇しました #Yappli Tech Conference 2024

この記事は Yappli Advent Calendar 2024(1枚目)の23日目の記事です アーカイブ スライド 準備編 発表(収録)編 まとめ PR ヤプリでQAエンジニアをしている山口(@Myamaguchi75201)です。 今年の10月17日に開催された「Yappli Tech Conference 2024」にて…

2回目の addSublayer

iOS

こんにちは、iOSエンジニアの西村です。 皆さんは、一度addSubviewで追加されたViewを、別のViewに再度addSubviewすると、そのViewが入れ替わる仕組みをご存知でしょうか?ドキュメントにも記載があるのでご存じの方はいらっしゃるかと思います。 addSubview…

Laravelのジョブですべてのリトライに失敗したらエラー通知させる方法

はじめに 【前提】Laravelのジョブの失敗時の挙動について すべてのリトライに失敗したらエラー通知させる方法 リトライしたい例外をcatch リトライさせるためだけの独自例外をつくる まとめ さいごに はじめに こんにちは。サーバーサイドエンジニアの佐野…

【Go】イテレータを用いた二分木探索を使ってクリスマスツリーを描いて遊ぶ

Go

はじめに アドベントカレンダーでクリスマスの日に順番が回ってきたので、クリスマスツリーを描きます こんにちは、株式会社ヤプリ サーバーサイドエンジニアの坂本(@mohvuba)です。 なぜクリスマスツリー? ヤプリでは月に1回程度、Go界隈で有名なtenntenn…

OpenSSLを1.0.2からバージョンアップしたら本番環境でSOAP通信できなくなった話

この記事は Yappli Advent Calendar 2024 の8日目の記事です。 はじめに 発生した事象の詳細と原因 なぜ本番環境でのみ発生していたのか? testssl.sh 本番 ステージング どのように解決したか まとめ さいごに はじめに こんにちは。サーバーサイドエンジニ…

ユニバーサルリンクの仕組みと実装方法

iOS

こんにちは、iOSエンジニアの西村です。 iPhoneでネットサーフィン中にウェブサイトのリンクをタップしたら、アプリが起動してコンテンツが表示された経験はないでしょうか?これはユニバーサルリンクという技術で実現されています。 本記事では、ユニバーサ…

【iPadOS 18】Tab barのUI / UXの大幅アップデート

はじめに iPadOS 18のTab barについて WWDC24にてTab barの更新が発表 Human Interface Guidelineでは… 新たなTab barの構築方法 SwiftUIによるTab barの構築 UIKitによるTab barの構築 最後に はじめに みなさん、こんにちは!ヤプリでiOSエンジニアをして…

PC が壊れた・・・!のでどうしても iPad だけで開発したい!!(with GitHub Codespaces)

こんにちは。iOS エンジニアの kamimi です。 いきなり個人的な話で恐縮ですが、最近 PC(Macbook)が壊れました・・・! 「やばい・・・仕事どうするんだ・・・」 仕事に関してはたいていまずは会社から代替機を借りるという選択肢があると思うのですが、私…

プログラミング初心者がAndroidアプリ制作にチャレンジした話

こんにちは! ヤプリのアプリ申請チームのあきなです。 この記事は Yappli Advent Calendar 2024(2枚目)の21日目の記事です! 自己紹介とチャレンジの背景 普段、私は「アプリ申請チーム」という名前の通り、アプリの申請作業をメインに担当しています。 …

Aurora MySQL 3 アップグレード時の検証まわりのおはなし

Aurora MySQL 3 へのアップグレードで、ジェネラルログやスロークエリーを使って検証したあれこれについて

内製受付アプリの API を Cloud Run × Swift で実装してみた

こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 これまで SaaS を利用していた受付アプリを内製化した iPad アプリに移行する方針となり、その API を Cloud Run × Swift を利用して実装しました。 背景 2020 年にリモートワークの…

フロントエンドのAPI通信における構造化の模索

はじめに フロントエンドエンジニアの @aose_developer です。 自分がプログラミングにハマったきっかけでもありますが、「いかに構造化された可読性の高いコードが書けるか」を意識して「ああでもないこうでもない」と模索するのが専ら趣味です。 直近でも…

StorybookのDocsを自動生成に頼らず泥臭くリッチに手書きする方法

モチベーション 前置き 基本方針 想定読者 書くこと 書かないこと 完成形 参考リンク 作り方 環境構築 環境 初期化 Storybookに表示するまで Storyを操作可能にする 本題 ArgsTableの基本的な書き方 必須のマークを追加 カテゴリー分け 共通の情報をmetaに移…

チームを異動して気付いたこと

この記事は Yappli Advent Calendar 2024 の16日目の記事です。 チーム異動のきっかけ 異動して気付いたこと 大変だったこと 問い合わせチームの経験が活きたこと 最後に こんにちは!アプリ申請チームの山崎です。 ヤプリには、申請代行をメインとするアプ…

新米エンジニアが身につけるべき習慣

はじめに 開発でつまづいた時 Slackを見る ドキュメントを見る 人に聞く DMを極力使用しない 質問の仕方に気を付ける 「詳細はスレッドに記載」を控える 開発で気を付けること 15分ルール To Doメモを残す アウトプットを残す 仕様や実装に疑問を持つ おわり…

YappliのCMSにおけるVuexとの付き合い方と今後の展望

この記事は Yappli Advent Calendar 2024 の13日目の記事です。 Nuxtを採用した理由 当時のアーキテクチャの方針 現在の課題 1. アプリケーション全体がVuexと密結合になっている コード例 2. Vuexの移行コストが高い 3. グローバルで使わない状態もVuexに存…

Proxyman を活用してエラーの動作検証や不具合調査を行う

iOS

こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 ️ 本記事は ヤプリ #2 Advent Calendar 2024 の 9日目 の投稿です。 アプリエンジニアの方は使ったことのある人が多いと思いますが、今回は標題の Proxyman の活用について「エラー…

QAとしての意識の変化について考えてみた

QA

はじめに 初めまして。 QAの日沢と申します。 QAとして13年目になり、一度これまでの自分の軌跡みたいなものを振り返った時に思ったこと、感じたことをお伝えしたいと思います。 これまでの経歴 まずは簡単にこれまでの経歴について話したいと思います。 ま…

「ヤプリにおける保守課題を解決するモジュール化戦略」という題で登壇しました #Yappli Tech Conference 2024

こんにちは、ヤプリで iOS エンジニアをしている三宅 (@tsushi130) です。 Yappli Tech Conference 2024~Invitation to Empathy~ - connpass で 「ヤプリにおける保守課題を解決するモジュール化戦略」というテーマで登壇しました! アーカイブ動画 www.yout…

新卒SREが挑む!New RelicでYappli Data Hubの監視を劇的強化した話

はじめに 想定読者 Yappli Data Hubとは 課題 影響範囲(対象クライアント)がわからない どの部分で問題が起こっているかがわからない そもそもインシデントに気付けない Google Cloudのリソース監視 ログの整備 アラートの強化 ダッシュボードの作成 おわ…

protoファイルからAPIドキュメントを自動生成するまでのハンズオン

ヤプリ Advent Calender 2024の5日目の記事です。 はじめに こんにちは、サーバーサイドエンジニアの中川です。 API開発時にリクエストやレスポンス内容を定義して、フロントやネイティブのエンジニアと合意をとってから開発を進めると思います。 最初に仕様…

シニアエンジニアが若手エンジニアが企画した勉強会に参加してみた

この記事はヤプリ Advent Calendar 2024 の6日目の記事です! こんにちは。フロントエンドエンジニアの武井です。 前回こちらでブログを書いてからずいぶんと間が空いてしまいましたが、アドベントカレンダーをやろうということで重い腰をあげてみました。 …

SSL通信がエラーになったので調べてみた

SSL

どうも、株式会社ヤプリのサバゲー部所属のわたなべです。 先日、夏に提携したばかりのフラーさんも含めてサバゲー部の活動をしてきて、久しぶりの筋肉痛になりました。 もっと鍛えねば、と思いました。 さて、今回はSSL通信がエラーになって、いろいろ調べ…

BigQuery上にあるUDFをdbt macroで管理するようにした話

この記事は dbt Advent Calendar 4日目&Yappli Advent Calendar 4日目の記事です。 こんにちは! データサイエンス室の山本(@__Y4M4MOTO__)です。 ヤプリではdbtを用いて分析用データ基盤を構築しています。過去の記事で、UDFはdbtで管理せずBigQuery上に…

JSConf JPに参加しました

この記事はヤプリ Advent Calendar 2024 4日目の記事です! はじめに フロントエンドエンジニアの平川です。 今回は11/23(土)に開催されたJSConf JPに参加してきたのでそのレポートです。 jsconf.jp 印象に残ったセッション 幸せの形はどれも似ているが、不…

「内定者インターン時代に半年かけて作った全社横断のSlackデータ基盤、TROCCOなら爆速構築できる説」の検証

この記事は Yappli Advent Calendar 2024(2枚目) 、 TROCCO® Advent Calendar 2024 の12/3の記事です。 こんにちは!データサイエンス室(以下、DS室)の山本です(@__Y4M4MOTO__)です。 内定者インターン時代に全社横断のSlackデータ基盤を構築しました…