わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……
![はてなブログ | 無料ブログを作成しよう](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……
はじめに 「Apache Struts」(以下、Struts)とは、Web開発のデファクトスタンダードとしてあまりにも有名な、Java言語で書かれたオープンソースのWebアプリケーション・フレームワークです。JavaでのWeb開発者には、もはや説明する必要はないかもしれません。 最初のStruts(以下、Struts 1)がリリースされる2001年以前は、JavaでのWebアプリケーションというと、JSPとサーブレットを直接用いたアプリケーションが一般的でした。そのため、ちょっとしたアプリケーションでも、けっこうなコード量が必要だったのですが、Struts 1のフレームワーク機能により、煩わしい記述の手間がずいぶん少なくなり、Webアプリケーション開発の敷居がぐっと下がりました。 本連載は、そんなStruts 1の次世代バージョンであるStruts 2を紹介します。Struts 2は、字面
Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが
tumblr-java is a java library for the Tumblr API. Notes: xAuth is the only supported authentication. The library uses a mix of the v1 and v2 Tumblr APIs. The v1 API is used for creating new posts. Everything else uses the v2 API. This is mainly because file uploads using the v2 API are problematic. Creating a post returns the HTTP status of the request. Everything else returns a JSONObject. Tumblr
はじめに 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世
By Partho, Gaea News Network Thursday, October 15, 2009 There are a majority of enterprises running Java applications and working on Java web development framework. What remains to be seen is that a number of companies are tied to the conventional web development framework and haven’t actually started to anticipate what could be the best Java web development framework. Even the JavaOne might hold
About ホーム ライセンス ダウンロード 変更履歴 ロードマップ メーリングリスト トラッキング SVN リポジトリブラウザ General 環境 開発環境のセットアップ 実行環境へのデプロイ FAQ プレゼンテーション資料 Teeda Core 概要 サンプル解説 Teeda Extension 概要 ファーストステップ チュートリアル サンプル解説 概念 逆引きリファレンス リファレンス Teeda Ajax 概要 Kumu プロジェクト文書 プロジェクト情報 プロジェクトレポート モジュール Teeda Teeda Core Teeda Extension Teeda Ajax Teeda Tiger Teedaは,Seasarプロジェクト発のJSF (JavaServer Faces) をベースとしたWebアプリケーションフレームワークです. 「JSF meets DI x A
Java Advent Calendar 2011 の18日目です。 17日目の記事は JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう2、 19日目はJavaエバンジェリストの寺田さんですよ。乞うご期待。 プロローグ 後:「先輩、いまさらなんですけど上からSQLの遅いところを調査してくれって依頼がきてて、全クエリの実行時間を実データで集計とれと言ってるんですけど。これ、SQL発行前後で時間計測するしかないですかねー。このプロジェクトどんだけクエリ発行してるところあるんだろ…。簡単にやれないですかね。とりあえず調査に1週間かかるって返答しちゃいましょうか」 先:「まぁまて。全部のクエリにもれなく時間計測のコードを挿し込むとかやってられんし、手作業で漏れも発生するだろ。こういうのはオブジェクト指向で解決するのがスマートだ。あ、とりあえず調査に1週間かかるとは返答しておけ」
原文(投稿日:2011/11/30)へのリンク Yammerの従業員であるCoda Hale氏がScalaの商用ベンダであるTypesafe社へ送ったメールがYCombinatorとGitHubのgist経由でリークした。メールによれば、Yammerは複雑さや性能面を鑑みて、基盤のインフラをScalaからJavaへ戻すそうだ。 YammerのPR部門のShelley Risk氏によればこのメールはCoda Hale氏の個人的な意見であり、Yammerの公式な見解ではないとのことだ。このリーク後、Coda Hale氏は自身の考えをhttp://codahale.com/the-rest-of-the-story/で表明している。氏はこのメールはDonald Fischer氏(Typesafe社のCEO)からのフィードバックの要請に答えたもので、移行を示唆するツイートを補足したものだと説明して
確実に一定時間スリープする - terazzoの日記ではThreadの割り込みがあっても確実に一定時間の停止を試みているが、そもそもこのようなコードは書いてはいけない。 Thread.sleep()は一定時間止まるための便利メソッドとしてよく知られているが、そのときに発生するInterruptedExceptionについての理解は広まっていない気がする。割り込みとはなんなのか。どういう時に使うのか。 目覚まし時計 お昼休みに昼寝をしようとする。寝過ごすといけないので15分後にアラームを鳴らす設定をした。 さて、ひと眠りするか、というところに友人がやってきた。昼寝はやめて売店に行くことにした。果たして売店でアラームが鳴り始めた。 さて、このとき、アラームは15分間の待機を命じられたわけだけども、お昼寝がキャンセルされたことで、もう待機しなくてよくなってしまった。むしろ、さっさと待機をやめてく
「Nullチェックされている前提の処理」とJavadocに書いたとき、「throws NullPo…」は書くんだろうか。んー、コード上は発生しうるけど、実際発生しないから不要なのかな はてなブックマーク - u1tnkのブックマーク / 2009年12月29日 まぁ、このブログで書いている話は、あくまでも「俺式」ということをご理解いただいた上で。(ここに書いた事が全て、って訳じゃありません。他にも色々ポリシーはあると思うが、自分はこれが一番良いと考えている。) 自分の考えは、契約プログラミングに基づいてます。DbC(Design by Contract)って奴ですね。 あるメソッドが「Nullチェックされている前提の処理」というのは、引数にnullは入ってこない前提、ということですよね。そしてJavadocを書くということは恐らくこのメソッドは公開API(publicかprotected)
1日たってしまいましたが、11/06にTDD Boot Camp 横浜に参加してきました。詳しい記事は、id:absj31さんの記事が素晴らしくまとまっているので、ご覧くださいませ。 TDD Boot Camp 横浜に参加してきた #tddbc - Diary of absj31 TDD BCの感想と、Groovyを初めて触った感想です Groovyペアに立候補した理由 「募集」をしているわけで、立候補すれば、その場でペア成立 Groovyを触ったことがなくても大丈夫という前提 プログラミング言語好きとしては、Groovy触ってみたかった 普通なら、師匠は直々に、言語のフォースを教えくれない 運営の方と、TDDやったほうが身につきそう! たしか、こんな理由だったと思います。打算と興味が五分五分といったところでしょうか。運営の方が、Groovy本を持ってきてくれて、 パラパラと見た第一印象は
Ruby対Scala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行
We're pleased to announce the public beta of Heroku for Java. Java is the fourth official language available on the Cedar stack. Java is, by many measures, the world's most popular programming language. In addition to its large and diverse developer base, it offers a huge ecosystem of libraries and tools, an extremely well-tuned VM for fast and reliable runtime performance, and an accessible C-lik
apktoolをMacで使う方法の続きです。 apktoolでデコンパイルするとsmaliが取り出されて見づらいので、今度は.javaを取り出す方法をメモ。 apkファイルを逆コンパイルする手順 1. apkファイルを解凍 逆コンパイルしたい apkファイルを用意したら、まずは解凍します。 apkファイルは zip の圧縮と同じなので、zip解凍ソフトで解凍。 2. jarファイルを取得 jarファイルの取得方法がWindowsでのやり方しか見つからなかったので、とりあえずWin環境でやりました。 apkファイルを解凍したら classes.dex というファイルが見つかるので、こいつを dex2jar というツールで jarファイルを取得します。 dex2jar を入手する http://code.google.com/p/dex2jar/downloads/list dex2jar を
java.util.concurrent クラス CopyOnWriteArrayList どんなクラスかというと、リストの変更操作(addやremoveなど)で、ConcurrentModificationExceptionをスローしないことが保証されるArrayListクラスです。 たとえば、通常のArrayListでは、リストのイテレート中にそのリストの要素を削除した場合、ConcurrentModificationExceptionがスローされます。 List<Hoge> hogeList = new ArrayList<Hoge>(); for(Hoge h : hogeList){ System.out.println(h); hogeList.remove(h);// ConcurrentModificationException } こういうことが発生しないようにプログラマ
Java Native Interface (JNI) は、Javaプラットフォームにおいて、Javaで記述されたプログラムと、他のプログラミング言語(たとえばCやC++など)で書かれた、実際のCPU上で動作するコード(ネイティブコード)とを連携するためのインタフェース仕様である。Java言語からネイティブコードを利用するためのABIと、逆にネイティブコードからJavaバイトコードを動作させるためにバーチャルマシン (VM) を利用するためのAPIの2つから成る。 JNIを使うことで、Java言語のVMで動作させるには処理速度の面で不利とされる計算量の多いプログラムを部分的にネイティブコードに置き換えて高速化したり、標準Javaクラスライブラリからはアクセスできないオペレーティングシステムあるいはハードウェアの機能を利用するプログラムを、あたかも通常のJavaクラスのメソッドのように呼び出
前書き お馴染み、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
VPS界に革命をもたらした、さくらのVPS。 月々980円という値段で、どこのご家庭でもVPSでlsを叩く生活を過ごしてらっしゃると思います。 そんな持て余しがちな楽しいVPSを使ってメディアストリーミングサーバーを作ったら超快適だったのでご紹介です。 Subsonic Java製でWin,Mac,Linux等マルチプラットフォームで動作します。 とりあえずデモを見てください、いい音でしょう? 余裕の操作性だ、快適さが違いますよ。 デザインはテーマで変えられますし、英語はダメっていう人も上のスクリーンショットのように設定で日本語に出来ます。プレイリストからPodcastまで何でも対応してるので、特に困ることは無かったですよ。 とりあえずSubsonicのイイトコは、さくらVPSに曲をガンガン入れるとPCだろうがモバイルだろうがどこでもプレイリスト共有して曲を聴けるってことなんですね。 ちな
あらためて、フレームワークの重要性は みなさんはWebシステムを開発するために、フレームワークは使用していますか? 私は10年ほど前に一度だけフレームワークを使用しないJavaのWebアプリケーション開発プロジェクトを経験しましたが、 そのあとのプロジェクトでは、StrutsやSpring、Seasar2など(自社フレームワークも含む)、必ずなんらかのフレームワークが使用されていました。 最近は通常のWebシステム開発でフレームワークを使用しないというケースは、特別な理由を除くとほぼないと思われます。 では、なぜみんなフレームワークを使用するんでしょうか。 フレームワークを使う理由を一言でいうと、「開発やメンテが楽になるから」でしょう。 開発が大変になるのにフレームワークを使用する意味なんてありません。 Web層のフレームワークを使えばJSPにスクリプトレットでJavaコードを埋め込む必要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く