タグ

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

  • JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena

    夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ

    JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena
    donayama
    donayama 2014/07/09
  • コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena

    以前、「勉強会に参加しないと不幸になる話」というのをアップしました。 勉強会に参加しないと不幸になる話 - きしだのはてな このときは、勉強会x勉強会という枠だったので、「勉強会」と表現していますが、実際にはコミュニティに参加しないと不幸になる話でした。 あと、ここでの幸せ・不幸せというのは、エンジニアとして、という話で、エンジニアリング能力があがるとか、エンジニアリングの活動がやりやすいとか、エンジニアリングの活動が評価されるとか、エンジニアリングの話題を共有できる仲間が増えるとか、そういう観点です。 エンジニアとしての幸せ以外にも、人生にはさまざまな観点の幸せがある、ということは最初に補足しておきます。 会社が教育機能をもっていない エンジニアとしての幸せに大切なのは、エンジニアリング能力を上げていくことです。 ただ、2013年の産業経済省IT人材白書の概要に IT企業に対して、201

    コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - きしだのHatena
    donayama
    donayama 2014/02/25
  • 今どきのJava Webフレームワークってどうなってるの? - きしだのHatena

    昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

    今どきのJava Webフレームワークってどうなってるの? - きしだのHatena
    donayama
    donayama 2013/11/08
  • Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena

    Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気にわなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも

    Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena
    donayama
    donayama 2013/11/07
  • Sencha Touchの本を書きました - きしだのHatena

    JavaScriptリッチクライアントフレームワークのSencha Touch解説を書きました。 Sencha Touchではじめるモバイルアプリ開発―無料で使える「HTML5」&「JavaScript」開発フレームワーク (I・O BOOKS) 作者: きしだなおき出版社/メーカー: 工学社発売日: 2012/11メディア: 単行購入: 1人 クリック: 24回この商品を含むブログ (7件) を見る 表紙になぜかコーヒーカップとJavaって書いてあるのは、ぼくの管轄外です・・・。あと、キャプチャ画面、もすこしいい感じのを使ってもらうことはできなかったのか・・・。ただ、実物の色合いはもうすこし落ち着いています。 Amazonでは15日発売だけど、公式サイトによると19日発売、らしいです。どっちが正しいかは、まだ聞いてません・・・ ともあれ、目次はこちらから。 ���Ҿ�����Senc

    Sencha Touchの本を書きました - きしだのHatena
  • ヘッドフォンを常用してる人で雑音の中で会話が聞き分けづらいのは難聴の可能性 - きしだのはてな

    Twitterで、「会話のときに周りに雑音があると聞き取れない」という発言があって、ヘッドフォンを長いこと常用しているということなので、難聴の可能性があるので耳鼻科で診てもらうよう勧めました。 同様に、ヘッドフォン(イヤフォンでも)を常用していて、なんとなく雑踏のなかで会話が聞き取りづらいという人で、実は難聴になっているという人がいるんじゃないかと思ったので、ちょっとまとめておきます。 たとえば、ニュースのアナウンサーの声は聞きとれるのに、バラエティで笑い声が入ったりすると聞き取りにくいという場合には要注意です。 心当たりがある人はヘッドフォンの利用の見直しと耳鼻科での検診を勧めます。 ヘッドフォンを常用すると高音難聴になりやすい ヘッドフォン難聴という言葉は有名になってきましたが、スピーカーで音楽を聴くのとヘッドフォンで音楽を聴くのとの違いは、鼓膜にとどくまでに高音が減衰しないということ

    ヘッドフォンを常用してる人で雑音の中で会話が聞き分けづらいのは難聴の可能性 - きしだのはてな
    donayama
    donayama 2012/04/14
  • 「2冊目の本のほうがわかりやすい本」の誤謬 - きしだのHatena

    関係ないけど、誤謬(ごびゅう)を「ごしん」と読んでた時期がわたしにもありました。 で、題。 先日「C++の授業を受けて理解できなかった人が、RubyRailsをやったら簡単に理解した、Rubyすばらしい」という話がTwitterで流れていた。 ただ、これをもって、Rubyで授業やるとわかりやすい、と単純に考えてはいけない。 確かにC++はヘッダファイルやポインタみたいな、混乱ポイントがあるわけだけど、教育用途なら1ファイルに全部書くことでヘッダファイルからは逃れれるし、C++のライブラリつかえばポインタはあとまわしにできる。Rubyでも文法を淡々と初心者に教えれば「わけわかんない」という感想だけで終わらせることもできる。 なにより、このご時勢にプログラムの最初の授業をC++でやってる先生の授業がわかりやすいはずがない。わかりやすさに気をつける先生なら、JavaかC#かRubyか使ってい

    「2冊目の本のほうがわかりやすい本」の誤謬 - きしだのHatena
  • そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな

    Java入門ブックガイド(入門編)よりよき入門書と出会うために」を読んで。 第一印象として、よりよきJava入門ブックガイドに出会う必要があるなということ。 コマンドラインでは慣れ親しめない サブタイトルに「慣れ親しむことが上達の秘訣」とあるけども、コマンドラインで慣れ親しむのは難しいと思います。 「慣れ親しむことが上達の秘訣」が正しいのであれば、IDEで慣れ親しんだほうが上達するのではないでしょうか? 現実問題として、書籍を買って勉強する人は強制されて勉強するわけではないです。自分の時間をやりくりして入門書を読んでいます。 そして、まだプログラムの面白さを知りません。 コマンドラインでコンパイルエラーが出たとき、じっくりとそのエラーを読み解くのではなく、そこでくじけてやめる可能性が高いと思われます。 それよりは、IDEでエラーを入力段階で修正しつつ進むほうがいいと思います。 javac

    そろそろIDEよりコマンドラインのほうが理解が深まるという有害な妄想は捨ててはどうか? - きしだのはてな
  • Google App Engineで長い処理をタスクキュー使って実行 - きしだのはてな

    Google App Engineだと、30秒制限があって長い処理が書きにくいのですが、タスクキューは処理中に例外が発生したり30秒制限にひっかかったりすると自動的に呼び直されるので、これを使って長い処理を実行することができます。 ということは知っていたんだけど、実際どうなのかと思って試してみた。 まずこんなサーブレット書きます。 ※GAE/JはServlet3.0に対応してないので、@WebServletアノテーションは擬似コードだと思ってください。 5秒に一回QueueTestに現在値を記録するという処理を行うループを20回繰り返します。5秒×20=100秒 >> 30秒なので、確実にタイムアウトします。 タスク開始時の値をQueueLogに記録しておきます。 @WebServlet(urlPatterns="/queue/testqueue") public class TestQu

    Google App Engineで長い処理をタスクキュー使って実行 - きしだのはてな
  • Google App Engineでコードを書くと、処理のひとつひとつが課金に見える

    先週末、ちょっとしたプログラムをGAE/Jで動かして実際に使ってもらってみたのですが、そうすると、いままでテストでちょこちょこやってたときには全部のDaily Quotaが0%だったものが、数%の数字を示すようになります。 これを、ちゃんとプロモーションして多くの人に使ってもらおうとすると、課金が発生したり制限にひっかかったりしそうです。 で、たとえばDatastore APIの呼び出し回数がヤバいとして、API呼び出しを減らすためにキャッシュしようとすると、MemcacheのほうのAPI呼び出し回数がヤバくなってきます。 で、じゃあということでデータストアにデータを置くようにすると、保存量の制約で課金がかかってきます。で、それならと、データストアに置くのはシリアライズしたデータにしてデータ量が最低限になるようにすると、今度はその処理をするためのCPU時間で課金がかかってきます。 コードを

    Google App Engineでコードを書くと、処理のひとつひとつが課金に見える
    donayama
    donayama 2009/12/16
    リアル富豪的プログラミング。
  • Javaはぼくたちを裏切った - きしだのはてな

    Java SE 7 にはクロージャーが入るという話があった。 楽しみにしていた。 結局、クロージャーが入るという話はなくなった Java EE 6 は、この秋にリリースされるという話だった。 いまは秋だ。 Java EE 6はリリースされていない。 JWebPaneがJavaでのWebソリューションになるという話だった それ以来JWebPaneの話は聞こえてこない。 JSRで決まった仕様がいけてないという批判がある。 けれども、一番の問題は、JSRで決まりかけたものが、結局は提供されないということが多いことだ。 JSRでアナウンスされたものが、まったく実用化されていないし、いつのまにかそのJSRから外れている。。 もう、だれもJSRなんて信じてない。 Javaの現在の問題というのは、Mapのリテラルがないとか関数型がないとかいう話ではなく、約束を守れてないということだ。 今年の春のJava

    Javaはぼくたちを裏切った - きしだのはてな
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • 「車輪の再発明をするな」の流行は孔明の罠 - きしだのHatena

    なんかの実装がオープンソースで公開されているときに、同じ機能の実装を行うのは「車輪の再発明」で無駄な行為だといわれた時期がありました。 でも、それは「再発明」ではなく「再実装」であって、とても大切な行為です。 車輪にしたって、ブリヂストンも横浜ゴムもタイヤの開発をいまもって続けてるわけです。タイヤだけでなく、ホイールからベアリングからドライブシャフトから、「車輪」の部品については、いまだにいろいろな会社が切磋琢磨して再実装を続けているのです。 世の中に出ているライブラリを自分で実装してみるとわかることは、自分の実装を持っているという強さです。 たとえ世の中のライブラリに機能的に性能的に負けていたとしても、自分の実装というのは自分のニーズに合わせるという点でとてもいい。特に、処理の途中の値を使えるというのがいいのです。ライブラリでは、入力したら出力が返ってくるまで中身が見れないですからね。

    「車輪の再発明をするな」の流行は孔明の罠 - きしだのHatena
  • Ruby on RailsにJava2EEと同じニオイを感じる - きしだのHatena

    目立って「Railsなんか使うな」っていう記事は見当たらず、「Railsサイコー」っていうのはよく見かけるのに、なぜか実際に使った人は「やめたほうがいい」と言ってる。 「RailsのベストプラクティスはRailsを使わないこと」という名言もあった。 なんか、古き悪しきJava2EEと同じニオイがする。

    Ruby on RailsにJava2EEと同じニオイを感じる - きしだのHatena
  • 2年後にはEclipseを使う人はいなくなる - きしだのHatena

    Eclipseは「リファクタリングと補完にしか取り柄のないIDE」ですが、NetBeansは逆に「リファクタリングと補完に欠陥のあるIDE」ですね。 そこでJackpotですよ、と。 http://jackpot.netbeans.org/ Jackpotは、Javaのコードをオブジェクトとして扱ったり、そこからなにか抽出したり、変更したりするためのフレームワークです。 このルール言語のリファレンスをみると、どんなことができるか想像がつくと思います。 http://jackpot.netbeans.org/docs/rule-language.html これを見ると、リファクタリングや静的検査、コード補完なんかの仕組みが書きやすくなることが想像でします。 そうすると、NetBeansでのコード補完やリファクタリングというのは、ありえない速さで進化します。 NetBeans6が出た時点では、

    2年後にはEclipseを使う人はいなくなる - きしだのHatena
  • 中途半端のスヽメ - きしだのHatena

    結城さんの日記だったと思うんだけど、作業を中断するときは中途半端なところで置くようにしていると書いてあって、なるほどなぁと、ぼくも作業を中断するときに中途半端なところでやめるようにしてみた。 そしたら、やっぱこれがいいのです。 メリットとしては 再開しやすい。 時間の区切りがつけやすい ということがあげられます。 もうね、どのくらい中途半端かというと order.getD みたいなところで作業をやめて寝てたりします。 そうすると起きてからパソコン立ち上げて見た瞬間に、今から何をすればいいかわかるのです。 再開のしやすさ、最強。 作業やめるときにキリのいいところまでやろうとすると、結局そのキリがいいところまでいくのに時間がかかってなかなか作業を切り上げられないことが多いのですが、そんなこともなくなります。 書こうと思ってるコードがあるときには、メモとしてコメントだけを書いておきます。 つうか

    中途半端のスヽメ - きしだのHatena
    donayama
    donayama 2006/01/29
    なるほど、こうすればいいn
  • 1