サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
tech.griphone.co.jp
この記事は GRIPHONE Advent Calendar 2022 5日目の記事です。 こんにちは、SREの笹です。 ゲームの開発をしていると、デバッグツールで見られる一般的な情報に加えて、TCP等より物理層に近い情報を見ながらデバッグをしたいと思うことがあります。そのような時、コンピューター上で動作しているプログラムであれば、Wiresharkなどのパケットキャプチャーを使えば簡単に情報を確認できますが、スマートフォン上で動作しているゲームだとそう簡単には確認することができません。 今回は、できるだけ手軽に、簡単に、WiFiを通して接続しているスマートフォンの通信をWiresharkでキャプチャしてみようという趣旨の記事になります。 できるだけ手軽に、簡単に。 WiresharkとWiFiでパケットキャプチャーする方法を簡単に検索してみると、無線LAN親機とスマートフォンの間を流れる
この記事は GRIPHONE Advent Calendar 2021 18日目の記事です。 本記事はGitHub Actions上で動作するDocker Compose上のPHPUnitを、actions/cache@v2とBuildxの組み合わせで高速化することを狙った記事です。 PHPerの皆さまなら誰もがお世話になっているだろうDocker、便利ですがイメージのプルやビルドに時間がかかりますよね。開発環境であれば大きな問題にはなりませんが、GitHub ActionsのようなCIでは早く結果を見れるようにしたいものです。 私たちのプロジェクトのGitHub Actions上で動いているPHPUnitも、結果が出るまでに約6分間もかかってしまっていました。これではいかんと、さまざまな仕組みを使い結果的に2分弱まで短縮することができましたので、そのやり方を公開したいと思います。 従来の
GKEのPodからTokenRequestProjectionで発行されたOIDCのID Tokenを使用してAWSのRoleにAssumeRoleしてみる この記事は GRIPHONE Advent Calendar 2021 2日目の記事です。 SREの徳田です。 GKEのTokenRequestで発行されたID Tokenって外から検証できるんだっけ・・?という疑問から色々探していたところ、OpenID Connect Discoveryまで実装されており外部からID Tokenの検証が可能だったため、これを活用して今回はAWSのRoleにAssumeRoleしてみようと思います。 TL;DR TokenRequestProjectionでTokenをマウントAWSでOIDC Identity Providerの設定とそこからAssumeRoleできるIAM Roleの作成Provi
安全性の高い構成がどこまで本当に必要なのか?ということを考えると過去の運用経験や現状のスケジュール感から実装コストに見合ってないと判断しました。 そこで2でやっていこうと考えてたところで、CloudIAPを使ってSSH接続できる方法がわかったのでそちらを今回やってみようという風になりました。 CloudIAPでSSH接続する際はVMはグローバルIPを持たないで良いので、安全性の高い構成を低い実装コストでつくることができます。 AnsibleでCloudIAPを使ってSSH接続するための設定 CloudIAP有効化 CloudIAPを使用するためにAPIの使用を有効化する必要があるので、以下ドキュメントを参考に実施します。 IAP の有効化 | Google アカウントによるアクセスの管理 | Identity-Aware Proxy | Google Cloud Googleアカウ
この記事は GRIPHONE Advent Calendar 2020 11日目の記事です。 サーバーサイドエンジニアのtackです。 最近リリースされたPHP8が爆速ということで、PHP7からPHP8にするとどれぐらい実行速度が早くなるのか、また、移行はどれぐらい大変なのかをStudio MGCMより提供されているマジカミを使って試してみようと思います。 サーバー環境 現在使われているサーバー環境は以下の様になっています。 PHP7系CodeIgniter3MySQLRedis これをPHP8.0にアップデートして、パフォーマンスを比較していきます。 PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Cop
サーバーサイドを担当しております皆田と申します。 Docker for Windowsを扱った記事が多いですが、ローカル開発環境を作ってみた際の動作の体感として、DockerとWindowsの課題感があったり、WSL2になって、ファイルシステムの違いからこうした方が動作が速いなどわかったことがありました。 本記事では、WSL2のセットアップ、Dockerの起動、IntelliJにDockerを認識させるまでを解説し、パフォーマンスについて簡単にまとめます。 待ちわびたWSL2の登場 WSLでLinuxが使えるぞ!(((o(*゚▽゚*)o)))・・・_| ̄|○ という経験をされた方も多いと思います。 /etc/wsl.confをいじったり、.wslconfigであーじゃないこーじゃないと言ってみたり、パーミッションがroot・・・と嘆いてみたり、いろんな苦労をされましたよね。 コロナ禍でWS
はじめまして!CyberAgent 21卒内定者の笹です。現在、内定者アルバイトとしてグリフォンに配属されています。 今回はMutagen Composeを使って開発環境Docker上のPHPのレスポンスをWindowsでは平均3.4倍、macOSでは平均2.0倍することに成功したので、その手順と以前の環境との比較を書きたいと思います。 DockerのVolumeマウント遅すぎ問題 開発環境のDockerのVolumeマウント、重いですよね。私たちのプロジェクトでも、Dockerの重さは問題視されてきました。とはいえ、Docker抜きで開発することはできません。 Dockerの開発側もこのVolumeマウント遅すぎ問題に対処している様で、いわゆるベータ版であるEdgeチャンネルでは、それに対処するための様々な新機能が搭載され、実験が重ねられています。 ですが、それらの機能はOS間での互換性
SREの徳田です。 今回はCiliumのv1.7からGAになったKubernetes without kube-proxyのタイトルで出てる、Ciliumによるkube-proxyの置き換えの機能をGKE上で試してみようと思います。 Ciliumとは こちら の記事の後半を見てみると若干書いてあります😌 要はBPFを使いこなし、Blazing Performanceで処理するぞ💪というProductです。 概要についてはこの記事からそれるのでリンクだけおいておきます。 https://cilium.io/ クラスタの準備 それではGKEのクラスタの準備をしましょう。 google-cloud-sdk とGCPに対しての認証とプロジェクトの指定は終わらせているものとします。 CLUSTER_NAME=cilium-cluster CLUSTER_ZONE=asia-northeast1-
この記事は GRIPHONE Advent Calendar 2019 8日目の記事です。 今年入社したSREの岩立です。 今回はArgo Rolloutsに関する概要とGetting Startedを一部やってみたのでそれらについて書きます。 Progressive Delivery Argo Rolloutsの概要を話す前に、タイトルにあるProgressive Deliveryについて書きます。 Progressive Deliveryというデプロイ手法は、Continuous Deliveryに分析を足したものという定義です。分析しながらデプロイすることで影響範囲を細かく制御したり、分析の結果、失敗のデプロイと判断された場合は自動でデプロイをロールバックするというものです。 従来のContinuous Deliveryは下図のように構成されていました。 引用: Leveling U
こんにちは!サーバーサイドエンジニアの斎藤です。 業務でECSを使うことになりましたので、自分でECSを使ってnginxコンテナを立ち上げてみました。 Amazon ECSとは Amazon Elastic Container Service (Amazon ECS) は、Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスです。 https://aws.amazon.com/jp/ecs/ 簡単に言うと実用的なコンテナ環境を手軽に作成できるサービスです。 実践 「クラスターの作成」でも作成できますが、今回は初めてということで「今すぐ始める」から開始してみます。 ステップ1:コンテナとタスク ECSの起動タイプについてはFargateとEC2の2種類ありますが、チュートリアルでは自動的にFargateとなっています。 EC2はEC2インス
GRIPHONE Advent Calendar 2018 24日目の記事を担当しますエンジニアの西村(大)です。 特定のディレクトリ以下で更新があった場合だけJenkinsのジョブを走らせるプラグインを紹介したいと思います。 ※この記事はGRIPHONE Advent Calendar 2018 24日目の記事です。 https://qiita.com/advent-calendar/2018/griphone https://adventar.org/calendars/3147 読むの面倒な人向けまとめ Pullしまくるジョブで疑似Webhookをして、File System SCMプラグインを使って特定のディレクトリ以下で更新があった場合だけジョブを走らせる やり方 Gitなどのバージョン管理のシステムを使う場合でWebhookを使える場合は良いのですが、 社内インフラからしか接続
こんにちは。SREの徳田です。 今回は、「GitLabからGitHubに移行してみた(アプリケーションエンジニア編)」のSREチーム視点なるものを書いてみようと思います。 とはいえ、アプリケーションエンジニア編で素晴らしいほどにまとめてあるため、こちらでは実際に行った作業やGit LFSについて書いていきます。 Git LFS Git LFSとは Git LFSとはGit Large File Storageのことで、以下の機能を提供しています。 大きなファイルのバージョニングより多くのリポジトリ容量高速なクローン・フェッチGit workflowと同じ様に利用Gitと同様のアクセス制御 導入方法は簡単で、Windowsの場合はGit for Windowsをインストール、Macはbrewを使って導入することができます。 また、基本的にはインストール時に自動的にやってくれるはずですが、以下
こんにちは。SREの徳田です。 今回、Kubernetes上でMySQLを動かしたい、という要望があったので、mysql-operatorについて調査してみました。 Operatorとは Operatorは2016年にCoreOSが公開した手法・概念で、端的に言うとKubernetesを基盤としたアプリケーションのパッケージング・展開・管理を行う方法です。また、このOperatorの開発を手助けしてくれるものがOperator Frameworkです。 Operatorで管理する対象のアプリケーションはなんでもいいのですが、大抵の場合は管理が難しいとされているStatefulなアプリケーションのものがほとんどです。 また、公開されているOperatorを共有できるOperatorHub.ioというサイトも有ります。まだ種類は少ないですが、こちらでどのようなOperatorがあるかも確認する
グリフォン Advent Calendar 2018 8日目の記事を担当しました、rakiと申します。 自前のQiitaアカウントを紐付けていいということになったのですが、結果として誰?ってなってしまいました(笑) ※この記事はGRIPHONE Advent Calendar 2018 8日目の記事です。 https://qiita.com/advent-calendar/2018/griphone https://adventar.org/calendars/3147 さて、本日はグリフォンで利用しているPagerDutyについて書いてみようと思います。 PagerDutyに関する日本語の記事はまだまだ数が足りていなかったり、実際の使用状況について書かれたものは少ないです。使ってみたの多くはドキュメントを読めばわかることしか書いてありませんし、それ以降は利用する側の要件が異なってしまうの
今回の記事は、昨年、弊社で関わっているすべてのゲームタイトルのPHPのバージョンをPHP5.6系からPHP7.2系に上げたことについて、PHPカンファレンス仙台2019でも発表した「テストコードが無くてPHP7へのバージョンアップが出来ない?ボットで解決しました!」について深掘りしたものになります。 https://speakerdeck.com/sgeengineer/tesutokodogawu-kutephp7hefalsebaziyonatupugachu-lai-nai-botutodejie-jue-simasita こちらがぺちコンで登壇したときの資料になります。 ぺちコン仙台(PHPカンファレンス仙台のこと)ではPHP7化の背景やスケジュール、その効果、またボットを作る背景、内容、効果などを発表で紹介しました。 今回の記事では、ボットについてより詳しく紹介したいと思います。
CSVのヘッダー名を取得する まずはCSVのヘッダー名を取得してみます。 今回のmonster.csvの例では、1行目がヘッダー名に相当するため1行目の取得を行ってみます。 サンプルコード <?php require_once __DIR__ . '/vendor/autoload.php'; use League\Csv\Reader; use League\Csv\Statement; $csv = Reader::createFromPath('./csv/monster.csv', 'r'); // ここでヘッダーのオフセットは0、つまり1行目がヘッダーですよーと指定しています $csv->setHeaderOffset(0); $header = $csv->getHeader(); print_r($header); 結果 Array ( [0] => id [1] => na
この記事はGRIPHONE Advent Calendar 2018の9日目の記事です。 こんにちは。SREの徳田です。 今回はここ最近でETL基盤を作った際に、ワークフローエンジンとして使用したDigdagというツールについて紹介しようと思います。 ※この記事はGRIPHONE Advent Calendar 2018 9日目の記事です。 https://qiita.com/advent-calendar/2018/griphone https://adventar.org/calendars/3147 Digdagについては以下の3回に分けて解説できればと思います! Digdagについてとワークフローの定義・記述についてDigdag Serverの構成についてと構築についてDigdag Embulk を使ったETL処理の実装について Digdagとは Digdagはオープンソースで開発
GRIPHONE Advent Calendar 2018 5日目の記事を担当します鑓水です。 今回は弊社で使っているJenkinsのおすすめプラグインを紹介します。 ※この記事はGRIPHONE Advent Calendar 2018 5日目の記事です。 https://qiita.com/advent-calendar/2018/griphone https://adventar.org/calendars/3147 なぜ今Jenkinsなのか この記事を見たみなさん誰しもが思うはずです。 なぜ今さらJenkinsの話をするのか、と。 時は2018年。今ではCI(継続的インテグレーション)ツールといえばTravis CIやCircle CIといったクラウド型のCIツールが導入と運用保守の観点でデファクトスタンダードとなりつつあります。 技術に敏感な人なら上記二つのツールすら古いように
こんにちは!エンジニアの西村です。 今後グリフォンエンジニアブログでWrikeを使う上で知っておいた方が良いTipsを紹介します。 と、以前書いたので今回はTips紹介をします! 目次 ・プロジェクト・フォルダの違い ・プロジェクト・フォルダのソート条件について ・アカウントに紐付いている休日の一括設定 ・サブタスクをカンバンボートに表示させる方法 ・タイムラインのタスク順を良い感じにソート ・タスクに紐付いている何かを一括変更 ・サブタスクを別のタスクのサブタスクにする方法 ・マイルストーンの設定 ・ユーザー権限 ・ワークフローの変更 ・旧ライムライン ・未割当のタスクを絞り込む方法 ・デフォルトの名前を付けて作成される新タスク Wrikeをご存じない方は以前書いた記事を読んでから、本記事を読む事をオススメします。 プロジェクト管理ツール「Wrike」の紹介 グリフォン以外にもCyber
こんにちは!グリフォンでSREをやってる徳田です。 CKAの試験についてと自分が行った試験対策について紹介したいと思います! また、CKAの受験にあたってバックアップしてくださったKubernetesゼミについて少し紹介したいと思います! CKAとは Certified Kubernetes Administrator(CKA)はCloud Native Computing Foundation(CNCF)が運用・認定を行っている試験です。主にはKubernetesの管理者として必要とされるスキルを問われる内容になっています。 CKAは試験としてスタートしてから半年ほどですが、既に何度か改定が行われています。自分が試験をうけたときは1.9.0というバージョンでした。(カリキュラムはこちらから) 受験の申し込みは以下のページのRegister for the Examからできます。 Cert
1. 本記事を執筆するにあたってのご挨拶 Webフロントエンドを担当している皆田と申します。 前職の経験を活かした改善に日々取り組みながら、現チームの課題を解決するため、タスク管理ツール「Asana」を導入しましたので 導入に至るまでの苦悩やフロー作りを紹介させていただきます。 あれ?グリフォンってWrike利用してるんじゃないの?と思う方もおられるかもしれませんが、チームの発足時期によって内部状況や抱えてる問題も様々。本来は同じツールにする方が良いとは思いますが、お値段やチームサイズの問題、諸々の事情も相まって、Asanaを選択させていただきました。 ※半年分の私のメモから書いてるので、超絶長いですよ。。。 2. Asana導入 既存プロジェクトを運用していくにあたり、以下のような問題がありました。 長期化したプロジェクトにありがちな属人的になってしまった 作りが煩雑でバグを発生しやすい
この記事はCA Advent Calendar 2017 23日目の記事です。 CTOの川村です。GRIPHONEでは10月から新たな年度に入っていますが、今期は個人目標設定に力を入れています。 背景 GRIPHONEでは毎半期末に査定を実施しています。全エンジニアと私で査定面談を行い、その際に次半期の目標を確認しているのですが、ここでの課題点として下記のようなものがありました。 目標の進捗確認を半期中に行っていない →そのため、半期末の面談時に「そう言えば半年前に立てた目標って何だったっけ?」と初めて振り返るケースがほとんど →半期中に目標を意識する事もほとんど無い 半期中に状況変化があっても目標の見直しを行っていない →ミッションが変われば目標の追加や修正があって然るべき 目標の質向上が不十分 →目標について直上長や所属プロジェクトのプロデューサーと議論していない →期待されている事の
こんにちは! PHP × Unityを使った新規開発プロジェクトでサーバサイドエンジニアをしている仙道です。 今回の記事では、SwaggerというAPI開発フレームワークを使って、 サーバ(PHP)とクライアント(C#, Unity)それぞれで使うリクエスト / レスポンスクラスを自動生成することでAPIの繋ぎ込みを楽にするための取り組みについて紹介したいと思います。 Swaggerとは? Swaggerとは、REST APIを記述するための仕様とその仕様に基づいた開発を支援するためのツール群を提供しているAPI開発フレームワークです。 Swagger SpecというAPIの設計図を基にWeb上で閲覧できるAPIドキュメントを生成することができたり(Swagger UI)、mustacheと呼ばれるテンプレートエンジンを使って記述されたテンプレートと合わせて使用することで、様々な言語のコー
Swagger UI × Amazon EC2 × Dockerで開発初期からAPIの繋ぎ込みを意識できる環境を構築してみた こんにちは! PHP × Unityを使った新規開発プロジェクトでサーバサイドエンジニアをしている仙道です。 今回の記事ではSwagger UIとAmazon EC2、Dockerを使って開発初期から繋ぎこみを意識した開発を行うための取り組みを紹介したいと思います。 今回の記事ではAmazon EC2やDockerの基本的な使い方については触れないため、もしこれらについて分からないという場合は、下記のドキュメント等を参照いただければと思います。 Amazon EC2 : http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.htmlDocker : https://docs.docker.
16卒のエンジニアの徳田です。 今回、エンジニアブログ開設にあたって、ブログのインフラ環境をGoogle App Engine(以下GAE)上に構築してみました。 その際の経緯や環境の解説をしようと思います! (この記事はGAEのクイックスタートを終えた、またDocker/コンテナについてある程度の知識がある方向けになっています) GAE採用のわけ 単純な話ですが、運用する際の工数を落としたかったためです。VM上に構築するとなると、デプロイの処理や負荷分散対策、リソース監視などを考えなければならず、面倒です。 この辺りをマルっとやってくれるのがGAEです。(リソース監視は微妙ですが) 負荷の想定もそこまで厳しいものではなかったのと、オートスケールするので問題ないかなという判断でした。 次に、GAE上で動作させるアプリケーションですが、ブログサイトを見て分かる人には分かってしまいますがWor
この記事は GRIPHONE Advent Calendar 2022 25日目の記事です。 Cloudflare Zero Trustが流行ってる(た?)ので、ちょっと試すのと、どうせならk8s上で動かしてみよう、ということでこちらを参考に試していこうと思います。 Continue reading »
このページを最初にブックマークしてみませんか?
『GRIPHONE ENGINEER'S BLOG | 株式会社グリフォンのエンジニアブログです。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く