タグ

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

  • #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2014 22日目です。 こんにちは。Rubyを書いている @yumiyon です。 今回は、Railsプロジェクトで「○○がしたい!」と思った際に、自分がよく利用するGemを機能ごとに分けて10個ほどご紹介します。日頃からRailsで開発を行なっている方は既知のものばかりかもしれませんが、Railsを始めたばかりの方や、自分のための備忘録として。 目次 Gemとは 1、画像をアップロードしたい(CarrierWave) 2、管理画面を作成したい(ActiveAdmin) 3、環境毎に定数を管理したい(rails_config) 4、crontabを管理したい(Whenever) 5、スプレッドシートにアクセス(google_drive) 6、ページャーを実装したい(kaminari) 7、非同期処理を使いたい:ジョ

    #22 普段からRailsプロジェクトで使っている10個の便利Gem - KAYAC engineers' blog
    d4-1977
    d4-1977 2014/12/25
    スプレッドシートにアクセス(google_drive)というのがあるのを知らなかった!
  • #5 新しい日報システムを考えた話 - KAYAC engineers' blog

    はじめに 皆様どうも。普段クライアントワークでアプリ開発をしている@ryusukefudaことデニールです。 突然ですが、日報書いてますか?毎日書くのは結構大変ですよね... ということでアドベントカレンダー5日目は新しい日報を考えて実装した話です。 やりたいこと 日報の趣旨はいろいろありますが、"何をしてたか" と "心身共に元気か" が見る人に分かればいいんじゃないでしょうか。 ということでこの2点に絞りました。 ちょっと考えた結果、 何をしてたか → 定期的にPCのスクリーンショットを撮る 心身共に元気か → 定期的にPCのウェブカメラで顔を撮る となりました。(仕事仲間なら顔をみれば何でも分かるはずです。) つまり、1日に何回か画面のスクショとその時の顔を取ってそれを日報として見てもらえば"何をしてたか"と"心身共に元気か" が分かるというものです! 実装 Macのウェブカメラをコ

    #5 新しい日報システムを考えた話 - KAYAC engineers' blog
  • #5 「今年お世話になったgem その2」 tech.kayac.com Advent Calendar 2013 - KAYAC engineers' blog

    こんにちは、@hilotter です。 このエントリーはtech.kayac.com Advent Calendar 2013の5日目のエントリーです。 昨日の「#4 今年お世話になったgemその1」にもありましたが、弊社クライアントワーク事業部ではバックエンドにRailsを用いる案件が多くあります。 日のエントリーでは昨日に続きまして、今年1年間クライアントワークプロジェクトでお世話になったgem残り5選の紹介とそれらの簡単なtipsをご紹介したいと思います! 今回ご紹介するgem settingslogic : 定数を一元管理できます omniauth : 外部サービス認証を手軽に組み込めます resque : ジョブキュー処理を手軽に実現できます tire : 全文検索エンジンelasticsearchにrubyからアクセスできるようになります active_admin : サクッ

    #5 「今年お世話になったgem その2」 tech.kayac.com Advent Calendar 2013 - KAYAC engineers' blog
  • #4 今年お世話になったgemその1 KAYAC Advent Calendar 2013 - KAYAC engineers' blog

    こんにちは、@Konboi です! このエントリーはtech.kayac.com Advent Calendar 2013の4日目のエントリーです。 今日のエントリーでは今年1年間、クライアントワークのプロジェクトでお世話になったgem10選の紹介とそれらの簡単なtipsを、 自分と明日担当の@hilotterの2人で2回に分けて紹介したいと思います! ( カヤックはPerlの会社として知られていますが、クライアントワーク事業部ではRailsを使用したプロジェクトも数多くあります!) それでは、早速いってみましょう! carrierwave まず1つ目に紹介するのは、ファイルアップローダの決定版 carrierwaveです。 carrierwaveは下記のように設定をしておけば画像のアップロード時に s,m,l のサイズをまとめて生成してくれます! 呼び出す側では、 .url.(:s),

    #4 今年お世話になったgemその1 KAYAC Advent Calendar 2013 - KAYAC engineers' blog
  • #22 Githubでのめんどくさい事をなくす - KAYAC engineers' blog

    このエントリーはtech.kayac.com Advent Calendar 2013の22日目のエントリーです。 こんにちは、サンタさんには給料三倍をお願いしました@hisaichi5518です。 Github使ってますか? そうですね、使ってますね。最高です。 カヤックも最近のサービスは、Githubを使って開発しています。最高です。 当然、イシューやプルリクを使って開発しているのですが、 ブラウザでイシューの新規作成画面を開くためにポチポチするのがめんどくさかったり、 ブラウザで現在のブランチのイシューを開くためにポチポチするのがめんどくさかったり、 イシューをプルリクに変えたりするのも、わざわざイシューを指定したりするのがめんどくさかったり、 イシュー番号からブランチを移動するのがめんどくさかったり、 とにかくめんどくさすぎると思ったので、そういうのを改善するスクリプトをちゃちゃっ

    #22 Githubでのめんどくさい事をなくす - KAYAC engineers' blog
  • SEO対策 | エンジニアでも知っておくべき7つのチェックリスト | tech.kayac.com - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2013 23日目の記事です。 こんにちは!最近rubyを書かせていただいております@yumiyonです。 技術の話が続きましたので、今日は変わってSEO(Search Engine Optimization)の話をしたいと思います。 創ったサービスは、なるべくそのサービスに関連するクラスタの方々に知って使ってほしい . . . ! と思うのは世の常です。 というわけで、わたしが普段Webサービスを創るときにチェックしている「最低限」気にするべきSEOのチェックリストをご紹介いたします。(2013年12月現在時点での内部施策) 目次 検索エンジン向けのXMLサイトマップを作成する パンくずリストを作成する 狙いたいキーワードに沿った適切なページタイトルを設定する 1ページ1テーマを徹底する サイトの表示速度は最大限に

    SEO対策 | エンジニアでも知っておくべき7つのチェックリスト | tech.kayac.com - KAYAC engineers' blog
    d4-1977
    d4-1977 2013/12/23
    基本の「き」ですけれど、大切
  • #12 チームでgitを使い始めてよかった! - KAYAC engineers' blog

    こんばんわ、1年ぶりの投稿になります。せい(@shin1rosei)です。 キライな言葉は「面白法人なんだから面白いことしろよ」と言われることです。 自分は真面目一で生きてきて大して面白い人間ではないので辛くなります。 このエントリはtech.kayac.com Advent Calendar 2012 12日目の記事になります. テーマは「私の中のマイイノベーション2012」ということで、 今年を色々振り返ってみってみて、かなり地味な内容になりますが、一番効果が高かったなーと感じる「チームでgitを使い始めたこと」をお話したいと思います。 使い始めるまで 今まで自分が関わっていたプロジェクトは(小学生と言われるの覚悟で)subersionを使うのが一般的で、 gitの恩恵にあやかりたいプログラマは"git-svn"を使っていました。 ただ、次のような問題点がありました。 project

    d4-1977
    d4-1977 2012/12/13
    得るものは大きいかあ...
  • ウェブ系エンジニアのブラウザ三種の神器! - KAYAC engineers' blog

    777ブログウェイ最終日! みなさんお久しぶりです。 今年からソーシャルゲーム事業部で英雄になりたい!DELTAの開発にジョインした春菜です。 この記事は面白法人カヤックの七夕イベント「777」に向けたリレーブログです。 テーマは「つくるための三種の神器」です。 ウェブ系エンジニアのブラウザ三種の神器! ウェブ開発に携わっている人もそうでない人も ブラウザを利用している時間ってかなりの割り合いなんじゃないでしょうか? ということで、今回はブラウザしばりで三種の神器のご紹介をしたいと思います。 その1. Chrome 最近 iOS 版も公開された Chrome。俗称ちょろめ。 ボクは去年までは Firefox + Firebug をメインの開発ブラウザにしていたのですが、 今ではすっかりメインブラウザとして大活躍しています。 デフォルトの開発ツール(コンソールとかインスペクタ)の出来がいい

    ウェブ系エンジニアのブラウザ三種の神器! - KAYAC engineers' blog
  • Redmineチケットを作るための三種の神器 - KAYAC engineers' blog

    はじめまして。技術部の中村です。 今日はRedmineチケットを作るための三種の神器ということでお送りします。 Google検索エンジン Redmineのチケットを書く際には、調査のためにGoogleで検索することがよくあります。Chromeで検索するときによく使う小技を紹介します。 ""で括る 例えば問題を調査していてサーバのログにエラーメッセージが出ていた時、エラーメッセージでググるわけですが、そのままだと関係ない結果がいっぱいヒットしてしまう場合があります。 そんなときは""で括ってググります。特定の環境に依存する文字列が含まれる場合はそれは除去して、その前後をそれぞれ""で括ってググります。 site:で特定のサイトに限定してググる 公式情報を探すため、家のサイト内に限定してググりたい時などは、site:example.comのようにドメイン指定を追加してググります。 その他の検

    Redmineチケットを作るための三種の神器 - KAYAC engineers' blog
  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
  • 安全なバッチ処理の作り方 - KAYAC engineers' blog

    このまえ登り坂の途中でロードバイクのタイヤが破裂しました。ながたです。 今回はバッチ処理について書いてみようと思います。 バッチ処理? Webサービスの処理開始条件は、大まかに次の2つに分けることができます。 ユーザーのアクションに起因するもの ユーザーのアクションに起因しないもの このうち後者の処理をバッチ処理が担当することになります。 バッチ処理の担当分はさらに、 特定の条件(時間やサービスの状態)で実行するもの 手動で実行するもの の2つに分けられます。 今回はこの「手動で実行するもの」について書きたいと思います。 バッチを手動実行するのはどんなとき? バッチ処理を手動で実行するのは、十中八九イレギュラーな状況が発生したときです。 ルーチンワークや実行の条件が決まっているものは何らかの方法で自動化できるはずです。 そしてイレギュラーな状況のほとんどは不具合が発生したとき。 つまり 重

    安全なバッチ処理の作り方 - KAYAC engineers' blog
    d4-1977
    d4-1977 2011/10/10
    バッチって何度作っても納得出来るようにならない。やっていることが見えにく/判断しにくいからかなあ
  • 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のスライドを変換しました。 このほかのサンプルはギャラリ

  • モテるJS系女子力を磨くための4つの心得 - KAYAC engineers' blog

    1. あえてECMAScript3.0以前の実行環境を使う あえてECMAScript3.0の実行環境を使うようにしましょう。そしてATNDで好みの男がいたらLT参加を告知し、わざとらしく発表準備段階でコンソールを出していじってみましょう。そして「あ~ん! この実行環境当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「ECMAScriptとか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! Object.keysが使えないんですぅ~! ぷんぷくり~ん(怒)」と言いましょう。だいたいの男は新しい実行環境を持ちたがる習性があるので、ECMAScript5の実行環境を使っているはずです。 そこで男が「新しい実行環境にしないの?」と言ってくるはず(Object.prototypeの拡張を勧める男はその時点でガン無視OK)。

    モテるJS系女子力を磨くための4つの心得 - KAYAC engineers' blog
    d4-1977
    d4-1977 2011/05/10
    高度すぎる...
  • SVG Girlの公開と内部実装 - KAYAC engineers' blog

    乗り換え以外で初めてアメリカ行きました。ago(@kyo_ago)です。 すでに先週のこととなってしまいましたが、jsdo.it上でSVG Girlというコンテンツを発表したのでご紹介させていただきます。 (現在IE9のリリースに合わせて英語版のみ公開しています。日語版は26日の日語版IE9リリースにあわせて公開を予定しています) SVG Girlって? SVG GirlはSVGを使ったアニメーション作品で、動画コンテンツの中身をすべてSVGのみで表現しています。 先週開催されたMicrosoft主催のMIX11のキーノートでも発表され(00:08:40ぐらいからご覧いただけます)、大画面に表示されたアニメーションで会場をわかせました。 SVGって? SVGはテキストで表現されたベクターデータで、XMLで線画情報を保持しています。 ブラウザ上からは通常のDOM API経由で操作すること

    SVG Girlの公開と内部実装 - 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
  • FlashLite 動的生成の全てを教えます(その1?) - KAYAC engineers' blog

    こんにちは。 カヤック自転車部盛り上げ担当でおなじみのaragaです。 自転車好きの方は是非一緒にヤビツ峠を登りましょう 今回は、いつか公開しようと2年間暖め続けていた、携帯サービスのFlashLite動的生成についてお話しします。 携帯サービスのFlash合成技術は、スマートフォンブームの普及により、この先の寿命は長くない技術かもしれません。しかし、モバゲーやGREEのガラケーソーシャルゲームの人気により現在進行形では最も熱い分野とも言えます。 今回はPHPライブラリの公開と、動的生成でできることの紹介をさせていただきます。 もし、携帯コンテンツのFlashで技術的に諦めて困っている人がいたら、少しでも参考になれば幸いです。 その前に、全ての機能を説明する為に、今回サンプルとして使用したサービスを簡単に紹介させてください。 ポケットフレンズコンチ 愛をモチーフにした可愛いペットのきせかえ

    FlashLite 動的生成の全てを教えます(その1?) - KAYAC engineers' blog
  • instagramAPI公開!OAuth触りました - KAYAC engineers' blog

    ついに21歳になりました!itaniです。 みなさん!! つい先日、iPhoneで気軽に写真を共有できるサービス「instagram」のAPIが一般公開されましたね。 というわけで、さっそくOAuthを触ってみたので自分なりにまとめてみました。 なにができるの? instagramAPIを使えば以下のようなことが簡単にできます。 ユーザー情報を取得 ユーザーの写真を取得 写真に対してコメントやいいねを投稿する フォローしている人、フォローされている人を取得 上で挙げたものはほんの一例です。 まだ調査不足ですが、リアルタイム系のAPIも用意されています。面白そうですよね。 OAuthってなんだ!? 最近twitterやfacebookでよく聞く『OAuth認証』という言葉。 果たしてこれはなんなのか。お願いしますgoogle先生。 OAuth (オー オース) は、ブレイン・クックとクリス・

    instagramAPI公開!OAuth触りました - KAYAC engineers' blog
  • 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
    d4-1977
    d4-1977 2010/10/29
    vimのプラグインの話
  • symfonyとHyperEstraierを使って全文検索してみよう - KAYAC engineers' blog

    はじめまして。インターンのsato(@hilotter)です。 突然ですが、みなさんは「全文検索エンジン」って使ったことがありますか? 「全文検索エンジン」と聞くと「何だか難しそうだな」と思われる方もいらっしゃると思います。 僕はまさにそうでした。 そんな全文検索エンジン初心者の僕のもとに、今回、HyperEstraierという全文検索エンジンを使ってキーワード検索機能を実装する機会がありました。 色々調べてみたのですがsymfonyとHyperEstraierを使って検索を行う記事がなかったのでご紹介させていただきます。 間違い等ありましたらご指摘いただければ幸いです。 今回はサンプルとして簡単なキーワード検索機能を作ってみたいと思います。 なお、使用したシステムのバージョンは symfony1.0(ORMはPropel) HyperEstraier1.4.13 となっています。 目次

    symfonyとHyperEstraierを使って全文検索してみよう - KAYAC engineers' blog
  • そこそこ規模が大きくても何とかなる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