タグ

javaとJavaに関するkurumaiのブックマーク (159)

  • バカ向け言語 Scala - だらだらしてたいなぁ

    なぜScalaがバカ向けなのか。 ぼくの経験を元に、バカ向け言語と非バカ向け言語を比較しながら見て行きましょう 非バカ向け言語 C プログラマーとして最初に携わったのがC言語です。 それは以下のようなものでした。 何十ものファイルにまたがるグローバル変数 緻密な制御が必要であるにも関わらず、無秩序に取得/開放が行われているメモリー管理 このような複雑な構造を、ぼくのようなポケコン並の処理能力しか持たないバカに把握可能でしょうか。もちろん不可能です そこで、次のようなコーディングを心がけました。 グローバル変数を使わず、関数に引数を定義して渡す メモリーの取得/解放を同一ファイル内に限定する これで、メモリーや変数参照の影響範囲を限定し、ぼくのようなバカでも理解できるようになります。 ですが、わざわざそんな事をやらなくても全てを理解できるエリート様達は、 「なぜ引数で渡すんだ。グローバル変数

    バカ向け言語 Scala - だらだらしてたいなぁ
  • 第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp

    なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ

    第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp
  • javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ

    最初は誰しもがファッ!?となるんですよねロガーって。 いずれtree-tipsで公開しようと思っている、solrのプロジェクトを今作っています。mavenでjarを管理している訳ですが・・ なんだこのロガーの数は!! commons-logging、log4j、slf4j-api、jcl-over-slf4j、logback-classic・・・・、こいつら一体何が違うんだ!どう使い分けるんだ!そもそも必要なのか!?となりました。 昔はcommons-logging+log4jというのがトレンドだった訳ですが、今はslf4j+logbackがトレンドになり、jdkも1.4から1.7になり、これらトレンドが推移する過程で、いろいろなjarが旧式に依存してしまい、旧式依存を解決するためにアダプタが登場し始め、mavenでjarを収集すると大抵両方入ってしまい、カオスになっているのです。 特にs

    javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ
  • TwitterがJava標準化プロセスのJCPに参加表明

    サービスのプラットフォームをRuby on RailsからJavaへ移行することを明らかにしているTwitterが、Javaへの関与をさらに深めようとしています。 同社は10月4日付けのEngineeringブログにて「Twitter, Open Source and the JVM」というエントリをポストし、Java標準化プロセスに関わる団体「Java Community Process」(JCP)と、Javaのオープンソース実装である「OpenJDK」への参加を表明しました。 その同じ日にサンフランシスコで開催中だったJavaOneの基調講演でも、同社Runtime Systemsのディレクター Rob Benson氏がステージに登場しJCPとOpenJDKへの参加を表明しています。 性能や計測の面でOpenJDKに貢献 ブログの中で同社はJavaVMが同社のインフラにとって非常に重要

    TwitterがJava標準化プロセスのJCPに参加表明
  • Play-ing in Java

    Java and I go way back. It was the first language I ‘went steady with’ when I started my professional career after graduating from college (contrary to popular belief, I’m not illiterate) and it was love at first sight. We were a steady, reliable couple for many years and I was even at the 2000 JavaOne conference where they announced the ruling to breakup Microsoft during its long antitrust saga (

  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
  • ApacheのアクセスログをSQLで解析する - terazzoの日記

    Apacheのアクセスログ(CustomLog)を読み込みJoSQLを使って絞り込んだり集計したりしてみる。 前提 パーサの処理をはしょったりする為にいろいろ条件を決めておく。 ログ出力は空白区切り。(CLFやCombinedと呼ばれるような形式) 空白を含む要素は「"」で囲む 「"」内の「"」は「\"」とエスケープされている 対応するフォーマットは「%h」「%l」「%u」「%t」「%r」「%s」「%b」「%{<ヘッダフィールド名>}i」のみ 日付(%t)はCLFフォーマットのみ対応(%{}tは非対応) 「%s」と「%>s」の区別は付けない 要素の順序は入れ替え可能(LogFormatの書式で指定) 方針 コマンドラインからjavaを起動して実行する sample.josql.LogQueryというクラスのmain()で処理を実行する。 クエリ文字列およびファイルパスはコマンドライン引数で

    ApacheのアクセスログをSQLで解析する - terazzoの日記
  • ConQATを利用してソースコードの品質をチェックする - 達人プログラマーを目指して

    ある程度プログラマーとして経験を積めば、ソースコードを読んだときに、そのソースコードの良し悪しというものは、嗅覚を使って直感的に嗅ぎ分けることができるものです。実際、そのように体の感覚を使ってこのコードは不吉だと感じるところは実際大いにあり、コードの臭い(code smell)として知られています。 コードの臭い - リファクタリングの必要性を示す兆候 これはファウラーの名著 リファクタリング―プログラムの体質改善テクニック (Object Technology Series) 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史出版社/メーカー: ピアソンエデュケーション発売日: 2000/05メディア: 単行購入: 94人 クリック: 3,091回この商品を含むブログ (312件) を見るでも紹介されており、こういった不吉な部分を適切に嗅ぎ分け

    ConQATを利用してソースコードの品質をチェックする - 達人プログラマーを目指して
    kurumai
    kurumai 2011/06/14
  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • Java SE コアAPI 使用コード例一覧 - @IT

    IT編集部 2009/3/24 最終更新: 2012/04/11 17:57 このページは、Java開発者/プログラマのための、Java SE(旧、J2SE)のコアAPIの使用コード例の記事へのリンク集です。パッケージごとに表でまとめてあります。メソッドやコンストラクタ、例外などAPIの使い方の参考にしてください。パッケージやクラスの並び順は、標準のJavadoc(「Java Platform, Standard Edition API 仕様」)と同様にしています。 すべてのクラス java awt(Abstract Window Toolkit) event image io(In/Out) lang(LANGuage) reflect math(MATHmatics) net nio(New In/Out) charset(CHARacter SET) rmi(Remote Meth

    kurumai
    kurumai 2011/02/16
  • Java使いをScalaに引き込むサンプル集 | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 記事では、ScalaJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaJava

  • Amazonクラウド、ついにJava対応PaaSの「Beanstalk」発表。Ruby on Rails対応も準備中

    Amazonクラウド、ついにJava対応PaaSの「Beanstalk」発表。Ruby on Rails対応も準備中 Amazonクラウドが発表した「AWS Elastic Beanstalk」は、まぎれもなくJavaのPaaS(Platform as a Service)であり、グーグルGoogle App Engine、セールスフォース・ドットコムのForce.com/VMforceと並ぶ、企業向けのJava対応クラウドプラットフォームサービスとなるでしょう。Amazonクラウド自身もBeansTalkの説明ページでこれがPaaSであると紹介し、PaaSへの参入を認めています。 しかも今回のJava対応に続き、Ruby on Rails対応を進めていることもプレスリリースの中で明らかにされています。AmazonクラウドはIaaSのサービスを充実させる段階を終え、PaaSへと大きく踏み

    Amazonクラウド、ついにJava対応PaaSの「Beanstalk」発表。Ruby on Rails対応も準備中
  • Project Coin

    このエントリは Java Advent Calendar -ja 2010 の一環です。 さて、何を書こうかいろいろ悩んでいたのですが、やっぱり櫻庭といえば Java SE の新しめのところというイメージがあると思うので、新しいところを取りあげようと思います。 で、取りあげるのが Project Coin です。 Project Coin は Java 言語仕様の小さな変更を行なうためのプロジェクトです。昔の言い方であれば Ease of Development に相当して、もっと簡単に書けるようにすることが目的です。 この Project Coin は来年リリース予定の Java SE 7 で導入されます。ところが、Project Coin のほとんど機能はすでに OpenJDK に実装済みです。 ということで、すでに使える Project Coin を使ってみてみましょう。ここでは J

    kurumai
    kurumai 2010/12/23
  • JD | Java Decompiler

    Yet another fast Java decompilerThe “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-Core is a freeware library that reconstructs Java source code from one or more “.class” files. JD-Core may be used to recover lost source code and explore the source of Java runtime libraries. New features of Java 5, such as annotations

    kurumai
    kurumai 2010/12/23
  • Kyoto Tycoon に MessagePack-RPC をプラグインして Java から使う - Blog by Sadayuki Furuhashi

    Tokyo Cabinet を始めとする Tokyo シリーズの作者として知られる平林幹雄さんですが、Tokyo シリーズに続く新製品として、Kyoto シリーズがリリースされています。 Kyoto Tycoon(以下KT)は、ネットワーク経由で使えるデータベースサーバで、Tokyo Tyrantの後継製品に当たります*1。 KT は HTTP ベースのプロトコルで操作することができますが、別のプロトコルを追加することもできます。 実際に memcached プロトコルのプラグインが標準でバンドルされています。(memcachedプロトコルをKTにプラグインする) と言うわけで、KT を MessagePack-RPC で使えるようにするプラグインを書いてみました。github からダウンロードできます。 kt-msgpack kt-msgpack downloads MessagePac

    Kyoto Tycoon に MessagePack-RPC をプラグインして Java から使う - Blog by Sadayuki Furuhashi
    kurumai
    kurumai 2010/12/15
  • http://agilecatcloud.com/2010/12/11/oracle-%E3%81%AB%E6%96%AD%E5%9B%BA%E6%8A%97%E8%AD%B0-%E3%81%A4%E3%81%84%E3%81%AB-apache-%E3%81%8C%E3%80%81java-executive-committee-%E3%81%8B%E3%82%89%E8%84%B1%E9%80%80-cloud-cloudcomputing-apac/

  • JavaVM対応のWebフレームワークを比較する

    SpringやStrutsやGoogle Web Toolkitなど、たくさんあるJava VM対応のWebフレームワーク。どれがどのような特徴を持ち、何を選べばいいのでしょう? 11月15日から行われたJava開発者が集うイベント「Devoxx 2010」。このイベントで行われたMatt Raible氏によるセッション「Comparing JVM Web Frameworks」(JVM Webフレームワークの比較)のプレゼンテーションが、同氏のブログにポストされたエントリ「My Comparing JVM Web Frameworks Presentation from Devoxx 2010」で公開されています。 その内容は、開発者の方々に非常に参考になるのではないかと思うので、全56枚のプレゼンテーションの中からポイントとなる部分を紹介します。 評価優秀とされたのはSpring、GW

    JavaVM対応のWebフレームワークを比較する
  • Google App Engine上でJUnitを実行する·Kotori Web JUnit Runner MOONGIFT

    Kotori Web JUnit RunnerはGoogle App Engine用/Java製のオープンソース・ソフトウェア。Google App EngineではJavaが選択できるようになったことで開発者の裾野が大きく広がった。開発からデプロイまでスムーズに連携し、とても便利なプラットフォームと言えるだろう。 テストを選んで実行 だがGoogle App Engineは通常のホスティングサービスと異なり様々な制約がついている。そのため手元の環境では動いてもサーバ上にデプロイすると動かない、なんて問題も発生する。そこで使っていきたいのがKotori Web JUnit Runnerだ。 Kotori Web JUnit Runnerはローカルはもちろん、Google App Engine上にデプロイした状態でもJUnitを実行できるソフトウェアだ。画面は二分割されており、左側でテストを

    Google App Engine上でJUnitを実行する·Kotori Web JUnit Runner MOONGIFT
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ
  • iBATISを使ったO/RマッピングによるDBアクセスの実例

    はじめに iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。 特にSQLを多用する人には使いやすいフレームワークです。 SQLは使いたいがJDBCは低レベルすぎる 高機能なO/Rマッピングフレームワークは難しすぎる ソースコードからSQLを分離したいが動的なSQLの実装も必要 このようなケースで、iBATISは特に有効です。 記事では、たくさんのサンプルソースを解説することで、「iBATISを使えばこんな風に書ける」ということが分かるようにしています。環境設定や、設定ファイルについての細かい説明は簡略化してあります。 対象読者 Javaの基をマスターしている人 SQL文を理解している人 必要な環境 iBATIS 2.3.0、

    iBATISを使ったO/RマッピングによるDBアクセスの実例