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

  • 【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog

    こんにちは!カヤック面白プロデュース事業部のおばらです。 普段は受託案件、特にインタラクティブな WebGL や Canvas2D を駆使する案件のデザイン&実装を担当しています。 先日出題したJS体操 第一問目、挑戦してくださったみなさまありがとうございました! 早速ですが最短文字数の回答は 44文字 でした! export default x=>x-(x%=.2)+.2-(.04-x*x)**.5 みごと44文字を達成した方は、 halwhite さん koyama41 さん sugyan さん tkihira さん たつけん さん の5名!(※ Unicode コードポイント順) おめでとうございます!! 最短文字数を狙った正統派の回答以外にも、裏技的な面白アプローチがたくさんありました笑 このアプローチは面白い、ぜひ紹介したい!という回答がいくつかあったので、解説記事は2回に分けて

    【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog
    umai_bow
    umai_bow 2024/04/28
    整数以外で剰余できることに気づかず47文字止まりだった……
  • ゲームにおけるA/Bテストについて - KAYAC engineers' blog

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

    ゲームにおけるA/Bテストについて - KAYAC engineers' blog
    umai_bow
    umai_bow 2023/02/14
  • 規程文書を Google ドキュメント から GitHub に移行する - KAYAC engineers' blog

    人事部の小池です。 この記事は KAYAC Advent Calendar 2022 の16日目の記事です。 カヤックの規程文書管理の仕組みを Google ドキュメント から GitHub に移行した取り組みについて紹介します。 これまでの文書管理 カヤックでは長年規程文書を Google ドキュメント で管理していました。Google ドキュメント は多くの従業員にとって親しみやすいものの、文書を管理する上でいくつかつらい点がありました。 改訂内容の差分が追いにくい・改訂の背景がわからない Google ドキュメント なので変更履歴から過去の版を閲覧することは可能ですが手軽とはいえません。改訂の際は内容以外にも改訂に至った経緯、議論といった背景も重要ですが、これらの背景は成果物である Google ドキュメント の版の履歴からは伺うことはできません。「ある時までは確かこういった規程内容

    規程文書を Google ドキュメント から GitHub に移行する - KAYAC engineers' blog
    umai_bow
    umai_bow 2022/12/17
    これは最高
  • 完璧な結婚の挨拶をするために本気で準備をしていたら、いつの間にかマネキンにプロジェクションして仮お義父さんを作っていた話 - KAYAC engineers' blog

    こんにちは。カヤックOP事業部デザイナーのちゃんちーです。 ※右です 突然ですが皆さん、人生、やっていますか? かれこれ社会人5年目になり、 Instagramを開けば結婚、出産、子育て...、 Twitterを開けばご報告、ご報告、ご報告...、 これらを見るたびに、「みんな人生やってるなぁ.......」と思うわけです。 ……さて、そんな人生やっていきを感じる27歳の僕も、 ついに先日付き合っていた彼女と婚約し、 結婚までもうすぐというところまで人生をやっていきしている最中でございます。 ......しかし、そんな中で一つ心配なことがあります.....。 それがこちら…… 親への挨拶が怖い!!! ……そう、婚約をし、結婚をするには、親へ挨拶をしなければならないのです。 が、人見知りかつ、緊張しいな自分が、 無事に許しをもらうことができるのかどうかが不安で不安でたまりません。 怖くて怖く

    完璧な結婚の挨拶をするために本気で準備をしていたら、いつの間にかマネキンにプロジェクションして仮お義父さんを作っていた話 - KAYAC engineers' blog
    umai_bow
    umai_bow 2022/12/14
    ホーンテッドマンションの水晶玉の中の顔じゃん
  • 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
    umai_bow
    umai_bow 2022/08/31
  • WebGL2でCPUベースのレイトレーシングをやってみた - KAYAC engineers' blog

    この記事はKAYAC Advent Calendar 2021の22日目の記事になります。 こんにちは!ハイカジチームの深澤と申します。 今回は実際の業務とは関係なく、自由研究的にやってみたことの記事になります。 数ヶ月ほど前に iOS15, macOS Monterey が登場し、ついに iOS / macOS ともに safari で WebGL2 が標準で使えるようになりました。この出来事はWebフロント界隈からするととても嬉しいお知らせでした。 そのことを思い出し、アドベントカレンダーでは WebGL2を使った何かを題材にしようと決め、前々からやってみたかった「ブラウザでCPUベースでレイトレをし3Dモデルを表示する」ことに取り組んでみたという経緯になります。 ここでいう「CPUベース」とは、「レイトレのピクセル計算をjavarcript側で行うこと」を指します。 目次 目次 はじ

    WebGL2でCPUベースのレイトレーシングをやってみた - KAYAC engineers' blog
    umai_bow
    umai_bow 2021/12/28
  • トナカイと白ひげのおじいさんに学ぶUVアニメーション - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021 の24日目の記事です。 こんにちは! 意匠部のおばらです。 今日はUVアニメーションのお話です。 目次 UVとは? なぜ`U`と`V`なのか 題 タイヤはただくるくる回せば良いけど履帯は。。。 UVアニメーション UVアニメーションの仕組み Three.js でUVアニメーション JavaScript 頂点シェーダ フラグメントシェーダ UVアニメーションの応用 まずは動かしてみる JavaScript 頂点シェーダ フラグメントシェーダ 頂点座標の時間経過をテクスチャに格納する 頂点シェーダ(X座標用) フラグメントシェーダ(X座標用) まとめ UVとは? 3Dの世界でUVといえばUV座標のことです。 UV座標は頂点の3次元座標がテクスチャ上のどの位置に対応するかを表す2次元座標。 きれいなUVだね〜とか、UV

    トナカイと白ひげのおじいさんに学ぶUVアニメーション - KAYAC engineers' blog
    umai_bow
    umai_bow 2021/12/28
  • 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
    umai_bow
    umai_bow 2021/12/20
    ええやん
  • すき焼きの写真にすき焼きの3Dモデルを埋め込む方法 - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021の14日目の記事です。 こんにちは!意匠部のおばらです。 今日は、知っていても役に立たないかもしれない、 WEBページでの画像の変な使い方をご紹介しようと思います。 題して「すき焼きの写真にすき焼きの3Dモデルを埋め込む方法」です。 すき焼きの写真にすき焼きの3Dモデルを埋め込む方法 WEBページで読み込んでいるファイルは全部丸見え! ブラウザのデベロッパーツール、便利ですよね。 特に Network や Source タブ。 読み込んでいるファイルがぜ〜んぶ丸見えです。 いけてるWEBサイトを見つけたら どうやって作ってるんだろう? ふむふむ、3D部分はThree.jsで、モデルはglTFか〜 お、テクスチャはKTXを使ってる! みたいに調べちゃいますよね?? そう、デベロッパーツールは 覗く側としては、すご〜く勉

    すき焼きの写真にすき焼きの3Dモデルを埋め込む方法 - KAYAC engineers' blog
    umai_bow
    umai_bow 2021/12/15
  • DynamoDBで分散ロックを実現するsetddblockと現代版アクセスカウンター - KAYAC engineers' blog

    こんにちは。今年からアナリティクスエンジニアを名乗ろうとしてる池田です。 こちらは、KAYAC Advent Calendar 2021 1日目の記事です。 この記事では、setddblockという分散ロックを実現するためのツールと、その動作試験のために現代版アクセスカウンターを作成した話をします。 setddblock 皆様がcronなどで定期実行のスクリプトを実行する場合、同時実行されては困るものはどうしていたでしょうか? daemontoolsのsetlock というツールを使って同時実行を防いでいたことがある方も多いと思います。 http://cr.yp.to/daemontools/setlock.html このsetlock はローカルのファイルシステム上にロックファイルを作成し、ロックファイルの作成が成功したら指定されたコマンドを実行するというツールです。 例えば1分ごとに起

    DynamoDBで分散ロックを実現するsetddblockと現代版アクセスカウンター - KAYAC engineers' blog
    umai_bow
    umai_bow 2021/12/06
    ロック掴んでプロセス落ちたら終わりそう
  • めざせ!ゆめかわ原宿系エンジニア:入門編 - KAYAC engineers' blog

    (。ì _ í。) < この記事は 𝕂𝔸𝕐𝔸ℂ 𝔸𝕕𝕧𝕖𝕟𝕥 ℂ𝕒𝕝𝕖𝕟𝕕𝕒𝕣 𝟚𝟘𝟚𝟘 14日目の記事です こんにちは!技術部20新卒の hsm_hx です。社内ではがはくちゃん(5さい)と呼ばれています。 まちのコインチームでサーバとフロント反復横跳びエンジニアとしてゆるふわ鎌倉ライフを満喫させていただいております。 さて,突然ですがおそらくこの記事を読んでいる方の8割ぐらいはエンジニアの方ではないか(全く根拠のない推論)と思うのですが,みなさんはこのような会話をしたことがあるでしょうか? 女の子「仕事は何やってるの?」 おれ「IT系の会社でエンジニアを……」 女の子「あぁ〜(笑)たしかになんかわかる〜エンジニアっぽい(笑)」 もしかして: オタク 正直わたしは学生時代何度「エンジニアっぽい(笑)」「高専生?あ〜,納得(笑)」と言われたかわかり

    めざせ!ゆめかわ原宿系エンジニア:入門編 - KAYAC engineers' blog
    umai_bow
    umai_bow 2020/12/16
    天才じゃん
  • シャワーを浴びずして、良いアイデアを閃く技術 - KAYAC engineers' blog

    はじめに 僕の将来の夢は「狂った金持ちのジジイ」になって葬式の式場として採石場を買い取り、式の最後に棺を爆破する"ダイナマイト葬"で人生を締めくくること。 こんにちは。クライアントワーク事業部の井上宗汰(@inolalala)です。 普段会社ではUnityをちょしたり、エンジニア目線から企画のお手伝いをしたり、飲み会の場で少し嘘をついたりしてその場の空気をかき乱す等の仕事をしています。 あ、この記事はTech KAYAC Advent Calendar 2019の23日目の記事です。 さて。 「なんか新しいアイデアを!」って言われた時、やっぱ困っちゃうこと、少なからずあったりしますよね。 そういう時に限っていい考えがパッと浮かばないものです。 そんな時有効な方法、それは「シャワーを浴びる」だと僕は個人的に思っています。かのアルキメデスもお風呂に入っている最中にアイデアを閃き「Eureka!

    シャワーを浴びずして、良いアイデアを閃く技術 - KAYAC engineers' blog
    umai_bow
    umai_bow 2019/12/23
  • ひたすらWebサイトを見るのが趣味な私が独断と偏見で選ぶ今年「良い!」と思ったWebサイト16選 - KAYAC engineers' blog

    どうもみなさまおはようございます。あるいはこんにちは。あるいはこんばんは。 KAYAC Advent Calendar 2019の18日目の記事を担当します、フロントエンドエンジニアのたがみです。普段はwebサイトを作ったり動かしたりぶっ飛んだものにしたりしなかったりしています。 去年は私のその時の推しライブラリだったVuetifyについてこのブログを通じて布教したのですが、今年も今の推しライブラリの話をするぜ!・・・と、意気込んでいたのですが。「というか日頃からWebサイト事例収集しまくってるから、今年の素敵だと感じたサイトを振り返るか」と思いついちゃいましたので今年は推しのWebサイトの話をしようと思います。 というのも、私は去年入社してからデザインや演出や作りが素敵なWebサイトを見つけては自分のツイッターに「このWebサイトが良い!」というのをひたすら垂れ流すというのを日常的にやっ

    ひたすらWebサイトを見るのが趣味な私が独断と偏見で選ぶ今年「良い!」と思ったWebサイト16選 - KAYAC engineers' blog
    umai_bow
    umai_bow 2019/12/19
    手厳しいコメント多い!でも、従来のWebの役割は、SNSやWebサービス、Blogがほとんどカバーするようになったから、逆説的に飛び道具みたいなものしか残らないようになると思う
  • Unityで80年代風を表現してみる - KAYAC engineers' blog

    80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風と言っても、レトロゲームを再現するという意味ではありません。 80年代風イラストの雰囲気を表現したいと思います。 80年代リバイバルブームとは ここ数年、80年代リバイバルな表現がファッションやデザイン、映画などでブームになっていたことはこれを読んでいるみなさんにも思い当たるところがあると思います。しかし、この現象を包括的にまとめたような記事文献は見つけることができませんでした。なので、個人的体験から80年代リバイバルブームを追ってみます。 80年代リバイバル表現との出会い:tofubeats

    Unityで80年代風を表現してみる - KAYAC engineers' blog
    umai_bow
    umai_bow 2019/12/13
    パソコン音楽クラブをすこれ
  • 人間の行動を操るために覚えておきたい科学 - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2019の4日目の記事です。 こんにちは。技術部平山です。 この記事では、人の行動を操る、つまり、人の行動を予測したり、望みの行動を取らせるために役立つ科学について 軽く紹介いたします。プログラミングの話はございませんが、 プログラマに読みやすい味付けにはしておきました。 なお、「人を操る」とか言っていますが、実際それで思うように操れるのであれば、 私はもっと裕福だったでしょうし、高い地位を得ていたことでしょう。 理屈と実践は異なるということです。 ただ、これを知って気が楽になる方もいらっしゃるかもしれませんし、 もしかしたら、実際に何かを改善させられるかもしれません。 基的には与太話ですので、お暇な方のみお付き合いください。 予測に使える理論は、制御にも使えるかもしれない 何かしらの理論によって現象が予測できるのであれば、

    人間の行動を操るために覚えておきたい科学 - KAYAC engineers' blog
    umai_bow
    umai_bow 2019/12/04
  • 「リッチテキストって頂点ムッチャ増えない?」から始まるUnityEngine.UIの性能調査 - KAYAC engineers' blog

    UnityUIを作ると言えば、まずはUnityEngine.UIです。 中身のことを考える必要もなく、ドカドカとImageやTextを置けば 動くので大変有り難いわけですが、不意に猛烈に処理が遅くなることがあります。 記事では、たまたま見つけた現象と、そこから疑問を持って UnityEngine.UIの処理速度についていろいろ調べてみたことを、 技術部平山が書いてみます。 お急ぎの方のために結論を箇条書きにしておきましょう。 Graphic.color、RectTransform.sizeDelta、Text.textをいじると遅い 動かすだけでは大して遅くないが、動かさないよりは遅い リッチテキストは遅い 気になりましたら以下をどうぞ。 なお、Unityのバージョンは2017.4.8f1です。2018では改善している、 ということも多々ありそうですが、そのへんはご容赦ください。 UI

    「リッチテキストって頂点ムッチャ増えない?」から始まるUnityEngine.UIの性能調査 - KAYAC engineers' blog
    umai_bow
    umai_bow 2019/01/16
  • #14 ECMAScript 6のやばい扉を開けちゃうかな(Generators編) - KAYAC engineers' blog

    tech.kayac.com Advent Calendar 2014 14日目です! ざっくばらんにES6のジェネレータのことを書きます。 実のところそんなにやばくないです。 ECMAScript 6! ECMAScript 6、盛り上がってきましたね。 クラスやアロー演算子、let装飾子など、 魅力的な機能がいくつも追加されるES6ですが、 今回は、その中でもジェネレータについて書きます。 ジェネレータ! ECMAScript 6で追加される新たな機能や構文、 "新たな"とはいえ、その多くが、シュガーシンタックス程度に留まっているのと比べ、 ジェネレータは、処理そのものの流れを大きく変えます。 ジェネレータはとりわけ、非同期処理を書くときに役に立ちます。 Promisesやasyncが、非同期処理を並べる程度の解決しかできないのに対して、 ジェネレータは、ネストを一切せずに、非同期処理

    #14 ECMAScript 6のやばい扉を開けちゃうかな(Generators編) - KAYAC engineers' blog
    umai_bow
    umai_bow 2018/08/15
  • フロントエンド開発に Babel も Webpack も必要ない ※ - KAYAC engineers' blog

    できらぁ! 面白法人カヤックのエンジニアのごんです。 昨今のフロントエンドといえば、 Todo アプリを作るにも Webpack やら Babel やら必要だと脅され、 始める前にうんざりしてしまうと話題ですが、 実は、最新のブラウザに限って言えば、そんなことはなく、 ECMAScript の新しい構文や JavaScript Modules など、 多くの機能がネイティブの状態でも使えます。 もちろん、古いブラウザのサポートや、通信パフォーマンスのことを考えると、 ビルドツールを使ったほうが良いのは間違いないのですが、 JavaScript の新しい機能に触れてみたり、自分用のツールを作るぶんには十分でしょう。 ソースコードはこちら! そんなわけで、今回はビルドツールなしでウェブアプリを作ってみました。 ECMAScript に関するクイズゲームです。 最新版の Google Chrom

    フロントエンド開発に Babel も Webpack も必要ない ※ - KAYAC engineers' blog
    umai_bow
    umai_bow 2018/01/17
    タイトルが雑でした
  • 一端のゲームエンジニアが"エレベータ"について本気出して考えてみた - KAYAC engineers' blog

    こんにちは。技術部サーバーサイドエンジニアの大河原です。 ゲーム作ってます。一応まだ新卒です。 こちらはTech KAYAC Advent Calendar 2017 の23日目の記事になります。 (昨日の記事は我らが@commojunの「新卒一年間で確立した紙のノート仕事術!」でした。) ちなみに前回僕が書いた記事はカヤックのエンジニアのエディタ事情 2017 です。こちらもよかったら是非。 今回は普段から僕らが利用しているエレベータとエレーベータのアルゴリズムについて調べてみました。 ポルトガル・リスボンの観光地でもあるサンタ・ジュスタのエレベーター。上の展望台からはリスボン市街地を一望できる。 ■ なんでエレベータ? 言うまでもなく、弊社はエレベータを設計したり製造したりしていません。← これといった大きな理由はないんですが、僕自身昔から電化製品とか電子機器とか見るとその性能よりも「

    一端のゲームエンジニアが"エレベータ"について本気出して考えてみた - KAYAC engineers' blog
    umai_bow
    umai_bow 2017/12/24
  • 【お詫びと訂正】iOS11でついにSafariからカメラにアクセスできるようになりました。(コピペで動くサンプルコード付き) - KAYAC engineers' blog

    お詫びと訂正:(2017/06/08 23:32) 記事内に掲載しているスクリーンショットが、 Apple.Incの開発者利用規約(APPLE BETA SOFTWARE PROGRAM AGREEMENT APPLE INC.)に抵触しているというご指摘をいただきました。 Apple.Incの開発者利用規約から、掲載内容を不適切と判断し、該当箇所を削除させていただきました。 Apple.Inc及び読者の皆様に深くお詫び申し上げます。 追記:(2019/02/17) Navigator.getUserMediaが非推奨となったため、MediaDevices.getUserMediaを使うように修正しました。 Navigator.getUserMedia - Web API | MDN MediaDevices.getUserMedia() - Web API | MDN ざっくり1行でま

    【お詫びと訂正】iOS11でついにSafariからカメラにアクセスできるようになりました。(コピペで動くサンプルコード付き) - KAYAC engineers' blog
    umai_bow
    umai_bow 2017/06/06
    盗撮が捗るな・・・