clear-code / sezemi-2015

2015年のSEゼミ関連のデータを置くリポジトリー
Other
14 stars 9 forks source link

OSS Hack Weekend: totzyuta: tw: Ruby: 作業ログ #66

Closed totzyuta closed 9 years ago

totzyuta commented 9 years ago

https://github.com/shokai/tw

作業ログは、参加者が、このイベントを通して得るものをより増やすために重要になります。なぜなら作業ログがメンターからのフィードバックをより充実させるからです。

作業ログを元にメンターと「ふりかえり」をするタイミングがあります。「ふりかえり」では次のことをします。

メンターは次のようなフィードバックをします。これは、参加者とは違う視点から参加者の行動を観察することおよびメンターの経験があるからできることです。(「ふりかえり」の前にこんなフィードバックをよろしくお願いします!とお願いすると効果が高まるので実践してみましょう。)

このように、参加者の作業をメンター視点で一緒に整理し、参加者の今後の行動に活かす活動がここでいう「ふりかえり」です。そのため、「参加者にとって」ログに残すべきかどうか、という視点ではなく、「とりあえずログに残す」という視点でログを残してください。これは、参加者が重要だと判断しなくてもメンターの視点から見たら大事なこともあるからです。

ログに残すときは次のようなときです。

ログに残すことは次のことです。「備考」以外は作業の邪魔にならないように一言でよいです。備考は作業に役立つので必要な分だけ書いてください。

ログはコメントとして追記していってください。テンプレートは次の通りです。

* 作業(ここにやること、やっていること、やったことを書く)
* 思っていること:(今どう思っているかを書く)

備考:(必要なら必要なだけ書く。必要ないなら書かなくてもよい。)

例1(備考なし):

* 作業:インストールを始めた
* 思っていること:ドキュメント通りに進めれば大丈夫だろう

例2:

* 作業:インストールが失敗した
* 思っていること:ドキュメントに手順が足りない?

備考:エラーメッセージは次の通り

```text
XXX is not found

必要なファイルが足りないのかなぁ。

totzyuta commented 9 years ago
totzyuta commented 9 years ago

ひとまずテストを動かしてみることにしました。

Rakefileのテストの部分はこんな感じでした。

# Rakefile
...
# SPECS ===============================================================

task :test do
  ENV['LANG'] = 'C'
  ENV.delete 'LC_CTYPE'
end

Rake::TestTask.new(:test) do |t|
  t.test_files = FileList['test/*_test.rb']
  t.ruby_opts = ['-rubygems'] if defined? Gem
  t.ruby_opts << '-I.'
  t.warning = true
end

Rake::TestTask.new(:"test:core") do |t|
  core_tests = %w[base delegator encoding extensions filter
     helpers mapped_error middleware radius rdoc
     readme request response result route_added_hook
     routing server settings sinatra static templates]
  t.test_files = core_tests.map {|n| "test/#{n}_test.rb"}
  t.ruby_opts = ["-rubygems"] if defined? Gem
  t.ruby_opts << "-I."
  t.warning = true
end
...
$ rake test

以下のようなエラーが延々と続いたあと...

/Users/totz/workspace/sinatra/test/helper.rb:2: warning: setting Encoding.default_external
/Users/totz/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/therubyracer-0.12.2/v8/init.bundle: warning: method redefined; discarding old IntegerValue
/Users/totz/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/therubyracer-0.12.2/lib/v8/error.rb:43: warning: assigned but unused variable - trace_framework
/Users/totz/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/therubyracer-0.12.2/lib/v8/error.rb:69: warning: `*' interpreted as argument prefix
.
.
.

.......................................................................................................................

Finished in 13.425510s, 78.9542 runs/s, 173.9226 assertions/s.

1060 runs, 2335 assertions, 0 failures, 0 errors, 0 skips

結局テストは通ってるみたいでした。

SinatraのREADMEを見てもRubyのversionのrequirementはないみたいなので、これどうなのかなという感じです...。

こわい :bomb:

totzyuta commented 9 years ago

Sinatraのissueでもっぽいのが過去にopenされていて、最初にencodingのerrorが起こってるっぽいけど、こっちはfailしている。僕のとこでは通ってるのでまぁいいっちゃいいのだけど...。bundle execつけてもだめなので、rubyのversionを2.0.0-p247で試してみることに。

$ rbenv install 2.0.0-p247
$ rbenv local 2.0.0-p247
$ bundle install
$ bundle exec rake test 2> testlog_200p247.txt

やはり同じようなエラーが出てしまった。

/Users/totz/workspace/sinatra/test/helper.rb:2: warning: setting Encoding.default_external
/Users/totz/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/therubyracer-0.12.2/v8/init.bundle: warning: method redefined; discarding old IntegerValue

うーん、まだなんか自分の環境のせいな感じはぬぐえない。

VagrantでCentOS64の環境を構築してそこでテストしてみる。

するとメッセージは以下のようなものが。

WARNINGでてるみたいだけど、gem (tilt) の関係だし、通ってるみたいだ。

no such file to load -- asciidoctor: skipping asciidoc tests
no such file to load -- builder: skipping builder tests
no such file to load -- coffee-script: skipping coffee tests
no such file to load -- creole: skipping creole tests
no such file to load -- erubis: skipping erubis tests
no such file to load -- haml: skipping haml tests
thin is not installed, skipping integration tests
puma is not installed, skipping integration tests
reel is not installed, skipping integration tests
HTTP is not installed, skipping integration tests
no such file to load -- less: skipping less tests
no such file to load -- liquid: skipping liquid tests
no such file to load -- markaby: skipping markaby tests
/usr/lib/ruby/gems/1.8/gems/tilt-2.0.1/lib/tilt/redcarpet.rb:2:in `require': no such file to load -- redcarpet: skipping markdown tests with Tilt::RedcarpetTemplate
/usr/lib/ruby/gems/1.8/gems/tilt-2.0.1/lib/tilt/rdiscount.rb:2:in `require': no such file to load -- rdiscount: skipping markdown tests with Tilt::RDiscountTemplate
/usr/lib/ruby/gems/1.8/gems/tilt-2.0.1/lib/tilt/kramdown.rb:2:in `require': no such file to load -- kramdown: skipping markdown tests with Tilt::KramdownTemplate
/usr/lib/ruby/gems/1.8/gems/tilt-2.0.1/lib/tilt/maruku.rb:2:in `require': no such file to load -- maruku: skipping markdown tests with Tilt::MarukuTemplate
/usr/lib/ruby/gems/1.8/gems/tilt-2.0.1/lib/tilt/bluecloth.rb:2:in `require': no such file to load -- bluecloth: skipping markdown tests with Tilt::BlueClothTemplate
no such file to load -- wikicloth: skipping mediawiki tests
no such file to load -- nokogiri: skipping nokogiri tests
no such file to load -- rabl: skipping rabl tests
no such file to load -- radius: skipping radius tests
no such file to load -- rdoc: skipping rdoc tests
no such file to load -- sass: skipping sass tests
no such file to load -- sass: skipping scss tests
no such file to load -- slim: skipping slim tests
no such file to load -- stylus: skipping stylus tests
no such file to load -- redcloth: skipping textile tests
no such file to load -- wlang: skipping wlang tests
no such file to load -- yajl: skipping yajl tests
WARN: tilt autoloading 'tilt/string' in a non thread-safe way; explicit require 'tilt/string' suggested.
totzyuta commented 9 years ago

ここからの方針

totzyuta commented 9 years ago

Mac OS XだとなんかいろいろWARNINGとかがたくさんでるので、Vagrantで環境を構築...

$ cat /etc/redhat-release
CentOS release 6.4 (Final)
$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
totzyuta commented 9 years ago

なんのPR出そうか迷っていて、昨日Issueなどを眺めていたのだけど自分が貢献できそうなこと、やりたいことを見つけられなかったので、対象OSSの変更を検討中...。

普段使っているCUI向けTwitterクライアントのtwというgemで、解決したいことがあるのでそこを修正してPRすることを今日の目標にしたいと思ってます :ant:

totzyuta commented 9 years ago
totzyuta commented 9 years ago

まずPRのコメントのドラフトをここに日本語 + 英語で書きます。ちゃんと英語でも意図を伝えられるように確認。

totzyuta commented 9 years ago

PRドラフト


ツイートの確認のときに/^y/とエンターだけacceptする

現在はツイートの確認のときに/^n/以外の入力でも全てツイートできるようになっていますが、誤って他のキーなどを押したときもツイートされると困る場面があると考えたので、/^y/が入力されたときにツイートするように変更しました。また気軽さを維持するためにEnterキーを押す(空文字の入力)でもツイートできるようにしていますが、何かご意見ありましたらお願いいたします。


Accept only /^y/ and enter when to tweet

Currently it updates a tweet by the any character except for /^n/.

I think it's a slightly trouble to tweet automatically even when an user made a typo. It seems better to update only by the STDIN /^y/ or typing the enter key.

If you have any idea, please let me know :smile:

totzyuta commented 9 years ago

テスト書きたかったのですが、もう少し大きな修正が必要そうなので、後でその変更もしたいと考えていると伝えてテストなしのPRを送ろうと思っってます。

上記のPRドラフトを変更

totzyuta commented 9 years ago

PR出しました :smile: