2013/09/06 Ruby&RailsBizCon - BOSS-CON JAPAN にて http://www.boss-con.jp/rails/Ruby-RailsBizCon/
※ 2013/8/30 TravisCl自動テスト機能追加のため、installの記述を一部修正しました。 そんな訳で、Clipssと言うツールを作ってみましたので紹介です。 GitHub Clipss Clipss とは テキストのコピペ共有するためのツールです。 zsh tmux Emacs vim ではyank killなどにフックしてます。 Emacsなどtmuxで複数画面、多重プロセス起動していても、buffer共有します。 MacOSX windowsなどではクリップボードを監視してます。 複数PC間でも共有OKです。 Ruby使って一部の同期部分を動かしてます。 複数PC間はhttpで通信してます。 例、こんな使い方ができます。 Emacsの画面で、 hello worldと入力. 行頭に移動して C-k (kill-line)とする。 別 PC (windows)に移動して
データーコンバーターGitHubで公開です。 GitHub Publifyは、Ruby on Railsのフレームワークを使ったBlog Engineでちょっと前まで「Typo」の名称でした。 当ブログで現在本格的にMovableTyepから移行予定です。 それで、データ移行のためMTからデータ変換しようと思いましたが MT用がありません(T_T)。グーグル先生沈黙してた・・ WordPressはPluginで見つけんですが・・・ まぁそんなわけで、コンバーターを作ったんでGitHubで公開してみました。 仕組みはPluginのソースコード参考に(パクって)ActiveReacodを使って MTのDBからPublifyのDBにデータ変換しています。 おかげで、MTとPublifyのDB構造結構把握できました、掛かった時間はプライスレス・・・・・。 そして、作ってる最中「Typo」から「Pu
Note: This documentation is for the current version of Capistrano (3.x). If you are looking for Capistrano 2.x documentation, you can find it in this archive. Contents Features Gotchas Quick start Finding help and documentation How to contribute License Features There are many ways to automate deployments, from simple rsync bash scripts to complex containerized toolchains. Capistrano sits somewher
インフラストラクチャー部の成田です。 先日開催された RubyKaigi 2013 で、 "High Performance Rails" というタイトルの発表をしてきました。 スライドと動画 発表の様子は ustream の録画をご覧ください。 [ustream id=33559705 hwaccel=1 version=3 width=480 height=302] スライドは以下にアップロードしてあります。 High Performance Rails (long edition) // Speaker Deck なお、発表時間の都合上、当日はここから 40 枚ほどのスライドを削除してしまいました。発表に使った短いバージョンのスライドはこちらです。 発表の概要 クックパッドは 2008 年から Ruby on Rails を採用し、ずっと使い続けてきました。サービスが成長するとともに
Rubyのフレームワークsinatraの紹介です。 Railが有名すぎますが、sinatraも使い勝手が良い感じです。 本家 Shinatra 本家 ドキュメント 自分が使ってみて下記2点が非常に便利と思いました。 最小のコード記述でMVCが使える 最初はhttpサーバーの設定など特に考えなくていよい と、言うわけで早速使い方。 基本動作させるまで、1分もかかりません。スゴイ!! install cmd gem install sinatra ソース app.rb require 'sinatra' get '/' do "Hello world " end 動かしてみる コマンドでプログラム起動 cmd ruby app.rb #終了はCtrl-Cで ブラウザーでアクセス URL http://localhost:4567 表示 Hello world 以上がsinatraの基本的な動か
ruby標準モジュールのERBの使い方紹介です。 MVCのViewの実装がERBを使えばさくっとできるようになります。 # ERBの記法 <%= code %> codeを実行して、結果を埋め込む <% code %> codeを実行するだけ、結果は埋め込まない %code 行頭に%を <%# comments %> コメント %% codeを実行しない場合の行頭% # trim_mode 空白や改行を消す。 ERB.new の第3引数のこと # trim_mode='-' <%- 行頭の空白文字削除 -%> 行末の改行を出力しない # trim_mode='%' 行頭%で始まる行は、改行を出力しない # trim_mode <> ruby require 'erb' str = '晴天' contents = <<EOS 今日の天気は<%= str %>なり。 ループの開始 <% (1.
Rubyのmarkdownパーサー「Redcarpet」の紹介です。 GitHub内部で使われているので実績あるそうです。 とりあえず手っ取り早く動かしてみました。 本家 GitHub Redcarpet インストール cmd gem install redcarpet サンプル ruby # -*- coding: utf-8 -*- require 'redcarpet' markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML) source= ' # 見出し1 ## 見出し2 * リスト1 * リスト2 このサイトは[mukaer.com](http://mukaer.com)です。 ' puts markdown.render(source) result <h1>見出し1</h1> <h2>見出し2</h2> <ul>
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com Ruby関連の目次ページです。 blog記事でとりあげた内容を随時更新&整理していきます。 設定編 Rubyのrvmやgemってなんだ?て調べたらrbenvが出てきたの巻 最新Rubyを使いたいけど「動かない」の心配をしている人へ|rbenv。・・・Rubyのインストール 手っ取り早くWEB開発環境を用意する。WEBrick利用 ~これからにRubyに乗り換えする人へ~編 入門1、基本構文まとめ 入門2、条件分岐、ループ構文まとめ 入門3、オブジェクト指向構文まとめ 入門4-1、文字列の扱いまとめPart1 入門4-2、文字列の扱いまとめPart2 入門5、正規表現まとめ フレームワーク Rubyの入門や書き捨てアプリを作る場合は s
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # -*- coding: utf-8 -*- # 10進数 # 1234 #=> 1234 1234 #=> 1234 -1234 #=> -1234 0d1234 #=> 1234 1_234 #=> 1234 # 大きな数字区切りなど _ をつける # 浮動小数点 # 1.1 #=> 1.1 1_234.1 #=> 1234.1 1.234e4 #=> 12340.0 # 16進数 # 0xff #=> 255 0xFF #=> 255 # 8進数 # p 07 #=> 7 p 010 #=> 8 p 0o7 #=> 7 # 2進数 # 0b11 #=>3 0b1111_1111_1111_1111 #=> 65535 # 整数
Enumerableは繰り返し処理を簡単にするもの、配列、HASH等 繰り返しを行なうクラスのための Mix-in #各要素に対しての処理 map ブロックの結果を返す all? ture false チェック、全ての要素の条件を満たす場合 any? ture false チェック、1つの要素の条件を満たす場合 reverse_each eachの逆順 each_with_index 繰り返し indexをつける each_cons 引数個区切り、重複あり each_slice 引数個区切り、重複なし cycle 引数回繰り返し # パターンマッチする grep # 合計の計算 inject 合計 Ruby1.8.7 reduce 別名 # 要素の取得 min max minmax min_by block評価で判定 max_by block評価で判定 minmax_by block評価で
# hash作成 {:one=> 1, :two =>2} # 要素の取得 h[:one] #設定 取得 default デフォルト値設定 freeze 破壊methodから守る # ループ each key valueでループ each_key keyでループ each_value valueでループ # データの存在チェック key? value? # 削除 delete delete_if block評価で削除 reject 削除対象がなければnil # keyとvalueの入れ替え invert # key valueの一覧 keys valuse to_a # hash結合 merge # -*- coding: utf-8 -*- # hash作成 # {:one => 1, :two => 2, :three => 3} # ruby 1.9 から : で書ける {one:
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # 配列作成 [,] %w[a b] %w[#{a} b] # 要素の取り出し [x] first last max min index 引数と同じ 最初のindexを返す rindex 引数と同じ 最後のindexを返す values_at 複数引数indexの要素を返す # 要素の数を取得 length size # 配列結合 concat # 繰り返し * # 配列の抜き出し [a..b] index範囲 [a...b] index範囲 bは含まない ... [a,b] indexからb個抜き出し take(x) index最初からx個抜き出し drop(x) index最初からx個除外 # 要素の追加 push 配列の最後に追
# -*- coding: utf-8 -*- require 'nokogiri' # HTMLページのロード ############################ # # 文字列の場合 html ="<html>...</html>" doc = Nokogiri::HTML(html) # fileの場合 File.open("test.html") do |f| doc = Nokogiri::HTML(f) end # webページの場合 open-uri利用 require 'open-uri' doc = Nokogiri::HTML(open('http://mukaer.com')) # xml doc = Nokogiri::XML(open('http://mukaer.com/atom.xml')) # 要素の検索 #######################
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # -*- coding: utf-8 -*- require 'cgi' html = "<script> hoge </script><b>fuga</b><font color='red'>clorred</font>" #HTML エスケープ p CGI.escapeHTML(html) #=> "<script> hoge </script><b>fuga</b><font color='red'>clorred</font>" # HTMLエスケープで対象タグを指定する p CGI.escapeElement(html,"script") #=> "&
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # -*- coding: utf-8 -*- #csvを扱うのに必要 require 'csv' str = "a,b,c,d\r\n" str = "e,f,g,h\r\n" str = "j,k,l,m\r\n" #CSVを解析し配列変換する p CSV.parse(str) #=> [["a", "b", "c", "d"], ["e", "f", "g", "h"], ["j", "k", "l", "m"]] #配列をCSVに変換 p CSV.generate_line ["a","b","c","d"] #=> "a,b,c,d\n" #CSVファイルを作成 CSV.open("test.csv","w") do |cs
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # strftime options %A: 曜日の名称(Sunday, Monday ... ) %a: 曜日の省略名(Sun, Mon ... ) %B: 月の名称(January, February ... ) %b: 月の省略名(Jan, Feb ... ) %C: 世紀 (2009年であれば 20) %c: 日付と時刻 %D: 日付 (%m/%d/%y) %d: 日(01-31) %e: 日。一桁の場合、半角空白で埋める ( 1..31) %F: %Y-%m-%d と同等 (ISO 8601の日付フォーマット) %H: 24時間制の時(00-23) %h: %b と同等 %I: 12時間制の時(01-12) %j: 年中の通
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています mukaer.com # open options r read only w write only a append only r read write w read write a read write append b binary mode 例 a b # File method read 読み込み全体 readlines 読み込み 行 foreach 読み込み 行 each_byte 読み込み 1byte gets 読み込み行,順次ファイルポインタ移動 wirte 書き込み 引数1のみ puts 書き込み 引数をそれぞれ改行表示 putc 書き込み 1文字 << 書き込み 連結 print 書き込み 引数は複数持ち連結 printf 書き込み 書
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く