サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
blog.colopl.dev
こんにちは。 Platform Engineer の工藤です。 今回は PHP で利用される日時ライブラリ nesbot/carbon の速度をだいたい 3 倍くらい高速化した話について紹介させていただきます。 nesbot/carbon について carbon.nesbot.com github.com nesbot/carbon は PHP で日付・時刻を扱うためのライブラリで、 PHP 標準の ext-date を拡張し、より利用しやすい形で提供してくれます。PHP のアプリケーションフレームワークで有名な Laravel でも標準で採用されており、昨今のプロジェクトだと基本入っている場合が多いと思います。 バージョンアップでパフォーマンスが悪化 便利な nesbot/carbon ですが、 Laravel 6 の EOL による Laravel 9 へのアップグレード対応の際、大幅
こんにちは、 Platform Engineer の工藤です。 過去記事や PHPerKaigi 2023 での登壇でたびたび触れていた社内 PHP 互換 Extension である colopl_bc 、及びそれを利用するための Rector ルールを GitHub にて OSS として公開しました。 github.com colopl_bc について colopl_bc は PHP のバージョンアップに伴う下位互換性のない変更について、実行速度や厳密な互換性の面から PHP だけで対処することが難しいものを PHP に提供する拡張機能 (Extension) です。 ini による設定で実行時に互換性を維持できているかを確認することができるので、本番環境では高速に動作するよう互換性チェックを無効にしつつ、 canary 環境でのみ非互換を検出した場合にログを記録する、という運用ができる
こんにちは。サーバーサイドエンジニアの薮です。 もうすぐGWですね。みなさんは今年のGWに何か計画を立てていますでしょうか? 「時間があるしインプットに当てたい」 「特に予定を立ててないし本でも読もうかな」 「最近本を読んでいないので何か読んでおきたい」 そんな方もいるかなと思いまして、今回はコロプラのサーバーエンジニアがおすすめするGWに読みたい技術書をご紹介したいと思います。 低レイヤ周りの基礎知識 1) コンピュータシステムの理論と実装 2) マスタリング TCP/IP 入門編 3) パケットキャプチャの教科書 4) ふつうのLinuxプログラミング 5) Goならわかるシステムプログラミング 6) Go言語による並行処理 7) Go言語でつくるインタプリタ 設計 8) エリック・エヴァンスのドメイン駆動設計 9) Clean Architecture 達人に学ぶソフトウェアの構造と
こんにちは。 SRE の工藤です。 普段は SRE としての活動の他、技術基盤本部として共通基盤やライブラリの開発、保守を行っていますが、コロプラにおける PHP バージョンアッププロジェクトが始まった時から関わっているということもあり、今でも多くのタイトルで対応を行っています。 今回は "コロプラにおける PHP のバージョンアップ" に焦点を絞り、PHPのバージョンサポート事情、運用しているゲームタイトルの対応をどのように行っているのか、その時に利用している "三種の神器" とも呼べるツール・ライブラリなどを紹介いたします。 PHP のサポート期間 PHP は原則、最新からさかのぼって 3 バージョンまでをサポート対象としています。アクティブサポート期間とセキュリティサポート期間の 2 種類があり、アクティブサポート期間内であればバグと脆弱性の修正、セキュリティサポート期間であれば脆弱
はじめに コロプラには長期間運用しているゲームタイトルが複数存在します。 何も対策を行わないと長期運用タイトルではマスターデータの量が多くなり、次第にレスポンスタイムが悪化していきます。 その上コロプラではなるべくノーメンテナンスで運用するポリシーを持っているため、随時更新され続けていくマスターデータの管理には工夫が必要です。(ノーメンテナンスで運用するノウハウなどについては別の記事で紹介させていただくと思うので今回は割愛します。) 今回はそのための工夫の一つとして、ノーメンテナンスで運用しつつ、長期間運用してもレスポンスタイムを悪化させないための仕組みについて紹介させていただきたいと思います。*1 忙しい人のための要約 ゲーム開始時にマスターデータを一括でダウンロードしアプリ上にキャッシュ 次回以降は更新があった場合のみサーバーからマスターデータを取得 不要な通信を減らしキャッシュするこ
Scalar とは 大規模リポジトリを対象とした、リポジトリ容量最適化・コマンド高速化のための拡張機能の提供とgit configの自動設定を行うツールです。元々 Microsoft によって開発されていました (https://github.com/microsoft/scalar) が、Git 2.38よりメインストリームに取り込まれたことで同梱されるようになりました。 github.blog 下記コマンドでScalarを利用することができます。 # 既存リポジトリでScalarを利用する場合 $ cd /path/to/repo $ scalar register # 新規でクローンする場合 $ scalar clone /path/to/repo 実際に、https://github.com/git/git のリポジトリを対象にScalarを利用するとなにが起きるのか今回は調べてみ
こんにちは。サーバー基盤グループでサーバーエンジニアをやっている尾山です。 コロプラ社の最新タイトルでは TiDB Cloud という分散型データベースをマスターデータの運用に使っています。TiDB Cloud とは PingCAP 社が提供する OSS、TiDB をベースとしたマネージドなデータベースサービスです。本記事は、その TiDB Cloud を選んだ理由を経緯と交えて紹介させていただきます。 経緯 弊社では TiDB Cloud を選択するまでに多くの紆余曲折があり、理由を説明するにはかなり昔まで遡って話をする必要があります。コロプラでは2017年頃までにリリースしたタイトルでは、全てのデータをGCEなどのIaaS上の MySQL で運営していました。元々はベンダーロックインを避けるためと、メンテナンスによるダウンタイムを作らないことを目的としてこの方法で運営していました。し
サーバー基盤グループで SRE として活動している工藤です。 つい先日、 Google Cloud 上で念願の Arm インスタンス T2A が利用可能になりました。まだプレビュー扱いで限られたリージョンでしか利用できませんが、既に Kubernetes Engine も動作します。 cloud.google.com 今回はそんな Google Cloud の Arm インスタンスを試してみました。 広がる Arm アーキテクチャの世界 Arm for Server Arm インスタンスと Apple Silicon Mac docker buildx + QEMU によるクロスビルド GCE T2A を用いたネイティブビルド 速度・費用比較 まとめ 広がる Arm アーキテクチャの世界 Arm アーキテクチャといえば、現在販売されているスマートフォンの大半が Arm アーキテクチャの C
コロプラでは、日々のタイトル運用を円滑に行うため、ゲームアプリケーションを支える多くのツール群を用意しています。 以前「コロプラのゲーム開発/運用におけるツール/機能の一部を紹介」という記事で開発を支援するツール・機能を紹介しました。 前回はゲーム開発者向けのツールについての話が中心でしたが、今回は「マスターデータ操作」「お問い合わせ・調査対応」といった機能を提供するゲーム運用者向けのツール(以下:管理ツール)について取り上げたいと思います。 管理ツールについて コロプラでは運用チームが、ゲームデータの設定や調査業務などの運用作業を画面上で行えるようにするための「管理ツール」と呼ばれる運用ツールが存在します。 管理ツールでは業務システムやWEBアプリケーション等における管理画面の機能に加えて、デバッグ機能や補填機能のようなモバイルゲーム特有の要件の機能にも対応しています。 以降の章では、管
こんにちは。コロプラのバックエンドエンジニア部の山田です。 2022年2月16日に、『Cloud Spanner への挑戦と今』というエンジニア向け勉強会をconnpassで実施させていただきました。 当日のYouTube配信はこちらからご視聴いただけます。 www.youtube.com 勉強会の内容 今回の勉強会では次のようなお話をさせていただきました。 Cloud Spanner 導入の裏話 Cloud Spanner 開発・運用で得られたノウハウ Spannerウォームアップについて 前半(1) では、コロプラ内で当たり前のように使われている Google Cloud Spanner に関して、『そもそもSpannerとは何か』『採用までの経緯・技術的ハードル』『検証段階で発見したこと』についてお話させていただきました。 後半(2,3)では、約4年間 Spanner での開発・運用
このページを最初にブックマークしてみませんか?
『COLOPL Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く