タグ

ブックマーク / techblog.kayac.com (28)

  • ゲームプログラミング研修 - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

    ゲームプログラミング研修 - KAYAC Engineers' Blog
  • YAPC::Hirosima 2024でコードゴルフコンテストを開催しました 〜解説編〜 #yapcjapan - KAYAC Engineers' Blog

    こんにちは、技術部の谷脇です。 去る2月10日に行われたYAPC::Hiroshima2024ですが、みなさまはいかがだったでしょうか。私は参加して大満足であり、運営の方々に大感謝させていただきます。 さて、カヤックではゴールドスポンサーと椅子スポンサーをしていたというのは開催直前に出した記事で述べさせていただきました。 techblog.kayac.com この記事では伏せられていた、椅子スポンサーのPerlbatrossですが、この記事ではPerlbatrossの内容紹介と問題解説をしようと思います。 Perlbatrossとは YAPC::Hiroshima2024の開催期間中にコードゴルフの問題を出していました。以下は椅子スポンサーで貼らせていただいた問題です。 Q1. Split of Graphemeの問題 さて、これだけではなく、QRコードにアクセスすると実際に問題を解けるサ

    YAPC::Hirosima 2024でコードゴルフコンテストを開催しました 〜解説編〜 #yapcjapan - KAYAC Engineers' Blog
  • ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の17日目の記事です。 はじめに こんにちは、今年のITS健保、ライブなどの抽選でどれも当選しなかった魏と申します。 ITS健保(関東ITソフトウェア健康保険組合)には様々なお得の施策がありますが、他の社員に聞いたら意外と知られていないのが多いようです。それを機に今回の記事でいくつかを軽く紹介します。 はじめに 保養施設 一番お得な「直営・通年・夏季・冬季保養施設」 抽選申込 空き照会申込 5000円/泊の補助がもらえる「契約保養施設」 ITS旅行センター契約保養施設 ラフォーレ倶楽部 10000円補助がもらえる「ITS旅行パック」 その他 健歩大会 利用料金が半分になる「スポーツクラブ」 さらにお得の小技 最後に 保養施設 保養施設 ITS健保で利用できる保養施設は6種類ありますが、メインの3つだけ紹介

    ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog
  • 社内発OSSのドッグフーディングでみんな捗る! - KAYAC Engineers' Blog

    Tech KAYAC Advent Calendar 2023 の11日目です。 こんにちは。 専らドッグフードをべる側の長田です。 もちろんリアルな犬のはなしではなく、ドッグフーディングのはなしです。 https://ja.wikipedia.org/wiki/ドッグフーディング ドッグフーディング (英: dogfooding) または「自社のドッグフードをべる」「ドッグフードする」(Eating your own dog food、Drinking your own champagneとも言う)は、コンピュータ業界において、自社製品を開発して利用する組織の習慣で、組織が実際の使用法で日々自分たちで製品を利用しながら製品テストを行うことである。 カヤック由来のOSS 実はカヤック(社員名義も含む)はOSSなプロダクトをそこそこの数公開しておりまして、実際の業務でも使っています *1

    社内発OSSのドッグフーディングでみんな捗る! - KAYAC Engineers' Blog
  • ゲームにおけるA/Bテストについて - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 今回は、ゲームにおけるA/Bテスト について論じます。 「論じます」で始めたことで察しがつくかとも思いますが、今回はブログではありません。 媒体はブログですが、ブログの容量ではない代物になっております。3.5万字(115KB)超えです。 ゲームにおけるA/Bテストについて、実施の方法や問題点、 倫理的側面に至るまで幅広く書き連ねてみました。 読んで欲しいのはどちらかと言えば同僚なのですが、 そういう時にはまず社外に出してしまった方が良いものですので、 ブログにしてしまいます。 比較的同業の方が読むことを想定しているため、 図表を用いてわかりやすくすることはしておりません。 これを書いた人間は何者か 技術的な問題の前に ゲームにおいても構図は全く同じ A/Bテストが可能である条件 A/Bテストの手続きを概観する 振り分け アプリ内振り分けの場合 Firebase

    ゲームにおけるA/Bテストについて - KAYAC Engineers' Blog
  • SRE連載が始まります! - KAYAC Engineers' Blog

    あけましておめでとうございます。SREチーム(新卒)の市川恭佑です。 カヤック技術ブログでは記事が2023年初エントリですが、Happy Lunar New Year!の方が違和感のない時期になってしまいました。 年、新たにカヤックSRE連載と題した企画を始めるので、概要についてご報告します。 連載企画を始める経緯 カヤックの技術ブログといえば毎年恒例のアドベントカレンダー企画が人気ですが、これは12月限定のため、それ以外の時期にブログの更新が激減する傾向がありました。 ブログ過疎化の対策として、カヤックでは去年からSREチームで毎月1のペースでブログ記事を出していました。 実のところ、内部的にはこれを「SRE連載」と読んでいました。 「とりあえずやってみよう」というノリで始まった連載でしたが、結果的には「12月を除くすべての期間において記事を出す」という実績を作れたので、年は正式

    SRE連載が始まります! - KAYAC Engineers' Blog
  • Webサービスの急激なアクセス数増加を予測して対処する方法と実践 - KAYAC Engineers' Blog

    どうも、ゲームコミュニティ事業部Tonamelのサーバサイド担当の谷脇です。 今回はTonamelのサービス特性上、どうしても発生する急激なアクセス数の増加(以下スパイクアクセス)をどのように対処しているかをお話します。 Tonamelのサービス内容については以前の記事に書いています。一言でいうと「誰でもeスポーツ大会の運営ができるサービス」です。 Tonamelの特徴 大会が開始したときに発生するスパイクアクセス スパイクアクセスの様子 上記は、あるゲーム大会が大会を開始した10:40ごろのリクエスト数の遷移です。Tonamelは大会の開始と同時にトーナメント表が公開されます。大会に参加している人はもちろん、観戦を行っている人もトーナメント表を見に来ます。観戦する人の同期としては、知人や推しの選手のトーナメント表上での位置や、相手を確認しに来ているようです。 Tonamelに限らず、We

    Webサービスの急激なアクセス数増加を予測して対処する方法と実践 - KAYAC Engineers' Blog
  • 全国統一Webエンジニア世論調査 - KAYAC Engineers' Blog

    はじめに 時下ますますご清栄のこととおよろこび申し上げます。 私、コピーライター合田は普段から、社内・社外に関わらず多くのWebエンジニア(以下、エンジニア)のみなさまとお仕事をさせていただいております。そのときに、円滑にすすめるにあたって、どのように依頼をすればよいかを日々考え、頭を悩ませておりました。 このたび、一人で悩むよりも多くの方にご意見を頂いたほうがよいのではないか。そう思い、このような調査をさせていただきました。 率直な意見をいただくことで、私と同じように悩む者の救いになるのではないかと思っております。 ご回答ありがとうございました! 結果はこちらに集約されています。 docs.google.com これを機に、エンジニアと非エンジニア仕事が円滑に進むことを願っています。

    全国統一Webエンジニア世論調査 - KAYAC Engineers' Blog
  • 秘密情報には出どころも書いてくれ!頼む! - KAYAC Engineers' Blog

    SREチームの長田です。 KAYAC Advent Calendar 2022の11日目の記事です。 アプリケーションから何かしらの外部サービスを利用するとき、そのサービスを利用するためのAPI Keyなり秘密鍵なりの秘密情報を保持することになります。 暗号化したものをファイルとしてアプリケーションに持たせたり、 Amazon Web Services(AWS)ならAWS Secrets Managerや AWS Systems ManagerのParameter Store(SSM Paramater Store)に保存したものを実行時に読み込んだりするでしょう。 これらの秘密情報、どこから来たのかわかりますか? どこから来た秘密情報なのか 秘密情報を使って出どころを調べられるのであれば問題はないでしょう。 # 例えばAWSのIAM User Credenntialsとか $ AWS_A

    秘密情報には出どころも書いてくれ!頼む! - KAYAC Engineers' Blog
  • GoとテストとSDKとGCP - KAYAC engineers' blog

    SREチーム(新卒)の市川恭佑です。これはKAYAC Advent Calendar 2022の9日目の記事です。 今年の弊社アドベントカレンダーは、筋肉やランニング、さらにはサウナなど、多様性に富んだ面白いエントリが出揃っています。 自分も好きなファッションについて書きたくなってしまったのですが、ここはグッと気持ちを抑えて、仕事で触った技術について書きます。 ※ この記事のタイトルは、酒とゲームとインフラとGCPというイベントのオマージュです。 仕事の近況報告 まず、最近どんな仕事をしているのかについて報告させてください。恐らく誰も興味がないと思いますが、年末のアドベントカレンダー企画ということもあるので...... Amazon Web Services(AWS)を用いた自社サービス 今年の4月に新卒入社してから、技術ブログを2執筆しました。下記がそのリンクです。 techblog.

    GoとテストとSDKとGCP - KAYAC engineers' blog
  • Terraform管理されたステージング環境・本番環境の差異を検出したくて頑張っている話 - KAYAC engineers' blog

    SREチームの橋です。今回はステージング環境の運用でありがちな番との差分に対処する試みを紹介します。 背景 ステージング環境について、例えばIT用語辞典では ステージング環境とは、情報システムやソフトウェアの開発の最終段階で検証用に用意される、実際の運用環境と変わらない環境のこと。 と説明しています。検証用ですから、インフラ面で言っても番環境となるべく一致した構成であってほしいということになります。 しかし実際にはさまざまな経緯(ステージング環境を後から立てたり!)から、たとえTerraform管理していたとしても差異が発生してしまうことがあります。 こうしたとき、その差異を検出する一つの方法としてはTerraformの.tfファイルを比較することですが、これにもいろいろな書き方がありえます。 例えばaws_db_proxy_endpointはterraform-provider-a

    Terraform管理されたステージング環境・本番環境の差異を検出したくて頑張っている話 - KAYAC engineers' blog
  • EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog

    SREチームの長田です。 今回はカヤックで運用している「まちのコイン」というプロダクトのアプリケーション基盤を Amazon EKS(以下EKS)からAmazon ECS(以下ECS)に移行したはなしをします。 まちのコインとは coin.machino.co www.kayac.com まちのコインはカヤックが運営している、デジタル地域通貨を使ってその地域のコミュニティを活性化させるサービスです。 2019年11月から実証実験を開始し、翌年2月から正式リリースされました。 2022年9月現在、20の地域に導入されています。 一般ユーザーが使用するクライアントアプリと、導入地域の運営団体が使用するブラウザ用の管理画面、 それらにAPIを提供するRailsサーバーアプリがあります。 データベースはAmazon Aurora PostgreSQL、 その他AWSのマネージドサービスを組み合わせ

    EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog
  • ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog

    SREチームの藤原です。今回は、AWSのコンテナレジストリであるAmazon ECRから、不要になったコンテナイメージを安全に削除するツールをOSSとして作った話です。 Amazon ECRのライフサイクルポリシーでは、設定によっては実際に利用中のイメージを削除してしまうことがあります 現在利用中のイメージを避けて、それ以外の不要なイメージを安全に削除できるCLIツールをOSSとして作成しました Amazon ECSとECRでのイメージ運用 カヤックでは、コンテナのオーケストレーションにAmazon ECSを主に使用しています。ECSにタスクをデプロイする場合は、イメージのタグにアプリケーションのGitリポジトリのコミットハッシュ(git log -1 --format=%Hで計算した値)を付与してAmazon ECRにpushし、タスク定義ではそのタグを含めたURLを指定しています。 例

    ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog
  • ステージング環境における検証用データベースの立ち上げを自動化する取り組み - KAYAC engineers' blog

    SREチーム(新卒)の市川恭佑です。 カヤックのサービスでは、信頼性の担保を目的として、ステージング環境を作成する方針を取っています。 ステージング環境では、検証の精度を高めるために、量・質ともに番環境に類似したデータベースが求められる局面が頻出します。 そこで今回は、Tonamel という自社サービスにおける、検証用データベースの立ち上げを自動化する取り組みについて紹介します。 サービスの置かれていた状況と解決方針 Tonamel の実行基盤は Amazon Web Services (AWS) 上にあり、番環境とステージング環境は別のアカウントとして、同一の AWS Organizations 組織内に構築されています。 もともと、ステージング環境では、番環境のデータは利用せず、手作業でダミーデータを作成していました。 それゆえに、データベースに格納されているデータ量は番環境と

    ステージング環境における検証用データベースの立ち上げを自動化する取り組み - KAYAC engineers' blog
  • SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog

    SREチームの藤原です。今回は、SREチームが主導してポストモーテムを書く取り組みを、社内で1年半ほど運用してみたという話です。 ポストモーテムとは? 「ポストモーテム」(postmortem=事後検証)とは、システムにインシデントが発生したことによる影響、緩和や解決のために取られた行動、インシデントの原因、再発防止策などをまとめた文書です。 カヤックのSREチームは、各メンバーがそれぞれのプロダクトに参加し、他のエンジニアとともに開発と運用を行う、いわゆる「Embedded SRE」という形態を取っています。そのため、SREチームのメンバーでも自分が関わっていないプロダクトで発生したインシデントについては詳しく把握できないことがありました。SRE以外で運用に携わっている、プロダクト専任のサーバーサイドエンジニアにはなおさら困難でした。 また、インシデント発生時に実際に手を動かす人がどうし

    SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog
  • 突撃!隣のリモートワーク環境 2021 - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021 の23日目の記事です。 技術部2年目サーバサイドエンジニアのkolukuです。 2年経っても未だにコロナ下にある昨今、去年から引き続きリモートワークを行っている会社も多いのではないでしょうか?自分自身も入社直後からリモートワークで人と接点が無く、時々他の社員はどんなふうに仕事をしているのか思いふけることがあります。 リモートワークといえば、昨年はリモートワークでこう仕事しています!という紹介記事がたくさんありました。それを思い出した自分は社内で「2年かけて熟成されたリモートワーク環境のデスクを見てみたいので、なるべくありのままの状態を見てみたい」という要望で募集したところ、なんと14名も企画に参加いただけました! エンジニアエンジニアデスクと聞くと「とにかくモニターがいっぱいに並んでいそう」「ガジェットでご

    突撃!隣のリモートワーク環境 2021 - KAYAC engineers' blog
  • 7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021 の20日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。今年のTech KAYAC Advent Calendarは3度めの参戦です!よろしくお願いいたします! 日の記事は、昨年の記事の続きで、Amazon EC2のプロダクトをAmazon ECS構成へと乗り換えた話になります! techblog.kayac.com 目次 目次 背景 Amazon Linuxのサポート終了 ついでにPerlのバージョンもあげた 苦労したポイント 1,デプロイ方法がめっちゃ変わる デプロイのために都度コンテナイメージを焼く 2階建て作戦 2,batchサーバどうするの問題 sqsjfr + SQS + sqsjkr 作戦 3,泥臭い戦い ecspressoの存在 非エンジニアにもわかってもらおう 「

    7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog
  • 2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお

    2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog
  • CloudFrontのS3 Originにはhostヘッダーを転送してはいけない - KAYAC Engineers' Blog

    SREチームの長田です。 CloudFrontでstaticなファイルを配信しようとした時に少々ハマったのでそのメモです。 TL;DR CloudFront distributionのS3 Originは、Managed Policyの Managed-AllViewer を使うと機能しない。 何をしたのか statcなファイルを配信する要件があり、その対応としてCloudFront distributionのOriginにS3を設定しました。 CloudFrontのOrigin Access Identity(OAI)を作成し、S3 bucket policyにはこのOAIからのAPIリクエストのみを受け付けるよう設定しました。 docs.aws.amazon.com いざ配信用URLにHTTPリクエストすると以下のようなエラーになってしまいました。 <Error> <Code>Sign

    CloudFrontのS3 Originにはhostヘッダーを転送してはいけない - KAYAC Engineers' Blog
  • 新卒 2 年目でサーバチームのリーダーをやってみて「スーパーマンはいない」と気づいた話 - KAYAC Engineers' Blog

    (Generated by a product, author Irie Shinnosuke) こんにちは!技術ゲーム事業部サーバサイドエンジニアの宮村 紅葉です。 社内では「みやむー」と呼ばれています! 普段はぼくらの甲子園!ポケットのサーバサイドエンジニアとして Perl5 を用いた運用・開発のお仕事をしています。 突然やってきたサーバーチームリーダーへの打診! 新卒 2 年目の昨年 12 月に所属チームのプロデューサーに「みやむーリーダーやってみない?」と言われ、2021 年 1 月からサーバチームのリーダーになりました。 この記事では後学のために、リーダーになって数ヶ月の間に経験した、どったんばったん大騒ぎと、若手がリーダーを経験することで何が得られたのかということについて書いてみたいと思います。 どったんばったん大騒ぎ!したこと 自分よりもベテランエンジニアばかり! 「ぼくら

    新卒 2 年目でサーバチームのリーダーをやってみて「スーパーマンはいない」と気づいた話 - KAYAC Engineers' Blog