タグ

ブックマーク / nishiohirokazu.hatenadiary.org (18)

  • git(VCS)の未来について - 西尾泰和のはてなダイアリー

    gitが素晴らしいとか自由度が高すぎてわかりにくいとかUIが酷いとか色々議論になっているけど、ちょっと歴史を振り返ってみると 1990 CVS 2000 Subversion 2003 SVK = Subverionをラップして分散バージョン管理に対応 2005 Git 2008 GitHub = Gitをラップして「ワークフローを限定してわかりやすく」 2010 gitflow = Gitをラップして「ワークフローを限定してわかりやすく」 2012 今ここ と進んできているんだからきっと2020年頃には GitHubやgitflowのような「ワークフローを限定してわかりやすくしたバージョン管理」がメジャーになってますよ。 近いうちに、かつて「svnは小学生までだよね、これからはSVKだよ」と言われたように「Gitを生で使うなんて小学生までだよね」と言われるようになり、 次に、かつて「SV

    git(VCS)の未来について - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/11/08
    Sent from my iPhone
  • 素数を計算するオートマトンを実装してみた - 西尾泰和のはてなダイアリー

    先日のWEB+DB PRESS Vol.70で和田先生が紹介されていた素数を計算するオートマトン、面白そうだったので僕も実装してみた。 まずは出力結果から。一番左端が空白(状態0)であるとき、それは素数。最初は0〜Fを使っていたんだけどもアスキーアート的にした方が面白いのでこれでw 米 1≫ 1/: 1\> 2 :ノ2\≫ 3 米\3\≫> 4/:ノ② \> 5 米\①  ≫ 6/:ノ米\ ≫> 7 米/: ノ≫> 8/米ノ:ノ |> 9/米\米\ |≫ 10/:ノ: ノ|≫> 11 米 :ノ ・≫> 12/:ノ米\ ・\> 13 米/: ノ・\≫ 14/米ノ:ノ 1\≫> 15/米\米\ 2\\> 16/:ノ: ノ3\\≫ 17 米 :ノ ② \≫> 18/:ノ米\ ①  \> 19 米/: ノ米\  ≫ 20/米ノ:ノ/: \ ≫> 21/米\米X :  ノ≫> 22/:ノ米 ノ: ノ

    素数を計算するオートマトンを実装してみた - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/10/02
    Sent from my iPhone
  • 考えない練習 - 西尾泰和のはてなダイアリー

    が読んでた 「考えない練習」がタイトルからの予想に反してかなり良いだった。今までのタスク管理とか生産性向上ライフハックとかには、脳に対しての刺激を増やす方向のものが多い。それは結局はストレスとして積み上がってしまう。それでは一時的に生産性が上がってもやがて息切れしてしまう。ストレスを減らすためにはどうするか、を考えることが生産性の向上には必要。 集中力が落ちた時の対策に、僕はアップテンポな曲を聞いたりカフェインを摂取したりという「刺激を追加すること」が多いけど、これは筆者に言わせれば苦(ストレス)を増やしている。心が平穏であることを願うなら、強い刺激を追加するのではなく既に感じているのに無視している感覚に注意を向けるほうがよい。たとえば、指がキーボードに触れている感覚に集中するとか、自分の呼吸に注意を向けるとか。集中の前にまず心を穏やかにする。 外部からの刺激などに心が無意識に反応して

    考えない練習 - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/09/02
    Sent from my iPhone
  • nginxを勉強する日記 - 西尾泰和のはてなダイアリー

    前回「Rackhubを試してみた日記」でPython製の自前サーバを起動した際に、Rackhubは8000番のポートとかを塞いであるので自前サーバを80番で動くようにするために色々苦労してたら「それnginxでリバースプロキシすればいいよ」と教えてもらった。 「Rackhub: あなたのための、クラウド上のlocalhost」ということで、普段自分がlocalhostをどう使っているかなーと考えると、80番ポートってあんまり使わない。コマンドラインでpython -mSimpleHTTPServerって叩いて8000番でディレクトリの中身を一時的に晒したり、Flaskの開発サーバでプロトタイプを作って5000番で社内公開したり。だからそういうのが簡単にできるようにしたい。 まずはnginxを起動する。よくわかってないのだけども、sudo nginxで起動した。 ブラウザでアクセスしてみる。

    nginxを勉強する日記 - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/08/22
    Sent from my iPhone
  • Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー

    http://nhiro.org/learn_language/with_statement.html Java7は名前の通りtryと抱き合わせになっている。C#とPythonは分離されている。なのでJava7でC#やPythonと同じ挙動をしたければ必要なくても空のfinallyを書くことになる。(追記: finallyやexceptを伴わないtryもOKでした。thanks id:nowokay) 体が正常終了または例外を投げて異常終了した場合のどちらでも呼ばれる「後片付けメソッド」はC#だとDispose、Java7だとclose、 Pythonだと__exit__。しかしPython以外は引数を取らない。体が正常に終了したのかどうかはどうやって知るんだろうか。知る必要はないという判断なんだろうか。追記: Pythonがどんな引数を取るのか他の言語の人には想像がつきにくいらしいの

    Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/07/14
    Sent from my iPhone
  • java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー

    ブログを書くまでがjava-jaですが、もう眠いのでとりあえず1行だけ書いて、あとは徐々に書き足す。 会場を無料提供してくれたグリーさん、ありがとうございます! 誰かが検査例外の話をするだろうと思って書かなかったら結局誰も言及しなかった、Javaのコミュニティなのに。 っていうか聴衆が100人もいると、もしかしてそもそも「検査例外ってなに?」って人もいたんじゃないか?「検査例外がOCPを壊す」とか「Liskovの置換原則のLiskov」とか通じてるんだろうか?とりあえず直和型が通じてないことだけはひしひしと感じた。 Twitterの自分の発言を転載しておく。 ちなみにZen of Pythonでも「エラーを握りつぶすな」と書いてあります 禅 of Python: 20の格言 「例外はそもそも何のため」ってところ、ざっくり省いたんだけどもそういうところのほうがニーズあったかね?? 「C#1.

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/06/28
    Sent from my iPhone
  • 作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー

    増井さんの作りたいものリストを作ろうというスライドを見て「確かに『いつかやる』リストに入れてるだけじゃ発展しないから、公開しても問題ないものは公開したらいいなぁ」と思ったので早速やってみました。3つ目。 JavaScriptのコードの質を保つためのガードレール JavaScriptは柔らかい言語で、typoとか変数名の変え忘れが実行時までエラーにならない。しかもしれっとundefinedとかになって、そのままHTMLSVGのpath文字列に埋め込まれてたりしてデバッグにコストが掛かってしまう。人間は間違える生き物だから、間違いをなくすことはできない。だから間違えた時になるべく早く気づけるようにする仕組みが必要だ。 Google Closure CompilerはJavaScriptのソースコードを静的に検証してエラーを報告してくれる。であれば自分がソースコードを編集している時にバックグラ

    作りたいもの: JavaScriptのコードの質を保つためのガードレール - 西尾泰和のはてなダイアリー
    mstk_knife
    mstk_knife 2012/05/02
    Sent from my iPhone
  • Alloyを勉強する日記(0) - 西尾泰和のはてなダイアリー

    Java-ja温泉にてid:warufuzaketaichiに教えてもらったAlloyについて、勉強過程のログを記録しておく。 教科書は買ったけどまだ届いていない。 Alloyでググっていたら圏の勉強の時にだいぶ参考にさせていただいた檜山さんのブログで言及されているのを発見したので、ざっと眺める。「関係圏Relでは、指数演算の実体が直積になっている」とか眼から鱗な感じ。ref. Alloyの矢印記法と、モノイド閉圏としての関係圏 - 檜山正幸のキマイラ飼育記 まあ、どう眼から鱗だったのか噛み砕いて説明できないのでわかった気になっているだけかもしれませんが ;p Alloy: A Lightweight Object Modelling Notation - 言語ゲームの説明はとてもわかりやすかった。若干もやっとするので、きっと僕の脳内のモデルとこの文章を書いた人のモデルにどこかい違いがあ

    Alloyを勉強する日記(0) - 西尾泰和のはてなダイアリー
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • wgetのオプションを覚えた - 西尾泰和のはてなダイアリー

    wget -rで再帰的にクロールできるのはみんな知っていると思うけども、同一サーバ内にクロールの必要ない対象があるので特定パス以下だけをクロールしようと思って-npをつけた。 -np, --no-parent 親ディレクトリを取得対象にしないそしたら、CSSが別途/style/common.cssとかにあったのでレイアウトが崩れてしまった!それをどうやって解決したかというのが今回の日記のお話。 単純にwget http://example.com/style/common.css とかやるとカレントディレクトリにcommon.cssを作ってしまう。そこでまずは-x -x, --force-directories ディレクトリを強制的に作る次に、-rでクロールした側が元から相対パスになっててくれたら必要ないんだけど、今回の場合src="/style/common.css"とかになっていたので

    wgetのオプションを覚えた - 西尾泰和のはてなダイアリー
  • telnetじゃなくてw3mを使えと言われた話 - 西尾泰和のはてなダイアリー

    慣れないtelnetを使ってレスポンスヘッダを確認しようとして「あれー、ついてないぞ?」となった。 $ telnet localhost 8101 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /static/t <html> <h1>hello</h1> Connection closed by foreign host.正解はこうだった。 $ telnet localhost 8101 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /static/t HTTP/1.0 HTTP/1.0 200 OK Content-Type: application/octet-stream Last

    telnetじゃなくてw3mを使えと言われた話 - 西尾泰和のはてなダイアリー
  • 他の言語に慣れた人がRubyを使ったときにつまずきがちな9つのポイント - 西尾泰和のはてなダイアリー

    他の言語に慣れた人がPythonを使ったときにつまずきがちな9つのポイントの続編。ささださんも書いています see: だいありー 0は真, 空文字列も真 C言語などと違って、0は偽ではない。PythonJavaScript, PHPと違って空文字列も偽ではない。 >if 0 then print "true!\n" end true! > if "" then print "true!\n" end (irb):1: warning: string literal in condition true! 括弧がなくても0引数での関数呼び出しが起きる PythonJavaScriptでは式中に現れた関数名は関数を指す。しかしRubyでは0引数での呼び出しが行われる。 # Python >>> def foo(): print "foo!" ... >>> foo <function foo

    他の言語に慣れた人がRubyを使ったときにつまずきがちな9つのポイント - 西尾泰和のはてなダイアリー
  • GTDマインドマップ ver3 - 西尾泰和のはてなダイアリー

    GTDレバレッジメモasマインドマップ、GTDレバレッジメモasマインドマップ その2の続編。昨年10月に作ったver.2を描き直したくなったのでTwitterでブツブツつぶやきながら2ポモドーロほど作業をして新しいバージョンを作った話。以下Twitterからの転載。 以前GTDを読んで作ったマインドマップを、使っているうちにちょこちょこ書きたしたり別のアイデアが湧いたりしているので、いっちょ0から描き直してみるかな、と思っているナウ。前のバージョン http://pic.twitter.com/zUAPBOuu 最初はGTDのに書いてあることを書き漏らさないようにしようとしすぎて密度が高かった、前回のバージョンでは特に右端の軸で、オリジナルのGTDでは5つに分割されていたものが3つにまとめられるなどしている。今回はもっとバッサリ行く予定。 まずは目的の明確化。目的はGTDをそのままマイ

    GTDマインドマップ ver3 - 西尾泰和のはてなダイアリー
  • 「値渡しか参照渡しか」という二分論は混乱の元 - 西尾泰和のはてなダイアリー

    先日のプログラミングシンポジウムでは「今の時代となってはむしろ有害な教育って何だろう」という話題が出た。その時には思いつかなかったけども、今日「Pythonはすべてが参照だっていうけど、boolとか参照渡しじゃないよね」という趣旨の発言を見て思いついた。 「Pythonではすべてが参照」ってのは「Pythonの変数はCで言うと全部PyObject*」って言ってるだけのことなので、関数呼び出しが参照渡しかどうかとは独立な話。そしてPythonの関数呼び出しは値渡しです。渡される値がポインタなのでたぐれるだけ。 参照渡しと値渡しの2通りに分類できるかのような教え方をする教科書は現代ではむしろ有害なんじゃないの。今一番メジャーな渡し方は「参照の値渡し」なんだし。古い用語を使い続けることで混乱が増すだけのような。 そうつぶやいていたら@kuenishiから 今思えばあり得ない教育Javaで値渡

    「値渡しか参照渡しか」という二分論は混乱の元 - 西尾泰和のはてなダイアリー
  • 講義資料「テストとデバッグ」を公開しました - 西尾泰和のはてなダイアリー

    昨年行われたセキュリティ&プログラミングキャンプ2011で中学生〜大学生を対象として行った講義「テストとデバッグ」の発表資料を公開します。 テストとデバッグ View more presentations from nishio

    講義資料「テストとデバッグ」を公開しました - 西尾泰和のはてなダイアリー
  • コードリーディング観察日記 - 西尾泰和のはてなダイアリー

    以前コードリーディングの方法を聞かれて「僕、全然読めないよ」と答えたんだけど、そういう解釈はさておき客観的事実としては30分の空き時間で「Pythonクラスのメソッド名解決順序」に書いてあるようなことを調べられたわけなので、そのプロセスがどうであったか忘れないうちに観察日記をつけておく。 観察日記 (調べたい内容が、Pythonのリファレンスマニュアルに書いてあった気がしない) Pythonの処理系で対話的に実行して、挙動を確認。「__bases__を書き換えた時に__mro__を更新するはずだ」と考える ソースコードは既にダウンロード済み(~/src/にソースを読もうと思ったもののソースコードは入れっぱなしになっている) Objects/classobject.cを開く。__bases__で検索する。set_basesって関数を見つける。読む。期待に反して__mro__の更新が行われてい

    コードリーディング観察日記 - 西尾泰和のはてなダイアリー
  • テンピュールの三角座布団体験記 - 西尾泰和のはてなダイアリー

    がクリスマスプレゼントにテンピュールの三角座布団(テンピュール(R) PCシートクッション)を買ってくれたので喜んで使っている。 会社の机ではこんな感じ。 自宅では正座の間に挟んだり、床に引いたりを適当に混ぜている。というのも下がホットカーペットなので時々暖まりたくなるからw 会社の椅子が後傾姿勢用のアーロンチェアで、僕は自宅の椅子がVarier Balans(イメージ検索)の背もたれのないやつなくらい前傾姿勢派なので、ちょっと姿勢のミスマッチがあって膝の裏側とかふくらはぎとかに疲れが溜まる感じがしていた。この座布団を引けばかなり改善されるかなーっと。まだ会社で1日しか使ってないのでアーロンチェアとの相性に関しては定かではないけど、自宅のホットカーペットで作業をするときとかに使ったところ、床に直接座るのに比べて骨盤が立つので腰への負担が少ないように感じる。

    テンピュールの三角座布団体験記 - 西尾泰和のはてなダイアリー
  • やる気が出ない人の心理学 レバレッジメモ - 西尾泰和のはてなダイアリー

    このは人間の絶望・無気力・おっくうの原因の解説書ではない。無気力になる傾向を持つ人が、どうやってそこから抜けだして元気に生きられるかというである。無気力になる傾向を持つ人には私も入っている。 この記事は筆者の『「やる気がでない人」の心理学』を読んだ際の読書メモです。 追記: このエントリーの内容を元に平均10問の質問に答えるだけであなたの状況に合わせたアドバイスをする人工知能を作りました。オススメです。 セリグマン人が書いた(の翻訳)としては世界でひとつだけの幸せ―ポジティブ心理学が教えてくれる満ち足りた人生とかがいいのかな。 前回、同じ著者(加藤諦三)の不安のしずめ方 40のヒント(レバレッジメモ)を読んで意外とよかったので別のを買ってみた。「やる気がでない人」の心理学 セリグマンの論文から引用しつつ、人間が無気力になる原因などについて解説した。セリグマンの元々の実験の話が明

    やる気が出ない人の心理学 レバレッジメモ - 西尾泰和のはてなダイアリー
  • 1