本番環境でやらかしちゃった人のアドベントカレンダーです。 例) 本番DB吹き飛ばした 本番サーバをデストロイした ネットワーク設定をミスって本番サーバにアクセス出来なくなり、サーバが世界から孤立した などなど... 以下の2点については必須項目なので、記述お願いします。 惨劇はなぜおこってしまったのか 二度と惨劇を起こさないためにどうしたのか もう二度とあの惨劇を繰り返さないために、みなで知見を共有しましょう。
この記事はTech KAYAC Advent Calendar 2019の4日目の記事です。 こんにちは。技術部平山です。 この記事では、人の行動を操る、つまり、人の行動を予測したり、望みの行動を取らせるために役立つ科学について 軽く紹介いたします。プログラミングの話はございませんが、 プログラマに読みやすい味付けにはしておきました。 なお、「人を操る」とか言っていますが、実際それで思うように操れるのであれば、 私はもっと裕福だったでしょうし、高い地位を得ていたことでしょう。 理屈と実践は異なるということです。 ただ、これを知って気が楽になる方もいらっしゃるかもしれませんし、 もしかしたら、実際に何かを改善させられるかもしれません。 基本的には与太話ですので、お暇な方のみお付き合いください。 予測に使える理論は、制御にも使えるかもしれない 何かしらの理論によって現象が予測できるのであれば、
はじめに この記事はTech KAYAC Advent Calendar 2019の19日目の記事です。 こんにちは。 技術部の中山といいます。 普段は、ぼくポケチームで、 開発・運用をする上で必要な作業の自動化をしたり、効率化できる部分を改善するという仕事をしています。 要するに仕事の無駄をなくすということをしているのですが、そういう仕事をする中で、 大学3年生のときに学食で「カレーを綺麗に食べる方法」というのを 研究していたことを思い出したので紹介しようと思います。 仕事の効率化もカレーを綺麗に食べるのも「無駄をなくす」という点では同じです。 食べ物で遊んでいるように感じる方もいらっしゃるかもしれませんが、 ここで述べる方法は「美味しく綺麗に食べる」というのを大事にしています。 決して遊んでいるわけではありません。 実際の写真 まずこの画像をご覧ください。 これは、弊社が手がけるまちの
80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風と言っても、レトロゲームを再現するという意味ではありません。 80年代風イラストの雰囲気を表現したいと思います。 80年代リバイバルブームとは ここ数年、80年代リバイバルな表現がファッションやデザイン、映画などでブームになっていたことはこれを読んでいるみなさんにも思い当たるところがあると思います。しかし、この現象を包括的にまとめたような記事文献は見つけることができませんでした。なので、個人的体験から80年代リバイバルブームを追ってみます。 80年代リバイバル表現との出会い:tofubeats
この記事は「本番環境でやらかしちゃった人 Advent Calendar 2019」の1日目です。 https://qiita.com/advent-calendar/2019/yarakashi-production なかなか濃いラインナップが期待されますが、まずはさらっといきたいと思います。 具体性が乏しい部分もあると思いますが、そこはお察しください。。。 やらかし 背景(前提条件) いっていに昔の話です ETL(データ加工)サーバ 数十を超えるシステムからデータを集める BIツールなどで活用できるように各種加工処理を行い、DBなどにロードする 繁忙の違いはあれど、24/365で常時一定量の処理は稼働している 複数のチームが共存しているサーバ アプリ面では比較的疎 ETL処理のリリース前に本番サーバ上で試験をする取り決めになっていた 性能や本番相当データのテストが安全に行えるような環境
オーディオプログラミング言語について、メジャーどころや面白そうなものを実際に触ってみて紹介する企画です。 共通のテーマは、(1)440Hzのサイン波生成+ゲイン調整、(2)wavファイルに400msecのディレイをかけてフィードバックとウェットレベルを調整の上で再生、としました。それぞれの言語でこの二つのプログラムを実装します。 オシレーター、ファイル読み込み、バッファ格納、フィードバック処理といった頻出処理の実装方法(もしくはライブラリ利用方法)がひととおり確認できて、言語間の比較もしやすいのではないかと思います。 githubの方も公開しました。こちらはすべての実行確認済みソースコードをダウンロード可能です。 https://github.com/aike/audiolang
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
SREチームの長田です。 この記事はTech Kayac Advent Calendar Migration Track 1日目の記事です。 今回はLobiで使用していたMongoDBをMySQLに移行したはなしです。 MongoDBを何に使っていたか DAUなどのKPIレポートや、サービスの状況を把握するための各種集計結果を保存するために使っていました。 サービス開始直後はこれらの数字を色々と試行錯誤しながら追加したり、減らしたりしていました。 頻繁な追加削除があるデータ構造を保存するために、スキーマレスなデータベースであるMongoDBはちょうどよかったようです。 (当時スキーマレスデータベースが流行っていたというのもあるでしょう) なぜ移行したのか MongoDBに保存されたドキュメントは、スキーマ管理がされていませんでした。 スキーマレスであることをいいことに、その時時によって様々
About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
この記事はTech KAYAC Advent Calendar 2019の10日目の記事です。 こんにちは! jsdo.itでCreativeCodingの世界を知り、jsdo.itに惚れて入社を決め、jsdo.itの譲渡とともに入社し、jsdo.itの終了とともに退職した有給消化期間中の浅利(@kasari39)です! 今回はシェーダーの世界へ一歩踏み出してみませんか?という内容です。 *1 シェーダーコーディングの世界 作品例として手前味噌ですが、このような映像をシェーダーのみで生成できます。 http://glslsandbox.com/e#59292.1 http://glslsandbox.com/e#59293.0 これらは100行にも満たないシェーダーから生成されています。 こんな短いのにこんな豪華な見た目が出るなんて面白いですよね。 それでは一歩踏み出してみましょう! 開発
鎌倉は寒いです。みなさんはいかがですか。ソーシャルゲーム事業部のゲーム技研チームの谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの10日目の記事です。9日目はデーモン管理をdaemontoolsからsystemdに移行させるでした。 ゲーム内お知らせとは みなさんは、スマートフォンのゲームをされますか。ええ、そこのあなたはよくされる。しかし、そちらの方はあんまりされない。なるほどなるほど。 では分かる人にはおさらいとして、あまりピンとこない方にはそんなことがあるのか〜となってもらうために説明させていただきます。 我々カヤックでゲームを運営している人々が「お知らせ」を指した場合、ゲーム内のある機能を示しています。他のゲームではニュースなどとも呼ばれています。 カヤックで作っているゲーム「ぼくらの甲子園!ポケット」(以下ぼく
SREチームの竹田です。Tech Kayac Advent Calendar Migration Track 9日目の記事になります。 カヤック社内では デーモン管理ツールとしてdaemontoolsが愛用されてきました。 ソフトウェアとして枯れており、 自動起動や各シグナルを送ることができるので大変重宝されています。 経緯 AmazonLinux1のEOLに伴い、稼働中のアプリケーションを移行させる必要がでてきました。 最近はコンテナ(ECS)へ移行させる事がほとんどですが、運用やアプリケーションの都合上AmazonLinux2へ移行させる場合もあります。 デーモン管理としてdaemontoolsを利用する事も考えましたが、ドキュメントの整備状況やインストールに難があることもあり、systemdに変更する事にしました。 設定 systemdの詳しい説明は省きますが、 以下のような設定ファ
どうもこんにちは、ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事は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が必要です。
年末ですね。カヤックでは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 2019 の7日目です。 今回もredash周りの話で、Lobiでの分析事例の話をしていきたいと思います。 (本ブログではredashおじさん化していますね。 ) Lobiでの分析環境の概要 ゲームコミュニティ事業部では主要サービスとして Lobi を開発・運営しています。 現在のLobiにおける分析環境は、以下の図のようになっています。 分析環境の図 アプリケーションが行動ログやアクセスログを出力し、それをFluentdやKinesis Data Firehoseを使ってS3バケットへ転送しています。その後@fujiwaraさんのrinを使ってRedshiftにロードしています。この周辺に関しては、ソーシャルゲーム事業部での記事と同様ですので、詳しくはそちらを
12月も終盤、2019年も終盤、令和元年も終盤です。みなさんいかがお過ごしですか。ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019の24日目の記事です。 Migration Trackの方で結構書いたので、こっちは何書こうかなーとなったんですが、あえて小ネタでAWS Lambda使う時のTipsな感じで行きます。 AWS Lambdaのデバッグがしんどい件 僕はサーバレス・コンテナ以前からWebのサーバ開発をやっている人間なもので、動いているやつをダイレクトにソースコードいじってバグを直した経験があります。そこまで野蛮な方法を取らなくても、sshで入ってリクエスト叩きながらログを読んだり、プリントデバッグを仕込むなどの手段を使って、とにかくなんとか直す手段を持っていました。 しかし、コンテナでsshを封じられ、サーバレス
この記事は Tech KAYAC Advent Calendar 2019 の17日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。 本日は死んだ飼い猫をLINE botとして蘇らせようとしたことについて記事にさせていただこうと思います。なんだbotかよと思った方申し訳ありません。 猫の死 2017年8月、子供の頃に拾って以来ずっと一緒だった猫が死にました。18年も生きたのでなかなか長く生きてくれた方だと思います。こればかりは仕方ないですね。 ところが、しばらく経っても、僕はなかなか彼を忘れることはできませんでした。 スマホのケースも自作しました そしてだんだんと、一つの願望が湧き上がってくるのです。 猫を蘇らせたい。 どうやって蘇らせるか? 弊社のサービス運用では、chat opsが積極的に取り入れられています。chat opsとは、slackのようなチャ
こんにちは!技術部の小池です。 この記事は Tech Kayac Advent Calendar 15日目の記事です。気付いたらもう12月も半分じゃないですか…もう今年の営業は終わりにしてお酒飲んで年越しを迎えたい気分ですね〜。 今回はマルチテナントなサービスにおける認証と権限管理についてのお話です。 要件 今回お話するサービスはカヤックグループ全体に提供する予定のマルチテナントのサービスです。カヤックの文化を支える 360度フィードバック、スマイル給 などの複数のサービスが協調して動作するというサービス指向的なアーキテクチャで、既存のカヤック社内サービス群のリニューアルプロジェクトでもあります。 カヤックグループ向けに提供するサービスなので、認証をしないことには利用することはできません。また、カヤックの社員が他のグループ会社の情報を見れてしまうというのも困ったことになってしまうので、組織
クライアントワーク事業部サーバサイドチーム所属しております。長谷川です。 みなさま初めまして!こちらの記事はTech Kayac Advent Calendar Migration Trackの21日目の記事です! 今回はとあるRailsで動いているサービスのversionを3から5にアップデートしたお話を綴っていきたいと思います。 はじめに どういう切り口でお話を進めようかすごく迷いますね・・・ 細かい内容はGoogle先生に聞いたら先人のみなさまの知見にアクセスできると思いますので、ここでは「こんなことがあったんですよーハハハ」的な感じで進めていこうと思います そもそもですが・・・私はタイトルの通り今年新卒で入社してRuby歴もRails歴も数ヶ月程度のペーペーでございます。 Rubyはみんな大好きチェリー本こと『プロを目指す人のためのRuby入門』を読んだ程度でRailsも『パーフェ
こんにちは、各位忘年してますか。弊社では新年会は1年に1回しか出来ないが、忘年会は1年に何度も出来るという説が出回っています。僕も8月頃に1度忘年してますが、まだまだやっていきましょう。ソーシャルゲーム事業部ゲーム技研の谷脇です。 この記事はTech KAYAC Advent Calendar 2019 Migration Trackの18日目の記事です。17日目はPush 通知送信エージェント Gunfish に FCM v1 API 対応を追加したでした。 この記事で話すこと モバイルゲームのマスタデータの管理ツールを今年作り直したよ やりたいことが複雑だからいい感じに設計したよ CLIでも動くしサーバレスでも動くよ この記事がakashicの概要が書かれたドキュメントじゃ!(社内向けの業務連絡) マスタデータの管理とは そういえば先日、マスタデータNight #1というイベントを開催
SREチームの長田です。 Tech KAYAC Advent Calendar 2019 Migration Track の11日目です。 今日は仕事と直接は関係ないけど、でもないと仕事ができない、そう、キーボードの話です。 移行前 3年前ほど前からErgoDox EZを使っています。 techblog.kayac.com 配列をちょっといじっていて、dvorakをベースに日本語やコードが打ちやすいように一部のキーを入れ替えています。 キーボードをいじろう! @YAPC::Asia 2012 LT-THON from Hiroaki Nagata www.slideshare.net configure.ergodox-ez.com 概ね快適に使っていたのですが、「数字キーがちょっと遠いな〜」というかすかな不満がありました。 40%キーボード 世の中には40%キーボードというものがあります
こんにちは! ソーシャルゲーム事業部の川添 (@acidlemon) です。 この記事は Tech KAYAC Advent Calendar Migration Trackの8日目です。 今年はみなさまどんな一年だったでしょうか。私もいろいろありましたが、最近ちょっと私がやってたマイグレーションというと自分の開発環境のGOPATHの掃除がありますので、今日はその話を書こうと思います。 2018年までのGOPATH GOPATHというと、昔からGo言語をゴリゴリ書いていた人にはおなじみの、 GOPATH=$HOME/go みたいなのを設定して、go get github.com/kayac/ecspresso すると $GOPATH/src の下に $GOPATH/src/github.com/kayac/ecspresso みたいなディレクトリができてそこにソースコードがcloneされる
この記事はTech KAYAC Advent Calendar 2019の21日目の記事です。 経緯 こんにちは、今サーバサイドで仕事をしてるUnityエンジニアの魏です。 入社した以来、いつもノートで出退社時間を書いて、金曜日か月曜日で勤怠管理システムでまとめて入力することをやっていました。 しかし年を取ってきて、仕事が忙しくなるなどの原因で、よく勤怠時間をメモし忘れています。毎日勤怠をつける習慣があれば問題ないけど、やはり忘れてしまうことがよくありました。その時、KPTシートで「出社退社時間を記録する仕組みを作る」というトライを書きました。 ネットで検索してみたら、自動で打刻してくれる勤怠システムがすでにたくさんあります。しかし、それらの対象は会社管理者で、会社がそのシステムを使わない限り、社員としては何も恩惠を受けません。 だからこの記事では、管理者じゃなく労働者の立場から、自己申告
この記事はTech KAYAC Advent Calendar 2019 Update/MigrationTrack 3日目の記事です。 昨年のAdvent Calendarで闇のredash の記事を書いていたゲームコミュニティ(Lobi)事業部の自称データエンジニアの池田です。今回も、redashについて記事を書いていきたいと思います。 redashは様々な種類のデータソースにアクセスできる、OSSの素晴らしいダッシュボードツールです。 2017-01-31にv1.0.0-rc.1のリリースされて以来開発が続けられており、この前の2019-10-27にv8.0.0 がリリースされました。 今後もビジネスインテリジェンスの現場でのダッシュボードツールの選択肢として利用され続けることでしょう。 ゲームコミュニティ事業部でのRedashの課題 私の所属するゲームコミュニティ事業部でも、以前本
こんにちは。KAYACクライアントワーク事業部デザイナーのちゃんちーです。 去年のアドベントカレンダーでは、XDでVJをする記事( https://techblog.kayac.com/XD2VJ )を書かせていただきました。こんな感じ。 本当だったらXD-VJとして名を馳せるはずが、あれから一度もVJの依頼はきていません。おかしいな!!!(引き続きお待ちしています) それはさておき、いきなりですが、オフィスで全然集中できなくてふわふわしてしまうみたいなことはありませんか? 「周りの音が気になってしまう」、「謎なミーティングが多い」、「寝不足」、「前日飲みすぎた」などなど、集中できなくなってしまう原因って結構ありますよね。 そんな中でも、オフィスでどれだけ体調が良くて目が覚めていても、集中できなくなってしまうシチュエーションがあります。 それがこちら........ 後ろからの視線がめちょ
SREチームの長田です。 Advent Calendar Migration Track 22日目の記事です。 今回は弊社で運用しているLobiというサービスの、Webブラウザ版(Web版)をECSに移行したはなしです。 web.lobi.co なぜ移行したのか おなじみ、Amazon Linux1 EoL対応です。 すべてのアプリケーションをEC2から移行するプロジェクトの一環です。 移行前 LobiのWeb版はNuxtJSを使って実装されています *1。 各APIにリクエストし、サーバーサイドレンダリング(SSR)した結果を、Webブラウザに返しています。 NuxtJSアプリは他のアプリケーションも同居するEC2インスタンスで実行していました。 移行前の構成 (実際にはクライアントで動的にコンテンツを更新するためのAPIリクエストも発生しますが、今回の話題には関わってこないので省略して
SRE チームの藤原です。Tech KAYAC Advent Calendar 2019 Upgrade/Migration track 6日目の記事です。 今日は長らく EC2 などのホストのプロビジョニングに利用していた Chef を、mitamae に移行したお話です。 Chef とその管理 Chef といえば、Infrastructure as a Code という概念を広めた先駆者ともいえるソフトウェアです。Ruby DSL でホスト上のファイルやパッケージなどの様々なリソースを宣言的にプロビジョニングできる、界隈では大変おなじみの奴ですね。 カヤックでも自分が入社した2011年から Chef によるプロビジョニングを行ってきて、もう8年になります。 多くのプロジェクトではアプリケーションとは切り離した、その名も "chef" という名前の GitHub リポジトリにコードや設定
この記事はTech KAYAC Advent Calendar 2019の3日目の記事です。 新卒サーバサイドエンジニアの宮村 紅葉です! 普段はGoでゲームサーバをゴリゴリ書いています。 はじめに GoにはEmbeddingと呼ばれる機能があります(日本語では「埋め込み」と書かれることが多いと思いますが、この記事ではEmbeddingと記述します)。このEmbeddingは便利ですが「複数の構造体を使ってEmbeddingした際に同名のフィールドが存在する」と思わぬ罠にハマります(私は最近ハマった笑)。ハマったからにはネタにせねば!ということで書いていきます!! Embedding 同名フィールドを明示的に参照 まずEmbeddingして埋め込んだ構造体のフィールドを参照してみましょう。以降は S1 S2 Embedding 構造体を前提に説明します。なお説明のためにあえて Duplic
SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 24日目の記事です。 昨日12/23に発売となった技術評論社さんの WEB+DB Press vol.114 の連載「インフラ運用のアイデア&テクニック」に、「マネージドサービスによる既存サーバの再構築」という記事を書きました。 WEB+DB PRESS Vol.114 作者:髙橋 祐真,加藤 圭佑,山﨑 真,竹澤 友博,堀川 豊,平塚 貴之,岩藤 圭介,小西 裕介,hikalium,大島 芳樹,宮路 洋一,Yugui,新倉 涼太,笹田 耕一,牧 大輔,末永 恭正,久保田 祐史,白方 健太郎,藤原 俊一郎,大原 壯太,池田 拓司,はまちや2,竹原,櫛井 優介出版社/メーカー: 技術評論社発売日: 2019/12/23メディア: 単行本(ソフトカバー) この記事は buildersc
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く