[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

2013年12月5日のブックマーク (21件)

  • speed_gun で Rails のパフォーマンスを測定する - 鳩舎

    Web アプリケーションのパフォーマンスにうるさいみなさんこんにちは。 Rails アプリのパフォーマンスプロファイリングだと、 rack-mini-profiler が有名で、それ以外だと New Relic とかを使って測定していくのが普通のようですが、物足りない部分があったので、自前でプロファイラ gem を作りました。 Rubygems: http://rubygems.org/gems/speed_gun / Github: https://github.com/rosylilly/speed_gun 詳細は Github の README なんかを見ていただくとして、基的には rack-mini-profiler 的な情報収集が出来ると思ってもらって差し支えないです。 ちなみに計測画面はこんな感じ。 大きなスクリーンショットはこちら 小さくて何も見えないかも……とりあえず3セ

    speed_gun で Rails のパフォーマンスを測定する - 鳩舎
  • Autodoc - r7kamura blog

    闇Advent Calendar 1日目の記事として、最近の開発における心の闇に触れます。 最近開発した Autodoc というツールについて簡単に説明した後、 この手のツールの開発にあたって考えていた、 創作活動の在り方や、社会の斥力、25歳定年説などについて触れようと思います。 Autodocとは Rack applicationで実装されたAPIに対して、RSpecで書かれたテストを元にAPIドキュメントを生成するもの。 テストを実行すると、テスト中に発行したリクエストやレスポンス、そのテストに付けられたメッセージを元に、 良い感じに情報をまとめ、Markdown形式でAPIドキュメントを記したファイルを生成してくれる。 例えばGitHubではMarkdownファイルを適当に描画してくれるので、 下図のようにGitHub上で簡単にドキュメントを閲覧出来るようになる。 テストの書き方

    Autodoc - r7kamura blog
    hamaco
    hamaco 2013/12/05
  • devinterface 404

    Torna alla home, o se preferisci vai al nostro blog. Se invece vuoi riferirci il problema contattaci subito.

    devinterface 404
    hamaco
    hamaco 2013/12/05
    [rails[gem]
  • MySQL::Sandboxのこと、時々でいいから思い出してあげてください #mysqlcasual - まいんだーのはてなブログ

    はじめに かじゅある! この記事はMySQL Casual Advent Calendar 2013 2日目の記事です。 カジュアル詐欺とかガチュアルとかいわれのない誹謗中傷を受けることの多いMySQL Casualですが、私はカジュアルな記事を書きます。 みんなも Casual に記事を書けばええんやでヽ(´ー`)ノ 石狩DC記事の方もよろしくお願いします。 MySQLはもはや説明不要のRDBMSかと思いますが、"使える"ようになるためには情報収集もさることながお試し環境をカジュアルに作れるようにすることが重要です。 ということで、まだMySQL Casual Advent Calendarではネタに上がってないMySQL::Sandboxをカジュアルに紹介します。 MySQL::Sandbox はその名の通り手元にきれいかつ閉じた MySQL の検証環境を作れます。 複数台構成も簡単に

    MySQL::Sandboxのこと、時々でいいから思い出してあげてください #mysqlcasual - まいんだーのはてなブログ
    hamaco
    hamaco 2013/12/05
  • InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる

    この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - walf443's blogの記事にTwitterで少し言及したんですが、それの補足というか、InnoDBのロックの範囲について僕はこう理解していますよという話です。 MySQLといえば、InnoDBをネットワークサーバとして使うためのフレームワークであり、SQLはInnoDBのインデックスにアクセスするためのDSLといっても過言ではないでしょう。 InnoDBのロックとはつまるところインデックス行のロックなので、InnoDBのロックの範囲を理解するためにInnoDBのインデックスについて少し前置きしておきます(だいぶ端折ったけど長くなった…)。 クラスタインデックスとセカンダリインデックス すでにInnoDBのイン

    InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる
    hamaco
    hamaco 2013/12/05
  • #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
    hamaco
    hamaco 2013/12/05
  • #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
    hamaco
    hamaco 2013/12/05
  • ナチュラルキーとサロゲートキーについての議論

    とあるブログエントリで「ナチュラルキーを主キーにしてはいけない」という主張を見かけたのでこれに反論しておく。これはリレーショナルモデル的には明らかに間違った考えだからだ。 リレーショナルモデルにあるのはナチュラルキーだけリレーショナルモデルには「サロゲートキー(代理キー)」という概念はない。まずこの点に注意して頂きたい。サロゲートキーとは、データベースアプリケーション開発において実用上必要とされる機能であって、質的には不要のものである。リレーショナルモデルでは、いわゆるナチュラルキーというものがあれば機能的には十分だからだ。 そのためにはまず「キー」という概念が何を指し示すかということについて正しく理解しなければならない。リレーショナルモデルではキーと呼ばれるものは候補キーとスーパーキーという2つの概念だけである。「タプル(≒行)の値を一意に決定することができる属性(≒カラム)の集合」の

    ナチュラルキーとサロゲートキーについての議論
    hamaco
    hamaco 2013/12/05
  • Next Mobile WebApplication

    このスライドは 2013-11-30 に開催された HTML5 Conference 2013 で 地下鉄・サクサク・これからのWebゲームアプリが備えるべき8つの機能 としてお話したものです

    Next Mobile WebApplication
    hamaco
    hamaco 2013/12/05
  • 今夜つける HTTPレスポンスヘッダー (セキュリティ編) - うさぎ文学日記

    Webサーバーがレスポンスを発行する際に、HTTPレスポンスヘッダーに付けるとセキュリティレベルの向上につながるヘッダーフィールドを紹介します。 囲み内は推奨する設定の一例です。ブラウザによっては対応していないヘッダーフィールドやオプションなどもありますので、クライアントの環境によっては機能しないこともあります。 X-Frame-Options ブラウザが frame または iframe で指定したフレーム内にページを表示することを制御するためのヘッダーフィールドです。主にクリックジャッキングという攻撃を防ぐために用いられます。 X-Frame-Options: SAMEORIGIN DENY フレーム内にページを表示することを禁止(同じサイト内であっても禁止です) SAMEORIGIN 自分自身と生成元が同じフレームの場合にページを表示することを許可(他のサイトに禁止したい場合は主にこ

    今夜つける HTTPレスポンスヘッダー (セキュリティ編) - うさぎ文学日記
  • Immutable InfrastructureとChefと冪等性の話 - プログラマでありたい

    最近話題になっているImmutable Infrastructure(イミュータブル・インフラストラクチャ/サーバ)。あんまりよく解っていないので、整理してみました。 Immutable Infrastructureとは? そもそもImmutable Infrastructureとは、何でしょう?極論すると、「稼働中のサーバの構成管理をやめて、サーバを使い捨てにしよう」という考え方です。これだけ言われても、さっぱり解らないと思います。 まずは従来の考え方。Mutable Infrastructureというのか、既存のサーバに変更を加えていくことが前提になります。 それに対して、Immutable Infrastructure。直訳すると変化しないインフラとなります。どういうことかと言うと、サーバ構成(ミドル・アプリ)を変更したい場合は新規にサーバを立ちあげ、そこに既存の機能と新規の機能を加

    Immutable InfrastructureとChefと冪等性の話 - プログラマでありたい
    hamaco
    hamaco 2013/12/05
  • Composerを使った簡単Travis CI設定 - FLOG SPLASH

    これは PHP Advent Calendar 2013 - Qiita [キータ] の5日目の記事です。 みなさんこんにちは。fivestarことクロコスの小川です。 Composerを使うと簡単に依存ライブラリを管理することが可能です。Composer とはなんぞや、という方は下記の記事あたりに目を通してみてください。 Composerを活用したモダンな開発手法をPHPカンファレンス2013で発表してきた。 #phpcon2013 | Engine Yard Blog JP Composerでは例えば次のようにcomposer.jsonファイルを書くことで依存ライブラリを指定できます。この例だとFacebookのPHP SDKが使えるようになります。 { "require": { "facebook/php-sdk": "dev-master" } } Composerとオートロード

    Composerを使った簡単Travis CI設定 - FLOG SPLASH
  • aptitude検索パターンの紹介 - @znz blog

    Debian や Ubuntu のパッケージのインストールなどで コマンドライン操作では apt-get や aptitude を使いますが、 ここでは apt-get では出来ない aptitude の便利な使い方を紹介します。 この投稿は ディストリビューション/パッケージマネージャー Advent Calendar 2013 の4日目の記事です。 残ってしまった設定ファイルの削除 deb パッケージのアンインストールは remove と purge の二種類があって、 purge すれば設定ファイルまで消えるのですが、 remove だと設定ファイルは残ってしまいます。 普段は apt-get purge hoge や aptitude purge hoge で削除していたとしても、 依存関係で自動インストールされたものが 自動削除される時は remove になってしまって 設定ファ

    hamaco
    hamaco 2013/12/05
  • 開発ワークフローを、いつどう変えるか | GREE Engineering

    こんにちは、岡崎 @watermintです。 このエントリは GREE Advent Calendar 2013の記事です。この記事は5日目の記事です。 今日はGREE Tech Talk #04 スマートフォン時代のソフトウエアテストが弊社セミナールームで行われます。岡崎は「Jenkinsによるテスト自動化の会社への導入」というパネルディスカッションに参加させていただきます。パネルディスカッションの内容がどうなるかは会場の皆様からのご質問などによって変わっていくと思いますが、今日の記事では開発ワークフローについての考えを紹介します。 開発プロセスをなぜ変えるのか 開発プロセスを変えようとするモチベーションはいくつかあると思います。組織規模、ビジネスモデルなどによって多少諸条件は違うとしても大まかには次のような目標を達成することがモチベーションになるでしょう。 開発メンバーが変わっても対応

    開発ワークフローを、いつどう変えるか | GREE Engineering
    hamaco
    hamaco 2013/12/05
  • TIME_WAIT状態のTCPコネクションを早く終了させるべくKernelをリビルド - 元RX-7乗りの適当な日々

    以前、一度やったはずなのですが、すっかり忘れてしまっていて、結局調べることになったので、今回はここに作業ログを残しておきます。 TIME_WAITコネクションの増殖 一般的にネットワークアクセス数が極端に多いサーバでは、TIME_WAIT状態のコネクションが残留しがちです。 TIME_WAITの滞留時間が、Linuxデフォだと60秒になっているため、下記のエントリにも書きましたが、60秒の間に数十万レベルのリクエストが来るとあっという間にコネクションテーブルが埋まっていってしまうわけです。 で、別にTIME_WAITコネクションが多くなってしまうこと自体は、完全な悪というわけでもなく、 "net.ipv4.tcp_max_tw_buckets" あたりでキャップもできるし、それなりに制御して付き合っていけばいいわけですが、ローカルのTCPポートを使い切るようなケースだと、使えるローカルポー

    TIME_WAIT状態のTCPコネクションを早く終了させるべくKernelをリビルド - 元RX-7乗りの適当な日々
    hamaco
    hamaco 2013/12/05
  • ペーパープロトタイピング入門 – 第2回 ペーパープロトタイピングに使う道具 | fladdict

    ペーパープロトタイピング講座シリーズ。第2回は準備編。前回はこちら。プロトタイピングを始めるにあたって必要なものを列挙する。 必須ツール 紙 まず紙は大量に必要。A4コピー紙や大型のポストイットが一般的。スマホアプリの場合は、弊社が専用に開発したペーパープロトタイプ用ノートが便利。実寸で検証できるように心がけよう。 シャーペン 下書き用ペン。消しやすい芯がよい。個人的にはステッドラーを愛用。 サインペン 清書用のペン。チーム共有やテスト時に読みやすくするために使う。細い、普通、太いの3種類のペンがあるとよい。個人的には0.05mm、0.3mm、1.0mmの3を使っている。オススメはピグマかコピックマルチライナー。 マーカー 清書用ツール。タップエリアや、注目させたいコンポーネントを面で見せる為に使う。最低限2色。薄いグレーと濃いグレーがあるとよい。可能ならばアプリとタップ色や警告色なども

    ペーパープロトタイピング入門 – 第2回 ペーパープロトタイピングに使う道具 | fladdict
  • ペーパープロトタイピング入門 – 第1回 どうして紙でプロトを作るのか | fladdict

    ペーパープロトタイピング講座シリーズ。第1回は導入編。 第1回はの導入編。ペーパー・プロトタイピングとは何なのか、何故必要なのか。そして導入することで、どんな利点があるのかを説明する。 ペーパー・プロトタイピングって何? ペーパー・プロトタイピングとは、紙で実際にアプリやサイトを「実装する」ことである。 通常の開発においてコンテンツが使いやすいかどうかは、開発が終盤になるまでわからない。このため「作ってはみたが使いにくい」や「いまさら後戻りできない」という問題が発生する。UIや手触りが重要なモバイル系のアプリにおいて、これは致命的な問題になる。ペーパープロトタイピングはこの問題を低コストで解決する。 紙とペンで動作モックを作成することで、実装を行う前に、素早く手戻なく検証を行うことができる。これにより、仕様書策定や実装前にPDCAのサイクルを実現できる。作業負荷の高い実装を行う前に軽く

    ペーパープロトタイピング入門 – 第1回 どうして紙でプロトを作るのか | fladdict
  • UNSIGNED の不思議な挙動 #mysqlcasual - do_aki's log

    かじゅある! この記事は、MySQL Casual Advent Calendar 2013 4日目です。 3日目を数秒差で @kamipo さんに取られてしまい*1、ネタかぶったらどうしようとドキドキしていましたが、そのようなことはなくこれでようやく安眠できそうです。 MySQL では、UNSIGNED が使える UNSIGNED は、標準SQL にはないデータ型属性です。*2 通常の INT が -2147483648 から 2147483647 の範囲を表すのに対し、 INT UNSIGNED で定義したカラムは 0 から 4294967295 の範囲となります。 今回は、この UNSIGNED に関する奇妙な挙動のお話。 なお、検証に利用したバージョンは 5.1.69 です。 すでに 5.6 が GA となっている現在からするとやや古いバージョンではありますが、REHL 6.5 で

    UNSIGNED の不思議な挙動 #mysqlcasual - do_aki's log
    hamaco
    hamaco 2013/12/05
  • クックパッドに転職して丸2年が経った

    mirakui's garbage This is an archived post This is an archived post 新卒で入った前職はちょうど2年で辞めたので、社会人生活の半分をすでにクックパッドで過ごしたことになる。 最初はサービス開発エンジニアとして三ヶ月くらいやってたんだけど、その時はあまり自分の立ち位置をうまく作れてなかったと思う。学生の頃からサービスを作る真似事みたいなのはやってきていたけど、いざ現場に入ってみると物のサービスを作れる人たちってのは僕と全然違う。単に技術力ではなく、粘り強さとか、発想の柔軟さとか、そういう人間としての性能が高い。サービスづくりではこの人たちには勝てないと思った。 しかしそういう才能のある人たちがガンガン開発を進めていくといろんな問題が起こることに気づいた。例えばテストをちゃんと書くこと。正しいコードを書くこと。脆弱性に気をつけ

    hamaco
    hamaco 2013/12/05
  • 不安をテストにするということ #tddadventjp - bluebird

    このエントリーは、TDD Advent Calendar 2013の参加エントリーです。 前日のエントリーは、moonmileさんによるTDD - ノーマルにMSTestを使おう - Qiita [キータ]でした。 テスト駆動開発(TDD)でよく語られるキーワードに「不安をテストにする」という言葉があります。 これは、どういうことでしょうか。 ケントベックの「テスト駆動開発入門」は、このように述べています。 テスト駆動開発は、プログラム中の不安を管理する方法である。ここで言う不安とは悪い意味ではない。...(略)...道理にかなった不安、すなわち「これは困難な問題だから最初から最後までは分からない」という感覚である。 (「テスト駆動開発入門」まえがきから) 即ち、プログラマがキーボードを打つことを阻害する、「プロダクションコードをどのように書けばいいのかわからない」という不安を、失敗するテ

    不安をテストにするということ #tddadventjp - bluebird
    hamaco
    hamaco 2013/12/05
  • PHP Simple HTML DOM Parserを使ったWebスクレイピング入門 - Qiita

    さて、みなさん、Webページをスクレイピングとき、どんなライブラリを使っていますか? 以前に、遊びでスクレイピングサイトを作ろうと思った時に、「そういえばPHPスクレイピングするときってどうやるんだろう?」と思って、色々と調べた結果、下のライブラリを使っていました。 PHP Simple HTML DOM Parser 基的な使い方は上を見て貰えればわかりますが、ちょっとしたポイントをいくつか解説させて頂ければと思います。 PHP Advent Calenderからタイトル一覧とURLを取得する 例として、PHP Advent Calenderからタイトル一覧を取得してみましょう。 require_once("simple_html_dom.php"); $php_advent_calender_uri = "http://qiita.com/advent-calendar/2013/

    PHP Simple HTML DOM Parserを使ったWebスクレイピング入門 - Qiita