java, jenkins「Web アプリのバージョンアップ時に Tomcat を再起動してもいいのは小学生までだよねー」 ということで、Tomcat でダウンタイム無しで Web アプリのバージョンアップをする方法についてまとめてみる。 Parallel DeploymentTomcat 7 から Parallel... 続きを読む
こんにちは。いつの間にか、サーバー側のこむろです。 最近、クライアント側も高性能になってきたため、色々な大事な情報を格納したりすることも増えてきました。またサーバーとの通信によって最新の情報を取得することも多いです。そんな中、暗号化や符号化は... 続きを読む
「JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)」を献本して頂いたので読んでみました。 普段は PHPUnit でテストを書いているので、その本家とも言える JUnit の本は興味津津でした。 実は、今でこそ PHP 三昧の日々ですが、数年前(... 続きを読む
原文(投稿日:2011/11/30)へのリンク Yammerの従業員であるCoda Hale氏がScalaの商用ベンダであるTypesafe社へ送ったメールがYCombinatorとGitHubのgist経由でリークした。メールによれば、Yammerは複雑さや性能面を鑑みて、基盤のインフラをScalaからJavaへ戻... 続きを読む
java.util.Dateには確かに非推奨ですが YYYY/MM/DD の文字列を取れるコンストラクタがあるようです。 が、文字列ですか? 無駄に 01 と書くと8進表記になるのもポイント。 続きを読む
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト by Shuji Watanabe on Jun 16, 2012 続きを読む
デザインパターン, Java | 20:48こんばんは! 変態アドベントカレンダーの1日目です。http://atnd.org/events/22020 2日で終わるんじゃね?とかそんなアレは無しの方向でどうかひとつ。別に終わっても良いけど。というわけで今日はTwitterでObserverパターンに... 続きを読む
サービスのプラットフォームをRuby on RailsからJavaへ移行することを明らかにしているTwitterが、Javaへの関与をさらに深めようとしています。 同社は10月4日付けのEngineeringブログにて「Twitter, Open Source and the JVM」というエントリをポストし、Java... 続きを読む
JavaFXは昨年方向転換を行い、クライアントアプリケーションをJavaで記述するためのJavaの拡張という位置づけとなりました。 サンフランシスコで先週、10月4日から開催された「JaveOne 2011」で、生まれ変わって再出発となったJavaFX 2.0正式版のアナウンスが行... 続きを読む
サンフランシスコで先週、10月4日から開催された「JaveOne 2011」。基調講演で最初の話題として語られたのは、7月に登場したばかりのJavaの最新バージョン「Java 7」についてでした。 Java 7とはどんなリリースなのか、基調講演の模様を紹介します。 「プランB... 続きを読む
以前書いた「ラムダ計算基礎文法最速マスター」では, ラムダ計算に自然数やデータ構造, 条件分岐, ループが用意されていないため, これらをラムダ項を使って模倣する方法を紹介しました. このようなことはどんなプログラミング言語でも起きうることで, たとえば... 続きを読む
Javaのhello worldの読み方 前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00... 続きを読む
Androidソースコードのうち43ファイルで、Javaのソースコードときわめて類似したものが見つかったと、FOSS Patentsが伝えています。AndroidはJavaの処理系を採用しつつJavaでない仮想マシンDalvikを搭載しており、これはJavaとは無縁のオリジナルなコードによっ... 続きを読む
オブジェクト指向, 分析・設計技法, プログラミングの勉強前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1)に引き続き、試験問題のリファクタリングについて考えます。画面入出力処理の抽象化とカプセル化前回はこの試... 続きを読む
オブジェクト指向, 分析・設計技法, アーキテクトの仕事昨日書いたSI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指してが予想以上に大きな反響があり驚いています。特に、あの有名な比嘉さんにもS... 続きを読む
JavaでWebアプリを10年書いて思ったこと。 Webプログラミングは全然オブジェクト指向でない。 Sevlet+JSP主体のプログラミングスタイルは、リクエストとレスポンスへPrimitiveな値をどうやって渡すか、という手続き型の発想でしか書いていない。 従来のWebプロ... 続きを読む
“Javaの父”ゴスリング氏、Oracle退社の理由を語る (1/2) Oracleによる初のJavaOne開催中、ジェームズ・ゴスリング氏はeWEEKの単独インタビューで、これまで明かさなかったOracle退社の理由を語った。 [Darryl K. Taft,eWEEK] ジェームズ・ゴスリング氏が米Su... 続きを読む
java, eventわかる!JavaVM ― 2時間でわかる?JavaVM入門 : ATND Java の処理系は以前趣味ですこーしだけかじった程度の私が参加してきました。例によってメモとか取ってないので記憶の断片から感想をば。 クラスローダーについて - ashigeru発表資料: http://ww... 続きを読む
Writing, JavaWEB+DB PRESS Vol.57作者: WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2010/06/24メディア: 大型本購入: 2人 クリック: 61回この商品を含むブログ (10件) を見る先週発売のWEB+DB PRESSから、『つながるJava』というタイトルで連載を... 続きを読む
JavaJava Cloud Meeting Tokyo 2010で、『Google Web Toolkitのすすめ』と題して発表を行いました。スタッフの皆さま、お疲れ様でした。発表中に、Google PluginでGWTアプリをGAEにデプロイする予定だったのですが、Eclipseで謎のエラーが出てしまいました。そ... 続きを読む
GoogleのMapReduceアルゴリズムを Javaで理解する 特集:いま再注目の分散処理技術(前編) 株式会社ガリレオ 小山博史 2008/7/8 最近注目を浴びている分散処理技術「MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理... 続きを読む
どーもみなさま。こんにちは。 amachang と申します。 さて、ようやく ScaleBench というプロダクトが発表されましたね! ScaleBench のご紹介 で、僕もこれの開発に携わっていたのでちょっと技術的なことについて書いてみたいと思います。 ScaleBench とは Sca... 続きを読む
次世代のWebの規格としてWebSocketというものがあります。 WebSocketは、AjaxでもCometでもないサーバ-クライアント間の新しい通信方法です。 通常のWebアクセスや、Ajax・CometはHTTPを使用していますが、WebSocketはHTTPではありません。 接続のたびに接続の... 続きを読む
Java お前をシリアルにしてやろうか!this photo is licensed by Horia Varlan はじめにいよいよ最後のページになりました!!!はりきっていきましょう!! 今回の範囲279 ページ 〜 305 シリアライズって何?シリアライズとは、構造を持ったデータ(Java では... 続きを読む
IOException の catch に何を書いていいか分かりません><! はじめに順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲223 ページ 〜 250 ページJava の例外 throw 可能なオブジェクト Throwable インタフェースを実装... 続きを読む
スレッド・セーフ はじめに皆様おひさしぶりです。久しぶりに Effective Java 読書会のまとめを上げていきたいと思います!!! 今回の範囲269 ページ 〜 278 ページ synchronized を付ければスレッド・セーフってわけではないsynchronized はスレッド・セーフ... 続きを読む
App Engineで使える言語は基本的にはPythonとJavaです。それでは、どちらを選ぶのが良いのでしょうか。それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うために... 続きを読む
23:43 | java-ja温泉2日目の夕食。 @yoshiori がpythonのワンライナの楽しさを得々と語っていた。 @yoshiori「Brainf*ck を Python-oneliner にコンパイルする Python-onelinerを書いたけど全ッ然反応がなかった。こんなに面白いのに!」 @yamashiro「だっ... 続きを読む
はじめに順番が前後しますが、都合上「並行性」の章を先に書きたいと思います。 読んだところ251 ページ 〜 268 ページ 同期とは何か同期 = 原子性 + 可視性 原子性(アトミック性) データの状態遷移の過渡的な不整合な状態が(どのスレッドからも)見えないと... 続きを読む
はじめに読書会に参加していないところがあるので、そこは議事録を読みながら、なるべく自分の言葉で書いていきます! 読んだところ175 ページ〜 222 ページ引数の検査をきちんとして javadoc の @throws に書く IllegalArgumentException IndexOutOfBoundsExce... 続きを読む
Java 7はいらない Stephen Colebourne氏が"No more Java 7"を書いて、議論を呼んだことはJava関係者なら記憶に新しいことでしょう。日本でもマイコミジャーナルが"Java 7はいらない?"の題名で、それを取上げたのはいいのですが、Colebourne氏の言いたいことを十... 続きを読む
はじめに 今日読んだところ143 ページ〜 159 ページ int 定数とか使わない型安全じゃないからenum 使う enum Hoge { FOO, BAR; } 簡単 メソッドも持てる enum Hoge { FOO, BAR; void a() { /* (snip) */ } } で、以下のように使う Hoge.FOO.a(); シングルトンも... 続きを読む
はじめに 今日読んだところ126 ページ〜 142 ページObject を使ったその瞬間がジェネリック型を使うチャンスなのです!!!たとえば、以下みたいな public class Stack { /* snip */ public Object pop() { /* snip */ } public void push(Object e) { /* snip ... 続きを読む
はじめにとりあえず。今日は読書会の進行役なので、話題の下地を読書会前にアップ。話題になったところは、読書会終了後あとで修正。 今日読んだところ101 ページ〜 125 ページ関数オブジェクトインスタンスメソッドを一つだけ持っているクラスのオブジェクト。... 続きを読む
はじめに今日も継承三昧>< 今日読んだところ86 ページ〜 100 ページ オーバーライド可能なメソッド自己利用(self-use)のドキュメント化たとえば、 AbstractCollection#remove の以下の部分This implementation iterates over the collection looking for the ... 続きを読む
はじめにらんらーらららんらんらーん♪(なうしか)っと( ´ー`)フゥー...(゚Д゚)ハッ!嘘です><ちょっと言ってみたかっただけです>< 今日読んだところ67 ページ〜 85 ページ情報隠蔽、カプセル化API 以外の情報をモジュール外から見えなくすること余計なテス... 続きを読む
はじめにじゃっばじゃばにしてやんよー♪っと( ´ー`)フゥー...(゚Д゚)ハッ!どーん 今日読んだところ45 ページ〜 66 ページ hashCode 2 契約 シグニフィカントなフィールドを変更しなければ、いつ hashCode を呼び出しても値は変わらない x.equals(y) が true の... 続きを読む
はじめに今日もお疲れ気味な君の右足にローキックどーんってな感じでどーん 今日読んだところ20 ページ〜 44 ページ とりあえず Eclipse をインストールしました!わーわーパチパチ。とりあえず、わからずに JavaEE エディションにしたら、Super Java Hacker の... 続きを読む
はじめに社内で「Effective Java を 20 日で読もう」という勉強会が企画されて、今日がその一日目。ノリノリな感じで。どーん 今日読んだところ5 ページ 〜 19 ページ という訳でいろいろ出た話題を残しておく毎日続けるために、なるべく適当に書いていこうと思... 続きを読む
15:02 | Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当... 続きを読む
Fotolife for Androidがリリースされました。 期間的にはだいたい1ヶ月で、そんなに短かいわけではないのですが、割と大変でした。Android ケータイはもちろん持っていて、使っていたわけですが、開発は Scala で rake 使って Hello, World! を動かす程度しかや... 続きを読む
02:29 | Java基礎文法最速マスター - 何かしらの言語による記述を解析する日記をリスペクト。Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレ... 続きを読む
要は文字列を指定された *.ttf ファイルを使って画像化したい!!こんな画像作りたい と言う訳で書いてみました"-D" オプションでいろいろ設定できます。 import java.lang.String; import java.lang.System; import java.io.BufferedReader; import java.io.In... 続きを読む
浜本階生 計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。 ... 続きを読む
Blogopolisから学ぶ計算幾何 第1回 直線の幾何 2009年12月14日 浜本階生 幾何計算, Java, Blogopolis 1 2 計算幾何学とは 小学生や中学生の頃,算数や数学の授業で,台形の面積を求めたり,直線の方程式を解いたりした記憶が誰にでもあることでしょう。計算幾... 続きを読む
Writinggihyo.jpで、計算幾何をテーマにした連載を始めました。Blogopolisから学ぶ計算幾何:第1回 直線の幾何|gihyo.jp … 技術評論社内容としては、まず直線と線分の簡単な幾何から始めて、平面走査法による交差点検出やボロノイ図の描画を取り上げる予定で... 続きを読む
Android Runtime 次いで,アプリケーションの実行環境「Android Runtime」を解説する。Android Runtimeは,仮想マシン「Dalvik VM」と,基本的なAPIを提供するコア・ライブラリで構成される。 Androidのすべてのアプリケーションは,Dalvik VM上で動作する(図4... 続きを読む
はじめに 前回、Ahache Clickの基本的な使い方について説明しました。今回は、Webアプリケーションを作成する上で知っておきたいさまざまな機能について、いくつかピックアップして紹介していくことにしましょう。 Webアプリケーションを作成するとき、何より... 続きを読む
HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。Google App Engine (GAE)でJavaがサポートされ、PythonはスルーしたけどJavaならやりたい!でもJava未経験!GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま放置した... 続きを読む