タグ

ブックマーク / nagise.hatenablog.jp (8)

  • getter/setterとはなんだったのか - プログラマーの脳みそ

    Javaのgetter/setterのお話。 僕は当時を語るには若すぎるのだけど、過去を振り返って書いてみる。当時を知る人は誤りがあれば指摘してほしいし、情報があればコメントなりトラックバックなりして欲しい。前世紀の話というのは今となっては探すことがなかなか難しくなりつつある。 「privateな変数にpublicなアクセサを定義する」? - ネットの海の片隅で getter/setterとは何か Javaのオブジェクトにフィールドがあったとして、そのフィールドに値を設定するメソッドがsetter(せったー)、そのフィールドの値を取得するメソッドがgetter(げったー)と呼ばれる。慣習としてsetterはsetXXX(int value)といった様にsetから始まる名前をつけ、引数はひとつ。戻り値はvoid型。getterはgetXXX()といった様にgetから始まる名前をつけ、引数はな

    getter/setterとはなんだったのか - プログラマーの脳みそ
  • 富山の勉強会に参加する際の心構え - プログラマーの脳みそ

    IT勉強会はなにも東京ばかりで開催されているわけではない。 地方の勉強会に参加するのであれば、ついでに観光地を巡ったり、その土地の美味しいモノをべたいというのが人情である。 エントリでは富山の勉強会に来た際にべるべきものを紹介する。 氷見の寒ブリ 富山湾の王者とも呼ばれる。旬は冬。産卵期前で脂が乗ったブリは「寒ブリ」と呼ばれる。氷見(ひみ)漁港は富山湾の西に位置し、11月半ばから2月の頭ごろまでの間、定置網でとれ氷見に水揚げされた天然ブリは「ひみ寒ぶり」としてブランド価値が高い。同じ寒ブリでも石川県は能登半島に位置する七尾市の漁港に水揚げされたものは「ひみ寒ぶり」ブランドにはならない。そちらを狙う方が賢いかもしれない :-P 言わずと知れた出世魚で、サイズによって呼び方が違うが、地方によっても呼び方が変わるのでややこしい。スーパーマーケットなどでよく見かけるのは「フクラギ」で、東京で

    富山の勉強会に参加する際の心構え - プログラマーの脳みそ
    suginoy
    suginoy 2014/03/14
    ふくらぎと昆布じめ
  • 二重ループのバグ - プログラマーの脳みそ

    太郎くんはJavaでコマンドラインから渡された英文字("zero", "one", "two", "three")をアラビア数字(0, 1, 2, 3)に置き換えるコードを書いた。 public class Sample { static String[] values = {"zero", "one", "two", "three"}; public static void main(String[] args) { // \u000aHoge hoge = Hoge.outerLoop;outerLoop:do{ switch(hoge) {case outerLoop:for(int i=0; i<args.length; i++) { // 引数ループ for (int j=0; j<values.length; j++) { // 照会文字列ループ if (values[j].e

    二重ループのバグ - プログラマーの脳みそ
    suginoy
    suginoy 2011/10/24
    これはコメントアウト厨への反論として良い材料かもしれない。
  • https://nagise.hatenablog.jp/entry/20110729/1311950039

    suginoy
    suginoy 2011/08/17
  • Java 30byte FizzBuzz - プログラマーの脳みそ

    なっちゃん(以下な)「なんかさー。タイトルが無理すぎない?」 ぎぃくん(以下ぎ)「まあ流行りだからね」 せっちゃん(以下せ)「流行りって言ってもFizzBuzzを30バイトで - Togetterが1/24だし、1週間経ってるけど。どちらかと言えばオワコン?」 な「まあまあ」 ぎ「とりあえず、どのぐらい無理っぽいか見てみるかい?」 普通のFizzBuzz せ「じゃぁまあ普通のFizzBuzzをみてみましょ。」 な「FizzBuzz Javaでググって…これかな? Fizz Buzz - Semicolonless Java」 public class FizzBuzz { public static void main(String[] args) { for (int i : new int[] { 0 }) { while (++i <= 100) { if (i % 15 == 0)

    Java 30byte FizzBuzz - プログラマーの脳みそ
    suginoy
    suginoy 2011/02/02
  • 生成系デザインパターンをライブラリ化するには - プログラマーの脳みそ

    デザインパターンによる定型的な構造を何度も何度もプログラムしていると、デザインパターンそのものをライブラリ化して再利用してしまいたいと考えるようになる。 そんなさなかにジェネリクスのテクニック*1を覚えると、いままで不可能だったStrategyパターンとかAbstract Factoryパターンとかのライブラリ化ができるようになって、スゲーッ!これで怖いものなしだぜ!とか思いあがるわけだけど、他のデザインパターン、具体的にFlyweightパターンなんかをライブラリ化しようとして言語仕様上のどうしようもないところにぶち当たって挫折してしまうものなんだ。 ここでFlyweightパターンについて簡単に説明すると、同じ値を持つインスタンスは単一であることが保証されるというデザインパターンだ。Javaでは列挙型がこの挙動を示す。列は常に同じ値のものは同じ参照に集約される。Stringも近い挙動を

    生成系デザインパターンをライブラリ化するには - プログラマーの脳みそ
  • thisるぜ、超thisるぜ - プログラマーの脳みそ

    ともくんコードのお話 - プログラミングお勉強きろくのブコメで勝手にthisつけるつけない議論が繰り広げられてたのだけど、自分の意見を少々。*1 自分が新人や、オブジェクト指向慣れしていない人に教える際はthisをつけるところは全てつけるように教えている。これは可読性の話とはちょっと視点が違う。現代のIDEは構文解析した上でのシンタックスハイライトが当たり前だから、thisの有無でstaticなものとインスタンスのものを見分ける必要性がない。というか、インスタンスのメンバへのアクセス全てにthisをつけろと言う方がそもそもヒューマンエラーが起きやすいわけで、信頼できない。 可読性の話じゃないとすれば何か、ということなのだけど、オブジェクト指向慣れさせるためにthisをつけさせている。 このメソッド、あるいはフィールドへのアクセスは、どのオブジェクトに対するものなのか?それを意識させる効果が

    thisるぜ、超thisるぜ - プログラマーの脳みそ
    suginoy
    suginoy 2009/07/12
  • プログラミングハイウェイ - プログラマーの脳みそ

    プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ Re: プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ:Geekなぺーじ 実際、IT業界に身を置いていると教育機関の必要性を強く感じる。 情報工学科という学科を置く大学は数あるが、世の中に求められるのは実務としてプログラミングができる能力を持った人間だったりする。*1 情報工学科というのは座学が主体で実習が主体なわけではない。例えるならば、美大や音大のような、入学時に実技試験があり、在学中も実技を多く行うような、そういったカリキュラムの情報大学が求められている、と思う。*2 なんせ、情報工学出だろうが、情報系の専門学校出だろうが、文系大学出だろうが、新人で採るならひとしく無能だと思わなければならない。そんな出身校よりも、ホビーでプログラムするかどうかを問う方が当りの人材を引き当て

    プログラミングハイウェイ - プログラマーの脳みそ
  • 1