サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
mixi-developers.mixi.co.jp
◆ モチベーション ◆ 方法 ◆ 補足 ◆ YAML の解説 ∘ GitHub Actions を動作させる条件 ∘ 全体的な動き ◆ さいごに ◆ 参考 モチベーションGitHub と なんらかの CI を組み合わせて、マージ前にテストを通すことがよくあると思います。 ただ「CI が通るのを待ってマージするのはめんどくさいです!!!!」 ひたすらCIが通るのを待ってる人GitHub には マージ条件がすべてクリアされていれば勝手にマージしてくれる Auto-Merge という機能があります。(楽ちん) しかしこれには 落とし穴 がありました。 リポジトリの構成にもよりますが、ドキュメントやコードなど様々なファイルがリポジトリに存在していると思います。 ファイルによってチェック観点が様々なため、ファイルによって走らせる CI を変更するのが一般的でしょう。 とある Pull Request
本記事は、2023年10月27、28日に開催された Kaigi on Rails 2023 に登壇させていただいた みてねプロダクト開発部 プロダクト開発Dグループ アプリ開発チーム栗原(@_ksss_)のセッションを、文字起こしをベースにブログ記事にまとめたものです。 セッションについてタイトルRailsの型ファイル自動生成における課題と解決 セッション概要「Railsアプリケーションで型をあつかいたい。」これはコミュニティーにおいて未だベストプラクティスが見つかっていない、模索中の課題です。 ある程度の主要な情報は生成方法が見つかっているでしょう。 しかしながらコーナーケースはどうでしょうか? Railsのプラグインgemを使っている場合は? 個々のプロダクトの事情に合わせたカスタマイズ方法は? 既存の資産を活かす方法は? 本セッションでは、これらの問題を解決する方法として、ortho
MIXI でモンストサーバーチームとセキュリティ室を兼務している、atponsです。 昨今 RSA に代わる暗号として楕円曲線暗号が多く用いられるようになってきました。そこで、身近にある暗号を応用した技術である、TLS 証明書における楕円曲線 (EC) 暗号について、調べてみました。 TLS では、鍵交換は TLS セッション上でやりとりするための鍵ですが、すでに ECDHE (楕円暗号DH鍵交換) や ChaCha20-Poly1305 (高速、かつ安全) が多く利用されているので、省略します。 今回はその先で利用される TLS における証明書について解説します。 RSA 証明書についてRSA を用いた証明書が、TLS では広く一般的に利用されています。RSA は DSA に代わる安全な暗号として、TLS 1.2 以前から利用されてきました。 ECDSA 証明書って、使えるんですか?TL
こんにちは。MIXI 開発本部 SREグループの riddle です。 以前 Flutter on the Web と WidgetBook をGCSを使って Pull Request 単位にセキュアに公開する | MIXI DEVELOPERS という記事を書きましたが、今度は Cloud Run で似たことをやってみます。 単に Cloud Run を Pull Request ごとに作るのは簡単ですが、Identity-Aware Proxy を使うところが難しいのでそこに焦点をあてて紹介します。 <目次> 作った全体の構成仕組み 2.1 Developer が https://XXXXX.example.com にアクセス 2.2 Identity-Aware Proxy が Developer の認証を行う 2.3 Nginx による Cloud Run へのリバースプロキシ 2
AWS re:Invent 2023 も大盛況のうちに終わりましたね。現地参加の方々は無事に帰国されましたでしょうか。 本記事では、re:Invent で盛り上がるSREのSlackを見ながらふと思い立ち、2023年のMIXI SREたちによるアウトプットをまとめてみました。 登壇数:32回(※同じイベントに2名登壇していた場合、2回とカウント)ブログ執筆数:18記事外部メディアへの寄稿:7記事※2023/11/22時点 となっています。興味があるものから、ぜひご覧ください! · 登壇 ∘ 2/7:kazeburoさんとShimizuさんに聞く、SREに必要なスキルと運用の秘訣 ∘ 2/27:CI/CD Conference 2023 前夜祭 (前夜ではない) ∘ 3/1–3/3:MIXI TECH CONFERENCE ∘ 3/13:Kubernetes Novice Tokyo #23
既知の不具合として Cloud Run でカスタムドメインを利用するとレイテンシーが高くなる問題があります。 Cloud Run の既知の問題 | Cloud Run のドキュメント | Google CloudCustom Domains latency impact for asia-northeast1, australia-southeast1 and northamerica-northeast1 [64458939] — Issue Trackerとはいえ直接カスタムドメインマップする機能はプレビューリリースなので仕方ありません。(カスタム ドメインのマッピング | Cloud Run のドキュメント | Google Cloud) この記事ではなぜレイテンシーが高くなるのかを調べてみます。 ※この記事は2023/11/30時点の調査のものです <目次> 先に結論予備知識 2.
本記事は、2023年9月29日に開催された SRE NEXT 2023 に登壇させていただいた開発本部 CTO室 SREグループ 吉井(@YoshiiRyo1)のセッションを、文字起こしをベースにブログ記事にまとめたものです。 セッションについてタイトル増え続ける公開アプリケーションへの悪意あるアクセス。多層防御を取り入れるSRE活動。 セッション概要あるWebセキュリティ情報メディアのレポートによると全世界で平均して1ホストあたり17回/秒のサイバー攻撃を検知しているそうです。 これは2022年のデータですが、おそらく2023年には増加していると予想します。 インターネットでアプリケーションを公開することはサイバー攻撃を受ける危険性と隣り合わせです。 自社の公開アプリケーションを守るためのSRE活動は何でしょうか? 実際に経験した事実を基にしたフィクションという体でサイバー攻撃への対策を
本記事は、2023年9月29日に開催された SRE NEXT 2023 に登壇させていただいた みてねプロダクト開発部 基盤開発グループ SREチーム 杉本(@kohbis)のセッションを、文字起こしをベースにブログ記事にまとめたものです。 セッションについてタイトル1,800万人が利用する『家族アルバム みてね』におけるK8s基盤のアップグレード戦略と継続的改善 セッション概要『家族アルバム みてね』(以下、『みてね』)のインフラは、2021年始めにAWS OpsWorksからAmazon EKSのマネージドK8s基盤へと移行しました。K8sの採用は大きな恩恵がある一方で「運用コストが高くなる」と一般的に言われています。その理由としてあげられやすい4ヶ月に一回のマイナーリリースへの追従については、K8sクラスタの運用経験のある方であれば少なからず苦労した思い出があるのではないでしょうか。
研修資料・動画一覧Git研修 ( 動画 / スライド )データベース研修 ( 動画 / スライド1, 2 / リポジトリ )テスト・設計研修 ( 動画 / スライド )コンテナ研修 ( 動画 / スライド1, 2 )iOSアプリ開発研修 ( 動画 / スライド / リポジトリ )Androidアプリ開発研修 ( 動画 / スライド / リポジトリ )Flutter研修 ( 動画 / スライド / リポジトリ )フロントエンド研修 ( 動画 / スライド / リポジトリ )ゲーム開発(Unity)研修 ( 動画 / スライド1, 2, 3, 4, 5, 6, 7 / リポジトリ )AI研修 ( スライド / リポジトリ)データマネジメント研修 ( 動画 / スライド )セキュリティ研修 ( スライド )インシデントハンドリング研修 ( 記事 )チーム開発研修 ( スライド )Git研修チーム
セキュリティ室の軽部です。 今回は話題のChatGPTでも利用されているGPT-4を、私が担当している新卒社員向けのインシデントハンドリング研修で活用してみましたのでそちらについてご紹介できればと思います。 私はAI活用のためのAzure OpenAI Serviceの検証などの業務も併行して進めており、その一環として今回はAzure OpenAI Serviceを使ってみました。 インシデントハンドリング研修とは?研修としては珍しいものだと思いますので、まずはインシデントハンドリング研修について簡単にご紹介したいと思います。 この研修は全職種向けの研修となってまして、 MIXI GROUPでセキュリティインシデントが起きた時のフローを知ってもらうインシデントが起きた際の対応力を身につけてもらうという目的で行なっています。 午前中はMIXIのCSIRTであるmixirtが行っている対応を例
minimoでは、既存のPerlのコードをGoへと置き換える移行作業を行っています。 その移行の際、現状の運用やGoの特性に合わせて個別で改修や対応を行うことがあり、そのうちの一つとしては過去に「ミクシィにおける Go 活用事例 〜 #gocon 2022 Spring 前夜祭(非公式)〜」で登壇した「Go移行におけるJSON-RPC対応」があります。 この登壇資料では、後半に少しコード自動生成について触れていますが、この記事ではさらにコード自動生成を深ぼってみようと思います。 コード自動生成現在、minimoで自動生成する仕組みがあるものは以下の通りです(補助ツールも含む)。 OpenAPIベースで生成されたリクエスト及びレスポンス型のコードgoogle/wire用のコードテスト用mockのコードテーブル定義から生成される構造体のコードテストコードそのものその他細かいもの(今回は触れませ
こんにちは、株式会社 MIXI 開発本部 CTO 室 SRE G 所属の yhamano0312 です。 SRE G では全社横断でのサービス運用における効率化/自動化をミッションに掲げています。その活動の一環として AWS 利用料金 Slack 通知ツールを全社利用できるようにしたので、こちらの作成背景やアーキテクチャを紹介します。 ツールを作成した背景MIXI では様々なサービスを展開しており、そのうちのいくつかは AWS 上で稼働しています。AWS に限らず従量課金のクラウドサービスを利用する場合は定期的に利用料金を確認しコスト最適化を行うことで、サービス運用費用を最小限にしていくことが望ましいです。 今回作成した AWS 利用料金 Slack 通知ツールは定期的な利用料金確認を開発チーム内で行う一助となることを目的としています。 通知内容AWS 利用料金 Slack 通知ツールから
最近は日本でも、時々耳にするようになった DevRel ( Developer Relations ) という職種。 でも多くの方は、DevRel が企業組織の中でどんな役割を持ち、どんなことを行っているのか、ご存知ないかと思います。 MIXI では、約4年前から DevRel の名前のついた組織が存在します。組織といってもつい最近まで2名、現在で3名体制ですが…。 正式に DevRel チームとなるまでは、採用・技術広報として、エンジニアの採用担当と連携しながら、カンファレンスへの協賛やエンジニアの登壇サポートなどを行っていました。その後、エンジニアブログの立ち上げや YouTube で海外カンファレンスの現地からのレポートを配信するなど試行錯誤を重ねる中、一方的な情報発信やPR活動だけではなく、社内エンジニア同士や社内外エンジニア同士のコミュニケーションについても目を向けるようになり、
ユーザーの増加を喜んでいたら、いつの間にかクラウドコストが高額になっていた!という経験や、コスト削減の結果、安定したサービス運営に必要な部分まで削ってしまわないか不安になった経験はありませんか? 多くの事業にとって、クラウドサービスは欠かせないものになりましたが、何も気にせずに使っているとクラウドコストは右肩上がりで高くなってしまいます。 今や『コスト最適化の知恵』は誰しもが持っていて損が無いもの。ですが、養うのは中々難しい。 こんな時は詳しい人に聞くしかない!ということで、酸いも甘いも知るベテラン SRE のおふたりに、クラウドコスト最適化術について聞いてみました。 クラウドコスト削減のアイデアが欲しい闇雲にコスト削減を目指すのではなく、『コスト最適化』の考え方が知りたい方は、ぜひご覧ください。 ※この記事は「MIXI DEVELOPERS Advent Calendar 2022 」
こんにちは。MIXI 開発本部 SREグループの riddle です。 自分の所属するプロダクトでは、ビルドツールとして Bazel を利用していたのですが、いろいろあって make に変えたので「Bazel をなぜ導入してなぜやめたのか?」 を紹介します。 <目次> Bazel とはどこに Bazel を使ってたのか?なぜ Bazel をやめたのか? 3-1. Bazel の運用コストが高かった 3-2. Bazel の速度問題 3-3. Bazel ではできないことがあるmake に移動したわけまとめBazel とは Bazel は Google が開発したビルドツールで、Java、C++、Go、Android、iOS、その他多くの言語とプラットフォームを使用してビルドとテストができます。 ローカルやリモートのキャッシュをうまく用い、アプリケーションのビルドやコンテナイメージの生成、テ
こんにちは。MIXI 開発本部 SREグループの riddle です。 開発環境で Ingress から Gateway API に移行しようと頑張ったけど、機能が一部足りない(Identity-Aware Proxy がない)ので諦めた話を紹介します。 ※機能が追加されたら再チャレンジするんだ… <目次> 開発環境の話開発環境の問題点いくつかの解決策Gateway API とは?Ingress から Gateway API に移行してみた(けどダメだった) 5.1 移行方式 5.2 Gateway API 導入の注意点 5.3 External DNS が Gateway API の v1beta1 に未対応 5.4 URLMap の 64KB 制限まとめ開発環境の話わたしたちは開発環境に GKE を利用しています。 ゲーム開発では、エンジニアだけではなくプランナーやデザイナーも個人環境
本記事は、世界規模の情報セキュリティコンテスト『SECCON』のインフラチームで活躍する2名のエンジニアへのインタビューです。 ◎前編はこちら 前編では、おふたりのSECCONでの活動内容や、SECCONインフラチームとしての今後の展望などについてお話いただきました。 後編では、「なぜそこまでセキュリティに惹きつけられるのか」や「セキュリティとプロダクト開発、ふたつの主軸を得た先で目指すエンジニア像」など、おふたりのセキュリティに対する興味の根幹に迫るインタビューをお送りしていきます。 ━セキュリティへの強い興味、そしてふたりに共通する「プロダクト開発も大事にする」という考え方の源泉は?━━後編では、おふたり自身についてお聞きしていきます。まずは、セキュリティに興味を持ったきっかけを教えてください。 浅野:最初のきっかけで言うと、確か小学校入学前に家でパソコンを触っていて、マルウェアに感染
情報セキュリティがテーマの競技を開催する、世界規模の情報セキュリティコンテスト『SECCON』。2012年の開始以降、セキュリティの総合力を試すハッキングコンテスト「CTF (Capture the Flag)」を筆頭に、教育から実践までをカバーする様々なコンテンツを提供してきました。 そんなSECCONの運営は、有志によるボランティアベース。 目玉であるCTFの「作問以外のシステム」を司るインフラチームでは、MIXIのエンジニアが活躍しています。プロダクト開発経験のあるセキュリティエンジニアの野村と、セキュリティ室を兼務するサーバーサイドエンジニアの浅野の2名です。 お膳立てされているとは言えない環境で、なぜSECCONの運営に労力を割き続けるのか。なぜそこまで強くセキュリティに惹きつけられるのか。目指すエンジニア像は一体? 質問をぶつけていくと、主軸を別の場所に置くおふたりに思わぬ
こんにちは。ミクシィの 開発本部 SREグループ の riddle です。 私はゴーストスクランブルというスマホゲームを開発しています。 一般的にゲームの APIサーバにはリリース当初から、 業者や好奇心旺盛な人から不正アクセスが大量に飛んできます。 【この記事における不正アクセス】 意図しないパラメーターを埋め込んだリクエストや、 正規のクライアントを使わずに送信されるリクエストを指します ストブルでもサーバ・クライアント間で鍵やパスワードを利用して認証を行なっていますが、クライアントは解析されてしまうため遅かれ早かれサーバに不正なリクエストが飛んできます。 実際リリースから日を待たずに不正リクエストが飛んできました。 不正なリクエストで大量にユーザを作成されると、 不要なDBレコードやユーザごとに作成されるファイルが増えるサーバに負荷がかかるCDN や転送量で不要な課金が発生するなどが
こんにちは。ミクシィの 開発本部 SREグループ の riddle です。 弊社では2022年7月にゴーストスクランブル(通称ストブル)というスマホゲームをリリースしました。 ストブルはマルチプレイゲームとボイスチャット機能を搭載しており、最大4人でマルチプレイができるアクションゲームです。 ゴーストスクランブル(ストブル)公式サイトこの記事ではスマホゲームに求められる要件を説明しながら、 ストブルのバックエンド・インフラ構成もあわせて紹介します。 −−−−−−−−−−−−−−−−−−−−−−−−− <目次> システムの全体像 1.1 gRPC でのリクエスト/レスポンス 1.2 マルチプレイゲーム 1.3 ボイスチャット 1.4 通知ゲームの基盤の特性について 2.1 スケーラビリティ 2.2 セキュリティ 2.3 KPI 測定のためのログ収集 2.4 まとめさいごに−−−−−−−−−−
今年も技術研修資料と動画を公開します!MIXIの新卒技術研修の方針や、LayerX様との合同研修についても紹介します! 研修資料・動画一覧Git研修( 動画 / スライド )データベース研修( 動画 / スライド1, 2 / SQL演習環境 )設計・テスト研修( 動画 / スライド )コンテナ研修( 動画 / スライド1, 2 )iOSアプリ開発研修( 動画 / スライド / リポジトリ )Androidアプリ開発研修( 動画 / スライド / リポジトリ )フロントエンド研修( 動画 / スライド / リポジトリ )ゲーム開発(Unity)研修( 動画 / スライド1, 2, 3, 4, 5, 6 / リポジトリ )Flutter研修( 動画 / スライド / リポジトリ )AI研修( スライド1, 2, 3, 4 / リポジトリ )セキュリティ研修( スライド )チーム開発研修( スラ
こんにちはミクシィの 開発本部 SREグループ の riddle です。 今回はスマートコントラクトと DApps の理解度を高めるために、独自トークンを賭けてじゃんけんをするアプリを作ってみましたので紹介します。 目次◆ 目次 ◆ 作ったもの ◆ 作ったことで得られたもの ◆ 次にやりたいこと ◆ じゃんけんコードの解説 ◆ さいごに 作ったもの 独自トークンを取得して、じゃんけんをするデモ遊び方Chrome Add-on で MetaMask をインストールするMetamask にログインする使用するネットワークを Ropsten テストネット にするRopsten テストネット の ETH を faucet サイトで取得するじゃんけん on Ethereum にアクセスして、右上の仮想通貨のアイコンをクリックしRSPトークン をチャージする。
Monster Strike started the transition to App Store Server Notifications Version 2 in January 2022 and completed it in March 2022. I discovered the following through this project: ・A Ruby implementation of the JWT standard, ruby-jwt, could be used to verify JWS ・There is a delay for when settings are updated in App Store Connect So I will explain in more detail with actual code in this article. Tab
5/12(木)に開催された『Vertical SaaS Study #1 アンドパッド,FiNC,ミクシィの新人若手エンジニア成長戦略』でミクシィの新卒技術研修について紹介したので、そのレポート記事です。
こんにちはミクシィの 開発本部 SREグループ の riddle です。 今回は先日作った TODOリストの Dapps を Hardhat を使って動かしたいと思います。(最近は Hardhat が結構使われているよと教えてもらった) 先日のやつ → Dapps TODO リスト をSolidity で作ってみた今回のコードはこちら → lirlia/solidity-hardhat-todo目次◆ Hardhat とは? ◆ Hardhat に移行してみる ◆ MetaMask の準備 ◆ フロントエンドの準備 ◆ 動かしてみる ◆ まとめ Hardhat とは?Hardhatは Ethereum ソフトウェアをコンパイル、デプロイ、テスト、およびデバッグするための開発環境です。 Truffle と異なり Hardhat 自体が Ethereum 互換のネットワーク(ローカルイーサリア
こんにちはミクシィの 開発本部 SREグループ の riddle です。 私が所属するチームではインフラを Terraform で管理しています。 https://www.hashicorp.com/brandTerraform の実行は CI で管理されており、GitHub の Pull Request(以下PR) が作成・修正されると Terraform plan CIを実行し、PRのマージ時には Terraform apply CI を実行するようにしています。 今のままでも便利なのですが、より快適にするべくいくつかの目標をたてて改善することにしました。 可能な限り Terraform plan / apply を高速にしたいTerraform plan を並列に実行したいCI の価格を抑えたい(plan / apply ジョブの実行時間を最小にしたい)Terraform の運用を簡
次のページ
このページを最初にブックマークしてみませんか?
『MIXI DEVELOPERS』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く