2013-09-01から1ヶ月間の記事一覧

nginxでBasic認証をする

nginx version: nginx/1.4.1 Linux debian 3.2.0-4-amd64 サイトにBasicかけたかったので調べた。 nginxがBasic認証時に使う認証ファイルの生成には、apacheが使っているモジュールと同じものを使う。 認証ファイルの生成はapache2-utilsというソフトウェア…

manコマンドを日本語化

Mac

ここからjmanとmanページ集をそれぞれダウンロードしてインストールするだけ。$ jman ls あとは必要ならmanをjmanに置き換えるエイリアスを設定。 http://blog.ruedap.com/2010/10/17/mac-man-jman-japanese

Nokogiriのインストールできない

$ gem install nokogiri -v '1.5.9' Fetching: nokogiri-1.5.9.gem (100%) Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /home/deployer/.rvm/rubies/ruby-2.0…

LinuxOSをセットアップする時にまず最初にやること

# aptitude purge nano The following packages will be REMOVED: nano{p} 0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 1,704 kB will be freed. Do you want to continue? [Y/…

文字数で文字の切り捨て

文字の切り捨てする時にRailsだとtruncateというヘルパーがあるのでそれでできるけどパターンによってはすごくいまいち。 helper.truncate("123456789", :length => 8) # => "12345..." helper.truncate("12345678", :length => 8) # => "12345678" truncate…

Facebookのイイネ数を取得する

WEB

APIはふたつあるみたい。 その1 リクエスト https://api.facebook.com/method/fql.query?query=SELECT total_count FROM link_stat WHERE url="http://google.com" レスポンス <fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"> <link_stat> <total_count>7158803</total_count></link_stat></fql_query_response>

クラス拡張ミックスイン

メタプグラミングRubyの221ページにクラス拡張ミックスインというイディオムについての解説があったので写経してみた。 この『クラス拡張ミックスイン』は、モジュールをincludeした時にインスタンスメソッドとクラスメソッドを両方取り込みたい時に使うもの…

GETリクエスト投げて結果を表示するWEBアプリ作ってみた

デモ https://watch-cat-demo.herokuapp.com/ 使ってる技術 Rails4 できること 一覧でサービスの状態がわかる 稼働ホストでグループピングできる なぜ作ったか 会社で運営しているサイトのステージングが多くなっていて、 生きているかの確認を手でするのが…

1人で考えてたら行き着いたRspecの書き方とか その1

rspec-core (2.13.1) ruby2.0Rspecってすごく個性でると思うので複数人で開発する時は規約を設けないとだめかも。 letメソッド使う let(:word) { FactoryGirl.create(:word) } メモ化っていうらしい。 letの引数に書いているシンボル名を試験内で呼ぶとロー…

git grepが便利

git

プロジェクトからソースコードを探す時はgit grepが手軽で便利。 gitリポジトリ内でgrepしてくれる。 $ git grep -n "TODO" app/controllers/admin/categories_controller.rb:7: # TODO もっと奇麗にかけるのでは app/controllers/admin/categories_controll…

Jpmobileで作ったスマホサイトをスマホから見た時、PCビューを表示するリンクを作る

jpmobile (4.0.0) rails (4.0.0) ruby2.0 作るもの スマホからスマホ対応サイトにアクセスした時に、『PC版を表示する』というリンクがあって、 それをクリックするとスマホからPC版を閲覧ができる機能を作ってみる。 ロジック 特定のクッキーをもっていれば…

Kernel.#openの例外処理

ruby2.0特に理由がないのでmechanizeは使わずopenを使ってスクレイピングしてます。歌丸です。 コード これは記事一覧ページの存在を確認をするためのメソッド。 private def not_found_index_page?(_error_count = 0) is_error_under_5 = ->{ _error_count …

テストの時にスタブで標準出力を黙らせる

メソッド内にインジゲータ感覚で標準出力になんらかの文字を出力しているのって結構あると思う。 でもテストを実行すると実行結果に、そのインジゲータの文字が出力されるのがすごください。 その悩み、スタブで解決。 $stdout.stub(:puts).and_return(nil) …

rspecで遅いテストを表示する

$ rake spec --profile 20上位20件が表示される。 Top 20 slowest examples (93.93 seconds, 36.6% of total time): Admin::Categories POST create 子カテゴリとして作成する時 work! 13.09 seconds ./spec/requests/admin/categories_spec.rb:127 Admin::C…

view specつらい

(ぺろぺろあんてな、スマホサイトを公開しました。)viewのテストはcapybaraで済ませていたのだけど大きな問題が発覚。 テストが遅い。 スロースペックを見てみると、request specが上位独占。裏でブラウザが起動してぽちぽちやっているのでまあ無理もないっ…

ソーシャルサービス連携ボタンに表示されている数字を取得する

ruby2.0 require 'json' require 'open-uri' p JSON.parse(open("http://urls.api.twitter.com/1/urls/count.json?url=http://d.hatena.ne.jp/jiikko").read)["count"] p open("http://api.b.st-hatena.com/entry.count?url=http://d.hatena.ne.jp/jiikko").…

controller_specでCanCan::AccessDeniedが発生しない件について

rails4.0 cancan (1.6.10) sorcery (0.8.1)ブラウザでは例外が発生するのに、 class Admin::BaseController < ApplicationController rescue_from CanCan::AccessDenied do |exception| # controller_specでなぜかとおらない render text: "権限がありません…

計算機プログラムの構造と解釈は、もう売ってない

2013年8月8日の時点で『計算機プログラムの構造と解釈』の出版社は今後技術書は扱わないっぽい。 ピアソンの技術書は書店在庫限りとの見通し。ピアソン桐原社がピアソングループ離脱で(追記あり) http://www.publickey1.jp/blog/13/post_233.htmlいつ買う…