Atomコードリーディングメモ
script/build
起動したらsrc/window-bootstrap.coffeeが起動時間のログを出してるので、そいつをgrepすると/src/broweser/atom-application.coffee が引っかかる。
src/broweser/atom-application.coffee は、 src/browser/main.coffee に呼ばれている
// | |
// Goroutines.swift | |
// TestGoer | |
// | |
// Created by Doug Marcey on 6/11/14. | |
// Copyright (c) 2014 Doug Marcey. All rights reserved. | |
// | |
import Foundation |
RSpec::Matchers.define :have_mysql_entry do |entry| | |
match do |subject| | |
if subject.class.name == 'Serverspec::Type::File' | |
@content = subject.content | |
if @value | |
!! @content.lines.find {|line| line =~ /^\s*#{entry}\s*=\s*#{@value}\s*$/ } | |
else | |
!! @content.lines.find {|line| line =~ /^\s*#{entry}\s?=/ } | |
end | |
else |
全部RSSで取れるならpipesでいいんじゃないかなーと思う
twitterが確かoauth2経由じゃないと取れなくなるようなアナウンスあった気がする
http://pipes.yahoo.com/pipes/pipe.info?_id=7c8541e1d76c4a3b6244e6dee55c1ed2
Enumerable#each_with_object が嫌いだ。
もちろん動作自体は非常に有益だと思っているので、名前が嫌いなんだなーという結論になってしまうんだけど。
名前が長いというのはまぁそうなんだけど、その事自体は大した問題じゃない。
動作と名前が一致しているなら、後から良い短い名前が見つかった時aliasつければ別に困らない。
このメソッドが嫌いなのは、eachから始まっているところだ。
他のeach[_foo]系はブロック付の時にself返すのに、これだけ引数を返す。
これは類推できない、なので嫌だ。
代案の一つとして、こういうのはどうか
class Class | |
def new_type(&block) | |
new_class = self.dup | |
new_class.class_eval(&block) if block_given? | |
new_class | |
end | |
end | |
CArray = Array.new_type do | |
def example |
このチュートリアルでは Storm トポロジーの作り方とそれを Storm クラスタにデプロイする方法を学べます。Java を主な言語として使いますが、Storm が多言語対応であることを示すためにいくつかの例は Python を使います。
このチュートリアルでは storm-starter にある例を使います。このプロジェクトを clone し、例にそって追うことをおすすめします。Read [[Setting up development environment]] and [[Creating a new Storm project]] to get your machine set up.
Storm クラスターはぱっと見 Hadoop クラスターに似ています。Hadoop では「MapReduce ジョブ」を走らせるのに対して、Storm では「トポロジー」を走らせます。「ジョブ」と「トポロジ」は大いに異なります。1つの鍵となる違いは MapReduce ジョブがいつかは終わることに対して、トポロジーは永遠にメッセージを処理し続けます(終了しない限り)。
task :zip do | |
csv_path = Rails.root.join("config", "KEN_ALL.csv").to_s | |
unless File.exist?(csv_path) | |
abort "config/KEN_ALL.csv not exists." | |
end | |
puts "=> Loading KEN_ALL.csv" | |
a = File.read(csv_path).encode("UTF-8", "CP932").split(/\r?\n/) |