MIXI DEVELOPERS NOTEのフィード

https://zenn.dev/p/mixi

株式会社MIXIのZenn版エンジニアブログです。実務で得た知見や個人的に調べたことなど思い思いに発信します。

フィード

記事のアイキャッチ画像
GitHub Actions は、 default ブランチで実行しておかないとキャッシュが効かないことがある
はてなブックマークアイコン 1
MIXI DEVELOPERS NOTEのフィード
要約GitHub Actions で pull_request イベントにフックして起動するジョブを定義したが、キャッシュを使うようにジョブ定義したのに実際は使えていなかったこのジョブ定義では pull_request イベントでのみジョブを実行していたが、その場合は pull request の head ブランチ、 base ブランチ、及び default ブランチでビルドされたキャッシュしか使うことができないdefault ブランチへの push 時でもビルドを行うよう修正して解決した 発生した現象あるゲームプロジェクトでは、ゲームのマスターデータを GitHu...
3日前
記事のアイキャッチ画像
大量にある GitHub Actions の Artifact を頑張って消す方法
MIXI DEVELOPERS NOTEのフィード
問題の発生普段頻繁に利用している GitHub のリポジトリで、ストレージが爆発していました。3TB 近くも使っている…?というわけで調査を開始。確認したところ、 GitHub Actions でアップロードしている Artifact が 1 つにつき 400MB 近くも消費していることが判明しました。そして同時に、この問題が発覚する前日ぐらいから、 No space left on device というエラーで GitHub Actions が停止することが発生。System.IO.IOException: No space left on device : '/h...
1ヶ月前
記事のアイキャッチ画像
1password に登録したSSH 鍵が EC2 Windows インスタンスで使えなくなったかと思った話
MIXI DEVELOPERS NOTEのフィード
1password に登録してチーム共有して満足していた SSH 鍵が、 EC2 Windows インスタンスのログイン時に使えなくなったかと思い冷や汗をかいた話を書きます。 OpenSSL 7.8 以降では秘密鍵の形式が変わった先に前提知識を書きます。この記事では深く説明しませんが、OpenSSL 7.8からデフォルトの秘密鍵の形式が代わり、-----BEGIN RSA PRIVATE KEY----- から始まる形式から-----BEGIN OPENSSH PRIVATE KEY----- に変更されました。旧形式の RSA 鍵が欲しい場合は ssh-keygen -m...
4ヶ月前
記事のアイキャッチ画像
GitHub Discussionsで開発プロセスの改善にいたるまで
MIXI DEVELOPERS NOTEのフィード
はじめにこの記事はMIXI DEVELOPERS Advent Calendar 2023の 21 日目の記事です。モンスト解析グループ(以降解析グループと表記) の kimuson です。今回は私が所属している解析グループで行った GitHub Discussions を利用した開発プロセスの改善についてまとめました。 モンスト解析グループについてまず軽く解析グループについてです。解析グループはモンストにおけるデータの分析・可視化とデータ基盤の開発と運用を主に行っている部署になります。解析グループには分析業務を主に行う分析チームと、データ基盤の開発業務を主に行う解析...
5ヶ月前
記事のアイキャッチ画像
Open Match の Backfill機能を試してみる
MIXI DEVELOPERS NOTEのフィード
はじめに本記事は MIXI DEVELOPERS Advent Calendar 2023 の11日目の記事です。Open Match のバージョンは1.8.0です。記事中のコードは、表示の都合上簡略化しているためそのままでは動きません。 概要Open Matchはゲーム等のマッチング機能を提供するフレームワークで、 Kubernetes 上で動作させることができます。今回はOpen MatchのBackfill機能を試すべく、三人のプレイヤーを要求するゲームにプレイヤーを追加していき、タイムアウトしたら足りない分をbotで補うというデモを書いてみました。今回実装...
5ヶ月前
記事のアイキャッチ画像
MySQL 用 pod に EKS Fargate を採用してはいけない
MIXI DEVELOPERS NOTEのフィード
はじめにこの記事はMIXI DEVELOPERS Advent Calendar 2023の、"シリーズ 2" 9日目の記事です。https://qiita.com/advent-calendar/2023/mixi 3行でAWS EKS には、自分で node の管理をする「普通の managed node(以下、managed nodeと呼びます)」と、 1 pod あたり1 node ずつ自動で用意される「Fargate node」が存在する。Fargate node では、Persistent Volume の作成に大きな制限があり、ボリュームの実体にEFSしか...
5ヶ月前
記事のアイキャッチ画像
FIDOによる3Dセキュアの決済体験改善 - SPCベース認証について
MIXI DEVELOPERS NOTEのフィード
はじめに開発本部MIXI M事業部の@k-asmです。本投稿はMIXI DEVELOPERS Advent Calendar 2023 5日目の記事です。https://qiita.com/advent-calendar/2023/mixiMIXI Mでは内製で3Dセキュアサービスを開発しており、日々3Dセキュアの仕様を参照しながら開発しています。MIXI Mの内製3Dセキュアサービスについては、MediumのMIXI DEVELOPERSに書いた以下の記事をご覧ください。https://mixi-developers.mixi.co.jp/mixim-pci3ds-f8c...
5ヶ月前
記事のアイキャッチ画像
MIXI MがGoogle/Appleアカウントによるソーシャルログインをサポートしました
MIXI DEVELOPERS NOTEのフィード
開発本部 MIXI M事業部の ritou です。本投稿はMIXI DEVELOPERS Advent Calendar 2023 2日目の記事です。https://qiita.com/advent-calendar/2023/mixi先日、MIXI Mはパスキーによる認証をサポートしました。https://zenn.dev/mixi/articles/43068096e7e4dcそれに続き、Google/Appleアカウントを利用したソーシャルログインをサポートしましたので紹介します。 経緯MIXI Mではサービス開始当初から、デフォルトの認証方法であるSMS/Emai...
5ヶ月前
記事のアイキャッチ画像
GitHub Actions から EC2 へ Session Manager を使用してなるべくセキュアにファイルをアップロードする
MIXI DEVELOPERS NOTEのフィード
概要とある案件で GitHub Actions から EC2 へファイルをアップロードしたい、ということがありました。該当の EC2 は、普段は AWS Session Manager を使用してサーバーにアクセスしており、 SSH/SFTP の穴を開けていないサーバーでした。そのため、 Session Manager 経由でファイルをアップロードできないか試してみたところ、うまくいったという感じです。 要件今回やりたかったことは以下のような感じです。GitHub Actions から rsync でファイルをアップロードEC2 の SSH ポートは開けたくないS...
7ヶ月前
記事のアイキャッチ画像
AWS Synthetics Canary で謎エラーが発生したのを解消した話
MIXI DEVELOPERS NOTEのフィード
最近、AWS Synthetics Canary で外形監視をしているサイトで、サイトに問題がないにも関わらずちょこちょこ謎のエラーが頻発していました。以下が Canary のログです。Canary のランタイムバージョンが 3.8 の場合ERROR: Canary error: Error: Protocol error (Target.activateTarget): Session closed. Most likely the page has been closed. Stack: Error: Protocol error (Target.activateTar...
8ヶ月前
記事のアイキャッチ画像
DroidKaigi 2023にてパスキーについて話しました
MIXI DEVELOPERS NOTEのフィード
株式会社MIXI 開発本部 MIXI M事業部の ritou です。DroidKaigi 2023にてお話しさせていただきました。https://2023.droidkaigi.jp/timetable/493289/資料も公開しました。今回も発表内容全部書き出してみたをやってみます。同時通訳ありだったので台本はできていて、この通り話せたら良いだけだったのですが実際はそううまくいかずに普通に時間なくなりました。それではどうぞ。これからパスキーに関するユースケースと、それに伴うユーザーエクスペリエンスの課題について発表します。株式会社MIXIでエンジニアとして働いて...
8ヶ月前
記事のアイキャッチ画像
パスワードレス認証をより安全便利に - MIXI Mがパスキーに対応しました
MIXI DEVELOPERS NOTEのフィード
開発本部 MIXI M事業部の ritou です。MIXI M|ミクシィエム - 決済やアカウント認証、個人データを管理する統合プラットフォームサービスMIXI Mは、認証から決済までワンストップで提供できる基盤システムおよびWALLETサービスです。認証に関しては、MIXI Mとして提供しているサービスのID管理だけでなく、社内外のサービスにID連携機能を提供するIdentity Providerでもあります。決済に関しては最近、PCI 3DSの準拠認定についての記事が公開されていますので、こちらもぜひご覧ください。MIXI MにおけるPCI 3DS準拠のための道のり | by...
8ヶ月前
記事のアイキャッチ画像
BigQuery等に取り込まれたデータの品質を `dbt test` でチェックし、いい感じのテストレポートを作る
MIXI DEVELOPERS NOTEのフィード
この記事について3行くらいであるプロジェクトで BigQuery のテーブル&ビューを dbt で管理しており、そのデータの品質チェックに dbt test コマンドを使うことを考えます。ここでは、データウェアハウスに格納されているデータの間違いの少なさのことを「データ品質(data quality)」と呼んでいます。dbt test は、データ品質に問題があることをテストしてくれますが、具体的にどのデータに問題があるかを標準出力する機能がなく、原因究明の際に再度データの調査が必要で不便です。この記事では dbt test と dbt show を使った、データ品質...
8ヶ月前
記事のアイキャッチ画像
GitHub Actions の matrix で並列にファイルを生成しつつ、生成した複数のファイルを次の job に渡す方法
MIXI DEVELOPERS NOTEのフィード
3行まとめGitHub Actions でディレクトリごとにファイルを並列で生成しつつ、生成したファイルをコミットしたい。並列処理は matrix でやる。その場合、次の job にファイルが引き継がれないため、artifact の upload / download を利用してファイルを渡すことにした。ただし、artifact の upload / download ではファイルのパス情報は失われてしまうため、artifact 名に base64 化したパス情報を埋め込んだらうまくいった。 経緯同じようなことをピンポイントでやりたい人がいるかどうかわからないですが、...
9ヶ月前
記事のアイキャッチ画像
kanikoビルドでは、 `COPY some_file /workspace/` すると COPY したファイルが消える
MIXI DEVELOPERS NOTEのフィード
このことに気づくまでに時間がかかってしまい、かつドキュメントを読んでもいまいちわかりづらかったのでメモ。 kaniko とはhttps://github.com/GoogleContainerTools/kanikoDocker build 時に、ビルドの中間キャッシュを GCR 等の Docker Repository に push することで、CI/CD 系サービスの上でもキャッシュを聞かせた状態で Docker build ができるツールです。kaniko でビルドを行なうと、 asia.gcr.io/[project_id]/[repository_name] の位置に...
1年前
記事のアイキャッチ画像
Developers Summit 2023にてパスキーについて講演しました
MIXI DEVELOPERS NOTEのフィード
ritou です。Developers Summit 2023にてパスキーについて講演させていただきました。https://event.shoeisha.jp/devsumi/20230209/session/4146/資料も公開しました。難しい話ではないです。同じ時間帯の他の講演者の方々が豪華なのでワンチャン誰も聞いていなかった説がありますが、それもいいでしょう。とりあえず無事に終わりましたというところで、発表内容全部書き出してみたをやってみます。 講演内容(省略)今回の内容です。コンシューマ向けサービスにおけるこれまでの認証方式を振り返り、最近話題のパスキーとは...
1年前
記事のアイキャッチ画像
Bazel 6.0.0 にアップデートしたときの対応メモ
MIXI DEVELOPERS NOTEのフィード
会社のモノレポで使ってる Bazel を5系から 6.0.0 にあげたときのメモです。https://github.com/bazelbuild/bazel/releases/tag/6.0.0使ってるルールはhttps://github.com/bazelbuild/rules_gohttps://github.com/bazelbuild/bazel-gazellehttps://github.com/bazelbuild/rules_pkghttps://github.com/bazelbuild/rules_dockerhttps://github.com/baz...
1年前
記事のアイキャッチ画像
Gazelle/Bazel でビルドできなくなった go-git v5.5 をビルドする
MIXI DEVELOPERS NOTEのフィード
go-git は Go だけで実装された .git を操作するためのパッケージです。https://github.com/go-git/go-gitgit に依存せずに .git をいじりたい場合に重宝します。v5.5 で依存パッケージに https://github.com/cloudflare/circl が含まれるようになりました:https://github.com/go-git/go-git/pull/620https://github.com/ProtonMail/go-crypto/pull/104その結果、Gazelle によって生成された BUILD ファイ...
1年前
記事のアイキャッチ画像
Rust と Bazel メモ
MIXI DEVELOPERS NOTEのフィード
rules_rust を使って Rust プロジェクトを Bazel でビルドするためのメモ書きです。普段 Rust 書かないので、Rust の基本的な話も含まれるやも。https://github.com/bazelbuild/rules_rust作ろうとしたツールは、静的解析して結果を reviewdog 用に出力するだけのものです。依存パッケージ周りをいい感じに解決するには crate_universe を使うと良いです。https://bazelbuild.github.io/rules_rust/crate_universe.htmlcrate_universe を...
1年前
記事のアイキャッチ画像
Terraform の Google Provider の挙動が怪しいと思った時の調査手順と実際に起こった不具合の例
MIXI DEVELOPERS NOTEのフィード
ここ最近、Google Cloudに対して実行した terraform apply の挙動がおかしい事象に2件遭遇しました。この記事では、Terraform の Google Provider の不具合を疑ったときの調査手順について汎用的に使えそうな手法をまとめ、実際にその方法で調査を行なった不具合の例を紹介します。 調査手順 Terraform の挙動を確認するterraform google provider が Google API に正しいリクエストを送っているかどうかを確認するには、 TF_LOG=1 terraform apply のように apply を実行して...
1年前