サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC24
techblog.kayac.com
こんにちは、ちいき資本主義事業部でフロントエンドエンジニアをしている片岡です。 この記事ではカヤックが開発している「まちのコイン」の管理ダッシュボードで、APIサーバからのデータ取得部分の改善したことについて紹介します。 まちのコインについては、以下のURLをご覧ください。 coin.machino.co 管理ダッシュボードについて dev環境のダッシュボードのスクリーンショット画像 管理ダッシュボードは、まちのコインが導入されている地域の運営団体の方が主に利用します。ダッシュボードには、統計情報の確認やお知らせの配信、まちのコインの体験を作成できる機能があります。 管理ダッシュボード開発の課題 ダッシュボードは、Next.js(React)で開発をしていて状態管理ライブラリはRecoilを採用しています。 ReactコンポーネントでAPIを叩いてデータ取得をする場合は、React Hoo
こんにちは。技術部平山です。 今回は、ゲームにおけるA/Bテスト について論じます。 「論じます」で始めたことで察しがつくかとも思いますが、今回はブログではありません。 媒体はブログですが、ブログの容量ではない代物になっております。3.5万字(115KB)超えです。 ゲームにおけるA/Bテストについて、実施の方法や問題点、 倫理的側面に至るまで幅広く書き連ねてみました。 読んで欲しいのはどちらかと言えば同僚なのですが、 そういう時にはまず社外に出してしまった方が良いものですので、 ブログにしてしまいます。 比較的同業の方が読むことを想定しているため、 図表を用いてわかりやすくすることはしておりません。 これを書いた人間は何者か 技術的な問題の前に ゲームにおいても構図は全く同じ A/Bテストが可能である条件 A/Bテストの手続きを概観する 振り分け アプリ内振り分けの場合 Firebase
SREチーム(新卒)の市川恭佑です。これはカヤックSRE連載の1月号です。 みなさんの記憶に新しいと思いますが、先日CircleCIで大きなセキュリティインシデントがありました1。 このインシデントを受けて、環境変数やContextに保存された外部サービスへの認証情報を更新しながら「自分もOIDC対応しておけば......」と後悔した方も少なくないと思います。 外部サービスの例として、Amazon Web Services (AWS)に関しては、公式OrbにてOIDC連携がサポートされていたり、AWS側のIdentity and Access Management (IAM)設定を含む情報がインターネット上に数多く公開されています。 ゆえに、CircleCIのパイプラインからAWSにアクセスする箇所について、OIDC連携に対応する難易度は比較的低いです。 これに対して、Google Clo
あけましておめでとうございます。SREチーム(新卒)の市川恭佑です。 カヤック技術ブログでは本記事が2023年初エントリですが、Happy Lunar New Year!の方が違和感のない時期になってしまいました。 本年、新たにカヤックSRE連載と題した企画を始めるので、概要についてご報告します。 連載企画を始める経緯 カヤックの技術ブログといえば毎年恒例のアドベントカレンダー企画が人気ですが、これは12月限定のため、それ以外の時期にブログの更新が激減する傾向がありました。 ブログ過疎化の対策として、カヤックでは去年からSREチームで毎月1本のペースでブログ記事を出していました。 実のところ、内部的にはこれを「SRE連載」と読んでいました。 「とりあえずやってみよう」というノリで始まった連載でしたが、結果的には「12月を除くすべての期間において記事を出す」という実績を作れたので、本年は正式
こんにちは。ちいき資本主義事業部でFlutterエンジニアをやっている植田です。 この記事ではFlutterで開発している「まちのコイン」というアプリをFlutter2系からFlutter3系にバージョンアップした事例について紹介します。 まちのコインとは? 「まちのコイン」はその地域に関わるユーザーがイベントやお店を通じて地域の人たちと会話をするきっかけを提供するプラットフォームです。 coin.machino.co 例えばQR読み取り機能やマップ機能といったものがあります。 QR読み取り機能ではQRを読み込んで地域限定のイベントに参加したり、スポットにチェックインしてコインを貯めたりすることができます。 マップ機能では利用できるスポットを確認できたり、スタンプラリーのコースを確認しながらまちを散策したりすることもできます。 また、利用するにはユーザー登録が必須となるので登録・ログイン、
こんにちは。カヤックボンドの駒田です。 この記事は 面白法人グループ Advent Calendar 2022 の2日目を予定していた記事でした。 今年ももう終わりですね。 さて、何について書こうか悩みましたが… 過去にPHP Laravel x Spanner の組み合わせで苦労したことを書いてみようと思います。 1.Spannerとは Cloud Spanner は、フルマネージドのミッション クリティカルなリレーショナル データベース サービスです。グローバルなトランザクション整合性、高可用性のための自動の同期レプリケーション、2 つの SQL 言語(Google 標準 SQL(拡張機能を含む ANSI 2011)と PostgreSQL)が含まれています。 Cloud Spanner ドキュメント | Google Cloudより Google Cloud の Spanner
どうも、ゲームコミュニティ事業部Tonamelのサーバサイド担当の谷脇です。 今回はTonamelのサービス特性上、どうしても発生する急激なアクセス数の増加(以下スパイクアクセス)をどのように対処しているかをお話します。 Tonamelのサービス内容については以前の記事に書いています。一言でいうと「誰でもeスポーツ大会の運営ができるサービス」です。 Tonamelの特徴 大会が開始したときに発生するスパイクアクセス スパイクアクセスの様子 上記は、あるゲーム大会が大会を開始した10:40ごろのリクエスト数の遷移です。Tonamelは大会の開始と同時にトーナメント表が公開されます。大会に参加している人はもちろん、観戦を行っている人もトーナメント表を見に来ます。観戦する人の同期としては、知人や推しの選手のトーナメント表上での位置や、相手を確認しに来ているようです。 Tonamelに限らず、We
はじめに この記事はKAYAC Advent Calendar 2022の25日目です。 おはこんばんちは!19日目に引き続き、新卒の中村です! 弊社ではつくっていいともという、社内で作ったものを自由に発表出来る会が月末にあります。 詳しい話は以下の記事を見てもらえると分かりやすいと思います。 techblog.kayac.com そんな中、入社した時から全部のつくっていいともに何かを作っては出しているのですが、その中で感じたことについて書いていきたいと思います。 本題 つくる人を増やす 弊社の経営理念に、つくる人を増やすというのがあります。 なんぞや?って思う方は、以下の経営理念を読んでみてください。 www.kayac.com 読みましたか?読みましたよね? 自分はプログラミングを通して、ただひたすら何かを作っています。 ただ、これが会社の経営理念に沿うかと言われると疑問なところがあり
この記事はTech KAYAC Advent Calendar 2022の24日目の記事です。 こんにちは。 意匠部アートディレクターのおばらです。 普段は受託案件の アートディレクション テクニカルディレクション デザイン 3Dモデリング フロントエンド実装 などをしています。 また、社内フロントエンジニア向けに 生 WebGL オンライン勉強会を週5で1年間、開催したりしていました。 今は優秀な後輩に引き継いでいます。 techblog.kayac.com そんなわけで今日は WebGL のお話です。 はじめに さて、今日はクリスマス・イブ。 そんなイブに私は WebGL の記事が書きたい。 どうしても書きたい。 イブと WebGL をどうにかしてこじつけられないか。 悩みました。 そうだ、イブといえば世の中のお父さん※ がこっそりサンタに変身する日。 というわけで WebGL で「お
モバイルゲームクライアント開発のテクニカルディレクターなどを最近やっている須藤 崇浩 | 面白法人カヤックと言います。 こちらは 面白法人グループ Advent Calendar 2022 の24日目の記事です。 明日はクリスマスですね。クリスマス翌日に売れ残って割引されたスイーツを買って美味しい思いをするのが好きです 🎂 本記事では表題に関して、昨年から参加しているモバイルゲーム開発案件で立ち上げから試行錯誤してる事について書いていきます。 「何故か開発後半でコードが複雑になってメンテナンスしづらくなる」「人間に書かせるべきでは無いのではないか?」..などコードの品質について悩んだ経験のある方に多少なりとも参考になる内容になれば幸いです。 目次 目次 コードレビュー 開発初期 「チームとして良いとされるコード」とは? 開発後期 新人のオンボーディング 複雑度の低いシステムから徐々に難易
この記事はTech KAYAC Advent Calendar 2022 22日目の記事です。 こんにちは! ハイパーカジュアルゲームチームのフロントエンドエンジニアの深澤です。 WebGL2で、スキニング処理をしているGLTFのモデルを GPU Instancing で大量に表示するデモを作ってみました。影を落とす処理も合わせて、会社の Mac Chrome では30,000個ほど、私物 iPhoneX Safari では2,000-3,000個ほどは60FPSで表示できていそうです。 URLはこちらです。 デモサイト: https://takumifukasawa.github.io/PaleGL/demos/grass-skinning-gpu-instancing/ デモのgithub: https://github.com/takumifukasawa/PaleGL/tree/m
この記事はTech KAYAC Advent Calendar 2022 21日目の記事です。 こんにちは、サーバサイドエンジニアの千葉です。 2年前に健康診断の結果が悪くて健康増進のため始めたランニングでしたが、すっかり習慣となってしまい、今ではフルマラソンでサブ3.5(3時間30分切り)を目標に日々練習をしています。 今回こちらの記事 で紹介したNIPPON ITチャリティ駅伝に参加することになり、大会に向けて練習した結果、2ヶ月ちょいで3kmのタイムを1分以上縮めることができたので記事にしてみました。 練習環境と練習内容 練習環境ですが、私の住んでいる近所には平坦な箇所があまりなく(坂には困らないです)、橋のあたりにアップダウンがある河川敷をメインで走っています。 速いタイムを出すためにはやはりスピード練習をやる必要があるのですが、トラックや平坦で長い距離を使って行うような練習はでき
Unity WebGLとThree.jsに連動して踊っていただく ごぶさたしてます。@fnobiです。こちらは面白法人グループ Advent Calendar 2022の20日目の記事になります。 確認してみたら前に記事を書いたのは2019年のようですねー。3年の間にディレクター転向したり子会社に転籍したりなんかいろんなことが起きてました。げんきです。現在はカヤックアキバスタジオにてファンコミュニティ事業というチームを率いて頑張っています。 akiba.kayac.studio さてそんなわけで、今回はせっかくなので、今年のプロジェクトでよく使ったUnity WebGL書き出しの話題です。 まずはこちらのサンプルをご覧ください。 youtu.be デモ github レンガ的ななにかが、右と左でおんなじ動きをしてますね。つまんねえなと思ったあなたもうちょっと待ってね。こちら実は、どちらもW
この記事はKAYAC Advent Calender 2022の20日目の記事であり、「突撃!隣のUnityエディタ」シリーズの第一弾であり、私はUnityエンジニアのkomiyaです。 では早速今回も日頃Unityで何らかのお仕事をしているプロフェッショナルの方々のUnityエディタレイアウトを見ていきましょう。 私のUnityエディタ @p_chinさんのUnityエディタ しりゅうさんのUnityエディタ しみーさんのUnityエディタ takashicompanyさんのUnityエディタ 名無しさんのUnityエディタ 泉川さんのUnityエディタ ikkakukukuさんのUnityエディタ SAMtakさんのUnityエディタ まとめ 私のUnityエディタ プロジェクト種別: 運用型ゲームアプリ 使用コードエディタ: Rider このプロジェクトは歴史が長く懐かしのNGUIを
こんにちは!GC事業部の熊谷です。 この記事はTech KAYAC Advent Calendar 2022 17日目の記事です。 TonamelのWebフロントエンド開発において、パフォーマンスについて考える機会が最近あったため、振り返りつつ書いていきます。 サービスの紹介 Tonamelをかんたんに説明すると「トーナメントプラットフォーム」です。 具体的に言うと、大会の作成から運営、トーナメント表の管理を行うWebサービスです。 こちらの機能説明画像が、どういうサービスかを分かりやすく示しています。 Tonamelの機能説明 パフォーマンスに向き合う機会 Tonamelには様々な機能・ページがありますが、ここではメインとなる「トーナメント表」に限って説明します。 トーナメント表は、大会の参加者が増えるほど大きくなります。 大会の最大人数は256人、限定機能も含めると1024人までのトー
この記事は 面白法人グループ Advent Calendar 2022 の15日目の記事です。 こんにちは、カヤックボンドの松本です。 今回は弊社の技術顧問をご担当いただいている、ドレッドノート株式会社の佐々木様よりご寄稿いただいた記事となります! みなさん、はじめまして! 主にパフォーマンスチューニングや検証用のボット開発等を行っているドレッドノート株式会社の佐々木と申します。 この度、カヤックグループの皆様より Advent Calendar 2022 に寄稿する機会を頂戴しましたので、2022年12月時点の方法を元に負荷試験とモダンなOSSツールについて書いてみたいと思います。 負荷試験の重要性 突然ですが、みなさんが関わっている案件で負荷試験を行っていますか? サービス開始前・提供中、どちらであっても負荷のかけ方によって様々な情報を得ることができます。 現状の性能・台数・実装で、ど
人事部の小池です。 この記事は KAYAC Advent Calendar 2022 の16日目の記事です。 カヤックの規程文書管理の仕組みを Google ドキュメント から GitHub に移行した取り組みについて紹介します。 これまでの文書管理 カヤックでは長年規程文書を Google ドキュメント で管理していました。Google ドキュメント は多くの従業員にとって親しみやすいものの、文書を管理する上でいくつかつらい点がありました。 改訂内容の差分が追いにくい・改訂の背景がわからない Google ドキュメント なので変更履歴から過去の版を閲覧することは可能ですが手軽とはいえません。改訂の際は内容以外にも改訂に至った経緯、議論といった背景も重要ですが、これらの背景は成果物である Google ドキュメント の版の履歴からは伺うことはできません。「ある時までは確かこういった規程内容
この記事はAWS Analytics Advent Calendar 2022の16日目です。 こんにちは、SREチーム所属の@mashiikeです。 13日目にも記事を書いて、なんと欲張って2回目も書いてます。 13日目の記事は『redshift-data-set-annotator』に関してでした。 このような形で、私は用途がニッチな物を作ることが多いのですが、本日はニッチシリーズの中からGo言語のためのRedshift Data API sql driverについて話します。 Redshift Data API Redshiftへ接続する際は、通常VPCへのアクセスが必要になります。 (Public AccessibilityをONにすればその限りではありませんが、セキュリティを考えると中々ONにすることはためらわれます。) そのため、psqlクライアント等を使って手元から接続するの
僕は、普段は鎌倉でゲームエンジンの「Unity」を使って仕事をしているんですが、今年もアドベントカレンダーの季節がやってきました。 近頃弊社のUnityエンジニア界隈では、モバイル向けのWebGL書き出し機能がいよいよ使えるようになりそうだぞ、何なら実際に案件に使っているプロジェクトもあるらしいぞと色めきたっています。(公式ではサポートしてないが、性能が充実してきていて実質使える状態になりつつある) ようし、今年のアドベントカレンダーは、Unityのモバイル向けWebGLの話を書こう! そう思ったのはいいものの、どんな記事を書けばいいのかさっぱり思い浮かびません。 追い詰められた僕はオフィスを飛び出し、近所の江ノ島水族館にいるチンアナゴの田中さんに相談してみました。 www.enosui.com すると、田中さんからこんなアドバイスを頂いたのです。 そうか・・! チンアナゴであれば、作るの
こんにちは。カヤックOP事業部デザイナーのちゃんちーです。 ※右です 突然ですが皆さん、人生、やっていますか? かれこれ社会人5年目になり、 Instagramを開けば結婚、出産、子育て...、 Twitterを開けばご報告、ご報告、ご報告...、 これらを見るたびに、「みんな人生やってるなぁ.......」と思うわけです。 ……さて、そんな人生やっていきを感じる27歳の僕も、 ついに先日付き合っていた彼女と婚約し、 結婚までもうすぐというところまで人生をやっていきしている最中でございます。 ......しかし、そんな中で一つ心配なことがあります.....。 それがこちら…… 親への挨拶が怖い!!! ……そう、婚約をし、結婚をするには、親へ挨拶をしなければならないのです。 が、人見知りかつ、緊張しいな自分が、 無事に許しをもらうことができるのかどうかが不安で不安でたまりません。 怖くて怖く
この記事はAWS Analytics Advent Calendar 2022の13日目です。 こんにちは、SREチーム所属の@mashiikeです。 皆様 Amazon RedshiftとAmazon QuickSightを使ってますでしょうか? こちらの記事はこの2つのサービスの間に存在しているちょっとした隙間に関しての記事になります。 それは、カラムコメントとデータセットのフィールド名にまつわる話になります。 メタデータ と QuickSightのデータセット 皆様、Amazon Redshift上にデータマートをたくさん作っていると思いますが、そのデータマートのメタデータをどうやって管理していますか? 最近のデータカタログ製品は非常に便利で、そういった製品を使って管理しているという方もいると思います。 筆者は実はデータカタログ製品に疎く、今まで『えっ? 必要ならDWHのテーブルコメ
はじめに 時下ますますご清栄のこととおよろこび申し上げます。 私、コピーライター合田は普段から、社内・社外に関わらず多くのWebエンジニア(以下、エンジニア)のみなさまとお仕事をさせていただいております。そのときに、円滑にすすめるにあたって、どのように依頼をすればよいかを日々考え、頭を悩ませておりました。 このたび、一人で悩むよりも多くの方にご意見を頂いたほうがよいのではないか。そう思い、このような調査をさせていただきました。 率直な意見をいただくことで、私と同じように悩む者の救いになるのではないかと思っております。 ご回答ありがとうございました! 結果はこちらに集約されています。 docs.google.com これを機に、エンジニアと非エンジニアの仕事が円滑に進むことを願っています。
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
この記事は Tech KAYAC Advent Calendar 2022 の10日目の記事です。 サーバサイドエンジニアのkolukuです。 今回は、ディレクトリ検索するようにS3 Selectを実行する社内向けツールをOSSとして作った話です。 過去のこの人のアドベントカレンダーはこちら(折りたたみ) 2021年 techblog.kayac.com 2020年 techblog.kayac.com TL;DR ディレクトリ検索するようにS3 Selectを実行するOSSを書いた brew install koluku/tap/s3s ALBやCFのログに対しても便利なオプションを用意したため新規プロジェクトでスタートダッシュしやすくなった OSS書くことで今までの学びを活かすことも、新たに得ることもできた TOC TL;DR TOC S3 Selectとは 例: 管理画面 例: aw
SREチーム(新卒)の市川恭佑です。これはKAYAC Advent Calendar 2022の9日目の記事です。 今年の弊社アドベントカレンダーは、筋肉やランニング、さらにはサウナなど、多様性に富んだ面白いエントリが出揃っています。 自分も好きなファッションについて書きたくなってしまったのですが、ここはグッと気持ちを抑えて、仕事で触った技術について書きます。 ※ この記事のタイトルは、酒とゲームとインフラとGCPというイベントのオマージュです。 仕事の近況報告 まず、最近どんな仕事をしているのかについて報告させてください。恐らく誰も興味がないと思いますが、年末のアドベントカレンダー企画ということもあるので...... Amazon Web Services(AWS)を用いた自社サービス 今年の4月に新卒入社してから、技術ブログを2本執筆しました。下記がそのリンクです。 techblog.
こんにちは! Tech KAYAC Advent Calendar 2022 8日目を担当する荒賀(@ken39arg)です。 カヤックのアドベントカレンダーは観測する限り2012年から始まり今年は11回目であります。私も8回参加しており*1、2016年以降の6回はその年のランニング活動を必ず報告していたようです。 今年のランニング活動は3月にフルマラソンを走って自己ベストを40秒ほど更新したのですが*2、以降緩やかに燃え尽きてしまい月間走行距離も300kmから150kmくらいにぐっと減ってしまいました。同僚のメロンみたいな肩をしているボディービルダーは大会で入賞したので、中途半端な自分は少し恥ずかしく感じているところでございます。 さて、燃え尽きたのにも関わらず、それなりには走っているのには理由があり、先日カヤックのエンジニアで構成されたチームでNIPPON ITチャリティ駅伝という大会
この記事は 面白法人グループ Advent Calendar 2022 の7日目の記事です。 アウフグース 「最近サウナ流行ってるけど別に興味ないや。」 「そもそもサウナとエンジニアって関係なくない?」 ちょっと待ってください!! サウナとエンジニアは一見関係なさそうに見えますが、実はかなり深い因果関係があるのです!!! エンジニアは頭を使うので脳に疲れが溜まってしまいがちです。 そして、疲れが溜まると仕事のパフォーマンスが落ちてしまいますね。 しかし、サウナに行くと脳の疲れが綺麗さっぱりなくなります! しかも疲れている時の方が気持ちよくなれるのです!!! そうなんです! エンジニアとサウナには究極の因果関係が存在するのです!!! 仕事で頭を使うので脳が疲れる → 疲れているからサウナで深く整える → 脳の疲れが取れて仕事で良いパフォーマンスを発揮できる → 仕事で頭を使うので脳が疲れる
この記事はMackerel Advent Calendar 2022とKAYAC Advent Calendar 2022 の7日目です。 こんにちは、SREチーム所属の@mashiikeです。 前年の Mackerel Advent Calendar 2021 ではSREにおいて大事なSLO/エラーバジェットをMackerelのメトリックとして投稿するツール shimesaba について話しました。 1年経って、Mackerelを用いたSLI/SLO/エラーバジェットの運用が安定化してくると、次に気になってくるのはトイルだと思います。 cloud.google.com 「トイルとは、手作業、繰り返される、自動化が可能、戦術的、長期的な価値がない、サービスの成長に比例して増加する、といった特徴を持つ作業です。」 トイルの例としては次のようなものがあります。 ・割り当てリクエストの処理 ・デ
はじめに この記事はTech KAYAC Advent Calendar 2022の6日目の記事です。 こんにちは、OC事業部その他配属の橋本と申します。普段は専門部隊の手が届かないところにヘルプで入ってよしなにすることを仕事としているのですが、その仕事のうちの一つに「アーケード筐体をPCと繋いでよしなにゲームできるようにしておいて」という無茶ぶり仕事があったので、その時の奮闘を今回ブログとして供養したいと思います。 筐体について 今回動かす筐体はこちらになります。 今回動かす筐体 多分BLASTCITY SEGAのBLAST CITYだと思いますが、僕も細かい仕様はよく知りません。なんせインターネットが発達する前の代物です。しかも非売品。ろくな資料は見つけられませんでした。 さて、コイツの大まかな構成ですが、ものすごくザックリ言うと筐体の中にモニターとコントローラが入っていて、これらをよ
次のページ
このページを最初にブックマークしてみませんか?
『KAYAC engineers' blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く