タグ

ブックマーク / nowokay.hatenablog.com (12)

  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
  • さよなら「あなたとJAVA」 - きしだのHatena

    みんなから愛された「あなたとJAVA」の役割が終わったようです。 「Java」で検索するとjava.comのサイトがひっかかるのですが、このサイトは古いまま放置されていて、Javaの学習を始める人にとっての罠になっていました。 https://www.java.com/ja/ 「あなたとJAVA」というキャッチコピーの脱力感と、「ダウンロー」で改行され「ド」だけが目立ってしまう間のヌケかたから大人気のサイトでしたが、かっこいいものではない・・・ もともとはJAVA+YOUで、2008年JavaOneのキャッチコピーでした。これは大文字だけのデザインだからよかったのだけど、日語訳するときJAVAだけ大文字で残ってしまい「JAVAではなくJava」の説得力をなくさせてくれていました。 それに、ほとんどの人がJavaのプログラミングの勉強をしようとして「Java」を検索するのにJREの配布サイ

    さよなら「あなたとJAVA」 - きしだのHatena
  • JavaScriptはJavaのScript版(であろうと努力はした) - きしだのHatena

    JavaJavaScriptを混同する人に、名前がかぶってるだけの別モノという指摘がされることもあります。間違いではない。 技術的にも実務的にもコミュニティ的にもそのとおりではあります。 ただ、そう言い続けられた結果、ほんとに単にLiveScriptの名前にJavaをもってきてJavaScriptにしただけという誤解があるようです。 JavaScriptJavaのScript版、少なくともそうであろうという努力はされていました。 JavaScriptリリース時のCNETの記事には「JavaScript is based on Java」という記述があります。 Netscape and Sun Unveil JavaScript - CNET 実際には、LiveScriptにJavaから文法やライブラリなどを持ち込んでリリースにこぎつけたというのがあります。 JavaScriptのDat

    JavaScriptはJavaのScript版(であろうと努力はした) - きしだのHatena
  • Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena

    JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String

    Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena
    field_combat
    field_combat 2018/06/18
    へー
  • 新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena

    9月の頭くらいに、Javaのリリースモデルが6ヶ月ごとの短期リリースになるということが発表されてました。 で、「へぇ〜」みたいな感じで見てたのですけど、JavaOneでの話を聞くと、これ結構大変なのかも、ということになってそうなので、ちょっとまとめてみます。 追記:2018年05月の状況をQiitaでまとめています。 [Javaのサポートについてのまとめ2018 - Qiita](https://qiita.com/nowokay/items/edb5c5df4dbfc4a99ffb) Javaの新しいリリースモデル 公式情報はこちらにまとめられています。(10/4にアップデートされてます) http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html ざっくり言えば、6ヶ月ごとに機能リリースを行い、3ヶ月ごとにメンテナンス/セキ

    新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena
    field_combat
    field_combat 2017/10/10
    はっきりしたアナウンスはないっぽいけど、オラクルだしなって思われてる気がする
  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
    field_combat
    field_combat 2016/04/06
    わかりやすい。
  • Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena

    Java Day Tokyo 2015で、NECJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ

    Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena
  • JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 - きしだのHatena

    lombokは、JavaでのアクセッサやtoString、equalsなどボイラープレートなコードをコンパイル時に生成してくれるライブラリです。 ただ、こういったコードの生成は、IDEを使えば自動で行えるので、わざわざlombokを導入するまでもないと考えることもできますが、ぼくはlombokを導入するべきだと考えて、lombokを使うようにしました。 このとき「lombokを導入するべき」と考えた理由を書いておきます。 lombokとは lombokは冒頭でも書いたように、Javaのアクセッサなどを生成してくれるライブラリです。 Project Lombok import lombok.*; @Setter @Getter @AllArgsConstructor @NoArgsConstructor @ToString public class LombokSample { privat

    JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 - きしだのHatena
    field_combat
    field_combat 2014/10/17
    これ全然知らなかった。ぼっち開発だとトレンド追い切れんな
  • プログラマが勉強すること - きしだのHatena

    今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作

    プログラマが勉強すること - きしだのHatena
  • MVCは死んだ。MOVEするときがきた - きしだのHatena

    Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか

    MVCは死んだ。MOVEするときがきた - きしだのHatena
    field_combat
    field_combat 2012/07/04
    モデル/オペレーション/ビュー/イベント。クライアントサイドはこういうほうがいい気がする。
  • 九州大学医学部のほうから来たKさんの開発した「ゴーストfor文」がものすごい - きしだのはてな

    九州大学医学部のほうから来たKさん*1が開発した「ゴーストfor文」がものすごい。 普通の大人なら、1分で指定回数繰り返すfor文が書けるようになる。 やりかたは下の図を見てね。 変数iを使って5回繰り返す場合 ・iを①、②、④に入れる ・5を③に入れる ・答えは for(i = 0; i < 5; i++) これでインド人に勝てます! なお、普通に書いてるだけじゃないかという批判にKさんは Cなどでfor文の書き方を知っている人はいっぱいいます。でも、Cをやってこなかった文系学生だって一杯いるのです。そういう人がお魚のイラストで簡単にfor文が書けるようになればそれでいいじゃないですか。 などと反論しているようです。 参考:東大医学部現役合格生の開発した「ゴースト暗算」がものすごい - Togetter *1:東京からみた場合

    九州大学医学部のほうから来たKさんの開発した「ゴーストfor文」がものすごい - きしだのはてな
  • 作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな

    さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

    作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな
  • 1