タグ

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

  • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog

    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

    AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC Engineers' Blog
  • AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog

    新人研修担当の長田です。 今年も新人研修の締めとして社内ISUCONを行いました。 昨年はプログラミング基礎の講師をやったのですが、 今年はその実績を買われて(?)社内ISUCONの出題を担当することになりました。 過去のISUCON準備の様子を傍から見ていた身としては、 準備を始める前から「とにかく大変そうだ・・・」というイメージを持っていました。 問題を作りこむ以上、どうしてもISUCON当日ぎりぎりまでかかってしまうのでしょう。 ぎりぎりになるのはまあ準備する人が頑張ればいいとして、 ぎりぎりになった結果競技自体の進行が危ぶまれるのは避けたい! ということで、いくつか効率化という名の妥協策をとることにしました。 効率化できるところは? 毎回新規に出題するのはしんどい! 社内ISUCONは過去2回実施していますが、 どちらも新規に高速化対象のWebアプリケーションを作成していました。

    AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog
  • Golang 製の Android 向けテストアプリ配信ツール「alphawing」を公開しました - KAYAC Engineers' Blog

    昨年の Advent Calender ぶりの登場です。@m0t0k1ch1 です。 表題の件につきまして、実は 7/31 に公開された こちらの記事 の実績一覧の一番上に載せていただいてもいたのですが、改めてこちらで報告させていただきたいと思います。 alphawing とは https://github.com/kayac/alphawing TestFlight が 2014/3/21 をもって Android のサポートを終了 してしまったので、それを代替するためのツールとして開発したのが、この alphawing です。簡単に表現すると、「Android 用の TestFlight」です。表題の通り、サーバーサイドは Golang で記述されています。 アプリケーションの詳しい起動方法などについては README をご参照ください。 アプリケーションの概要 アプリケーションにひも

    Golang 製の Android 向けテストアプリ配信ツール「alphawing」を公開しました - KAYAC Engineers' Blog
  • Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog

    いやー今年もISUCONの予選参加募集がはじまりましたね! 昨年は出題側だったので胃が痛かったですが、今年は参加側ですので大変楽しみにしております。@acidlemonです。 Docker使ってますか? さてみなさん、Docker使ってますか? 使ってる? 使ってない? ぼくは使ってませんでした。えー今どきBlue-Green Deploymentやってないの? Immutable Infrastuctureじゃないの? と言われそうですが、世の中にはいろんなしがらみとかもあってなかなか簡単にエイヤーでコンテナに移行できるわけでもないのは皆さんなんとなく感じているのではないでしょうか。 とはいえ、最近これだけ話題になっているDockerですので、そろそろ使ってみたいなぁ…ということで、まずは開発環境をDockerで上げられるようにしました。 Dockerでコンテナを作るときには2つのアプロ

    Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog
  • 今日から始める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
  • node.jsつかいました - KAYAC Engineers' Blog

    こん**は、taiyohです。 さて、先日のsugyanのエントリ「node.jsはじめました」にて 日2/25(金) 20:00から行われる、弊社のオンライン説明会もリアルタイム技術を駆使しています! 新卒採用企画 オンライン会社説明会 2012 | 面白法人カヤック ぜひ見に来てみて下さい! とありましたが、この説明会で僕はnode.jsを使ったリアルタイムシステムを担当し、説明会の盛り上げに携わっていました。 【何がリアルタイムか】 このイベントでは、講演をustreamにて配信しました。この時、閲覧者はこちらが用意したいくつかのアクションを実行することができます。この情報は自前のストリーミングサーバを経由し、同じようにページを閲覧している別の閲覧者のflashで表示されます。弊社デザイナの林(@barimi)の登場時、スゴイ数のアクションが送信され、かなりわいわいやっていた様子が

    node.jsつかいました - KAYAC Engineers' Blog
  • node.jsはじめました - KAYAC engineers' blog

    はじめまして! 技術部2年目のsugyanと申します。 初めてtech.kayac.comに投稿します! 先日自分のブログで書いた記事が思いのほか好評だったので、これについてもう少し詳しく書いてみようと思います。 node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ node.jsについて 最近話題の、サーバーサイドJavaScript「node.js」。みなさん触ってみてますか? 「Google V8 JavaScript Engineによるイベント駆動の…」と、どんなものかは知っているものの実際には触っていない、という人がまだ多いような気がします。 僕も昨年の12月くらいにようやく触ってみた という程度なのですが、意外にお手軽で簡単に使えるし面白いので、 「JavaScriptはまだニガテで ><」というヒトでも安心して始められるのでは

    t_43z
    t_43z 2011/02/25
    jsdo.itでsocket.io使えるようになったのは僕のおかげなんだからねっ!感謝しなさいよ!
  • vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog

    こりなくvimプラグインの紹介をします。北原(@soh335)です。 たかが、エディタですがプログラムを書く際には一番触っている道具です。イチローも道具は大切にすることが重要と言ってますし、メンテナンスしながら良い状態にしておきたいですね。 今回はvimプラグインの管理、プログラム書く自体には関係ないけど便利なプラグイン、実際にエディタを使っている際に便利なプラグインの紹介をします。 vimプラグインの管理 vim-pathogen http://www.vim.org/scripts/script.php?script_id=2332 vimプラグインは、windows環境はで$HOME/vimfiles/、mac等では$HOME/.vimのディレクトリの下にインストールしていきますが様々なプラグインを一つのディレクトリにいれると のようになり例えばこのプラグインが更新されたのでアップデ

    vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog
    t_43z
    t_43z 2010/10/30
  • そこそこ規模が大きくても何とかなる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
  • ブラウザ上で動作するjavascriptエディターの比較 - KAYAC engineers' blog

    衣替えしました。agoです。 最近使い始めて便利だなーと思ったので、ブラウザ上から入力されたjavascriptを実行してくれるオンラインjavascriptエディターを比較したいと思います。 jsdo.it http://jsdo.it/ 弊社運営のwonderflのJS版サイトです。 使い方 コードを書くにはまずログインする必要がありますが、認証にはOpenIDとOAuthをサポートしているため一般的なネットサービスを使用しているのであれば新規にアカウントを作成する必要はありません。 使い方は左にJS、CSShtmlを記述し、右側でプレビューします。 その他細かい機能については弊社大塚の記事をご覧ください。 jsdo.it at jstudy サンプル JSBin (JS Bin) http://jsbin.com/ シンプルなのでぱっと見である程度使い方が分かると思います。 使い方

    ブラウザ上で動作するjavascriptエディターの比較 - KAYAC engineers' blog
  • GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC Engineers' Blog

    こんにちは。typesterの陰謀によりVimmerはモテないというデマが流れておりますが、残念ながらそれがデマだということを身をもって証明できないでいるVimmerの外村です。 先日、お悩み相談の記事がホットエントリーに入ったら彼女ができるという噂が立ち、何を間違えたかホットエントリーに入ってしまったのでどうしようかと思ったのですが、プログラマたるもの問題があればプログラムで解決すべきだろうと考えました。 というわけで彼女を作ってみました。どういうものかというと、 僕だけに定期的につぶやく 僕のリプライだけに反応してリプライを返してくれる まさに僕だけのボット彼女です。今回はこれをGoogleAppEngine+JRubyで実装したので、環境をつくるところか実際に動かすところまで説明します。 1. 環境をつくる まずはGoogleAppEngineのアカウントがないと始まらないので以下か

    GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 - KAYAC Engineers' Blog
  • 「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 - KAYAC engineers' blog

    ども。自分のサイトを復旧させるのが面倒なため会社のブログにのレビューまで乗せようという魂胆の村瀬です。 週末に「入門GIT」を読んだのですがこのは git ユーザーはもちろんのことその他すべての開発者が必読のだなぁと感じたので紹介しておきます。 このです。 このは現在の git の開発者でありメンテナーである濱野氏によって書かれた git の入門です。 ただの入門にあらず しかし入門だから最初はよくあるようなチュートリアルのような記事からはじまるのだろうと思っていると最初から面らいます。 最初に書かれているのは git がどのようにデータを記録し、どのように履歴をたどれるようになっているかというまさに git 自体の基が書かれているのです。 僕個人は二年近く git を使用してきているため自分の知識の確認のような感じで読み進められましたが、初めての方はすこしむずかしいか

    「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 - KAYAC engineers' blog
    t_43z
    t_43z 2009/10/27
  • 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
  • jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog

    肩こり歴20年のagoです。 社内でもjQueryを使う人間が増えてきたので、jQueryを使う人が陥りやすい罠をいくつかあげてみたいと思います。 (私が過去にはまったり、今はまっている罠です) 1 グローバルの名前空間を使わない jQueryはwindow objectの汚染が少なくほかのライブラリとの共存が行いやすいですが、特定のサイト向けに開発する場合window objectを使用してもそれほど問題は発生しません。 しかしjQueryに慣れるとwindow objectの使用をいかに避けるかを考えるようになり、jQueryと関係ないfunctionや変数まで$.hogehogeに実装しようとしてしまいます。 これはwindow objectの代わりにjQuery objectを汚染しているだけなので、素直にwindow objectを使用したほうが普通に実装しやすいでしょう。 2

    jQuery使いが陥りやすい罠 : tech.kayac.com - KAYAC engineers' blog
    t_43z
    t_43z 2009/07/16
    あるある
  • OSDE(OpenSocial Development Environment)を使った開発環境Tips - KAYAC Engineers' Blog

    こないだ初めてバンジージャンプ飛びました。agoです。 先ごろmixiアプリが一般開発者公開されましたが、皆様開発環境どうしてるでしょうか? 私はmixiの開発環境では認識されるマイミクが少なかったり、キャッシュが効きすぎたりで開発しづらいため、OSDEで開発後mixiで確認という手順を取っています。 そこで今回はOSDEで開発する際に役に立ちそうなTipsをいくつかご紹介したいと思います。 1 requestNavigateToで独自パラメータが上書きされない OpenSocial-Japanでも紹介されているのですが、現在OSDEにはrequestNavigateToで独自パラメータが上書きされないというバグがあります。 (2009/04/28現在 OSDE 0.2.5で確認) 次のバージョンでは修正されているとのことなのですが、以下のようなコードでも回避可能なので若干強引ではあります

    OSDE(OpenSocial Development Environment)を使った開発環境Tips - KAYAC Engineers' Blog
  • jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog

    DAHONのBoardwalkを修理しようとしておもいっきり壊してしまいました。agoです。 普段はjQueryをメインで使用しているのですが、使っていていくつか注意すべき点があったのでまとめてみました。 (一部jQueryではなく、DOMの仕様上の制限も含まれています) 1 $().filterにstring以外のものを渡すとエラー 1.4系では修正されていました $().findや$().notは大丈夫ですが、$().filterの場合引数にjQuery objectや配列、html elementなどを渡すとエラーになります。 (たとえばjQuery objectを渡した場合、Firefoxでは「TypeError: t.substring is not a function」というエラーが発生します) 確認する ちなみに、$().findや$().notはstring以外も渡せるた

    jQueryを使うときに気をつけるべき8のポイント : tech.kayac.com - KAYAC engineers' blog
  • jQuery.opensocial_simple Pluginを作成しました。 - KAYAC Engineers' Blog

    昨日OpenSocial Hackathonに参加させていただきました。agoです。 Hackathonは終わってしまいましたが、jQueryからOpenSocialを簡単に扱うためのPluginを作成したので、jQuery.opensocial_simpleとして公開したいと思います。 opensocial、gadgetsのすべての機能を実装したわけではないですが、owner、viewerの情報取得、外部サイトへの接続はかなり簡単に実装できるようになったと思います。 使い方はjQuery読み込み後、jquery.opensocial_simple.jsを読み込み、$.opensocial_simpleからmethodを呼び出すだけ。 MySpaceアプリの場合以下の形で使用できます。 <script type=" text/javascript"http://api.msappspace

    jQuery.opensocial_simple Pluginを作成しました。 - KAYAC Engineers' Blog
    t_43z
    t_43z 2008/12/22
    jQueryからOpenSocialを簡単に扱うためのPlugin
  • 1