タグ

javaに関するkmachuのブックマーク (121)

  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

    kmachu
    kmachu 2011/06/01
    JavaとJavaScriptを軸にしての、Webプラットフォームの変遷のお話。軽い気持ちで読み出したら、めちゃくちゃ本格的だった。僕も99年の頃はJavaとJavaScriptは同じようなものだと思ってた。
  • #appengine java night #1( #ajn1 )に参加した

    楽観的排他制御にはBigTableの排他制御+独自のチェック(またはJDOのVersion管理+自前の更新前のバージョンチェック)を使うJDOを使う場合は自動でTransactionを開始する機能が邪魔なので止めておくPersistenceManagerを開くタイミング、閉じるタイミングLow-Level APIのパラレルGETは存在しないKeyをパラメタに渡してもエラーにならないスキーマのバージョンをEntityに持たせておくとマイグレーションが必要な場合に便利 感想実はひがさんも私も予定した事を全ては伝えきれなかったのですが、それでも問題なかったと思います。発表者の発表の合間合間に会場の皆さんを交えた色々な議論が交わされた分だけ、ひがさんも私も予定より押してしまった要因なのですが、個人的にこの進み方は良かったと感じました。おかげさまでより濃い内容になったんだと思います。appengin

    kmachu
    kmachu 2009/10/03
    やっぱりLowLevelAPIですよねー。
  • 「C++ は難しいから」と言う定説 - Cube Lilac

    雑記. C++ は難しいから Java から始めた方が・・・ ここ最近(と言うか以前からずっとですが),上記のようなアドバイスを見かける機会が多かったせいか「C++ の何を指して(Java と比べて)難しいと言っているのだろう?」と言う事を単純に疑問に思うようになりました.Java 自体はほとんど使ったことないのですが*1,感想としては「どちらも大して変わらない」と言うものだったので余計に気になっています. 以下,現状で私が「これが要因かなぁ」と思っている事を列挙してみます. C++ には XXX と言うクラス/関数がない 可能性として一番高いのはこれかなぁと思っています.C++ の標準ライブラリは必要最低限のものしか(必要最低限のものさえも?)用意されていないので,他の言語と比べてライブラリの貧弱さは目立ちます.Boost を含めればかなりマシになりますが,それでもキツいかなと言う印象を

    「C++ は難しいから」と言う定説 - Cube Lilac
    kmachu
    kmachu 2009/07/14
    演算子のオーバーロードとフレンド関数あたりが難しく感じた。
  • 計算量を具体的に見てみる 2009-01-06 - きしだのはてな

    アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムのにも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();

    計算量を具体的に見てみる 2009-01-06 - きしだのはてな
    kmachu
    kmachu 2009/01/07
    グラフによる視覚化が重要
  • ゴスリングだって間違える - kなんとかの日記

    Java の父と言われる Gosling。業界内では超有名人。 そんな彼でも、間違えることはあるさ。 -- 一部では"JavaはすでにCOBOLのようなレガシーに近い"という声も上がっていますが…。 その意見にはまったく賛同しかねるね。そういうことを一部のRubyユーザなどが言っているのは知っているが、彼らが"RubyJavaに取って替わる"と主張する根拠は、単にWebアプリケーションを早く作れるからだろう。だが、(出来上がったアプリの)パフォーマンスなどを見ると、とてもJavaに取って替われる言語になるとは思えない。Webプレゼンテーション層しか扱っていないんだから。その最悪の例がTwitterだ。あの性能、UIは悪夢でしかないね。 http://journal.mycom.co.jp/articles/2008/12/03/javasfather/001.html Gosling の

    ゴスリングだって間違える - kなんとかの日記
    kmachu
    kmachu 2008/12/07
    「速度を理由に Ruby や Rails を叩きたい人は相当数いるようだ」←Javaと比べてRailsをDisりたいなら速度じゃなくてバージョン間の互換性を例に出せばいいのにね。 / それはともかく、本題はとっても参考になった。
  • なんも考えずに"リテラル".equals(s)と書け - 2008-12-04 - きしだのはてな

    "".equals(stringVariable) は改悪だろうについて。 まず、空文字との比較は場合による。というか、空文字との比較なら s != null && s.isEmpty() か s == null || s.isEmpty() などと書くほうがいい。 あと、件の問題は改悪とは言わないまでも、問題文だけをみてこれを改善といえるほどでもないので、あまり良くない。 中身があるリテラルとの比較。 基的な方針として「二通りの書き方があるとして、実行コストや記述コストが同じならより安全で判断の必要がない書き方を選ぶべき」というのがある。というか、これはコードの書き方だけではなく、すべての行動にあてはまる。判断不要で安全な方法があるのなら、それを選ぶべきだ。シャワーをまっすぐにシャワー置きにかけずに横向きにかけるというのは、これにあてはまる。確かにシャワー置きにはシャワーをまっすぐ置き

    なんも考えずに"リテラル".equals(s)と書け - 2008-12-04 - きしだのはてな
    kmachu
    kmachu 2008/12/05
    「「こちらのほうが美しい」という理由よりも、「こちらのほうが安全」という理由で書き方を選んだほうがいい。」←これは賛成。「s != null && s.isEmpty() 」と「s == null || s.isEmpty() 」の違いが曖昧になるのが危険かと思って
  • Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS

    Throwable、Exception、RuntimeException(RTE)、Errorあたりを整理しながら、色々考えてみた。私見に基づくので、間違っているかもしれないけれど、自分としては頭が整理できたかな、と感じたので晒してみる。異論があったらコメントください。 まず、一番基礎的なところで、継承関係の整理から。こんなツリーになっています。 Throwable Error Exception RuntimeException そして、稿での用語の定義。caller=呼出す側のコード callee=呼出される側(throwする側)のコードとします。 Throwable Throwableは「throw文に指定できる何か」という意味ですね。 Instances of two subclasses, Error and Exception, are conventionally used

    Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS
    kmachu
    kmachu 2008/12/03
    責任の所在を明確にして、使用する例外を決めるという考え方。いい記事。
  • 空文字チェック - NullPointer's

    http://itpro.nikkeibp.co.jp/article/COLUMN/20081125/319810/ http://d.hatena.ne.jp/Yoshiori/20081202/1228193692 どう書く?という話題は定期的に上りますね。状況にも因るので一概にどれが正解とは言えないと思いますが、Webアプリなら私もcommonsのStringUtilsに一票いれておきます。 Railsの作者、DHHはRubyではnilもオブジェクトなのを良い事に Object#blank? NilClass#blank? String#blank?というメソッドを作ってしまった。ActiveSupportの黒魔術の一つ。Railsではこの魔法の力によってnilが返る可能性を気にせずに if hoge.blank? # 何か処理 end と書くことができます。 フレームワークにも因

    空文字チェック - NullPointer's
    kmachu
    kmachu 2008/12/03
    プレゼンテーション層ではnullと空文字を同一視、ロジック層では必要に応じてnullチェック(例外or初期化)という話。これはいい考え方。
  • String の空文字判定 - 宇宙行きたい

    http://itpro.nikkeibp.co.jp/article/COLUMN/20081125/319810/ http://d.hatena.ne.jp/hayassh/20081126/1227715969 http://d.hatena.ne.jp/shin/20081128/p1 http://www.machu.jp/diary/20081130.html#p01 出来れば一番普及してほしいのは 素直に「org.apache.commons.lang の StringUtils を使う」なんだけど 書いてないので書いていく if(StringUtils.isEmpty(stringVariable)){ // なにか処理をやる } まぁ、Null チェックが必要ならそれを明示的に書くのが前提ですけどね>< 依存が嫌とか色々あると思うけど commons 系は常に使えると嬉

    String の空文字判定 - 宇宙行きたい
    kmachu
    kmachu 2008/12/02
    ちょっと考えたけどnullを真にするCommonsのほうがnullを偽にするITproよりも悪影響が少なそうに思った。 / 本来はそもそもnullを入り込ませないようにするのがベストなんだろうなぁ。SQLでもNULLは特殊だし。
  • COOL ONLINE - JAPAN - JAPAN ONLINE

    Washoku, the term for traditional Japanese cuisine, represents a profound aspect of Japan’s rich cultural and culinary heritage. Recognized by UNESCO as an Intangible Cultural Heritage of Humanity, Wa...

  • if("".equals(ほにゃらら))はぬるぽ怖い病の名残 - novtan別館

    前やってたところでも良くやっていた。オブジェクトじゃなくて定数を先に書くと云々。まあ、そこではnullと空文字は区別しなさいという掟がありましたので、先に空文字を判定していただけではありますが。 Javaで「if(stringVariable.equals(""))」と記述したとします。「stringVariableという文字列変数が何もない文字列であるときは」という意味のif文です。このif文は,もう少しうまい方法で記述可能です。それは次のどれでしょう? http://itpro.nikkeibp.co.jp/article/COLUMN/20081125/319810/ で正解が「if("".equals(stringVariable))」なんだけど、それは「うまい方法」ではないよね。あくまであるコーディングルールがあるとき、それを守るための一手段に過ぎないわけだ。 案の定ツッコミが。

    if("".equals(ほにゃらら))はぬるぽ怖い病の名残 - novtan別館
    kmachu
    kmachu 2008/11/30
    「ぬるぽよりも本当に怖いのはぬるぽを隠蔽する心なのでありました。」
  • フルートレッスン戦争記:Javaのサイズ0文字列判定 - livedoor Blog(ブログ)

    kmachu
    kmachu 2008/11/30
    「実際私もこの手のコーディングにはよく遭遇し、またその使用を強要されることもしばしばありました。」
  • 次のJavaコードはどう改良できる?:ITpro

    Javaで「if(stringVariable.equals(""))」と記述したとします。「stringVariableという文字列変数が何もない文字列であるときは」という意味のif文です。このif文は,もう少しうまい方法で記述可能です。それは次のどれでしょう? ●解答を送信いただくと,すぐに正解と詳しい解説をご覧いただけます。

    kmachu
    kmachu 2008/11/30
    言及した
  • 改良? - ひたすらプログラミング日記

    http://itpro.nikkeibp.co.jp/article/COLUMN/20081125/319810/ こちらの記事なのですが、今日1日ずっと気になってたので。 一応言っておくと自分は正解でした。でしたが、腑に落ちないんですよねぇ。確かにヌルポが防げるというのはわかるのですが、そもそもその時点(if文の時)で変数がNullである場合ってバグの可能性が高いじゃないんですかね? 仮にそういう場合に「ヌルポで落ちるの嫌!」→「でも変数がNullであるかどうか不安」→「だから""のequalsで比較!」って事だとちょっと嫌だなぁ。そういうプログラムに今まで何度も出合ったことはありますが、どうも馴染めないです。 仮に「正常なプログラムの流れとして変数がNullの可能性もあるから」という状態なら if(hoge != null && hoge.equals("")) と書くのが可読性は

    改良? - ひたすらプログラミング日記
    kmachu
    kmachu 2008/11/30
    賛成。テクニックに走るのではなく入力条件にnullを許容するかどうかを明記すべき。
  • 小ネタ千夜一夜 第1夜 - しんさんの出張所 はてなブログ編

    きしださんの一連のエントリで新しいネタである必要がないということに衝撃を受けたので、小さいTipsをいろいろと思いついたときに書いていこうと思う。 記念すべき第1夜の今回はJavaによる環境変数の取得。これもネタとして新しいものではありませんな。知っていて当たり前の情報。 J2SE 5.0からは環境変数の取得ができるようになった。昔は出来ていたのでいまさらなのだが、実は新しいメソッドも追加されている。 java.lang.System public static Map<String,String> getenv() 戻り値を見てわかるように環境変数の一覧が取得できるようになったのだ。 以下サンプルコード。 public static void main(String[] args) { for(Entry<String,String> e : System.getenv().entryS

    小ネタ千夜一夜 第1夜 - しんさんの出張所 はてなブログ編
    kmachu
    kmachu 2008/11/24
    「JavaSE 6 update10はまじでVM起動が一瞬」 / Java6でJRubyを動かせばいい感じかな?
  • なぜ今頃 - しんさんの出張所 はてなブログ編

    concurrentパッケージの使い方を知らない人が結構いて驚き。5年位前に話題になってたきがするけど。きしださんのことだからupdate10で何か大きく仕様が変わったとおもっちまったぜ。もしかしてSystem.nanoTime()とかSystem.out.printf()とか一般的に使う頻度の高い命令も知らない人もいるだろうか。 当にJava2SE5.0すら普及してないんじゃないかと思わずにはいられない。みんな知ってると思うけど5.0ですらもうEOL(End Of Life)移行フェーズに入っているんだぜ? というわけで5.0や1.4.2からアホみたいに速くなったJavaSE6はよう普及しる。update10でさらに加速したし。 ちなみにこのJavaSE 6 update10でNetBeans 5.5を起動するとキャッシュに入った2回目以降はなんと2秒くらいで起動する。あーやっぱり6.

    なぜ今頃 - しんさんの出張所 はてなブログ編
    kmachu
    kmachu 2008/11/20
    1.4のシステムが多く残っていることと、5.0対応の良い入門書が存在しないことが原因?
  • なんかみんな大人になって技術への興味は薄れたのかな~とか思う - きしだのはてな

    Javaやってた人のブログ見てると最近は、元請がどうとか下請けがどうとかあのフレームワークの方針が変わってどうだとか、ブログやらプレゼンでいかにウケるかとか、なんかもう技術にあんまり興味がないんじゃないかと思ったりする。興味があってもそれどころではないとか。 前は、だれのブログを見ても必ずJavaのソースがあるとか、いかにコードを書くかという話だった感じだけど、いまはいかに仕事をするかとか、いかに生きるかとか。技術話から業界話にシフトしたのか。 全く書かなくなったというわけではなくて、全体として減ったという感じがする。 みんな大人になったってことだろか。 技術話をブログに書かなくなったのか。 気のせいか? 気のせいだよね。 たぶん、あさってくらいにRSSまとめ読みしてたら、なんかみんなのブログにJavaコードが書きまくってあったりするんだよね。 そうだよね。 きっとそうだ。 じゃあ安心だ。

    kmachu
    kmachu 2008/10/22
    今だからこそJavaを見直してほしいんだけどなー。
  • Tokyo Rubykaigi 01 t-wada

    アジャイルサムライ』の次に読むオススメの (プロセス系ではなく技術書) を Agile Samurai Base Camp TDDの部、講師 6 人で投票した結果の書影まとめです。 Apr 20, 2014 @ Agile Samurai Base Camp

    Tokyo Rubykaigi 01 t-wada
    kmachu
    kmachu 2008/10/04
    JavaからRubyへの移植
  • [JSF][NetBeans]入力値の検証方法

    JSF1.2でNetBeans6.5のVisual Web JSFを使った場合の入力値の検証について書いてみようと思う。 実装のサンプルは、話を簡単にするために以下の条件に絞って実装をしてみた。 テキストボックスには必ず値を入力しなければならない。 入力する値は数字である必要がある。 さらに入力された値は1~10の間の数字でなければならない。 未入力時には「必須入力項目です」と表示し、1~10の数字でない場合は「1~10の数値を入力してください」と表示する。 JSF 1.2の入力値の検証 JSF1.2の入力値の検証は、大きく3つの検証のフェーズでチェックされる。 必須入力項目化どうか? 何か入力されている場合は、入力値は何型かどうか? 型変換後の値は、どういう値でなければならないか? 1は、requiredプロパティで指定する。boolean型なのでtrue(必須入力)かfalse(必須で

  • atword.jp - このウェブサイトは販売用です! -  リソースおよび情報

    kmachu
    kmachu 2008/07/25
    「みんなHibernateかiBatisでやってるのに、うちだけいまだにJDBC。」←フレームワークを「使える」ことが必ずしも「Javaができる」こととは限らないと思うなぁ。JDBCでも効率よく使えるように工夫していればいいと思った。