サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
小野伸二選手 引退
techblog.kayac.com
面白プロデュース事業部 フロントエンジニアのゆうもやです。 面白法人カヤックでは、毎月社員が個人で制作したものを発表する「つくっていいとも」という会があります。 カヤックの社員は、業務に関係なく自由に制作・試作することで常に新しいアイデアを生み出すことに取り組んでいます。 今回は、そんなアイデアのネタになりそうなWeb SpeechRecognition APIのご紹介です。 Web SpeechRecognition API とは? Web SpeechRecognition APIは、ブラウザで音声認識を行うためのAPIです。ブラウザに標準で実装されているため、サーバーや特別なライブラリをインストールする必要なく、JavaScriptだけで利用することができます。 対応状況 一部非対応のブラウザはあるものの、ChromeとSafari 14.1以降ではPCとモバイル両対応しているため、
SREチームの長田です。 今回は開発・検証用Amazon RDS(以下RDS)の運用のはなしです。 はじめに 「常時使用するわけではないけど、一定の頻度で必要になるデータベース」というものがあります。 AWSリソースの動作確認を行う環境(カヤックではこれを「ステージング環境」と呼ぶことが多いです)や、 リリース後の負荷試験環境など、本番環境とは異なる環境にあるデータベースがこれにあたります。 AWSのようなクラウドサービスを利用している場合、起動時間に対して課金が発生することが多いでしょう。 負荷試験用に用意したRDSインスタンスは、試験が実施されていない期間はただ課金が発生するだけのリソースになってしまいます。 たまにしか使われないデータベースを放置しておくのはもったいない 負荷試験で使用するものは、大抵の場合本番環境と同じスペックのものを用意することになるでしょう。 すると本番環境と同
カヤックSREの今です。 SRE連載8月のエントリーになります。 techblog.kayac.com Amazon CloudWatch Logs Insights(以下Insights)は、CloudWatch Logsのログを期間を指定して検索、集計、簡単な文字列処理を行うことが出来ます。 Webコンソールから手軽に利用することができ、エラーが起きた際のログ調査に日常的に利用しています。 クエリは非同期で実行されますが、Webコンソールからクエリを実行して結果の表示前にページを離れてしまうと、クエリ結果をWebコンソール上で確認することができません。 Webコンソール上の履歴からリクエストIDを取得し、AWS CLIからaws logs get-query-result --query-id=[リクエストID]を実行することで結果をjsonで得ることができます。 今回は自動で日時の集
おはこんばんちは!面白プロデュース事業部 フロントエンジニアの中村です。 とうとう新卒ではなくなり、2年目になった今、入社する前に知りたかったな〜という記事を書きたいと思います。 はじめに 皆さんはCSSを勉強したことがありますでしょうか。 自分の中では、CSSはプロパティをいっぱい知っていて、それを適切なタイミングで適切なものを使えるようにする技術が必要なものだと思っています。 別に暗記してなくても、なんとな〜くこんなのあったな〜ぐらいで覚えていると、調べることができますからね。 しかしながら、よく使われるものや便利なものが優先的に知識としてたまり、意外と身近にあるのに知らないプロパティがあったりします。 例えば、要素をセンタリングするだけでもいろいろな書き方があり、調べていくうちに新たな発見があったりするのではないでしょうか。 今回はそういう感じで、レスポンシブデザインを作っていく中で
SREチームの橋本です。SRE連載の7月号になります。 カヤック社内では弊社藤原のecspressoをAmazon ECSのデプロイツールとして活用していますが、AWS公式のデプロイツールAWS Copilot(現在v1.29)もそのオールインワン的な性質から、開発・運営リソースが限られるプロジェクトでは選択肢に入るようになってきました。 今回はそのAWS Copilot活用のため、背後にあるAWS CloudFormationテンプレートをカスタマイズする手法を紹介します。 AWS CopilotとCloudFormation AWS CopilotはECSなどのデプロイを簡単にするCLIツールですが、実態としてはManifestと呼ばれるYAMLの設定ファイルからCloudFormationテンプレートを生成し、各種リソースを作成・管理するものです。 AWS Copilotは内部的にC
SREチームの藤原です。今回は監視サービスのMackerelと、障害発生時に担当者へのオンコールを自動化するGrafana OnCallを連携してみた話です。SRE連載 6月号になります。 3行でまとめ MackerelとGrafana OnCallを連携しました MackerelのアラートWebhookをGrafana OnCallのWebhookに変換するproxyをAWS Lambdaで作りました。OSSで公開しています Grafana OnCallの管理はTerraformでやっています はじめに カヤックでは、運用しているサービスの監視のためにMackerelを利用しています。サービスで障害が発生した場合に担当者を呼び出す(オンコール)ためのツールとして、2023年3月までは ryotarai/waker を使用していました。 wakerはもともとクックパッド社で利用されるために
湿気たちが騒がしい季節となってまいりましたね。みなさまいかがお過ごしでしょうか。カヤック技術部の谷脇です。 先日に面白法人グループの3社、カヤック・カヤックアキバスタジオ・カヤックボンドが集まり、合同で技術部勉強会を開催しましたのでご報告させていただきます。 合同勉強会の趣旨 今回集まった3社には、それぞれ様々な領域のエンジニアが所属しています。今までの技術部勉強会ではカヤック内部に範囲を絞っていましたが、グループに範囲を広げていろんな知見を循環していこうというのが建前です。 実際の趣旨としては「仲良くなる!」です。また、会場は秋葉原のカヤックアキバスタジオおよびカヤックボンドがある秋葉原のオフィスの会議室およびオンラインのハイブリッドスタイルで行いました。カヤックからも秋葉原の現地会場に多数参加しました。実際に顔を合わせて交流できるのは良いですね。 会場の様子 発表内容 勉強会は、それぞ
SREチームの長田です。 突然ですが、 mirage-ecs というツールをご存知でしょうか? 今回はこのツールをまちのコインの開発チームでの使用例をもとに紹介します。 coin.machino.co mirage-ecs を使うと動作確認用のサーバー環境を、サーバーサイドのエンジニアでなくとも自由にいくつでも立ち上げることができるようになります。 「環境」は AWS のECSクラスタ上で起動し、専用のURLが割り当てられ、 認証*1を通過すればどこからでもアクセスできます。 これにより 「クライアントアプリとつなぎ込んで動作確認したいけど、開発環境が空いてないから確認できない」 や、 「プロダクトオーナーに新機能を確認してもらいたいけど、開発環境が空いてないから(以下略)」 といった問題が解消し、 開発と動作確認のサイクルをスピーディーに回すことができるようになります。 mirage-e
SREチームの池田です。 今回はAmazon RedshiftのMERGE SQL commandがGAになりましたので、MERGE SQL commandの何が嬉しいのかを話をしたいと思います。 SRE連載 4月号になります。 aws.amazon.com 3行でまとめ RedshiftのMERGE SQL commandがGAになりました。 Bulk UpsertをSQL1文で実行できるものです。 以前と比べるとスッキリします。 複数のデータソースから算出されるレポートの更新に使うと嬉しい。 以前のRedshiftにおけるBulk Upsertについて ご存知かもしれませんが、『なかったらInsert、あったらUpdate』を通称Upsertといいます。 Redshiftにおける、Upsertのやり方ですがMERGE SQL commandが出る前のRedshiftでは以下のドキュメン
技術部の小池です。 この記事は 【前編】YAPC::Kyoto 2023 におみくじと紙絵馬のブースを出展しました の後編です。 お焚き上げ 前編の記事では以下のように書いていました。 みなさんの願いがこもった紙絵馬は鎌倉のオフィスにすべて持ち帰っており、神社で祈祷をする準備を進めております。本当は祈祷をしてから記事を書く予定でしたが、少々時間がかかりそうなので前後編の2つに分け後編の記事にて祈祷の様子をお送りしていきます。 残念ながら神社での祈祷は断念しましたが、関係者で相談し海岸で焚き火をしてセルフお焚き上げを行いましたので後編としてお届けします。 お焚き上げは登壇者の macopy を含む有志の社員で逗子海岸*1で行いました。みなさんが書いた紙絵馬、焚き火台、火消し壺、着火グッズ、薪を用意して逗子海岸に向かいます。 薪割りをして火の準備をする様子 無事に火がつきました 火がついたので
エンジニアはどれだけユーザーのことを理解する必要があるのでしょうか? 事業開発ではどんなエンジニアが活躍できるのでしょうか? はじめまして! KAYACのまちのコインチームでFlutterエンジニアをしている今城です。 せっせと機能開発や運用に励んでる毎日ですが、最近はユーザーインタビューもしています。 この記事ではエンジニアがユーザーインタビューするメリットについて触れていきます。 「まちのコイン」のユーザーインタビューは何をしているのか? ユーザーインタビューとは、ユーザーのニーズや課題を理解し、製品やサービスを改善するために行われる会話形式の調査手法です。 まちのコインチームでは以下のステップを行なっております。 インタビュー相手を探す。 アポを取る。メールで連絡しています。 当日、ヒアリングする。時間は30分程度です。 ヒアリング後、仲間と振り返りをする。これも30分程度です。 も
技術部の小池です。 カヤックが協賛した YAPC::Kyoto 2023 にゴールドスポンサーのブース運営スタッフとして参加してきました。 ブース テックカンファレンスにブースを出すのは久しぶりなのでコンテンツをどうするか悩みましたが、鎌倉で京都に挑むぞ!ということでおみくじと紙絵馬を用意することにしました。 おみくじは100枚ほど引いてもらい、絵馬は69枚ほど書いてもらいました。運勢大吉を引いた方も運勢 undef を引いた方も YAPC の思い出のひとつとなっていれば幸いです。会場でお会いしたみなさま、ありがとうございました! 大吉 と undef のおみくじ ほかにも 吉 中吉 小吉 がありました 大吉を引いて喜ぶ fujiwara の様子 #yapcjapan 身内なのに大吉引いてしまった pic.twitter.com/WS6u41WCry— fujiwara (@fujiwar
SREチームの藤原です。今回はAmazon ECSのサービス内のタスクを定期的に再起動することで、日々のメンテナンスコストを削減する話です。SRE連載 3月号になります。 3行でまとめ ECS Fargateのタスクは時々再起動が必要 人間が対応するのは面倒 Step Functionsを定期実行して常に新鮮なタスクに入れ換えて予防しよう ECS Fargateのタスクは時々再起動する必要がある ECS Fargateでサービスを運用していると、数ヶ月に一度ほどの頻度でこのようなお知らせがやってきます。 [要対応] サービス更新のお知らせ - AWS Fargate で実行されている Amazon ECS サービスの更新が必要です [Action Required] Service Update Notification - Your Amazon ECS Service Running
SREチーム(新卒)の市川恭佑です。 Google Cloud が主催するオンライン形式のイベント Innovators Live Japan につきまして、この度、3月9日(木)開催のウェビナー「実録!SRE」の1コーナーを担当することになりました。 cloudonair.withgoogle.com 最年少なのに何故かトリですが、たぶん特別な理由はないので、リラックスして当日を迎えたいと思っています。 発表概要 タイトルは「SRE の目的に立ち返った Infrastructure as Code の再考察」というものです。 イベントの紹介ページには書かれていない背景の補足も含めて、発表内容を軽く紹介いたします。 なぜ Infrastructure as Code の話? SRE 文脈で Infrastructure as Code(IaC)と聞くと「あくまでもツールの話だよね」という印
技術部の長田です。 3/19に京都リサーチパークにて開催されるYAPC::Kyoto 2023に、カヤックからも2名が登壇者として参加することになりました。 yapcjapan.org トーク内容をYAPC::Kyoto 2023公式サイトのタイムテーブルより引用して紹介します。 いずれも普段行っている業務から得られた知見の紹介となっておりますので、これを機にカヤックがどんなことをしているのかを技術的な面から知っていただければ幸いです。 デプロイ今昔物語 〜CGIからサーバーレスまで〜 https://yapcjapan.org/2023kyoto/timetable.html#talk-118 登壇者: macopy 場所: Scrapboxホール by Helpfeel 時間: 15:00〜 みなさま日々Webアプリケーションのデプロイにいそしんでいるかと思います。 デプロイの風景は数
SREチーム(新卒)の市川恭佑です。これはカヤックSRE連載の2月号です。 よく見ると投稿日が3月になっていますが、どちらかと言うと2月が28日までしかない方に問題があるので、大丈夫です。(何が?) ということで、2023年も滑り出し好調のカヤックSRE連載ですが、前回の記事ではCircleCIからGoogle CloudにOIDCでアクセスする方法について、 ちゃんと動く(はずの)ソースコードをサクッと紹介いたしました。 techblog.kayac.com さて、Google CloudとCircleCIをお使いの皆様、もうOIDC対応は完了しましたか? 安心してください。私のプロジェクトでも一部未完遂です。(おい) ということで今回は、前回紹介したソースコードを深掘りして解説します。 私と同じように、途中でなんか面倒になって一旦塩漬けにしたら正直忘れかけてる長い道のりの途中にいる皆様
こんにちは、ちいき資本主義事業部でフロントエンドエンジニアをしている片岡です。 この記事ではカヤックが開発している「まちのコイン」の管理ダッシュボードで、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
この記事は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を
次のページ
このページを最初にブックマークしてみませんか?
『KAYAC engineers' blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く