Yappli Tech Blog

https://tech.yappli.io/

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

フィード

記事のアイキャッチ画像
dbt 基盤の開発フローを改善した話
はてなブックマークアイコン 3
Yappli Tech Blog
こんにちは!データサイエンスグループの山本です( @__Y4M4MOTO__ )です。 さて、ヤプリのデータサイエンスグループ(以下、DSグループ)では2023年から分析用データ基盤の dbt 移行に取り組んでいます。 dbt 移行に至った経緯などについては昨年開催された Yappli Tech Conference 2023 にて発表しているので、そちらをご覧いただければ幸いです。 tech.yappli.io dbt 移行に伴い、ヤプリの各種サービスが参照しているデータマートも dbt 移行後のものへ切り替えを行っています。 dbt 移行後の分析用データ基盤(以後、 dbt 基盤)の運用が…
4日前
記事のアイキャッチ画像
Yappli Analytics のデータマートを dbt へ切り替えた話
はてなブックマークアイコン 1
Yappli Tech Blog
こんにちは!データサイエンスグループの山本です( @__Y4M4MOTO__ )です。今年の4月で入社して1年が経ちました。あっという間ですね…。 さて、ヤプリのデータサイエンスグループ(以下、DSグループ)では2023年から分析用データ基盤の dbt 移行に取り組んでいます。 dbt 移行に至った経緯などについては昨年開催された Yappli Tech Conference 2023 にて発表しているので、そちらをご覧いただければ幸いです。 tech.yappli.io dbt 移行に伴い、ヤプリの各種サービスが参照しているデータマートも dbt 移行後のものへ切り替えを行っています。昨年1…
4日前
記事のアイキャッチ画像
Looker Studioでのマルチテナントなダッシュボード構築
Yappli Tech Blog
このブログでわかること Looker Studio でユーザーごとにデータを出し分ける方法、および実サービスへの適用例 はじめに こんにちは、ヤプリのデータサイエンティストの阿部です。今年からデータサイエンスグループが誕生して、私を含めてメンバー4名となりました。2022年12月まで私ひとりだったので、1年4ヶ月で4倍になりました。同業の仲間がいるって素晴らしい。 ちなみに名称はデータサイエンスグループですが、分析用データ基盤を整えるデータエンジニアリングから、顧客向けにデータソリューションの提供までを担う「データ活用全般を担うグループ」です。社内のセールスやマーケティング向けのBI整備も担当…
6日前
記事のアイキャッチ画像
インシデント対応時に心がけているマインドセット
はてなブックマークアイコン 1
Yappli Tech Blog
はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 突然ですが皆さんは自分のコードでインシデントを起こしたことはありますでしょうか? 前提としてインシデントは誰も起こそうとしていないし、起こったものは仕方がないので全力で復旧するのみです。また、決められたレビューフローやリリースフローに従っていた場合、責任の所在は個人ではなく仕組みを作り運用しているチームだと思っています。 とは言ったものの、自分の書いたコードにバグがあった場合は気持ちの面で責任を感じたり焦る部分はあります。 本記事を書いているのが4月なのですが、ちょうど新卒として入社した方も多いと思うので新卒で…
12日前
記事のアイキャッチ画像
Goの並行処理入門 - Goroutine基礎編
はてなブックマークアイコン 2
Yappli Tech Blog
はじめに こんにちは。昨年の11月にYappliへ入社したしがないサーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 自分はYappliに入社するまでGo言語を利用した経験が無く、言語仕様についての理解がまだ浅いと感じる部分があるなと思っています。 そのため、今回はGo言語の最大の特徴でもあるGoroutineについてまとめてみました。 本記事は、4本の連載記事の1本目となります。 Goの並行処理入門-Goroutine基礎編 ←今ここ Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 Goの並行処理入門-select編 対象読者 Go言語の基礎はわか…
13日前
記事のアイキャッチ画像
Goの並行処理入門 - syncパッケージ編
はてなブックマークアイコン 2
Yappli Tech Blog
はじめに こんにちは。サーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 本記事は、4本の連載記事の2本目となります。 Goの並行処理入門-Goroutine基礎編 Goの並行処理入門-syncパッケージ編 ←今ここ Goの並行処理入門-channel編 Goの並行処理入門-select編 対象読者 Go言語の基礎はわかっているが、Goroutineについてはよく理解していない メモリ、プロセス、スレッド、並行処理、並列処理といったワードについて概要とその違いを理解している 連載記事を通して取り扱わないこと 本連載記事ではGoroutine、sync、channel、select文…
13日前
記事のアイキャッチ画像
Goの並行処理入門 - channel編
はてなブックマークアイコン 1
Yappli Tech Blog
はじめに こんにちは。サーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 本記事は、4本の連載記事の3本目となります。 Goの並行処理入門-Goroutine基礎編 Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 ←今ここ Goの並行処理入門-select編 対象読者 Go言語の基礎はわかっているが、Goroutineについてはよく理解していない メモリ、プロセス、スレッド、並行処理、並列処理といったワードについて概要とその違いを理解している 連載記事を通して取り扱わないこと 本連載記事ではGoroutine、syncパッケージ、channel、se…
13日前
記事のアイキャッチ画像
Goの並行処理入門 - select編
はてなブックマークアイコン 1
Yappli Tech Blog
はじめに こんにちは。サーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 本記事は、4本の連載記事のラストとなります。 Goの並行処理入門-Goroutine基礎編 Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 Goの並行処理入門-select編 ←今ここ 対象読者 Go言語の基礎はわかっているが、Goroutineについてはよく理解していない メモリ、プロセス、スレッド、並行処理、並列処理といったワードについて概要とその違いを理解している 連載記事を通して取り扱わないこと 本連載記事ではGoroutine、syncパッケージ、channel、se…
13日前
記事のアイキャッチ画像
JaSST24 Tokyoに参加しました!
Yappli Tech Blog
参加メンバー(寄稿者) はじめに 当日の様子 印象に残ったセッション チーム単位で保守性を高める:独自指標と向上にむけた実践 テストだけで品質は上がらない?! エセ自己組織化した品質組織からの脱却 開発リードタイム70%短縮したアジャイルチームでQAがやったこと チームトポロジーに対応するQAアプローチのご紹介 最速思考でバクラク品質を!スタートアップのリアルな課題とQAの実践 Tangible software quality 既存プロセスからの脱却と変化に適応するために必要なこと テスト管理ツールの向かう先 まとめ PR 参加メンバー(寄稿者) 山口、 楠原、 鈴木 はじめに ヤプリQAエ…
19日前
記事のアイキャッチ画像
Android Composeでリストの真ん中にある要素の変更を検知する
Yappli Tech Blog
こんにちは、Androidエンジニアの 近藤(ふなち / Hunachi) です☺︎ はじめに(紹介したいこと) まず最近私が実装した機能の一部にこのようなリスト表示があります。 今回の記事に関係する仕様は以下の通りです。(他にも色々仕様はあり実際はもーっと複雑です☺️) 画面の真ん中の要素が選択されている要素 このリスト自体をスクロールすることができる 要素のサイズは全部同じとは限らない この仕様を満たすには、真ん中にある要素を検知し続ける必要があります。 そこでこの記事ではComposeを使ってこのようなリストの真ん中にある要素の変更を検知する方法について紹介していきます。 今回のリストの…
23日前
記事のアイキャッチ画像
Android 保存したいファイル名が既に使われていた場合の対処法
Yappli Tech Blog
こんにちは、Androidエンジニアの 近藤(ふなち / Hunachi) です☺︎ 最近、担当していた大きめの改修業務がひと段落しました。一息つきつつ、もっと成長したいなと思う日々です💻 はじめに(今回紹介したいこと) この記事で紹介したいことは、Android 保存したいファイル名が既に使われていた場合の対処法…言い換えると 「Androidで、ファイルを保存する場合にファイル名がコンフリクトしないようにする」 方法です。 ファイルには色々ありますが、ここでは、ダウンロードフォルダにファイル(コンテンツ)を保存する場合を例にし紹介します。 ファイルの保存方法 ファイルの保存方法が大きく関わ…
23日前
記事のアイキャッチ画像
try! Swift Tokyo 2024 参加レポート - ワークショップ編
Yappli Tech Blog
はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です。 先日、try! Swift Tokyo 2024に初めて現地参加してきました。 この記事ではDay 3のワークショップに関して紹介させていただきます! Day 1, 2のセッションやtry! Swiftというイベントに関しては、前回記事と、同じくヤプリでiOSエンジニアをされている西村さんの記事で紹介しておりますので気になる方はぜひそちらをご覧ください🤗 前回記事 tech.yappli.io 西村さんの記事 tech.yappli.io はじめに ワークショップについて ワークショップの紹介 「The …
25日前
記事のアイキャッチ画像
try! Swift Tokyo 2024 参加レポート - セッション編
Yappli Tech Blog
はじめに こんにちは、ヤプリでiOSエンジニアをしている菅(@Nao_RandD)です 先週はtry! Swift Tokyo 2024に初めて現地参加してきました。 この記事では参加の感想とDay 1, Day2のセッションを中心にご紹介しようと思います。 (Day 3のワークショップも参加しているので、そちらは別の記事で投稿します!🎉) 僕としては、本当に参加できて良かった!”という思いで一杯です!! なので、”現地参加はハードル高いな”という方の背中を押すことができるように、セッション内容だけでなく現地の雰囲気も感じていただけるような記事にしたいと思います! はじめに 概要 設備・運営に…
1ヶ月前
記事のアイキャッチ画像
プロダクト開発本部LT大会#11を開催しました
Yappli Tech Blog
こんにちは😎 Androidエンジニアの近藤(ふなち / Hunachi)です。 先日、プロダクト開発本部で11回目のLT大会を開催しました! 司会進行は、10回目の記事も書いてくれている新卒(23卒)の山本くんが務めてくれました。 tech.yappli.io プロダクト開発本部LT大会とは? エンジニアが所属するプロダクト開発本部を中心に行われている、基本話題はなんでもOK!なライトニングトーク大会です。 業務後(18:00~)に開催しており、仕事終わりにご飯を食べたりゆっくりしながら参加してもらっています。もちろん、参加は自由です🆓 一応ルールはあるのですが、 発表時間は5分🕰️ 発表し…
1ヶ月前
記事のアイキャッチ画像
try! Swift Tokyo 2024 に参加してきました!
Yappli Tech Blog
こんにちは、iOSエンジニアの西村です。 5年ぶりに開催された、try! Swift Tokyo 2024 に参加してきました! 参加形式はオフラインのみで、渋谷駅から徒歩9分のところにある「ベルサール渋谷ファースト」の会場で行われました。オフラインでの参加は初めてだったので、その様子をレポートしたいと思います! try! Swiftとは 「try! Swift」は、Swiftの開発者たちが世界中から集まり、最新情報や開発技術を共有する国際的なカンファレンスです。このカンファレンスは東京から始まり、現在ではニューヨークやロンドンといった場所でも開催されているようです。 開催期間は3月22日(金…
1ヶ月前
記事のアイキャッチ画像
Goのreflectパッケージを理解する
Yappli Tech Blog
はじめに こんにちは、サーバーサイドエンジニアの中川(@tkdev0728)です。 最近片っ端から試せる花粉対策を順番に試しており、最近は「強さひきだす乳酸菌」のキャッチコピーでお馴染みのあのヨーグルトのドリンクを飲み続けています。効果があるのかないのかわかりませんが、試せるものは片っ端から試す毎日です。 さて、今回はGoの標準パッケージの1つであるreflectパッケージについてまとめてみます。 自分は恥ずかしながらあまり使ったことがなかったので、いつか自分のように知りたいと思った人の助けになればと思っています。すでにご存知だという方は復習がてら読んでいただけるといただけると幸いです。 きっ…
1ヶ月前
記事のアイキャッチ画像
生産性を高めるために行なっているVSCodeのカスタマイズ設定
Yappli Tech Blog
はじめに こんにちは。サーバサイドエンジニアの中川(@tkdev0728)です。 日々コードを書くエンジニアにとって欠かせないのがエディタですよね? 自分はVSCodeを使っているのですが、使いづらいと感じたときに色々設定を変更しているので今回は個人的に便利な設定を紹介していきます。 VSCodeを使っているのであくまでVSCodeの設定として紹介しますが、今時VSCodeでできることは他のエディタでも設定できると思うのでVSCodeユーザー以外の方も参考になれば幸いです。 また、自分はMacを使って開発しているのでショートカットキーなどはMacとして紹介しますが、Windowsユーザーの方は…
1ヶ月前
記事のアイキャッチ画像
JAWS DAYS 2024 のスタンプラリーでヤプリ製アプリを提供した話
Yappli Tech Blog
こんにちは、SREグループのはぶちん(羽渕)です。 ガーデニングをはじめてもう少しで1年が経とうとしていますが、未だナニモワカラン状態です。 自然は複雑な条件が絡み合って結果が出るので奥が深くて楽しいですね。どんな植物を育てているかはプレーリーカードのプロフィールページに書いているので、会った方はぜひ私のプレーリーカードをタッチしてチェックしてください。 さて今回はJAWS DAYS 2024でスタジオプレーリー様とタッグを組んでスタンプラリーを提供したので、記事にしたいと思います。 株式会社ヤプリとしては、JAWS DAYS 2019 にもアプリ提供を行ったのですが今回も運命的な出会いによっ…
1ヶ月前
記事のアイキャッチ画像
NRQL実践問題集を通して組織のインシデント対応能力向上を図ろうとしている話
Yappli Tech Blog
こんにちは、SREグループNRQLマスターの三橋です。 今回はNRQL実践問題集を通して組織のインシデント対応能力向上を図ろうとしている話について記載します。 なお、ここでのインシデントとはシステム障害によるものを指し示します。 想定読者 オブザーバビリティの文化醸成をしていこうと考えている方 インシデント対応スピードの改善に取り組もうと考えている方 New Relicスキル向上施策を検討中の方 ヤプリの裏側に興味がある方 背景と課題 今回の取り組みを行うにあたっての背景と課題は下記の通りです。 組織レベルでの話 数年前からオブザーバビリティツールとしてNew Relicを採用しており、APM…
2ヶ月前
記事のアイキャッチ画像
ヤプリにiOSエンジニアとして1ヶ月インターンしてきた話
Yappli Tech Blog
はじめに なぜヤプリにインターンをしたのか インターン期間中に取り組んだこと アプリ研修 アニメーションUIに関わる動作の改善対応 取り組みのフロー 得られたこと・学んだこと 問題点 改修の概要 改修の詳細 ゼロトゥワンリンク 概要 やったこと 実装にあたって 成果物の発表 インターン期間中の社員の方との関わり おわりに はじめに はじめまして。ヤプリにiOSエンジニアとして2月1日から29日までの1ヶ月間インターンをさせていただいた学部3年の雲下です。 1ヶ月あったものの、2月は祝日も多く、実質稼働は2週間ほどでしたが、その中で得られたことや体験したことを赤裸々にお伝えできればと思います。 …
2ヶ月前
記事のアイキャッチ画像
Product Security Summit 2024でセキュリティの取り組みについて発表しました
Yappli Tech Blog
こんにちは、ヤプリでセキュリティを担当している望月です。 この前いちご狩り(食べ放題)に行きましたが、30分間いちごを食べ続けるのが辛い年齢に差し掛かってきました。 本題となりますが、先日Flatt Security様のProduct Security Summit 2024というイベントで、最近のセキュリティの取り組みについて発表させていただきました。 speakerdeck.com 発表の概要 今回はLTということで、我々が実践している具体的なプラクティスを中心にコンパクトにまとめています。 以前SRE NEXTにおいて、同じくセキュリティの取り組みについて発表させていただきました。 この…
2ヶ月前
記事のアイキャッチ画像
SaaSにおけるカスタムフィールド実装パターン
Yappli Tech Blog
サーバーサイドエンジニアの田実です! ヤプリのプロダクトである Yappli、Yappli CRM ではお客様のアプリごとにユーザ属性を自由にカスタマイズできます。 例えばクライアントAは「姓」「名」「性別」の属性を使い、クライアントBは「ログインID」「電話番号」の属性を使う、といったように自由に属性を追加・利用できます。 このような お客様自身が属性を自由にカスタマイズできる 「カスタムフィールド」の機能はSaaSの要件としては頻出ですが実装方法は複数あり、それぞれ一長一短があります。今回はカスタムフィールドの実装パターンとメリット・デメリットについてご紹介します。 ※テーブル定義やSQL…
2ヶ月前
記事のアイキャッチ画像
Alpine.jsと管理画面での利用例
Yappli Tech Blog
サーバーサイドエンジニアの田実です。 顧客管理サービスである Yappli CRM の社内用管理画面ではjQueryが使われています。jQueryは簡易的なDOM操作やインタラクティブなデザイン、アニメーションを実装するには便利なツールである一方で、要件が複雑になると可読性が悪くなり保守性が下がる傾向にあります。 かといって、ReactやVue.jsを導入するのは記述量や手軽さ、学習コストの観点でtoo matchなケースもあります。 そこで軽量フロントエンドライブラリであるAlpine.jsを使ってみたところ、導入の手軽さ、開発者体験、可読性、保守性が良かったため、管理画面のjQueryをA…
3ヶ月前
記事のアイキャッチ画像
データサイエンティスト初心者🔰のインターン生がSQLを用いてアプリログから分析した話
Yappli Tech Blog
はじめに はじめまして! 2023年12月の1ヶ月間、ヤプリのデータサイエンティストのインターンに参加しました、京都大学大学院1回生の鍋岡 (@nabeshinabe) です!私は京都に住んでいるため、インターンは基本リモートで参加していましたが、最後は実際に東京のオフィスに出社させていただきました。 今回インターンに参加したことで、データサイエンティストとしての成長に加えて、ヤプリの雰囲気、データ活用について理解を深めることができ、大変濃密な1ヶ月を過ごすことができました!*1 本ブログでは、ヤプリのインターンに参加した経緯、業務内容、学んだことを中心にまとめていきます。 はじめに 要約 ヤ…
4ヶ月前
記事のアイキャッチ画像
YappliオリジナルビンゴをGASで作った話
Yappli Tech Blog
こんにちは!株式会社Yappli CorporateITの辻村です。 こちらは2023年度のYappliアドベントカレンダー2枚目の12/24の記事でもあります🎄 なんとアドベントカレンダー1枚目が全部埋まって、2枚目に突入です👀🎉 オリジナルBINGO 今年のYappliの納会の二次会で、ビンゴを開催することになりました 🎁 恒例のビンゴですが、普通のビンゴにはもうみんな慣れていてつまらない...? Yappliっぽさを出したい! 社員のみなさんに楽しんでほしい! という思いで、コンテンツもりもりなオリジナルビンゴを作りました 🎉 こんな感じ↓ 右上の数字でビンゴをしつつ、社員紹介&あらかじ…
4ヶ月前
記事のアイキャッチ画像
成果を出す技術
Yappli Tech Blog
サーバーサイドエンジニアの田実です! 私はコードの実装スピードが早いらしく、どうやったらそんなに早く実装できるのか、成果を出せるのかと度々聞かれます。 改めて成果を出すスピードがどこに起因しているのかを掘り下げて考えたところ、それを達成するためのいくつかの要素がありそうだったため、ブログでまとめていこうかと思います。 ※本記事は ヤプリ#1 Advent Calendar 2023 の 12日目の記事になります! ソフトスキル編 背景や課題を理解する 新機能開発、既存機能修正、基盤改善、運用効率化などなど、どの領域であってもそれらを行うモチベーションとなる背景と課題があります。 誰がどういうペ…
4ヶ月前
記事のアイキャッチ画像
ヤプリでのエンジニアリングマネージャー1年目を振り返る
Yappli Tech Blog
こんにちは、サーバーサイドグループのマネージャーの鬼木です。 今年はテックブログ改善委員会の頑張りもありテックブログが盛り上がっているのですが、自分も書こうと宣言して時だけが過ぎてしまったので背水の陣でアドベントカレンダー枠を確保しました(という去年のアドベントカレンダーと同じ文言からの開始になりますw) 今年の1月から、役職がサーバーサイドグループのマネージャーになりました。それまでは1エンジニアとして開発業務を行っていたので今年は1年通して真新しいことが多かったのですが、そんな1年間を良かったこと・難しかったことに分けて簡単に振り返っていきたいと思います。 良かったこと 社内で多くの関わり…
4ヶ月前
記事のアイキャッチ画像
ヤプリのエンジニアを取り巻くIT環境とAI活用状況を紹介する(2023年版)
Yappli Tech Blog
この記事は ヤプリAdvent Calendar 2023 #2 最終日の記事となります。 1枚目はこちら こんにちは、ヤプリでコーポレートITを担当している望月です。 昨年はしいたけの芽が出ないインシデントのお話をしました。 ポストモーテムを経て今年また再挑戦したところ、見事栽培に成功しました。 振り返り・改善が重要だという、活きた事例となり良かったです。 本題となりますが、この記事では最近のヤプリエンジニアを取り巻くIT環境について紹介します。 Generative AI まず今年のIT環境を語る上ではずせないのがGenerative AIの活用開始です。 GitHub Copilot /…
4ヶ月前
記事のアイキャッチ画像
2023年に買ってよかったものをプロダクト開発本部に聞いてみた
Yappli Tech Blog
2023年買ってよかったものを紹介してみました。
4ヶ月前
記事のアイキャッチ画像
TipKitの活用を具体的に考えてみる
Yappli Tech Blog
最近寒くてすっかり出不精な菅(@Nao_RandD)です🫠 ヤプリでiOSエンジニアをしています 今回はヤプリのYappdateDayで取り組んだ「TipKitの活用検討」に関して紹介したいと思います YappdateDayとは? ヤプリにはバリューの一つに「再構築」を置いています 日々の改善を積み重ねプロダクトやサービスの進化に繋げよう、という思いが込められたバリューです YappdateDayはまさにその「再構築」を表す取り組みの一つで、日頃の業務と止めて改善や進化に繋げることに集中できる日となっています ☟下記の記事☟で詳しく紹介されておりますので、ご興味ある方はぜひご覧になってみてくだ…
4ヶ月前