タグ

ブックマーク / katzchang.hatenadiary.org (45)

  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    shozzy
    shozzy 2011/02/09
    「あとでかく」だった部分が完成してる。執筆おつかれさまー。っと思ったら「共通関数継承」とか、まだいくつか存在してたw 公開状態で少しずつ書いていく手法、斬新だな。
  • Don't Tell, Ask - 求めよ、命じるな - @katzchang.contexts

    えーと、どんな因果か、レビューされる側よりもする側になることが多くなってしまった。 対象となる生産物の欠点を指摘することは、レビューの大事な役割の一つであるとされている。だが、レビュアーとして一番怖いのは、間違った指摘や無意味な指摘をしてしまうことだったりする。そう、レビュアーもまた間違いを犯すんだよ。恐ろしいことに。 そこで有効なのが、"Don't Tell, Ask."「求めよ、命じるな」の原則。 レビュー対象物の「至らなさそうな点」に対して、なぜそこはそうなっているのかについて答えるよう求める。自分がより良いアイデアを持っていれば、それを伝え、どちらが優れているか判断を求める。「ここは、こうしてよ」のような命令(出す側は「アドバイス」と呼ぶ)は出さない。だって、レビュアーの意見の方が優れている保証なんて、何もないんだからね。 そもそもレビューをするのは、そのアドバイスに黙って従う初級

    Don't Tell, Ask - 求めよ、命じるな - @katzchang.contexts
    shozzy
    shozzy 2011/01/05
    システム開発だけでなく、コミュニケーションの方法として普遍的だと思った。
  • SI業界人は要チェック!!Subversionでのベンダブランチの運用手順。

    外部から納品物に自分たちが手を入れるような場合や、他の人が作ったパッケージ製品を改造して提供するような仕事を管理する場合に使えるパターンです。つまり、SI業界には必須ともいえるパターンなはず。 レポジトリにvendorディレクトリを切っておき、その下でベンダから受領したブツを管理する。納品毎にバージョンtagをつける。そこから枝分かれさせたものを、自分のプロジェクトのサブディレクトリとして管理していく。こうやって管理することで、ベンダからの受領物を自分のプロジェクトにマージするときに、SVN力をいかんなく発揮させることができます。 参考:http://hide.xsv.info/tips/svnmanual/merge3/ 今更な人には今更だろうけど、今更じゃない人には今更じゃないよっていうのがこのセカイですので、もう気にしてません。サンタさん、僕はオトナになったよ…。 レポジトリの構成(

    SI業界人は要チェック!!Subversionでのベンダブランチの運用手順。
    shozzy
    shozzy 2009/12/29
  • TDD読書会+北陸エンジニアグループ2009ふりかえりをしたよ - @katzchang.contexts

    TDD読書会+北陸エンジニアグループ2009ふりかえりをしたよという話です。「http://atnd.org/events/2067」←これ。 今回は偶然にも来沢(金沢用語)していた串田さん(@kussy_y)に、ふりかえりのファシリテーター役をしていただきました。おかげさまで、自分も一人の参加者としてふりかえりに参加することができて、とても有意義な時間を過ごすことができました。さんくす!! 相当な無茶振りに快く応えていただいた串田さんには、石川名物の「とり野菜みそ(2種詰め合わせ)」をもれなくプレゼント。知る人ぞ知る地元民御用達のスーパー「ナルックス」で購入。土産物屋には売ってない…よね? 全体的には、グダグダ駆動で進めさせていただきました。相変わらずというか、こんな性分ですいません諦めましょう。 TDD 申し訳ない、こちらは途中で抜けてました。 過去2回は、10人未満であーでもないこー

    TDD読書会+北陸エンジニアグループ2009ふりかえりをしたよ - @katzchang.contexts
    shozzy
    shozzy 2009/12/13
    ふりかえり楽しかったー TDDは個人的に予習不足で消化しきれず、「がんばってるなー」で終わってしまったので反省。
  • NOSQL Patterns、和訳 - @katzchang.contexts

    http://horicky.blogspot.com/2009/11/nosql-patterns.html 11/30時点で、一通り翻訳のうち、正直ベースのざっくり感覚(業界用語)で75%完了です。 人も理解が怪しいながら訳しているので、随所に間違いを仕込んでいます。ご指摘頂ければ幸いです。 NOSQL Patterns ここ数年、大規模データを扱うデータストレージ機構が発展している。これらの機構は従来のRDBMSモデルとは異なっており、NOSQLとも呼ばれている。キープレイヤーとしては: GoogleBigTable, HBase, Hypertable AmazonDynano, Voldemort, Cassendra, Riak Redis CouchDB, MongoDB これらは、次の共通点を持っている。 Key-Valueストア 多数台の一般的なPCで運用可能 複数サー

    NOSQL Patterns、和訳 - @katzchang.contexts
    shozzy
    shozzy 2009/12/06
    GJ
  • TDD本の読書会、11/28とかどうかななど。 - @katzchang.contexts

    id:mac10の発表を60分くらいとりつつ、その後、ちょっとフリカエリなどをしてみたいのですが、いかがでしょうか?

    TDD本の読書会、11/28とかどうかななど。 - @katzchang.contexts
    shozzy
    shozzy 2009/09/29
    今のところ大丈夫ですよー。(仕事が入る悪寒も多少ありですが…)
  • Flex勉強会第79回@北陸(石川) - @katzchang.contexts

    はい、行ってきました。発表させて頂きました。 発表内容 http://d.hatena.ne.jp/katzchang/searchdiary?word=*[FxUG] の内容です。 作ったものはhttp://bibibingoservice.katzchang.staxapps.net/BibiBingo.html。 ソースはhttp://github.com/katzchang/BibiBingo。 雑感 76回抽選すると落ちる件、現実的には75回抽選するってのはあり得ないので、優先度かなり低いです。 テクスチャはるといいかもというご指摘を頂きました。 物理演算抽選器にするといいんじゃね?というご提案を頂きました。 景品のビンゴ大会で、一応使えた。動くのはわかっていても、初回運用は結構ドキドキするもんだ。 他の勉強会でも使って頂ければ幸いです。Fork歓迎。 開発時間が確保できない中で

    Flex勉強会第79回@北陸(石川) - @katzchang.contexts
    shozzy
    shozzy 2009/09/17
    おつでした。物理演算バージョンにも期待!
  • 次の文章を読み、以下の8つの問いに答えよ。 - T/O

    「現代文の授業は何のためにあるのか判らない」というのは高校まで私も思っていた。大学卒業後かなり長く思っていた。大学受験の「現代文」は今どんな感じなのか遠く離れているので判らないが、塾講師をして高校受験中学受験の「現代文」すなわち「国語」を担当して、「何のため」というより「誰のため」なのか判った。 日人には、日語の文章の読めない人が、たぶん2〜3割くらいいる。そういう人のために「現代文」という授業と科目は存在する。「日語の文章の読めない日人」のことを「読解力がない」という。ブログを書く人はたいがい読解力は高い。マンガオタクアニメオタクは少なくとも「文学的文章」の読解力はそこそこ高い。そのため、「なんのために現代文という授業と科目があるのか判らない、書いてあることを読めば判るではないか」と感じがちだ。しかしながら「読解力のない」人は一定割合いて、その人たちのために「現代文」という科目と

    次の文章を読み、以下の8つの問いに答えよ。 - T/O
    shozzy
    shozzy 2009/08/20
    問8への回答:[あとで読む]
  • 「簡単ですよね?」を「挑発」とは受け取らないようにしてます - @katzchang.contexts

    SIに限らず、「技術的な客商売」をやっていると、時として打合せの時に「簡単ですよね」という「挑発」を受けることがある。 「簡単ですよね」という挑発 | おごちゃんの雑文 あるあるw 自分が仕事してる中でよく言われるのが「できますよね?」っていう言葉で、それに対して安易に『できます』と答えるな!っていうのはSE稼業の基中の基中の基。新入社員研修で、名刺交換のお作法の次くらいに叩き込まれるはずです。いわゆる「持ち帰り検討します!」。コレばっかりじゃ、打ち合わせなんて一つも進まないんだけどねー。 で、個人的に便利でよく使ってるのが、「技術的にはできます」。技術的には問題ない。論理的には可能です。でも実装やらなんやらは必要です。時間はかかります。工数はかかります。さて、どうします?どこまでやります?…などと、メニューを提示するわけです。 ただし、これは自分で当に実現可能だと思わないと使っち

    「簡単ですよね?」を「挑発」とは受け取らないようにしてます - @katzchang.contexts
    shozzy
    shozzy 2009/08/12
    社内で相談受けるときも気をつけてる。
  • SQLの勉強の必要性 - @katzchang.contexts

    枯れた技術だけど「正解」が見いだしにくいものの一つがSQL。だと思う。大抵のシステムで保守や性能のネックとなるのがDBアクセス部分だったりするし、かなり現実的、実践的な勉強会になるはず。 個人的論点は: とりあえず、表結合の条件をwhere句で書く人は爆発したまえ。 "select * from T;"対"select T.id, T.name, T.hoge_id from T;"とか 人工キーと複合キーなど 正規化とパフォーマンスとか 設定のチューニングとか スキーマ管理とか設計変更への対応とか「データベース・リファクタリング」とか O/Rマッピングとか トランザクション管理の「正攻法」とか 安全なデータモデリングのパターン的なやつとか 運用のtipsとか モデリング、クエリ、管理、運用のアンチパターンとか(たぶん一番盛り上がるw) OracleMySQL、PostgreSQL、SQ

    SQLの勉強の必要性 - @katzchang.contexts
    shozzy
    shozzy 2009/08/03
    爆発した。
  • ふつう、金沢に来たら回転寿司に行くよな? - @katzchang.contexts

    先日まいもん寿司に行ってきた話。 手前から子イカ、鰯、鯵、太刀魚。子イカの1貫は胴、もう1貫はゲソ。写真の通り、どれもネタが大きくてべ応えがある。 万寿貝。富山県では白貝と呼ぶらしい。ヒモが別に付いてて、磯の風味がいい。http://www.fromages2002.com/delices_site/archives/2007/07/post_358.html アカニシ貝。初めてべた。コリコリとした感と甘みがある。アカニシ | 軟体 | 市場魚貝類図鑑 肝付きのカワハギはポン酢で。肝は奇麗なピンク色で全く臭みがない。 このあと子イカと鰯(当は鯵を頼みたかったが間違えた)を再度頼み、みそ汁2杯で軽めの二人分3,000円ほど。で、どれも美味い。 まいもん寿司は超人気で、平日でも19時に行ったら満席、週末は2時間待ちとか当たり前。なので予約した方が良いかも知れない。 すしいねぇ!も美味

    ふつう、金沢に来たら回転寿司に行くよな? - @katzchang.contexts
    shozzy
    shozzy 2009/07/29
    すし食いねぇもうまいよー。/寿司じゃないけど、いきいき魚市の先にある船員厚生食堂もおすすめ。
  • 「いじめられる方に原因がある」と「いじめられる方に責任がある」は因果関係と責任問題って点で区別すべき…? - @katzchang.contexts

    不快感を表現するのが苦手な人っていうのはいじめられやすい傾向にあると思うし、「不快感を表現しない」ってのをいじめられる原因と捉えても問題はないと思うけど、それを「不快感を表現しないのが悪い」っていうとそりゃ違うよねって話。 横断歩道で車にはねられてたって状況で、「横断歩道をわたるときは左右をみるべき」が成り立つと同時に「漫然と横断歩道を歩いているのが悪い」が成り立たないのは、単純な因果関係とそれに対する責任は別ですよって話なんだよ。 ただ、被害者に対して「お前にも原因があるが、責任はない」とどう上手く伝えるかってのは難しいよね。世の中のオヤジどもは、まずここで落ちる。まず、目の前の事象に対して結論を出す、責任を明確にすることから始めるってのが重要なんだろかね。 …等々と、↓のブクマ※を読んで思ったので、記しておきます。 b:id:kobeni_08 ここにも「いじめいじめられる方が悪いん

    「いじめられる方に原因がある」と「いじめられる方に責任がある」は因果関係と責任問題って点で区別すべき…? - @katzchang.contexts
    shozzy
    shozzy 2009/07/17
    「「お前にも原因があるが、責任はない」とどう上手く伝えるかってのは難しい」 とってもそう思う。責任はないし同情するんだけど、再発防止を考えるとこの点は気をつけるといいよ、ってのがなかなか伝わらない。
  • 自動ドアの安全基準ってないの? - @katzchang.contexts

    先日、金沢に新しくできたうどん屋さんにいったんだけど、出口の自動ドアがクソで、挟まれる人が多かった。というか、俺も挟まれたw 見てみると、スイッチを押して開けるタイプの自動ドアなんだけど、センサー類が一つも見当たらない。そんなにマジマジと見てないからわかんないけど、頭上にもないし、戸の脇にも見つからなかった。そりゃ挟まれるわw 安全基準ってエレベーターとかエスカレーターはあるんだろうけど、自動ドアってあんまり確立してないのかな?

    自動ドアの安全基準ってないの? - @katzchang.contexts
    shozzy
    shozzy 2009/07/01
    昔、高速道路のバス停に上がるケーブルカーみたいなやつの自動ドアに挟まれたことあるw 光学センサーはおろか、物理的に挟んだことを検知するセンサーも無かったようで、ガッチリ挟み込まれた…
  • カルボナーラを美味しく作るための3つのコツ - @katzchang.contexts

    料理週間は続く。仕事のペースが少し落ちたってのが原因か? 豚バラ肉の塩漬け(ベーコンとかパンチェッタ的なもの。今回は例によってこれ)を拍子木形に切り、中火で加熱する。脂身が多ければ油を引く必要はない。このタイミングで、パスタを茹で始める。 で、ソースを用意する。二人分で卵3個と粉チーズをひと掴み分。これだけ。泡立て器とか、なければフォークでしっかり混ぜておく。箸だと白身が切れない。 バラ肉の端がカリカリになってきたところで弱火にして、茹で汁をお玉一杯投入して加熱を抑えておく。 茹で上がったパスタを入れ、火を付けてグツグツいうまで加熱し、火を弱めて水をお玉一杯分投入。ソースを加え、中〜弱火のままじっくり熱を加えていく。木べら的なもので、底から絶え間なく混ぜること。ゆっくり火を通すことで、クリーム感が出る。途中で味見をし、必要なら塩を投入。もっさりしたクリーム状になったところで完成。しつこく火

    カルボナーラを美味しく作るための3つのコツ - @katzchang.contexts
    shozzy
    shozzy 2009/06/29
    id:katzchangのお料理シリーズ。こいつもうまそうだー/いつのまにかホッテントリ入りしてる!
  • ピザは1時間くらいで出来る件について - @katzchang.contexts

    ただし、ホームベーカリーは必須だけど。 ホームベーカリーに、小麦粉と水、オリーブオイルと塩とイーストを突っ込んで、コネて30分くらい発酵させる。 その間に、つぶしたニンニクをたっぷり目のオリーブオイルで熱し、塩とトマトの缶詰を突っ込んで中火で15分くらい煮詰める。玉ねぎは不要。漉すとかも不要。塊はへらでつぶす程度でおk。ごろごろしてるのも美味しい。こげないようにかき混ぜる程度の配慮は必要。その間にベーコンとピーマン程度を切っておく。で、オーブンを250度程度に余熱開始。 ここまでがんばったら、多分生地の発酵は終わってるはず。打ち粉をしたボウルか何かに生地を取り、握りこぶし程度をちぎって丸めてからのばす。で、トマトソースと具をのせて、チーズをのせて、オーブンで10分〜15分程度焼くと出来上がり。 まぁ、正直1時間はかなり厳しい線だと思うけど、この程度の配慮でそれなりのピザが出来ます。上の写真

    ピザは1時間くらいで出来る件について - @katzchang.contexts
    shozzy
    shozzy 2009/06/27
    ホームベーカリーある!食生活に変化をつけたいときにいいね!
  • 「変数は箱」という例え方について - @katzchang.contexts

    1. 変数とは値を入れる箱のようなものであること 2. 値を別の箱にコピーしても元の箱の内容は変化しないこと 3. 新しい値を箱に入れたら元の内容は消え、新しい情報で上書きされること http://d.hatena.ne.jp/tonoccho/20090623/1245765236 「変数は箱」っていう例えは昔からよくある言い方だけど、ちょっと違和感があったのでメモ。 「箱を作る」のはオブジェクトの生成で、変数に対するオブジェクトの代入は箱へのラベル付けというイメージで捕える方が無難じゃないかと思う。Javaでいうプリミティブ型の説明としては正しいけど、このままオブジェクトを考えると辛いよねと言いますか。 Javaで言えば、 "new Object()"が「箱を作る」 "hoge = new Object()"は、「箱を作る」と同時に「ラベルを付ける」。Objectの形の箱を作って、"h

    「変数は箱」という例え方について - @katzchang.contexts
    shozzy
    shozzy 2009/06/27
    「箱とラベル」も「フック」も参考になる。/とはいえ、わかるひとにはわかる世界でもあるしなぁ。新人さんとか入ってきたら、なんとか教えるしかないわけだけども。
  • 2週間でパンチェッタ的な何かを作る方法 - @katzchang.contexts

    豚のバラ肉に、重量の5%の塩と、さらにその塩の10%の砂糖をまぶして、袋に入れて冷蔵庫の奥へ。そのまま10日ばかり放置する。その後、表面の塩を水で洗い流し、扇風機とかを駆使して一晩乾燥させたら、多分べれる感じ。 写真は500gの塊が3個分。 塩漬けや保存の際、金属に直接触れさせないこと。金属が錆びて、肉ごと腐します。ラップとか、リードクッキングシート的なものを使うこと。 生でべるのもなんなので、ベーコンのように火を通す用に使うのが吉です。といいつつも、そのままべても結構美味しかったりする禁断の味。もちろん、火を通してもめちゃくちゃ美味い。これで、100g当り98円なんだぜ。 豚バラは、脂と赤身が半々くらいなのを選ぶと丁度いい感じです。写真のものは脂が若干多すぎる。ただ、じっくり火を通せばジュワッと感が出て美味しいです。赤身がほしければ、肩ロースとか使うとよいかも。 2週間程度で

    2週間でパンチェッタ的な何かを作る方法 - @katzchang.contexts
    shozzy
    shozzy 2009/06/17
    これもうまそー/プログラマーズバーベキューは、野外でどうやって電源を確保するかがポイントですねw
  • 空豆をそのままグリルして、剥いて塩で食べるのが美味しい件 - @katzchang.contexts

    魚焼きグリルに突っ込んで、10分くらい焼く。ぷっくりして、その皮に焦げ目が付けば焼き上がりです。 中の皮は、くの字にへこんだ部分を爪で横に破り、芽の方を剥けばくるりと剥けます。って、文章でどんだけ伝わるのかわからんけどw 丸焼きにして美味しい野菜って結構多い。炭火の場合、直接火の中に突っ込んで焼けばおk。茄子は炭火に直接投入で、美味しい焼き茄子が出来ます。アルミホイルとか不要。バーベキューのときにおためしくだしあ。

    空豆をそのままグリルして、剥いて塩で食べるのが美味しい件 - @katzchang.contexts
    shozzy
    shozzy 2009/06/16
    うまそう!ビールに合うだろなー。ビール飲みたくなってきた。
  • 僕とはてなと「ウェブ進化論」 - @katzchang.contexts

    1年半前の自分エントリより。 正直、あんまり評価してないんだよね。あの。 内容が「グーグル」「ロングテール」「ブログ」をサラサラっと触れている感じで、今読むと「あぁ、そんなこともあったよね」位の内容に感じてしまったのが正直なところ。ネットの「あちら側」と「こちら側」の話で情報(+システム)の供給者側と消費者側を分けてるってのも、ちょっと旧態然としたメディア業界の雰囲気というか、ビジネスのニオイを感じてしまった。 「ウェブ進化論」では全体的にイメージされているネットワークが固定的な雰囲気で、ある情報の供給者⇒再発信者⇒再々発信者⇒…という一方通行の図式が読める。 wikipediaだったりamazonによるロングテール現象に対する説明ならそれで十分なんだけど、ブログによる相互コミュニケーションでは、ある情報の供給者⇒再加工発信者⇒再加工発信者⇒…というモデルが近くて、再加工発信者の情報受信

    僕とはてなと「ウェブ進化論」 - @katzchang.contexts
    shozzy
    shozzy 2009/06/04
    「ウェブ進化論で語られた内容は「はてな」の進化とは異なる方向」同意。しかしながらその著者が取締役をやっているという。まぁ、あくまではてなはid:jkondo氏の会社だからか。
  • 1000行のメソッドは読みにくいから - @katzchang.contexts

    仕様書は必須だよね♪ …という発想について。 いやいや、その仕様書が読みにくいからコードに当たろうと思ったんだけど、甘すぎた。

    1000行のメソッドは読みにくいから - @katzchang.contexts
    shozzy
    shozzy 2009/06/01
    1000行!それは泣ける…