タグ

ブックマーク / shyouhei.tumblr.com (17)

  • テストのめどい話

    最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけでってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が

    テストのめどい話
    n2s
    n2s 2014/01/14
  • '10年代のRubyコア用語集

    IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも

    '10年代のRubyコア用語集
    n2s
    n2s 2013/10/20
  • 卜部昌平のあまりreblogしないtumblr

    n2s
    n2s 2013/10/05
    fishでも食ってろ(マテ
  • OSの標準インストールでPerl入ってるからPerl最強とか言ってるそこのおまえら、10年古い。

    Heroku使いなさいよ。 10年前、たしかに、自宅サーバでApacheでCGIでPerlっていう時代がありました。でもさすがに今それはないわ。10年前それやってたサイトのほとんどが結局メンテナンスコスト払えなくて鬼籍に名を刻んだ。あるものはクラックされ、あるものは更新が止まった。そういう歴史の流れですので。今更OS標準だから偉いとか偉くないとかさすがに。ありえんです。 ああ、おまえらがプロのシステム管理者なら(つまりサービス提供側なら)ちょっと話は違う。システム管理者のくせに贔屓の言語とか持っちゃいかん。当に。どんなシステムでも同様に管理できないようではプロ失格。Perlが来たらPerlRubyが来たらRubyを鼻歌歌いながら管理できないようでは、半人前です。猛省すべき。 まあいずれにせよ、今更OS標準だから強いとか強くないとか、ないわ。

    OSの標準インストールでPerl入ってるからPerl最強とか言ってるそこのおまえら、10年古い。
    n2s
    n2s 2013/03/22
    まあ、今時CGIだけ勉強して、しかもCGIの先に進まないってのは有り得ない…です…よね(震え声 / ム板の連中とかでしょ>id:matsumoto_r
  • 卜部昌平のあまりreblogしないtumblr

    どうも。グリーのアカウントは持ってる1けどモバゲーのアカウントは持ってない卜部です。 ところでPerlリスクですか。まあ、あるんじゃないですか。ぶっちゃけ。でもさあ、さすがにPerlしか書けない人たちは転職先の選択肢のなさくらい自覚してると思う。なのでPerlがどうとかいう話はしないです。各自でどうぞ。 でね、ポイントはそこじゃないだろうと思うわけですよ。どんな選択をしても同様のリスクはあるんですよ。たとえばMacromedia ShockwaveでLingoで作ってたソフトとかさあ。今ではだれもメンテできないでしょう? だから今隆盛をきわめてる技術で作ったものが、何年か後にリスクになるってのは、それはそういうものなんですよ。べつにPerlに限らん。Perlはたまたま今そういうフェーズってだけで、明日は我が身ですよ。hamlとかsassとか。 だからまあ、こう言ってしまうと身も蓋もないかも

    卜部昌平のあまりreblogしないtumblr
  • バックアップ考

    というわけでPCを買ってバックアップをセットアップしたので考えてみるわけだけども、やはりバックアップはどちらかというとバックアップのしやすさよりもリストアのしやすさが重要と思うわけだ。ZFS send/recvだとかiSCSIでネットワーク越しにLVM論理ボリュームを構築してミラーさせたりとか、原理的には可能かもしれないが、リストアの面倒臭さの面でぜんぜんダメと言わざるを得ない。ZFSはそれはそれでよいものだが、だからといってそれだけではバックアップとして成立しない。RAIDがバックアップではないのと同程度には、ZFSもバックアップではないのだ。バックアップは基的に、奇をてらわないコンサバティブな技術が要求されている分野。すなわち、 バックアップ先メディアは大容量低速回転HDDのRAID1クラスタを使うということ(次点テープ)。容量と入手性の観点からHDD以外のバックアップメディアの選択

    バックアップ考
  • 深夜の秋葉原ごはん

    ここでは主に日が変わってからやってる店をピックアップ。 コンビニチェーン系 その昔秋葉原といえばコンビニ不毛地帯という時期も短くなかったわけだけれども、最近では一通りは揃っているといえるだろう。件数的にはファミマがなぜか多め。 ただまあ店内ではべれないよね。 牛丼チェーン系 豊富な方だろう。すき家吉野家松屋なか卯神戸らんぷ亭全部あるなそう言えば。吉野家は夜やってない店があるので注意。 マック たくさんあるけどどこでべてもメニューが同じという意味では深夜の秋葉原においては少々過剰ぎみ。 ファミレス ワシントンホテルのなかにデニーズ、神田明神下にココス、恋坂にジョナサン。中央通りのロイヤルホストは5時まで、サイゼリヤは(あるけど)夜中は閉まる。ファミレスは単価高いけど仕事が終わった後にゆったりするときに重宝する。 中華 いつのまにか24時間営業になっていた日高屋、前から24時間だった幸楽

    深夜の秋葉原ごはん
    n2s
    n2s 2011/10/23
  • どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。

    確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。確かにCでしか書けないダメプログラマは存在する(例を挙げてほしければここにおまえの名前を入れろ)が、それはCの存在を赦す理由にはならない。結論:C死ね。 そもそも計算機にできて算盤にできないことなど存在しない。存在しないんだぞ。なのに何故人はプログラムを書くのか。それはオートメーションのためなのであり、奴隷的使役から人類の尊厳を開放して、この地上に楽園を築くためである。まあそこまで大上段に振りかぶって普段から書いてる輩はいないにせよ、プログラミングとは楽をするため、豊かな人生を実現するため、誰かの幸福のために行うものだ。違うか?じゃあなぜプログラ

    どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。
    n2s
    n2s 2011/05/17
    shyouheiさんが「JavaとかC#とか、ひょっとしたらOcamlやScalaで」Ruby1.8.7を書き直してくれると聞いて。
  • Rubyがそろそろ一回終わってみるべき10の理由

    いや、Rubyを取り巻く皆さんの生活まで終われとは言ってないですからね。終わってみるべきなのはRubyのコア部分の開発。 1) 百年の大計の欠如 https://twitter.com/yukihiro_matz/status/25168548474 によると、100年や200年続けるべきなんだそうだ。ふーん。100年って言ってみたいだけちゃうんか。200年後といえば人はおろかまつもとゆきひろと面識のある人間すら死に絶えている時期なんだけどな。そこまで続けたきゃどうするればいいか真面目に考えたことあんのかね。日国ですらこの120年で2回も憲法変わってんだぞ。惰性で200年もつわけがないだろ。 2) まつもとゆきひろがスケールしない 御存知の通りまつもとゆきひろのRuby開発に対するコミットペース(ここでいうコミットってのはソースコードをチェックインすることだけではなくて広く「関与」の意

    Rubyがそろそろ一回終わってみるべき10の理由
    n2s
    n2s 2010/10/15
  • 卜部昌平のあまりreblogしないtumblr

    Rubyには公式のものだけでも30のブランチに29,385個のチェンジセットがある(執筆時点)。ブランチの1,000倍程度のチェンジセットがあるということは、実際にはブランチとチェンジセットの関係は偏りがあるから、ともかく長いブランチは超長いということがいえる。ちなみに一番長いのはもちろんtrunkで、この枝の長さは20,992リビジョンだ。次点がruby_1_8で、3,328リビジョンある(執筆時点)。 さてこのくらいの規模になってくると、もはや全容を把握するというのは困難である。特にどのブランチがどのチェンジセットから派生したかという情報は、もちろん個別には取り出すことは可能だが、俯瞰するのが困難になってくる。実際、今回ちょっとしたことでgit rebaseしようとしたらrebase先を間違えてしまい、ものすごく太古の昔からrebaseされてしまいげんなりするという体験をした(俺が

    卜部昌平のあまりreblogしないtumblr
    n2s
    n2s 2010/10/02
  • 超俺専用メモ「rubyのsvn->git gateway再構築方法」

    一般化すれば他者にも有益な話題と思われるがとりあえずめどい。 方針 ありものをつかう回線に優しくてっとりばやくデータロスしないsetup OpenSSH multiple connection sharing以下の方式ではsvnサーバにつなぎに行っては「あ、やっぱ手元にあったわ」でコネクション切るというのを繰り返す感じなる。git-svn(1)頭悪いな。で、普通にそのままやるとSSHのセッションハンドシェイクが全体の時間に対して支配的になる上に、どう考えても回線の無駄なので、一旦作ったコネクションを使いまわすことで対応する。これはOpenSSHには普通に備わっている機能だ。~/.ssh/configに以下のように書いておく。 Host ci.ruby-lang.org User svn Hostname ci.ruby-lang.org IdentityFile ~/.ssh/id_rsa

    超俺専用メモ「rubyのsvn->git gateway再構築方法」
  • 卜部昌平のあまりreblogしないtumblr - ■ #!/usr/bin/env _...

    今さらながら、 CGIの神話と現実というエントリ。ただし内容とはまったく関係なし。スクリプト言語の shebang 行(#!)でスクリプトインタープリタを直接書かずに /usr/bin/env でラップするという悪習はいったい誰が広めたんだろうか。ruby な人に多いように思うがそれだけじゃないし。 hoge というインタープリタを使うスクリプトの1行目をたとえば #!/usr/bin/env hoge としておくと、hoge の実行バイナリが /usr/bin/hoge でも /usr/local/bin/hoge でも $HOME/bin/hoge でもどこにあってもパスが通ってさえいれば起動できる。それはメリットなんだろうか。わしにはむしろデメリットにしか思えない。 /usr/bin/env を使うというのは、PATH の値にしたがってインタプリタの場所を探すという意味である。つまり

    卜部昌平のあまりreblogしないtumblr - ■ #!/usr/bin/env _...
  • 卜部昌平のあまりreblogしないtumblr

    というわけでgithub.com/ruby/ruby.gitにpushしているローカルのマシンがUbuntu Lucid Lynx + lxcになった。 lxc: Linux Containerコンテナである。仮想化と呼ぶには若干の抵抗がある。Solarisのzones、FreeBSDのjail、LinuxだとOpenVZとかの仲間。 OpenVZとの比較 まずlxcはmainlineに入ってるのでKernelを弄らなくてよいlxcに商用サポートとかはないので転んでも泣かないというか商用とか以前にドキュメントすげえ少ない。マゾヒストとRubyユーザーにちょうおすすめrootのfsがただのchrootなので同じファイルが無駄にたくさん必要でも逆に普通のdebootstrapで作ったディレクトリでいいので、らくちんではあるKVMとの比較 QEMU不要ディスクイメージ不要いろいろなオーバーヘッド

    卜部昌平のあまりreblogしないtumblr
    n2s
    n2s 2010/03/18
    「と呼ぶには若干の抵抗がある」らしい、lxc
  • 俺の .screenrc が火を吹くぜ

    たまにはこういう生産性のない話題もいいよね! さて、まあおまえらも GNU Screen くらいは使ってるとおもうわけだが。こいつがまたひどいバッドノウハウでさあ。ほとんどの人が他人の .screenrc をコピペしてきて済ませちゃうんだよね。俺くらいカスタマイズして使ってるやつとか見かけないわけよ。当に。CodeRepos 見ても俺に比肩する規模の .screenrc 書いてる奴はいないもん。で、たまーにプロジェクタに表示して見せたりすると「それどうなってるんですか」とか。まあ一般人のおまえらは info なんか読まないよね。そうだよね。 でも今日は気が向いたから line-by-line で何が起こってるか解説しちゃうよ。 .screenrc の前にスクリーンショットの解説をちょっとだけ これが普段俺が使ってるノート PC の画面である。これで全画面。OS は普通の Ubuntu で

    俺の .screenrc が火を吹くぜ
    n2s
    n2s 2010/01/03
    なげえよ(爆
  • 卜部昌平のあまりreblogしないtumblr

    最近会社でコップのかわりに使っているビーカーがすこぶる評判が悪い。とくに充実野菜は「コロイドかと思った」「いやアルミ化合物かと」など散々な言われよう。気にせず飲んでるが。

    卜部昌平のあまりreblogしないtumblr
    n2s
    n2s 2009/08/01
    どこのマッドサイエンティストだよw つか大学の研究室ならともかく会社にビーカー持ち込むってあーたww
  • Rubyパッチ袋

    Rubyパッチ袋 まあ、おまえらもmatz基調講演を聞いて「意外にも思いつきではなくちゃんとパッチが管理されている」ことに衝撃を受けたことだろう(実は前から日記とかで言及されてはいたが)。あれを見てそろそろgit使い始めようかとか思いだしたかもしれない。しかし、じゃあといってRubyのレポジトリをgit svn cloneしようとすると果てしなく時間がかかる(ネットワーク状況などにもよるが30時間くらい?一日以上なのは確実)ので、多くの人はここでめげてしまう。 ところが案外知られていないけどgit-svn(1)は実はよくできていて、git svn cloneってのは毎回みんながやる必要はなくて、当はだれかがどこかで一回やればいいのである。他の人はそいつをgit cloneすればいいの。その誰かさんのgitレポジトリってのはみんなが見れるところにないといけないわけだが、そこはもちろんgit

    Rubyパッチ袋
    n2s
    n2s 2009/07/31
    これは大きな前進。
  • 俺において時としておまえらに厳しい指摘をするのはつまるところ俺が必要な時にそれがなかったから

    田舎で育ったわけだ。 いや、そりゃ下を見りゃもっとすごい田舎はあるかもしらんが、でもまあ田舎さ。田舎には良いところも悪いところもあるんだろうが、俺にとっていちばん悪かったのは回りに同じ趣味の人間がどの世代を見渡してもいなかったってことだ。 俺の場合中1で親のLC630についてきたHyperCard Liteにmagicコマンド打って以来、中3くらいでResEditMacsBugに飽き(注)、高校時代はNetBSD/mac68kについてきた/usr/srcを眺めるなどしていたような少々世間様とはずれたお子様だったわけで、回りに俺の話を理解してくれる人がいない。当時の俺にnetnews読むとかの発想があればまた違った人生になってたんだろうが、あいにくそこまでは頭が回ってなかった。Cの話が通じる人にようやく出会えるのは実に大学に入ってからである。 注:というか理解できてなかったのが正しい。A-

    俺において時としておまえらに厳しい指摘をするのはつまるところ俺が必要な時にそれがなかったから
    n2s
    n2s 2009/04/25
    「悲しいことにそのプログラムが実のところ本当にすごいのかって、俺には分からんわけよ。だって俺しかいないんだもん。これは辛いぜ。」・゚・(つД`)・゚・
  • 1