BizReach 社にお邪魔して発表したときのスライドです。
最近新人研修(プログラミング未経験者・大学で専攻など、ごちゃまぜ)に関わることがありました。 適当なタイミングでEclipseのショートカットキーを教えていたのですが、実演してあげると食いつきがよかったです。 ウケがいい≒新人から需要があるといえそうですし 教えるほうも教わるほうもモチベーションを保ちやすいです。 その点で、ウケるかどうかは大切な視点のひとつだと思います。 なので、ウケのよさランキングの形式で、ショートカットを紹介したいと思います。 環境は、WindowsでPleiadesのやつ(http://mergedoc.sourceforge.jp/ )を使って、Javaを教えていました。 第20位 ctrl + alt + k スネークケースとキャメルケースの切り替え 変数名やメソッド名を選択した状態でctrl + alt + k 教えていたのはJavaなのですが、C言語のように
あ、まず前提として、 貴女がJava大好き男を夢中にさせることが、 はたして貴女を幸福にするかどうか、それはまた別問題だけれど。 とはいえ、Java大好き男たちは玉石混交ながら、 大手SI系の給料高い男なども多く、 したがって、釣り師たる女たちにとっては、 なかなかあなどれない釣り場です。 では、Java大好き男に「どのIDEが好き?」と訊ねられたとき、 貴女は、どう答えれば理想的でしょう? まず最初に、その男がAndroidのようなタイプの携帯アプリと あとはJavaScript、そして(アプリ公開するほどではないけれど)iPhoneアプリが大好きな、 そんなタイプの場合は、 貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、 「わたしが、いいIDEを作ってあげる♪」 これこそまさに必殺の答えです。 そこでJava大好き男が、えへへ、とやにさがったならば、 貴女は、
やあ、3月に延期になったとはいえ、Java 8リリースが具体化してきましたね。 もうこれで、Lambdaがはずれるとかいうことはなさそうです。 ところで、Java 8で関数型っぽいことができるようになってうれしいのですが、ちょっと記述が冗長です。ということで、短く書けるおまじない考えてみました。 Function型 さて、まずはJava 8で標準で入ったFunction型をみてみましょう。パッケージ名まで含めるとjava.util.funciton.Functionです。 こんな感じで使います。 Function<String, String> enclose = s -> "[" + s + "]"; Genericsでの型指定の最初が引数、あとが戻り値の型です。ここではStringをとってStringを返す関数としてencloseを定義しています。 これを呼び出そうとすると、こんな感じ
Java 8 では JSR 335: Lambda Expressions が取り入れられます。 これを使うと Pure Java でありながら「どう見ても Scala」というコードが書けるようになります。 主に私がメンテナンスしている ScalaFlavor4J というライブラリがあります。 https://github.com/m3dev/scalaflavor4j Java 7 まではこんな感じで使う必要がありました。 Seq.apply(1, 2, 3, 4, 5).filter(new F1<Integer, Boolean>() { public Boolean apply(Integer i) { return i > 2; } }); // -> Seq.apply(3, 4, 5) しかし、Java 8 ではこんなにシンプルに書けてしまいます。 Seq.apply(1,
あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyやPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー
<H2> フレーム関連の警告</H2> <P> このドキュメントはフレーム機能を使って表示するように作られています。フレームを表示できない Web クライアントの場合にこのメッセージが表示されます。 <BR> リンク先<A HREF="overview-summary.html">フレームなしのバージョン</A>
FastRubyはRubyをJavaに変換するコンパイラーです。 Rubyは1.9系になり、高速化されました。現在開発中の2.0系になればさらに高速化されるでしょう。そんな中、さらに高速な実装を目指しているのがFastRuby、RubyからJavaに変換するソフトウェアです。 実行します。 生成されたJavaのコード。 筆者環境ではJavaを実行するとエラーになってしまいましたが、RubyのコードからきちんとJavaが生成されました。JRuby向けに書かれたコードをJavaに変換することで、さらにコンパイルして実行速度を高めるという仕組みのようです。 FastRubyはJava製のソフトウェア(ソースコードは公開されていますがライセンスは明記されてません)です。 MOONGIFTはこう見る 言語の壁を乗り越えるようなプロジェクトが最近の流行かも知れません。JavaScriptで作られた各言
ビルドツールとしての『Maven』。 そしてMavenをスキルとして昇華していく私なりのルートを 紹介したいと思います。 まずは『インストール』。 私は以下サイトさんをよく拝見させてもらってます。 他の記事も基本的なところから深いところまで記述されていてすごいです。 [ひしだまさんの技術メモ] http://www.ne.jp/asahi/hishidama/home/tech/apache/maven/install.html 『使い方』 以下サイトで勉強しました。 [TECHSCORE] http://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/ Mavenのバージョン2を扱っていますが、基本的には同じなのでかなり勉強になります。 ここでだいたい理解したら、本家Mavenの"Learning about Maven"を眺め
JavaEE Advent Calendar 2012 の19日目の記事です。 昨日は@n_agetsuさんの JSF2.0でボタンの2度押しチェックをするでした。 明日は@hiranasuさんのNativeQueryじゃだめ?~JPAクエリ表現ごとのパフォーマンス比較です。 Java EEの何について書こうかなと思ったのですが、これからJavaを始めようと思っている若い世代が迷わず簡単に始めることができるJava EE開発のスタートについて書こうかなと思います。 Java EEの開発はRails等のフルスタックなフレームワークとは違いライブラリやフレームワーク、IDE、テスト等の情報が種類も多くいろんな場所に散らばっていてる為、初心者が全容を把握することはなかなか困難な状態です。 また長年のJava開発の中でWeb上の情報も古くなってしまっているものが多く、今からJavaを始めようとする
2012-05-30 (鈴) 1. はじめに 2. jni ディレクトリと Android.mk 3. Ruby から Java へのコールバックと mruby.h へのパッチ 4. Java から Ruby へのネイティブ・メソッド呼出し 5. Android アクティビティからのインタープリタの構築 6. おわりに Web 閲覧用ソース: AndroidManifest.xml jni/Android.mk jni/mruby-oa.c native メソッドと Ruby からのコールバック関数の実装 jni/mruby.h.diff jni/mruby/include/mruby.h へのパッチ src/…/AbstractConsole.java 抽象化されたコンソール src/…/Interpreter.java mruby インタープリタのラッパ src/…/android/C
最近注目を浴びている分散処理技術「MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) Javaはネットワークを利用した分散処理にも強い Javaはネットワークプログラミング向けのjava.netパッケージが標準で備わっていることからも分かるように、もともとネットワークを強く意識した言語仕様となっています。そのため筆者は、「Javaはネットワークを利用した分散処理にも強い」というイメージを持っています。前回の「GoogleのMapReduceアルゴリズムをJavaで理解する」で説明した、分散処理技術で最近注目を浴びているMapReduceもJavaによる実装があります。 それは、Apache Hadoopプロジェクトで開発されているものです。このプロジェクトは、もともとはオープンソースの検索ソフトウェアであるAp
JavaSE6以降ではJavaアプリケーションの起動時にスプラッシュスクリーンを表示できるオプションが加わった。 これはアプリケーションのクラスがロードし終わるまえにJava実行ファイル側が表示してくれるものであるため、可能な限り早い段階で画面に表示される。 Javaアプリケーション、とくにSwingなどのGUI画面をもつアプリケーションは多数のクラスを読み込む必要があるため、それ自身が、いくら数キロバイトという小さなアプリケーションであったとしても起動するまで数秒は要すという欠点がある。 (起動してしまえば、けっこう速い。) この遅さは「あれ、操作まちがえたかな??」とか「もしかして、このアプリ、壊れている??」とか不安になるくらいには十分な時間があり、可能であればスプラッシュを表示して「読み込み中なんだ」とユーザに知らせるのは、ほとんど義務といってよいくらいである。 このスプラッシュに
はじめに 『Java言語プログラミングレッスン第3版』は、Java言語の入門書です。 本書を通して、Java言語を基礎からていねいに学ぶことができます。 本書は1999年の出版以来、本当に数多くの読者さんからの応援を受け、ロングセラーとなりました。 本書では、Java言語を基本からていねいに解説しています。 読みにくい用語にはルビを振り、初心者でも読みやすくなっています。 また、クイズや練習問題で自分の理解を確かめながら進むことができます。 「上巻」ではJavaの基本的な文法を解説し、 「下巻」ではオブジェクト指向言語としての特徴を中心に解説しました。 本書も、引き続きJava言語を学ぶみなさんのお役に立ちますように。 書籍に掲載されたプログラムリストのダウンロード 書籍中に登場したプログラムリストを以下からダウンロードできます。 ZIPファイルを展開後、readme.txtファイルをお読
JavaのWebアプリケーションフレームワーク なかなか使いやすいらしい。 Wicketを使うと、Swingのようなプログラミングが可能となる。すなわち、GUI要素のツリーをメモリ上に構築して、イベントハンドラを定義するようなプログラミングである。サーバ上でGUIの構成要素のツリーを作っておくと、フレームワークとGUI部品のクラスが連携して、HTMLページを生成してくれる。ブラウザ上でボタンクリックなどのイベントがあると、フレームワークがJavaScriptを駆使してサーバにイベントを伝達し、サーバ上でイベントハンドラを呼んでくれる。 Apacheプロジェクトの一員になっている。 NetBeans用のプラグインはここ https://nbwicketsupport.dev.java.net/ Eclipse用プラグインはここ。機能は少なめ…、かも。 http://code.google.c
This might have been hidden somewhere between the lines, but you can now run Java on iOS devices. Oracle found a solution for the "iOS can't run Java" problem, and released it in the new Oracle ADF Mobile solution. This enables you to use Java to write the logic layer of on-device applications that run on iOS devices such as iPads and iPhones (oh, and the same code and application will also run on
2012/09/18 米Googleは、オープンソースのコード変換ツール「J2ObjC」をリリースした。JavaのソースコードをiOSアプリ開発に使われるObjective-Cのソースコードに変換できる。 Googleのオープンソースブログによると、同ツールではJavaコードをiOSアプリケーションビルドの一部とすることができ、生成されたファイルの編集は不要。データアクセスやアプリケーションロジックといった、UI以外の部分に関するコードをJavaで記述し、それをWebアプリだけでなくAndroidアプリ、iOSアプリで共有できる。 Java 6を完全サポートしているほか、ランタイム機能のうち、例外、内部および匿名クラス、ジェネリックタイプ、スレッド、リフレクションなど、クライアントサイドのアプリケーション開発に必要な機能の大半をサポート。JUnitテスト変換と実行にも対応し、XcodeとM
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く