コンピュータやソフトウェアのあれこれ@道民(&元道民)
Archive for 3月, 2011
[きのこ97][ソフトウェア開発][Planet] 73-単一責任原則
3月 3rd
日本Rubyの会の今後を考える会2011
3月 3rd
日本Rubyの会の今後を考える会2011
だいたい個人的に抱えていることは言えた気がするんだけど、他の人はどうだったんだろうか。 もっとMLとかでこまめにdumpしていかないといけないんだろうなあ。ひとつずつ。
議事録は現在準備中なので今暫くお待ちください。
第 8 回 Ruby 技術者認定試験公式ガイド輪読会まとめ
3月 3rd
第 8 回 Ruby 技術者認定試験公式ガイド輪読会まとめ
今日は http://dontstopmusic.no-ip.org/diary/20070910.html さんの問題をやりました.Silver 対象としては難しかったと思いますが,良問なので Rubyist のみなさんは一度解いてみた方がいいです.ただ,解説がないので,なぜこれが正しい/誤りなのかわからないことがありそうなのが残念ですね.あとで解説っぽいのを書きたいなぁ.
むずかしくてあんまり解けなかったので,みんなでぐったりとしながら帰りました.
カポエイラ 15 回目
3月 3rd
カポエイラ 15 回目
今日は中位のスピードでの練習をしました.しばらく遅いスピードの練習だったので新鮮ですね.遅いスピードの時に比べると
- 相手の動きも速くなるので,自分の動きの判断を速くしなければいけない
- 動きに勢いをつけることができる
が違うのかな.1は当然ですね.2は遅いスピードではできなかった,飛んだり回ったりができるようになります.逆に,下手でも勢いでやりきれてしまう部分がでてくるので,自分が"うまく"できているかを気をつけないといけないですね.
練習したのは
- メイアルーアジフレンチ
- メイアルーアジコンパッソ
- アルマーダ
- アウー
- ジンガ -> 移動方向に軽くジャンプ -> ホレー -> 足を入れ替え -> メイアルーアジコンパッソ
- 逆立ち
- ホレー -> 逆足をくるくる通す -> ホレー -> 足を入れ替え
などでした.
あと縦にするエスキーバを覚えました.名前はなんだったかな…自分がメイアルーアジコンパッソをした後,相手が攻撃してきているのが見えた場合に使うのを覚えました.
まだできないですけど,逆立ちのコツっぽいのを感じたのでメモしておきます.逆立ちする時,足のかかとの軌道のイメージは円じゃなくてL字に動かすと良さそうです.つまり,足を伸ばしたまま上に上げようとするのではなく,一度腰の方に引き付けてから一気に上方向に伸ばすという動きです.
Keep
- メイアルーアジコンパッソが安定している
- 逆立ちができそうになってきた
Problem
- アルマーダがうまくできていない
Try
- 歌を覚える
名古屋Ruby会議02に参加しました
3月 3rd
名古屋Ruby会議02に参加しました
札幌Ruby会議03にも来ていただいた、かたぎりさんやマツモトさんが 名古屋で仲間たちとどんなRuby会議を実装されているのかを一目見ておきたくて、 名古屋Ruby会議02に参加してきました。
札幌以外の土地の地域Ruby会議に参加するのは仙台ととちぎに続いて 3 ヶ所目だったのですが、 名古屋の人たちの魅力、そして名古屋という土地の良い状況が伝わってくる、とても素敵なカンファレンスでした。 あの流れの中で最後が @koic さんのあの発表だというのが、なんかこう個人的にはとても良かったなあ。
懇親会や2次会では、いろんな方とお話できて大変刺激を貰いました。 特に @suchi さんにRuby逆引きレシピを丁寧に読んでくださったことへのお礼とHamamatsu.rbのことについてとお話しできたこと、 @maeda_ さんとオブジェクト指向言語と関数型言語をめぐるいろいろについてお話できたこと、 そして @nari3 さんとコード、プログラミングについて話をできたことは、今の僕には大きかったです。ありがとうございました。
名古屋の人たちといろいろと話していて改めて気付かされたのは、僕の中での @sumim さんの存在の大きさなのでした。いつも貰ってばかりなので、いつかちゃんとお返しをできるようになりたいな。
名古屋の皆さん、素晴らしいRuby会議をどうもありがとうございました。
[きのこ97][ソフトウェア開発][Planet] 72-シンプルさは捨てることによって得られる
3月 3rd
[slim3][scenic3][Java][AppEngine] Scenic3-0.4.1 リリース
3月 2nd
[slim3][scenic3][Java][AppEngine] Scenic3-0.4.1 リリース
3月 2nd
[きのこ97][ソフトウェア開発][Planet] 71-パフォーマンスへの道は地雷コードで敷き詰められている
3月 1st
単純な数値計算で速度比較
3月 1st
数値計算といえばC/C++とかそんなイメージですが(fortranとか)
Javaだとどうなのか?というところからどっかのサイトに乗ってたアルゴリズムを使って時間を計りました.
※凄い雑なので,ループが多くて割り算があってくらいのプログラムです.
※オマケでRubyもやってみました
- プログラム
- C++
#include <cstdlib>
using namespace std;
int main(int argc, char** argv) {
double sum = 0;
for(int i=0;i<1000*1000*1000;i++){
sum+=1./(double)(i+1)/(double)(i+1);
}
return 0;
}
- Java
public class Main{ public static void main(String args[]){ double sum=0.; for(int i=0;i<1000*1000*1000;i++){ sum+=1./(double)(i+1)/(double)(i+1); } System.out.println(sum); } }
- scala
object Main { def main(args: Array[String]): Unit = { var sum = 0.0; for(i <- 0 to 1000*1000*1000){ sum += 1.0/(i.toDouble+1.0)/(i.toDouble+1.0) } } }
RubyはDoubleではなくfloatで(そして,あくまでforです)
- - Ruby
sum = 0.0 for i in 0 .. 1000*1000*1000 sum += 1.0/(i.to_f+1)/(i.to_f+1) end
- 実行環境
- MacBookPro
- Core2Duo 2.26GHz
- mem 2GB
- C++(gcc version 4.2.1 (Apple Inc. build 5664))
- Java(java version "1.6.0_22")
- Scala(Scala code runner version 2.8.1.final)
- Ruby(ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0])
- 実行結果(timeで測定)
| C | 21.73s |
| Java | 18.10s |
| Scala | 19.14s |
| Ruby | 772.10s |
| Python | 587.06s |
結構Javaで書いてもいいんじゃないかなあという結果.
Rubyで書いてはいけない.
