タグ

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

  • CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC Engineers' Blog

    SREチームの藤原です。 今回は Amazon CloudFront Functions をテストするためのOSSとして、cfft というものを書いたので紹介します。 github.com 3行でまとめ CloudFront Functionsのテストは手元ではできなくて面倒です CloudFront Functionsをテストする cfft というOSSを書きました KeyValueStoreの操作を含め、便利な使い方がいろいろありますのでどうぞご利用下さい CloudFront Functionsをテストするのが面倒という問題 CloudFront Functions (以下CFF) は、AWSが提供するCDNであるAmazon CloudFrontのエッジノード上でリクエストやレスポンスの操作が行える、JavaScriptの実行環境です。典型的なユースケースとしては、キャッシュキーの

    CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC Engineers' Blog
    efcl
    efcl 2024/02/27
    CloudFront FUnctionsのテスト
  • 俺の管理画面 2023年冬 - KAYAC Engineers' Blog

    面白法人カヤック技術部の谷脇です。私は元気です。 この記事は面白法人グループ Advent Calendar 2023の5日目のエントリーです。 というわけでこの記事では、現環境(私が取り組んでいる業務のこと)ベストの管理画面の技術選択について考えたことを書き連ねていきます。 前提知識 管理画面の定義 ここで読者と私の目線を合わせるため、この記事上での管理画面の定義をしておきます。 管理画面はサービスの運営上必要な操作やデータの閲覧をまとめたWebアプリケーションです。また、このWebアプリケーションは一般ユーザーには開放されておらず、サービス運営者側のみ閲覧と操作が可能となっている、とします。 管理画面を作る動機 ここではTonamelの管理画面について、考えて導入したことを書きます。 tonamel.com Tonamelはゲーム大会やイベントを開催するためのプラットフォームです。We

    俺の管理画面 2023年冬 - KAYAC Engineers' Blog
    efcl
    efcl 2023/12/06
    Go + htmxとAlpine.jsの組み合わせ
  • 規程文書を Google ドキュメント から GitHub に移行する - KAYAC Engineers' Blog

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

    規程文書を Google ドキュメント から GitHub に移行する - KAYAC Engineers' Blog
    efcl
    efcl 2022/12/19
    GitHubのProtected Branchでの文書管理
  • 秘密情報には出どころも書いてくれ!頼む! - KAYAC Engineers' Blog

    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

    秘密情報には出どころも書いてくれ!頼む! - KAYAC Engineers' Blog
    efcl
    efcl 2022/12/11
    revokeするときに困るので、descriptionに出自を書くという話
  • #11 AlfredのWorkflowをgoで書くと捗る話 - KAYAC engineers' blog

    tech.kayac.com Advent Calendar 2014 11日目です。 今年の夏にカヤックはGo言語を積極的に推進していきます 宣言が出た影響で今年のAdvent Calenderはgoの話題多めとなっております。 去年辺りから周囲がにわかにgoづいてきた時に「仕事で使うようになったら勉強する(キリッ」 って言ってたらほんとに仕事で使うようになって現在勉強中の @handlenameがお送りします。 多分にもれずgo関連のはなしです。 Alfred便利 AlfredというMac用のアプリケーションがあります。 検索して候補を絞り込んで対応するアクションを実行する、というのが主な機能で、 Webで検索したり他のアプリを起動したりが素早く行えます。 基的な機能は無料で使えるのですが、 有料のPowerpackを購入すると Workflowという拡張機能が追加ができるようになり

    #11 AlfredのWorkflowをgoで書くと捗る話 - KAYAC engineers' blog
    efcl
    efcl 2014/12/11
    alfred workflowのフレームワークはOS X内蔵しか対象にしてないので、golangかswiftで書くのがよさそう。
  • #9 nodeのコンソールは便利なjsonビューア - KAYAC Engineers' Blog

    クリスマスシーズンということでAdvent Calenderのシーズンですね。 唐突ですが、この時期カップルよりも「リア充爆発しろ」ってネガティブワードの方が、たとえそれが記号的に使われてたとしても、嫌やなーって思ってしまう@9reです。 お前のリアルは彼女つくることしかないんか。つまらんなぁって思いますし、やっぱり、 俺こないだこんなパッチ送ってん!とか、この技術凄いやろ!みたいな充実もあると思うねん(`・ω・´)! さて、変な前置きになりましたが、このエントリは tech.kayac.com Advent Calendar 2012 9日目の記事です(12/9 35時公開)。 テーマは「私の中のマイイノベーション 2012」 nodeのコンソールは便利なjsonビューア nodejsも普及したし、元々軽量なフォーマットっていうことでJSONのAPI結構多いですよね。 自分は普段Andr

    #9 nodeのコンソールは便利なjsonビューア - KAYAC Engineers' Blog
    efcl
    efcl 2012/12/13
    node console
  • #8 「iOSのバージョン間の溝を埋めるテクニック」 tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog

    こんにちは、iOSプログラマーの_ishkawaです。 このエントリは tech.kayac.com Advent Calendar 2012 8日目の記事です。 テーマは「私の中のマイイノベーション 2012」です。 12月。恋人たちが心の溝を埋めていく中、僕はiOSバージョンの溝を埋めております。 今日はそのテクニックを紹介したいと思います。 それと、紹介するテクニックを使ったマイイノベーションも紹介します。 基中の基 iOSでは、バージョンによってクラス/メソッドの有無やプロトコルへの適合状況が異なります。 これらの状況の違いは以下の方法で判別することができます。 メソッドが存在するかどうか: respondsToSelector: クラスが存在するかどうか: [Class class] プロトコルに適合しているか: conformsToProtocol: これらの条件を以下のよ

    #8 「iOSのバージョン間の溝を埋めるテクニック」 tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog
    efcl
    efcl 2012/12/09
    Method Swizzlingで互換性を維持したAPIを定義する ISRefreshControlの引っ張って更新をiOS5に持ってくる
  • jQueryのCSSセレクタAPIを高速に扱う方法 - KAYAC Engineers' Blog

    最近Androidとの抗争が激化しているago(@kyo_ago)です。 jQueryはCSSセレクタを多用する特徴がありますが、jQuery内では実行ブラウザやCSSセレクタの記述によって呼び出されるブラウザAPIが変わり、それによって実行速度にも影響が出ます。 この記事では「セレクタAPIとはなにか」、「CSSセレクタの記述によって呼び出されるセレクタAPIの種類」、「高速なセレクタAPIを使用するための方法」、「高速なセレクタAPIが使われるかどうか確認する方法」などを紹介したいと思います。 (※この記事はJavaScript Advent Calendar 2011 (フレームワークコース) : ATNDの1日目の記事です) セレクタAPIとはなにか セレクタAPIとは「#hoge .huga」のようなCSSセレクタから、DOM上に存在する要素を取得するためのAPIです。 jQue

    jQueryのCSSセレクタAPIを高速に扱う方法 - KAYAC Engineers' Blog
    efcl
    efcl 2011/12/02
    jQueryのCSSセレクタ解釈について
  • SWF on iPhone!「FlashForward」 - KAYAC engineers' blog

    Chrome文エリアをスクロールするとエラーになるそうです。ごめんなさい! こんにちは!1年間自転車通勤を続けた結果、健康診断で「おっ!」と言われて大満足のaragaです! SWFをiPhone上のSafariで動かすプロジェクト「FlashForward」をgithubで公開しました。 プロジェクト名 FlashForward ライセンス MIT FlashForwardとはなにか? まずは、社内勉強会で発表した資料をご覧ください。 非常に操作性が悪くてすいません。が、実はこの資料はおそらく世界初の試みで作られています。 なんとSWF,SVG,Canvasの3種類のフォーマットで見る事が出来ます。 SWF SVG Canvas ※ Safari推奨 これらはFlashForwardを使ってFlashLite1.1で作ったSWFのスライドを変換しました。 このほかのサンプルはギャラリ

    efcl
    efcl 2011/07/08
    FlashLite1.1をJavaScriptで描画する ライブラリ。 http://blog.livedoor.jp/techblog/archives/65480645.html
  • 今日から始めるCoffeeScript - KAYAC Engineers' Blog

    こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック

    今日から始めるCoffeeScript - KAYAC Engineers' Blog
    efcl
    efcl 2011/03/10
    入門、使い方
  • jQuery.stopのjumpToEnd引数が便利すぎてやばい(JavaScript Advent Calendar 2010 5日目) - KAYAC engineers' blog

    JavaScript Advent Calendar 20105日目のago(@kyo_ago)です。 jQueryのソースを眺めててjQuery.stopに引数があることに気づいたので調べてみました。 まず、簡単なスライドダウンメニューを作ってみたいと思います。 jQuery.stop 1 - jsdo.it - share JavaScript, HTML5 and CSS JS部分は以下の通りです。 $(function () { $('div').hover(function () { $(this).find('ul').slideDown(); }, function () { $(this).find('ul').slideUp(); }); }); 少し触ると分かると思いますが、マウスがmenuから外れた後も何度も.slideDown、.slideUpが実行されるため非常に

    jQuery.stopのjumpToEnd引数が便利すぎてやばい(JavaScript Advent Calendar 2010 5日目) - KAYAC engineers' blog
    efcl
    efcl 2010/12/05
    ユーザー操作によるアニメーションを制御するためにstopを使う
  • NILScriptでZenCoding出来る環境を開発しました - KAYAC Engineers' Blog

    日は花火大会なので夕方から和装になる予定のago(@kyo_ago)です。 先週土曜日にブラウザー勉強会へ参加させていただき、「NILScriptでどこでもZenCoding」というLTをさせていただいたので資料を公開したいと思います。 NILScriptでどこでもZenCoding NILScriptとは NILScriptで公開されている、JavaScriptベースのスクリプト実行環境です。 個人的には「JavaScriptで書ける高機能なAutoHotkey」と言う印象を持っています。 実際、DOMが無い以外は普通のJSと同じように書けるので、OSに関連する部分以外であればほぼブラウザ上と同じ感覚で実装できます。 ZenCodingとは zen-codingで公開されている、css selectorからhtml等へ展開するためのライブラリです。 具体的には以下のような記述から… d

    NILScriptでZenCoding出来る環境を開発しました - KAYAC Engineers' Blog
    efcl
    efcl 2010/07/21
    NILScriptでZenCoding
  • jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog

    来週は私が夏休みなので更新はない予定です。agoです。 最近、人にjQueryを解説する機会があったので、昔を思い出してjQueryを使い始めた頃に感じる疑問を書いてみたいと思います。 1 そもそも何で使うの?いまでも困ってないよ 作成する内容にもよりますが、慣れると使用しない場合に比べて記述するコード量が3分の1程度まで減ります。 また、変数、条件分岐、繰り返しが減るのでバグが発生しにくくなります。 2 何か特殊なことができる? 結局できることは変わりません。 jQuery自体JSで書かれてますし、記述の自由度もJSの制約に制限されます。 3 何が難しいの? 文法がややjQuery的になります。 参考 jQuery言語入門 jQuery自体のコード量は少ないのですが、独特の記述法が多く慣れるまで多少時間がかかるかもしれません。 また、CSS Selectorの知識はほぼ必須です。 特にマ

    jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog
    efcl
    efcl 2010/07/10
    jQueryとは何
  • そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog

    弁当生活始めました。agoです。 以前のjavascriptの開発はサーバサイドと同じPGが開発することが多く、機能をファイル単位で分割してそのページで必要なファイルのみを読み込むと言うことが行われていました。 ただ、最近はサーバサイドとクライアントサイドの分業が進んだことや表示速度の兼ね合いもあり、単一ファイルに全体を記述しサーバサイドでは全ページでその一ファイルのみを読み込むような形になることが多いです。 単一ファイルの利点としてはサーバサイドの実装に依存せずに任意の機能を追加できることがありますが、欠点として機能毎の切り分けが難しくなると言う点があります。 jQueryを使用して$('.selector')で切り出す方法もありますが、マークアップの全体像を正確に把握できていないと不要なページで間違って実行されてしまう危険性もあります。 そこで、以下のようなJSを先に読み込み、各URL

    そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog
    efcl
    efcl 2010/06/27
    URLごとに行う動作を書いていくことで、ある程度の規模に耐えうるJavaScriptを書いていく。
  • javascript test framework Sweets.jsを作成しました - KAYAC Engineers' Blog

    最近ミクシイアプリ作ってます。(むだづかい告白帳、マイミクイズ) agoです。 このたびjavascript test framework Sweets.jsを作成したのでご紹介したいと思います。 Documents Download JSのtest frameworkはすでに各種ありますが、以下の点を満たすものがなかったので自作しました。 無名関数のテスト callback関数のテスト エラー発生時の行番号取得 以下の形でテストを記述できます。 /*###=> var func = __CODE__ $_$(func(1) === 1); $_$(func(2) === 4); $_$(func(2) === 5); // -> console.warnに行番号を出力 */ var result = (function (arg) { return arg * arg; })(1); 内

    javascript test framework Sweets.jsを作成しました - KAYAC Engineers' Blog
    efcl
    efcl 2009/10/21
    Javascriptのtest framework 無名関数のテスト
  • jQueryを読むために知っておきたい6つの知識 : tech.kayac.com - KAYAC engineers' blog

    夏休みはタイ古式マッサージセミナーに参加してきました。agoです。 先週日曜日若手IT勉強会に参加させていただき、jQueryのコードリーディングを行ってきました。 そこでjQueryのコードを読むときの基礎知識に関して簡単にまとめてみたいと思います。 1 変数の複数同時宣言と代入 まず、JSでは変数の宣言は以下のような形式で行います。 var hoge; この場合は単一の変数の宣言ですが、以下のような記述を行うと複数の変数を同時に宣言することが可能です。 var hoge, huga; また、変数宣言と同時に値の代入を行うことも可能で、その場合以下のような記述になります。 var hoge = 'test'; さらに複数の変数宣言と、値の代入は同時に行うことが可能で、その場合以下のような記述になります。 var hoge = 'test1', huga = 'test2'; jQuery

    jQueryを読むために知っておきたい6つの知識 : tech.kayac.com - KAYAC engineers' blog
    efcl
    efcl 2009/09/16
    jQueryを読む時の注意点
  • jQuery.jsとprototype.jsのロジックの組み方に関して - KAYAC Engineers' Blog

    会社から駅まで2分を切れるようになりました。agoです。 先日社内で行った勉強会の資料を公開したいと思います。 Prototyperに贈るjQuerystからの手紙 内容は以下の通りです。 Prototype.jsとjQueryの差異 jQueryの考え方 よりよいjQueryの使い方 カヤックでは勉強会に参加経験の豊富な技術者を募集しています! (2009-05-14 肝心の資料のURLが間違っていました。申し訳ありません)

    jQuery.jsとprototype.jsのロジックの組み方に関して - KAYAC Engineers' Blog
    efcl
    efcl 2009/05/15
    jQueryってどんな感じ
  • 1