80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風と言っても、レトロゲームを再現するという意味ではありません。 80年代風イラストの雰囲気を表現したいと思います。 80年代リバイバルブームとは ここ数年、80年代リバイバルな表現がファッションやデザイン、映画などでブームになっていたことはこれを読んでいるみなさんにも思い当たるところがあると思います。しかし、この現象を包括的にまとめたような記事文献は見つけることができませんでした。なので、個人的体験から80年代リバイバルブームを追ってみます。 80年代リバイバル表現との出会い:tofubeats
この記事は 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の存在 非エンジニアにもわかってもらおう 「
こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPのプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお
この記事は Tech KAYAC Advent Calendar 2021 の23日目の記事です。 技術部2年目サーバサイドエンジニアのkolukuです。 2年経っても未だにコロナ下にある昨今、去年から引き続きリモートワークを行っている会社も多いのではないでしょうか?自分自身も入社直後からリモートワークで人と接点が無く、時々他の社員はどんなふうに仕事をしているのか思いふけることがあります。 リモートワークといえば、昨年はリモートワークでこう仕事しています!という紹介記事がたくさんありました。それを思い出した自分は社内で「2年かけて熟成されたリモートワーク環境のデスクを見てみたいので、なるべくありのままの状態を見てみたい」という要望で募集したところ、なんと14名も本企画に参加いただけました! エンジニア編 エンジニアのデスクと聞くと「とにかくモニターがいっぱいに並んでいそう」「ガジェットでご
SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La
この記事は Tech KAYAC Advent Calendar 2021の5日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。昨年のアドベントカレンダーでは、6年続いているサービスのPerlのバージョンを5.16から5.30にアップデートさせようとしたときの話を書かせてもらってりしていました。 最近は、絶滅危惧種Perlエンジニアのために、#Perlから逃げるなというハッシュタグを流行らせたいなーと思っています。 愛されキャラとは ところで皆さんの身の回りには、愛されキャラと呼ばれるような人はいるでしょうか?仕事場や学校など、身近に愛されキャラがいると、場の空気がとても良くなりますよね。そんな愛されキャラとはどんな特徴を持っているのでしょうか? 雑にググってみると、例えば以下のような特徴を持っていることがわかります。 人に優しい 素直 寛容 たまに天然 弊
こんにちは。技術部平山です。 今回は、ゲームにおけるA/Bテスト について論じます。 「論じます」で始めたことで察しがつくかとも思いますが、今回はブログではありません。 媒体はブログですが、ブログの容量ではない代物になっております。3.5万字(115KB)超えです。 ゲームにおけるA/Bテストについて、実施の方法や問題点、 倫理的側面に至るまで幅広く書き連ねてみました。 読んで欲しいのはどちらかと言えば同僚なのですが、 そういう時にはまず社外に出してしまった方が良いものですので、 ブログにしてしまいます。 比較的同業の方が読むことを想定しているため、 図表を用いてわかりやすくすることはしておりません。 これを書いた人間は何者か 技術的な問題の前に ゲームにおいても構図は全く同じ A/Bテストが可能である条件 A/Bテストの手続きを概観する 振り分け アプリ内振り分けの場合 Firebase
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のマネージドサービスを組み合わせ
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を指定しています。 例
SREチームの橋本です。今回はステージング環境の運用でありがちな本番との差分に対処する試みを紹介します。 背景 ステージング環境について、例えばIT用語辞典では ステージング環境とは、情報システムやソフトウェアの開発の最終段階で検証用に用意される、実際の運用環境と変わらない環境のこと。 と説明しています。検証用ですから、インフラ面で言っても本番環境となるべく一致した構成であってほしいということになります。 しかし実際にはさまざまな経緯(ステージング環境を後から立てたり!)から、たとえTerraform管理していたとしても差異が発生してしまうことがあります。 こうしたとき、その差異を検出する一つの方法としてはTerraformの.tfファイルを比較することですが、これにもいろいろな書き方がありえます。 例えばaws_db_proxy_endpointはterraform-provider-a
SREチーム(新卒)の市川恭佑です。 カヤックのサービスでは、信頼性の担保を目的として、ステージング環境を作成する方針を取っています。 ステージング環境では、検証の精度を高めるために、量・質ともに本番環境に類似したデータベースが求められる局面が頻出します。 そこで今回は、Tonamel という自社サービスにおける、検証用データベースの立ち上げを自動化する取り組みについて紹介します。 サービスの置かれていた状況と解決方針 Tonamel の実行基盤は Amazon Web Services (AWS) 上にあり、本番環境とステージング環境は別のアカウントとして、同一の AWS Organizations 組織内に構築されています。 もともと、ステージング環境では、本番環境のデータは利用せず、手作業でダミーデータを作成していました。 それゆえに、データベースに格納されているデータ量は本番環境と
こんにちは、今年もあっというまでしたね〜@fnobiです。この記事はTech KAYAC Advent Calendarの12日目になります。 毎年アドベントカレンダーでは、その時お世話になった技術の話をしているんですが、今回は去年に引き続きfirebaseで行かせていただきます。いちおう専門はWebフロントのはずなんですが、最近WebフロントエンジニアというよりはFirebaseエンジニアです。 Firebase Realtime DatabaseとFirestore そもそもfirebaseとはなんぞや?という話は去年も書いたのでよろしければ読んでみてください。 さて現在Firebaseでは、データベースとしての機能がRealtime DatabaseとFirestoreの2種類提供されています。いちおう公式でも並列に扱われていたり、比較を書いてくれたりしているんですが、全体を通してな
SREチームの池田(@mashiike)です。SRE連載の5月号になります。 AWSのコストについては、多くの方がすごく気にしていると思います。 カヤックでもAWSのコストの変動に関しては敏感に気にしています。 そんな方々の心のお供になる機能が、 AWSコスト異常検知(AWS Cost Anomaly Detection) です。 今回は、このコスト異常検知にまつわるトイル削減の取り組みを紹介します。 背景 AWSコスト異常検知は、AWS マネジメントコンソールの中では『Billing and Cost Management』配下にある機能になります。 この機能を使うことでAWSで発生したコストに関して、通常とは異なるコストの発生を検知することができます。 コスト異常検知自体については、CureApp テックブログ様のZennの記事がわかりやすくまとまっているので、そちらを参照いただければ
あけましておめでとうございます。SREチーム(新卒)の市川恭佑です。 カヤック技術ブログでは本記事が2023年初エントリですが、Happy Lunar New Year!の方が違和感のない時期になってしまいました。 本年、新たにカヤックSRE連載と題した企画を始めるので、概要についてご報告します。 連載企画を始める経緯 カヤックの技術ブログといえば毎年恒例のアドベントカレンダー企画が人気ですが、これは12月限定のため、それ以外の時期にブログの更新が激減する傾向がありました。 ブログ過疎化の対策として、カヤックでは去年からSREチームで毎月1本のペースでブログ記事を出していました。 実のところ、内部的にはこれを「SRE連載」と読んでいました。 「とりあえずやってみよう」というノリで始まった連載でしたが、結果的には「12月を除くすべての期間において記事を出す」という実績を作れたので、本年は正式
SREチームの今です。 カヤックでは、クラウドリソースの管理にはTerraformを利用することが多いです。 クラウドリソースの構成や設定をコードで管理することで、リソースの変更内容の差分をレビューできる、意図しない設定変更を発見できるなどの利点があり、SREの目的であるサービスを安定して提供する上で重要な要素の一つです。 実際の作業として、既に運用中のサービスを新たにTerraform管理下に置く場合や、多くのリソースが既にweb consoleから作成されているものをTerraform管理下に追加する場合も多いと思います。 その際にはTerraform importをする必要があります。しかし、Terraform importは単純作業とはいえ時間と手間がかかり、優先順位を下げてついつい後回しにしてしまうことも多いのではないでしょうか。 今回は、手作業でTerraform import
SREチームの長田です。 今回は私が所属している「カヤックのSREチーム」について紹介します。 SREとは Site Reliability Engineering の略です。 「サイト信頼性エンジニアリング」と訳されることが多いようです。 同名の書籍(いわゆるSRE本)が出版されたことから、SREという言葉が一般的に使われるようになったようです。 www.oreilly.co.jp この記事ではSREそのものについての説明は省きます。 ざっくり一言で説明すると、「サイト(サービス)の信頼性を技術の力で担保すること」のようになるでしょうか。 SREの何たるかのより詳しい説明については上記のSRE本や、提唱元であるGoogleのサイト(英語)を参照してください。 sre.google カヤックのSREチーム カヤックのSREチームは2018年に発足しました。 当初は3名体制でしたが、メンバー
SREチームの長田です。 先日Lobiの画像変換サーバーをImageFluxに移行したので、その過程を紹介します。 画像変換って? Lobiはチャットを主軸としたコミュニティサービスです。 ユーザーはチャットメッセージに画像を添付することができます。 また、ユーザーアイコンやチャットグループの壁紙などもスマホやPCからアップロードして設定することができます。 アップロードされた画像は利用箇所に応じて適切なサイズ・フォーマットに変換する必要があります。 投稿画像のプレビューでは表示速度と通信量削減を優先して解像度低めの画像を、 拡大表示する場合はオリジナルサイズの画像を表示します。 複数サイズの画像を用意する手段として、Lobiでは内製画像変換アプリケーションであるmagcian1を運用していました。 Amazon EC2上で動作するNodeJS製のアプリケーションで、AWS CloudFr
どうもこんにちは、ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの14日目の記事です。13日目はAmazon S3 Signature V2 廃止対応にまつわるあれこれでした。 従来のGitHub APIを使うBot カヤックではGitHubを使っています。また、各プロジェクトでは自動化されたワークフローの一環として、Slack上でのコマンドからPull Requestを作成したり、レビュワースロットを実行したり、勝手に手順書を生成してissueに貼るなどしています。 こういったBotたちはGitHub上のリソースを操作するために、GitHub APIを使用しています。Organization内のPrivateリポジトリを操作するためには、認証のためにGitHub Tokenが必要です。
(Generated by a product, author Irie Shinnosuke) こんにちは!技術部ゲーム事業部サーバサイドエンジニアの宮村 紅葉です。 社内では「みやむー」と呼ばれています! 普段はぼくらの甲子園!ポケットのサーバサイドエンジニアとして Perl5 を用いた運用・開発のお仕事をしています。 突然やってきたサーバーチームリーダーへの打診! 新卒 2 年目の昨年 12 月に所属チームのプロデューサーに「みやむーリーダーやってみない?」と言われ、2021 年 1 月からサーバチームのリーダーになりました。 この記事では後学のために、リーダーになって数ヶ月の間に経験した、どったんばったん大騒ぎと、若手がリーダーを経験することで何が得られたのかということについて書いてみたいと思います。 どったんばったん大騒ぎ!したこと 自分よりもベテランエンジニアばかり! 「ぼくら
年末ですね。カヤックでは360度評価の時期でもあるので、みんな振り返りだとか内省などの言葉がいたるところで飛んでいます。この記事でも今年の出来事を振り返りしてみたいと思います。どうも、ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの20日目の記事です。19日目はAWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話でした。 この記事のあらまし あるWebサービスを作るプロジェクトでORMを切り替えた 開発言語はGo言語 DBライブラリ/ORMはgithub.com/xo/xoを使っていました ですが開発途中から、私が作成したライブラリであるgithub.com/mackee/go-sqllaに乗り換えました どっちもコード生成系だけれど、
SREチームの竹田です。Tech Kayac Advent Calendar Migration Track 12日目の記事になります。 今年2019年9月にTHANKSというサービスを閉じました。 実はこのサービス、10年以上前に自分が設計開発したサービスなのです。 運営・開発が入れ替わる形で自分の手は離れていましたが、最後は自分の手元に戻りクローズ作業をすることになるとは...感慨深いものがあります。 全世界に向けて「ありがとう」を発信!「THANKS」リリース (ニュースリリースは2006.11.28ですが同年の7月にサイトは公開されたような記憶がある。13年近く続けていたってことですね。) リリース当時の事を思い出してみると フロントはFlashでサーバサイドはAPIのみ ブログバーツ(なつかしい!)にもAPIを提供 1台のサーバ内に複数サービスが同居 リリース直後にブログパーツが
こんにちは! 技術部で市民ランナーの荒賀です。 この記事はTech KAYAC Advent Calendar 2019の11日目です! 例年筋肉について書いており、2016年、2017年と筋肉ネタを投下していましたが、 昨年の記事にて社内に自称ボディビルダーが爆誕したため筋肉ネタは卒業すると宣言していました。 しかし、今年ついに横浜マラソンでサブスリーを達成したため、一周回ってまたスポーツネタを書きたいと思います。 kotobank.jp サブスリー達成者は市民ランナーの3%、女性にいたっては0.4%と言われているほど結構な難易度で、自分で言うのもあれですがたいそうすごいことなんじゃないかと思っています。 グロス2:57:41でゴールした瞬間の神写真 で、サブスリーした人のこうしたら達成したぜって情報も世に溢れているので、自分が書いたところで今更感があるんですが、 達成までの軌跡には十人
はじめに この記事はTech KAYAC Advent Calendar 2022の6日目の記事です。 こんにちは、OC事業部その他配属の橋本と申します。普段は専門部隊の手が届かないところにヘルプで入ってよしなにすることを仕事としているのですが、その仕事のうちの一つに「アーケード筐体をPCと繋いでよしなにゲームできるようにしておいて」という無茶ぶり仕事があったので、その時の奮闘を今回ブログとして供養したいと思います。 筐体について 今回動かす筐体はこちらになります。 今回動かす筐体 多分BLASTCITY SEGAのBLAST CITYだと思いますが、僕も細かい仕様はよく知りません。なんせインターネットが発達する前の代物です。しかも非売品。ろくな資料は見つけられませんでした。 さて、コイツの大まかな構成ですが、ものすごくザックリ言うと筐体の中にモニターとコントローラが入っていて、これらをよ
12月も終盤、2019年も終盤、令和元年も終盤です。みなさんいかがお過ごしですか。ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019の24日目の記事です。 Migration Trackの方で結構書いたので、こっちは何書こうかなーとなったんですが、あえて小ネタでAWS Lambda使う時のTipsな感じで行きます。 AWS Lambdaのデバッグがしんどい件 僕はサーバレス・コンテナ以前からWebのサーバ開発をやっている人間なもので、動いているやつをダイレクトにソースコードいじってバグを直した経験があります。そこまで野蛮な方法を取らなくても、sshで入ってリクエスト叩きながらログを読んだり、プリントデバッグを仕込むなどの手段を使って、とにかくなんとか直す手段を持っていました。 しかし、コンテナでsshを封じられ、サーバレス
Amazon Web Services ブログ 面白法人カヤックにおけるビルディングブロックとしてのAmazon ECSの活用とサービス間連携の工夫 開発者がアプリケーションを開発・パッケージング・デプロイするための強力な手法として、コンテナ技術はその代表的な1つに挙げられます。そしてそのようなコンテナ技術における様々なユースケースをサポートすべく、AWS では Amazon Elastic Container Service (Amazon ECS) に代表される多様なサービスを提供しています。 Amazon ECS はコンテナの運用管理を容易にするマネージドサービスです。他の AWS サービスとの組み合わせにより多様なワークロードをサポートするシステムを素早く構築可能です。一例として、 AWS Secrets Manager を利用した秘匿情報の連携が挙げられます。これにより、IDやパ
SREチーム(新卒)の市川恭佑です。今回は、Tonamelという自社サービス(Web)において負荷試験を導入した事例を紹介します。 このエントリは「先送りされがちな負荷試験の導入について心理的なハードルを下げる」ことを目的としています。 そのため、事例紹介と銘打っていますが、列挙される事実の独立性よりも文脈性を優先しています。 表現が少し冗長に感じるかもしれませんが、負荷試験について距離感を感じている方は是非お付き合いください。 負荷試験を導入するに至った経緯 Tonamelは、本格的なリリースから5年以上という、比較的長い運用歴を持つサービスです。 まず、何故このタイミングで負荷試験を導入することになったのかについて、その経緯を説明します。 ポストモーテムによる気づき(文化的な土台) 今年の3月に公開されたエントリにもあるように、カヤックでは着実にポストモーテム文化が浸透しつつあります。
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く