Any languages R, Ruby, Haskel...各言語への簡単なAPIを書くだけでどんな言語にもコンパイル出来ます.
Rubyのメソッド引数は、デフォルト値がセットできたり、可変長引数にできたり、キーワード引数を渡せたり、多彩なわけですが。今日、tcoというターミナル出力に色を付けるライブラリのソースを眺めていたら、面白い引数の使い方に出会って。ちょっとこれ問題にしてみようかと。もしかしたら常識かもしれません。 ─ 問題1 ─ 配列を取り最初の3つの要素だけを返すメソッドfirst_threeを定義しなさい。具体的には、以下の挙動になる。 first_three 1 # => [1, nil, nil] first_three [1] # => [1, nil, nil] first_three [1, 2] # => [1, 2, nil] first_three [1, 2, 3, 4, 5] # => [1, 2, 3]
I'm looking for new job; so yesterday I went through my old Rails projects, trying to describe them for my updated CV. I found interesting old project where I wrote recommendation system. Nothing fancy, just simple tag based recommendation for blog articles. I decided to extract some of the code and blog about it. Algorithm used for recommendation is based on Jaccard Index and is also known as the
Rubyでプログラム書くにあたって、bundlerを使わないプログラムは1年ぐらい経つと動かなくなってる事が多々あって、bundlerマジ重要なのと ぐぐってもあまりbundlerの利点や説明がまとまってる記事がなかったので 研究室のwikiに書いた記事を転載しておく。 Bundlerとは Bundler: The best way to manage a Ruby application's gems プロジェクト内で使うRubygemsを管理するしくみ。 プロジェクトの一番上のディレクトリに「Gemfile」というテキストファイルを置き、その中にgemの名前(と必要あればバージョンも)書く。 % bundle install というコマンドで、gemが一括インストールできる プログラム内で require 'bundler' Bundler.require と書くと、gemが一括req
Getting Started A simple Thor class exposes an executable with a number of subcommands, like git or bundler. In a Thor class, public methods become commands. class MyCLI < Thor desc "hello NAME", "say hello to NAME" def hello(name) puts "Hello #{name}" end end You can start the CLI with a call to MyCLI.start(ARGV). Typically, you would do this in an executable in the bin directory of your gem. If
関連 crontabでRVMのRubyを使う crontabの頭で環境変数PATHに ~/.rbenv/shims を入れておけばおk うちではこんなふうになっている SHELL=/usr/local/bin/zsh HOME=/Users/sho PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/$HOME/bin:$PATH PATH=$HOME/.rbenv/shims:$PATH ## この下にcrontabが書かれている ちゃんと切り替えれているか確認 ruby -vでバージョンがでるので、 * * * * * ruby -v > $HOME/ruby_version と書いておけばホームディレクトリにruby_versionというファイルが毎分書き出される これがrbenvでglobal設定したrubyになっているか
mail gemを使う https://github.com/mikel/mail ファイルの添付も、ローカルのファイル名指定するだけで簡単そうだった。 インストール gem install mail 送ってみる require 'mail' mail = Mail.new do from 'from@example.com' to 'to@example.com' subject 'こんにちは' body '本文です' end mail.delivery_method 'sendmail' puts mail mail.deliver! ローカルのsendmailを使うのでsmtpサーバーの指定はいらない。 Macは最初から入ってる。Ubuntuなどではaptで入れればいい。
Nginx Proxied to Unicorn¶ ↑ Nginx and Unicorn combine to provide a very powerful setup for deploying your Sinatra applications. This guide will show you how to effectively setup this combination for deployment. Installation¶ ↑ First thing you will need to do is get nginx installed on your system. This should be handled by your operating systems package manager. For more information on installing n
Herokuの公式ドキュメントは英語なので読みづらいですよね。herokaijp/devcenterのように、有志が日本語訳してくれているドキュメントもありますが、その中でも特に抑えておきたい16個の常識について挙げてみました。(16日に公開する予定の記事なので、何となく16個挙げてみました。。) (補足)Herokuを使う上での登場人物の名前 Dyno 「だいの」と呼びます。1Dynoと言ったとき、一つサーバが立ち上がっているようなものだと考えて下さい。 Routing Mesh Herokuアプリにアクセスがあったときに、Dyno間の負荷をロードバランスしながらリクエストを振り分ける機構をRouting Meshと呼びます。たまに「Router Error」というログを吐くのですが、そのとき障害が起こっている場所はここです。 常識1. Dynoは1時間アクセスがないとアイドル状態になる
2013年04月24日13:26 NoSQL Ruby Redisでランキング機能を実装してみる Redis を触ってると楽しくてニヤニヤしてしまう今日この頃です、こんにちは。 読み書きのパフォーマンス的には memcached とよく似てる感じかなーと思いますが、データが消えない(永続化)、さまざまなデータ型を持っていて用途によって使い分けられる、データ操作がアトミック、など、Redis には魅力的な特徴があります。 今回は Redis を使ってちょっとしたランキング機能を実装してみる話でも書いてみます。 Redisの環境準備 まずは Redis をインストールします。Mac だったら homebrew を使うと良いでしょう。 $ brew update $ brew install redis Redis の起動自体は非常に簡単で、このコマンドを実行するだけです。 redis-serv
If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org Please use the reportbug tool to report bugs in the nginx package with Debian. However, check existing bug reports before reporting a new bug. Thank you for using nginx.
「Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def
3 Tips on Improving Sleep Quality for Mothers Working in Software Development Working as a software developer is a highly demanding career, and since more and more people are entering the job market as developers and programmers, it has become more important for new parents to find a balance between work and family life. Software developers may need to spend a minimum of 40 hours a week in front o
awesome_print をご存知だろうか JSONとかを標準出力にcoolに表示してくれるライブラリだ。 michaeldv/awesome_print · GitHub irbとかpryとかrailsとかで使えるようになっている。 これはこれで便利なんだけど そもそもJSONの中身を見たいときって外部サービスとの連携だったりするんですよね。で、そういうのって一旦ファイルに落としたのを確認したかったりするのですね*1。 そういうのを見る時、awesome_printで見ると配列として扱われているかとか、Rubyの世界でどのようなオブジェクトになってるかも確認できて良いんだけども、いかんせんirbで開いてファイルをopenして……ってのも面倒なので、コマンドで実行できるようにしました。実際は単なるラッパーですね。 ap_command インストール % gem install ap_co
「sinatraすげー」って今さら思い、sinatraで何か作ってみようかねーと思い、当然テストのことが気になりました。 そもそも「テスト出来るの?実はrailsと比べて大変じゃないの???」って感じのアホな不安でした。(1週間前までsinatraのことと言えば名前しかしらなかったので。。)テストについてはちゃんと公式ページで解説されています。rspecも使えます。capybaraも使えます。他のテストフレームワークも使えるようです。 参考ページは Testing Sinatra with Rack::Test です。ここの内容を理解していきます。 サンプルコード テスト対象のコード。いつものhello world。 require 'sinatra' get '/' do "Hello World #{params[:name]}".strip end テストコード require '.
(追記:2012-12-25) 本記事およびこれに続くRackの記事(全4本)をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「エラーメッセージから学ぶRack」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 詳細は以下を参照して下さい。 電子書籍「エラーメッセージから学ぶRack」EPUB版をGumroadから出版しました! 購入ご検討のほどよろしくお願いしますm(__)m Rac
備忘録兼、初心者向けのメソッド一覧。 余裕があればRails編とかも書こうかな。 これ忘れてるとか何事?とかいう突っ込みがあれば是非お願いします。 もうちょっとコードの具体例書きたかったけど、めんどくさくなってきたw Array Array#combination(n), Array#permutation(n) 配列のデータを元に組み合わせ(順列)を作ってくれます。 ブロックを渡さない場合はEnumeratorで組み合わせの各要素を列挙します。 Enumerator Enumerator#with_index(offset = 0) Enumeratorの各要素に合わせてindexを列挙してくれるEnumeratorを返す。 each_sliceやcombination等にメソッドチェインで繋げて使う。 Enumerator#with_object(obj) with_indexと同様で
(追記:2012-12-13) 本記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、文体の変更、誤記の修正およびメディア向けの調整を行っています。 電子書籍「irbから学ぶRubyの並列処理 ~ forkからWebSocketまで」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 購入ご検討のほどよろしくお願いしますm(__)m 関連記事: 電子書籍「irbから学ぶRubyの並列処理 ~ forkからWebSocketまで」EPUB版をGumroad
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く