Yappli Tech Blog

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

Vueとhls.jsを使って、AndroidとiOSでいい感じにm3u8を再生する

フロントエンドエンジニアのこん(@k0n_karin)です! 今回は昨年末に書いたウェブストーリー関連のお話となります。 tech.yappli.io HLSでm3u8を再生する HLS用のcomposableを実装 composableを利用するVueコンポーネントを実装する おわりに HLSでm3u8を再生…

Android 14 (Preview 2) API を試してみた

こんにちは、Android エンジニアのてつ(哲)です。 Android 14 は、2023 年下半期に正式にリリース予定とされています。最近(03月08日)、Android 14 Preview 2 が公開されたため、今回は自分が注目している部分について、内容と試した感想を紹介したいと…

textlintをGitHub Actionsで実行してブログ文章をいい感じに整形する

はじめに こんにちは。サーバサイドエンジニアの中川(@tkdev0728)です。 絶賛花粉症で悩んでおります。花粉対策に効くものを片っ端から試しているのですが、いい方法を探し中です。 さて、今回はタイトル通りtextlintをGtitHub Actionsで実行していきます!t…

useSWRとDDDの相性について考えてみた

概要 こんにちは。サーバーサイドエンジニアの窪田です。 今回はフロントエンドのuseSWR というhooksの性質と、バックエンドがDDDで設計されている場合の相性について考えていこうと思います。 リンク先で述べられている通り、useSWRの名前はstale-while-rev…

「オブザーバビリティ・エンジニアリング」に感化され社内でオブザーバビリティ布教活動を行なった話

こんにちは!NewRelic大好きSREの三橋です。 今回は「O'Reilly Japan - オブザーバビリティ・エンジニアリング」に感化され、社内でオブザーバビリティの布教活動を行なった話について記載します。 布教活動といってもまだ社内のエンジニア向けにプレゼンを…

ヤプリでの2ヶ月間のインターンレポート

はじめに こんにちは、ヤプリのサーバチームでインターンをさせていただいています。木下です。 1月から2月まで2ヶ月間ヤプリでインターンをさせていただき、感じたことを正直にお伝えしたいと思います。(文章量多めですみません) ヤプリについて アプリプ…

Protobuf周りでハマった話

はじめに こんにちは、ヤプリのサーバーチームでインターンをさせていただいている木下です。 今回は、検証環境にデプロイする際に、ハマったことがあり、備忘録としてまとめます。 前提:Yappliの運用について Yappliでは、クライアントをTypeScript、サー…

【Android】Custom Tabsの高さを調節してボトムシートのように表示させる方法

こんにちは、Androidエンジニアのふなちです 突然ですが本日こんな記事を見かけました。 pc.watch.impress.co.jp 上記の記事のことを書いた本家の記事↓ android-developers.googleblog.com 興味が沸いたのでサクッと実際に触ってみました。 そこで今回は上記…

ノーコードでストーリーズ機能が作れる?MakeStoriesがすごい!

皆さん、こんにちは!ノーコード総研で所長として活動している北村です。ノーコード総研は昨年発足したノーコードプロダクトの研究チームで、一般のビジネスパーソンがノーコードプロダクトを実務に取り入れるための体系的でまとまった情報や具体的なノウハ…

Goのcontextパッケージを理解する

Go

はじめに こんにちは、サーバサイドエンジニアの中川(@tkdev0728)です。 2023年も早いもので1ヶ月がすぎようとしていますね。2023年は何よりも姿勢にこだわろうと思っています。いい猫背解消の方法があればぜひコメントにて教えてください。 さて、今回はタ…

RedashのアプリケーションログをNew Relicでいい感じに可視化した話

こんにちはSREの三橋です! 本日はRedashのアプリケーションログをNew Relicダッシュボードでいい感じに可視化することができたため、その内容とチャート作成の過程について記載いたします。 はじめに 背景 想定する読者 完成したダッシュボード 利用したNew…

Relayを試した感想 (Jetpack Compose)

こんにちは、Androidエンジニアのてつ(哲)です。 今、多くの開発チームは XML の代わりに Compose を利用して、 UI を実装していると考えられていますが、 2022 年 10 月に Android Developer Blog 上に 「Jetpack Compose の新機能」の中に発表された Rel…

【Android】透過色を不透明色に変換する方法

こんにちは、Androidエンジニアのふなちです 今回は、透過で色を指定されたけどその色を不透明色(特定の背景で表示した時の色)で使いたい場合の解決方法を紹介します。 透過色を不透明色に変える方法 結論を先に言うと、ColorUtilsの中にcompositeColorsと…

Pull RequestのAssigneesのアサイン忘れをGitHub Actionsで防ぐ

Pull RequestのAuthorのアサインをGitHub Actionsで自動化する方法を紹介します。

フロントエンドチームでgoのライブコーディングをした話

おはようございます。フロントエンドチームの武井です。 今回はフロントエンドチーム最近取り組んでいるライブコーディングを行いましたので、そのときの気付きを記事にしようと思います。 ライブコーディングについてはマネージャーの山田が以前の記事です…

G.I.G. プログラムに参加し Professional Cloud Architect 認定試験に合格した話

こんにちは、サーバーサイドエンジニアのKidaです。 今回は Google Cloud 様主催の G.I.G. プログラムという特別招待制トレーニングプログラムに参加し Google Cloud Certified - Professional Cloud Architect 認定試験に合格した話を書こうと思います。 ト…

ECS/Fargateからサービスアカウントキーを使わずにGoogle CloudのAPIにアクセスする方法

はじめに こんにちは!SREの三橋です。 今回はECS/Fargateからサービスアカウントキーを使わずにGoogle CloudのAPIにアクセスする方法をご紹介いたします。 ECS/FargateなどAWSリソースからGoogle Cloud上のAPIへアクセスする際にはサービスアカウントキーを…

BigQueryのデータ転送のエラー原因特定で軽く躓いた話

こんにちは。サーバーサイドエンジニアの柴田です。 皆さんはBigQueryにCSVファイルをインポートしたくなったことはありますか? 私はあります。そしてエラーの原因特定ができず軽く躓いたことがあるので、簡単にですが備忘録的にその時の対処法を残しておこ…

交通費申請を楽にするためにSlackのスラッシュコマンドをZapierで作成した

インテグレーション・エンジニアのおうえです。 今回は「交通費申請を楽にするためにSlackのスラッシュコマンドをZapierで作成した」という内容を紹介します。 はじめに ヤプリは社員各自が在宅とリモートを判断することができる「オープン勤務」という勤務…

なぜGoのerrorインターフェースはポインタレシーバで実装するべきなのか

Go

先日 Go の独自エラーについての記事を投稿しました。そこで error インターフェースを実装する時はポインタレシーバで実装しましょうという話をしました。そちらでは詳細は長くなるので割愛させていただきましたが、この記事では Go のインターフェースにつ…

Goの独自エラーの作り方

Go

Goで独自エラーを扱う方法についてサンプルコードを交えて解説します。

ヤプリのインシデント対応について

はじめに こんにちは、サーバサイドエンジニアの中川です。 最近引っ越しをしまして重いものを運んだ関係で腕と肩がバキバキで辛いです。割とギリギリまでバタバタしていたので引っ越しの準備は計画的に行うことを強くお勧めします。 さて、今回はヤプリのイ…

AIと一緒にアプリを作る未来が来たか?(Github Copilot・Android)

こんにちは、Androidエンジニアのてつ(哲)です。 最近ChatGPTがかなり流行って、アプリ開発者としても関わりたいので、今回は関係性あるGithub Copilotの記事を書きました。 Github Copilotとは何 Android開発にも使える? 設定方法 Github Copilotのサイ…

2022のヤプリアドベントカレンダーの振り返り

みなさまメリークリスマス ヤプリのテックブログ改善委員会のおうえです。 こちらの記事は、ヤプリアドベントカレンダー#2最終日の記事となります。 最終日ということで、アドベントカレンダーのことを振り返ってみようと思います 最高のWin 今年は書きたい…

約3ヶ月間のインターンレポート

はじめに こんにちは! 試される大地、北海道在住大学院生の大﨑です! 9月から11月までの約3ヶ月の間に参加させていただいた、ヤプリのインターンについて紹介させていただきます。 こちらの記事にもyappli新卒エンジニア1号の加納さんや就業型インターンに…

ECS/FargateのNew Relicログ転送方式とLogs in Context導入方法の見直しを行った話

はじめに この記事はヤプリ #1 Advent Calendar 2022 & New Relic Advent Calendar 2022の23日目の記事です。 こんにちは!SREの三橋です。 ECS/Fargateへのログ転送方式とLogs in Context導入方法の見直しを行ったため、その内容を記載いたします。 想定す…

プロダクト再構築に取り組むYappdateDayが100回を超えたので振り返ってみる

はじめまして、Yappliのプロダクトオーナーをしています、増渕です。 この記事は、ヤプリ #2 Advent Calendar 2022の20日目の投稿になります! はじめに 私は2017年にヤプリに入社してヤプリ歴6年目、2019年には産休に入り一児のママとして子育てにも奮闘中…

ノーコードツールAdaloの衝撃

この記事はヤプリ #1 Advent Calendar 2022の21日目の投稿になります。 こんにちは。開発企画部の北村です。 ヤプリでは、「Yappli」というアプリ制作・運用プラットフォームの開発に関わるプロダクトマネージャーのような仕事をしています。普段は他社プロ…

Deep Moduleという観点から戦術的DDDのRepositoryの設計を考えてみた

こんにちは。サーバチームの窪田です。 今回は、『A Philosophy of software design』 A Philosophy of Software Design, 2nd Edition: Ousterhout, John: 9781732102217: Amazon.com: Books で登場する「deep module」という概念の解釈とDDDのRepositoryの…

教科書通り(TTP)のプロダクトマネジメント

この記事は、 ヤプリ #2 Advent Calendar 2022の19日目の投稿になります! こんにちは。プロダクトマネージャーの古屋です。 突然ですが、星野リゾート代表の星野佳路さんが「教科書通りの経営」を実践しているという事について驚いた方も多いのではないでし…