タグ

javaに関するmakamaka_at_donzokoのブックマーク (17)

  • 米Google、JavaコードをObjective-Cに変換するツール「J2ObjC」を公開 - @IT

    2012/09/18 米Googleは、オープンソースのコード変換ツール「J2ObjC」をリリースした。JavaのソースコードをiOSアプリ開発に使われるObjective-Cのソースコードに変換できる。 Googleのオープンソースブログによると、同ツールではJavaコードをiOSアプリケーションビルドの一部とすることができ、生成されたファイルの編集は不要。データアクセスやアプリケーションロジックといった、UI以外の部分に関するコードをJavaで記述し、それをWebアプリだけでなくAndroidアプリ、iOSアプリで共有できる。 Java 6を完全サポートしているほか、ランタイム機能のうち、例外、内部および匿名クラス、ジェネリックタイプ、スレッド、リフレクションなど、クライアントサイドのアプリケーション開発に必要な機能の大半をサポート。JUnitテスト変換と実行にも対応し、XcodeとM

  • UserAgent判定器 Project Woothee はじめました - たごもりすメモ

    UserAgent判定ライブラリはCPANに数多くあるし他の言語でも似たようなものだと思うが、ライブラリや言語をまたがって一致した結果を返してくれるようなものは存在しない(と思う)。が、特にHadoopを使うようになってJavaの事情をある程度無視できなくなってくると、これがたいへん問題に思えてきた。Javaで書かれたUserAgent判定ロジックが欲しいが、普段書くコードはJavaではない*1ので、他の言語でも全く同じように判定してくれるライブラリが欲しい。結果がい違っていたり、新しいUserAgentを判定したいときに片方だけ対応されて片方は置き去りになったりすると大変困る。 ということで、作った。v0.1.0。現状ではJavaPerlの実装がある*2。 https://github.com/tagomoris/woothee https://github.com/tagomori

    UserAgent判定器 Project Woothee はじめました - たごもりすメモ
  • Javaのhello worldの読み方 | mwSoft

    前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e

  • JavaがC++に圧勝するコード例 - LLVMとコンパイラとVM

    Author:nothingcosmos(坂頂佑樹) IT系、特にVMに関して 周辺技術の紹介等をしています。 コメント・質問はお気軽にどうぞ。 LLVM wiki twitter:nothingcosmos

  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記

    JavaScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ

    JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記
  • Java使いをScalaに引き込むサンプル集 | mwSoft

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

  • Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記

    id:ryoasaiさんと先日会社で話した内容が、「いまさらだけど、Java言語にはクロージャーがない」にまとめられたけれど、関数リテラルが利用できるという文法の話と、引数以外の外部変数(自由変数)が参照できるという機能の話が混ざっている気がします。 前者の意味では現在の Java 6 にはクロージャがないけれど、後者の意味では Java でも内部クラスで同様なことが実現できます。他の言語が内部的にクロージャをどう実現しているか詳しくは知りませんが、クロージャを導入する土台は既にあると考えています。C/C++ でクロージャを実現するよりはかなり敷居が低いかと。 「想像以上にガラパゴス化した日IT業界?」で、Groovy と Scala の比較もされているようなので、クロージャに関して、JavaScala、Groovy の違いを整理しておこうと思います。 記事で引用されている クロージ

    Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記
  • 酔生夢死 [Javardry]

    JavardryはJava製のWizクローンです。大分以前に作ったJavaScript製WizのJsardryでやれなかったことをやってみました、とかそんな感じで。Javaなので、JavaVMさえ入っていれば動く……といいですね。主にWindows 7 + JDK 8 で動作の確認を行っています。また、Linux(Ubuntu 14.04 + OpenJDK 7)でとりあえず動くことは確認してます。 Javardryの最大の売りは、JavardryEditorでシナリオを自作できることです。Wizツクールとか言えばいいんですかね。シナリオ作るの苦手だし、誰か得意な人作って公開してくれないかなーとか思ってます。ただし、エディタはとっても使いにくいです。いや、慣れれば大丈夫ですよ、多分。 Wiz #1~#3、外伝 #1~#2でやっているようなことは大体出来ると思ってもらっていいですが、一応、出

    酔生夢死 [Javardry]
    makamaka_at_donzoko
    makamaka_at_donzoko 2010/09/06
    "JavardryはJava製のWizクローンです。"
  • Java で暗号化したデータを Ruby で復号しようとしたら大変だった件 - Candy

    blowfish で暗号化するからキーはこれね、と適当なことを言われてデータを渡された。 経緯はこれ http://d.hatena.ne.jp/download_takeshi/20100819/1282173492 と殆ど一緒。 padding 方式とか暗号化方式とか一切聞かなかったのも元記事と同様。全然 Ruby で正しく復号も手元で暗号化することも出来ない。 Q. そこで私はどうしたか。 A. Rjb を使いました。 Rjb を使うことで Ruby プログラマーJava のクラスを Ruby のクラスのように使うことが出来ます。とても便利。 Ruby でどうこうするというのは早晩諦めて(いろいろ調べるのめんどくさいし時間もなかったし Java の場合のリファレンス的なものは先方から貰えたので)、 Java のクラスを Rjb 経由で Ruby から使用することにしました。 Ru

    Java で暗号化したデータを Ruby で復号しようとしたら大変だった件 - Candy
  • Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary

    JavaでRijndael(AES)で暗号化されたデータをPerlで復号化しようと思います。 「暗号方式と秘密鍵だけ聞いておけば簡単にデコードできるっしょ、余裕っしょ」とタカをくくっていたら、思いっきり天罰がくだりました。久しぶりにハマったのであります。 ちゃんと確認しておくべきだった情報 まずは暗号方式と秘密鍵だけでなく、以下の情報をしっかりと確認しておく必要アリでした。 暗号アルゴリズム 秘密鍵 秘密鍵の長さ ブロック暗号化モード IV(Initialization Vector:初期化ベクトル) padding方式 暗号のことちゃんと勉強した事がないので、なんだかよくわからんけど、必要らしい。 せめて事前にここらへんを読んで勉強しておけばよかった。 ぱせらんメモ http://d.hatena.ne.jp/pasela/20100612/crypto DESに代わる次世代暗号「AES

    Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary
  • にひりずむ::しんぷる - ライトなデーモン管理(?)ツール Nadeko を書いた

    Unix 系の OS なら daemontools を使えばいいんですが、Windows だと Service 化するとかしないといけないっぽいのでなんだかとってもめんどくさいですね。 んで、昔書いた NicoCacheTT っていうのをちょこっと改造すれば、今回の用途に合いそうなので、作ってみました。 xaicron's Nadeko at master - GitHub GUI ベースで、タスクトレイにすっぽり収まるので、場所をとりません。

  • Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記

    はじめに 順番が前後しますが、都合上「並行性」の章を先に書きたいと思います。 読んだところ 251 ページ 〜 268 ページ 前回はこちら Effective Java 読書会 10 日目 「Java の基テクニック集」 - IT戦記 同期とは何か 同期 = 原子性 + 可視性 原子性(アトミック性) データの状態遷移の過渡的な不整合な状態が(どのスレッドからも)見えないという性質。 適切に相互排他することでデータの原子性を保証できる。(保護されたコードを実行できるスレッドは一つだけ。) 可視性(ビジビリティ) (どのスレッドからも)同じ値が見えるという性質。 普通、変数やフィールドの値はスレッドごとにキャッシュ(レジスタなど)されるなどしていて、スレッド間での同値性は保証されない。 同期するというのは、原子性を保証することだけではなく、可視性も保証することだということを忘れてはいけな

    Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • 別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela

    HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli

    別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela
  • 1