タグ

Javaに関するshozzyのブックマーク (96)

  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    shozzy
    shozzy 2011/02/09
    「あとでかく」だった部分が完成してる。執筆おつかれさまー。っと思ったら「共通関数継承」とか、まだいくつか存在してたw 公開状態で少しずつ書いていく手法、斬新だな。
  • JavaからSQLiteを使ってみる : mwSoft blog

    軽くて丈夫でコンパクト(というキャッチフレーズの腹筋トレーニングマシンが昔あった気がする)なSQLiteJavaから使ってみる。 ここのページに置いてあるSQLiteJDBCが便利らしい。 http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC どの辺が便利かというと、JARの中にWindows用のsqlitejdbc.dllとか、Linux用のlibsqlitejdbc.soが同梱されているので、パスやら環境を意識することなく、ライブラリを読み込みさえすれば使えてしまう。 しかも、もしWindowsでもMacでもLinuxでもなかった場合は、PureJavaSQLiteを呼んでくれたりもするらしい。Java版の実装なんてあったんですね。知らなかった。でも、ソースコード見ようと思ったらそこだけ何故か入ってなかった。 とりあえず、サンプル。 i

    shozzy
    shozzy 2011/02/03
    参考にした
  • 【ハウツー】JSONIC - Java WebアプリでJSONを活用しよう! (1) JSONICの基本事項 | エンタープライズ | マイコミジャーナル

    JSONとJSONIC JSONはJavaScript Object Notationの略で、JavaScriptでのハッシュとリストの記述法を利用したテキストベースのデータフォーマットだ。JavaScriptではeval()関数でオブジェクトに変換できるなど取り扱いが容易であるため、Ajaxでのデータ交換フォーマットとして利用されることが多い(セキュリティ面の問題から実際にはeval()関数で評価せず、JSONパーサを利用するほうが望ましい)。 JSONICとはJavaオブジェクトとJSONを相互変換するためのオープンソースのライブラリだ。JSONIC以外にもJavaで利用可能なJSONライブラリにはJSON-libなどがあるが、JSONICは使い方が簡単で依存ライブラリもなく、XMLからJSONへの変換や高度な拡張性など、機能面でも優れている。 JSONというとAjaxでのデータのやり

    shozzy
    shozzy 2011/01/15
    JavaでJSONをさくっと使うライブラリ
  • JRE をバンドルしたインストーラを NSIS で作る

    JRE をバンドルしたインストーラを NSIS で作る Java で書いたプログラムを Windows ユーザに提供する時に、Java の実行環境の事とかを考えるのが面倒くさい。 頼まれて自分がセットアップする時も面倒くさい。 やっぱりJARファイル化したプログラムに JRE をバンドルしたインストーラを NSIS あたりで作れるようにしておいた方が、あとあと楽そうだ。 しかし JRE のバンドルの話を取り扱かっている記事ってあまりみかけない。 JRE 1.4.2_06 の README.txt などに再配布の事が書いてあるのだけれど、いまいちすっきりしないところもある。例えば All files not in these lists of optional files must be included in redistributions of the runtime environme

    JRE をバンドルしたインストーラを NSIS で作る
  • 開発日記 » Blog Archive » Google App Engine for javaをさわってみた その2

    無事にGoogle App Engine for javaをインストールできました。 さっそくアプリを作成したいと思います。 まず、追加されたアイコンの一番左をクリックします。 新規プロジェクト作成画面が表示されます。 適当にプロジェクト名とパッケージを入力します。 Google Web Toolkitは使用しないのでチェックを外します。 あっさりできました! できあがったプロジェクトの構成はこんな感じです。 初めてのプログラムといえばHello,Worldですよね? というわけで、Hello,Worldやりましょう。 サーブレットを開きます(ここではtestServlet)。 ん?もうすでに記述済~。 GoogleはHello,Worldすら書かせてくれませんでしたorz 仕方がないのでこのまま実行してみます。 プロジェクト名を右クリックして[実行]→[Webアプリケーション]を選択しま

    shozzy
    shozzy 2009/12/25
    ひとまずHelloWorld。
  • 403 Forbidden

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう

    shozzy
    shozzy 2009/12/25
    jar追加できるんか。試してみよう。
  • JavaでCSVの読み書きを快適に! ~「OrangeSignal CSV」概要

    はじめに 皆さんは、JavaCSVを扱うときに苦労した経験はないでしょうか。 CSV(Comma-Separated Values/Character-Separated Values)はデータをカンマ(,)やタブなどで区切って並べたテキスト形式のデータで、表計算ソフトやデータベースなどとのデータ交換のしやすさや可読性のよさなどから、古くから広く使われているデータ形式です。 このCSVのデータ形式には、さまざまな「方言」があり、データの中にカンマ(,)が入っている場合や、データをダブルクォーテーション(")で囲む場合、データの中にダブルクォーテーションがありそれがエスケープされている場合、データの中に改行がある場合などが存在します。また、CSVのデータ構成にもさまざまな種類があり、データの先頭行をヘッダとする場合や、コメント行や集計行がある場合、日時データを日付と時刻それぞれ別々の列とす

    JavaでCSVの読み書きを快適に! ~「OrangeSignal CSV」概要
    shozzy
    shozzy 2009/12/08
    これはよさげ。
  • Bigtableの使い方教えます - ひがやすを技術ブログ

    GAE/Jを使うのに一番戸惑うのが、データのストレージがRDBMSではなく、Bigtableなことでしょう。 JOINが使えなかったり、WHERE句でORが使えなかったり、これまで慣れ親しんでいた方法が軒並み使えません。 これらの制限は、Bigtableに限ったことではなく、KVS(Key Value Store)型のクラウド系のデータベースではみんないえることだと思います。 最初、私も戸惑ったんだけど、いろいろ触っているうちに気付きました。昔、AS400でやってたころと一緒ジャンと。AS400とは、IBMから出ているオフコン(?)ですね。今は、System iと呼ばれているようです(最新だとまた違うようですが)。 AS400のファイル(テーブル)は、キーもしくはインデックスでアクセスします。インデックス(論理ファイル)は、ある行の特定のカラムがソートされていて、物理ファイル(テーブル)へ

    Bigtableの使い方教えます - ひがやすを技術ブログ
  • Google App Engineで手軽に試すJavaクラウド

    Javaに対応したことでユーザー数が一気に増加する可能性がある無料でお手軽なクラウド環境Google App Engineの超入門連載です。概要・特徴から環境設定、アプリケーションの作成、業務用として応用できるところまで徹底解説していきます EclipseでJava版App Engineを始めるための基礎知識 Google App Engineで手軽に試すJavaクラウド(1) Javaに対応したことでユーザー数が一気に増加する可能性がある、無料でお手軽なクラウド環境の超入門記事です

  • Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse

    2008年4月7日に発表されたGoogle App Engineが、ちょうど1年後の2009年4月7日にJavaに対応したことが発表されました。さらに、Java開発には必須のEclipse用のプラグイン「Google Plugin for Eclipse」が同時に発表され、Java利用者は簡単にGoogle App Engine用のプログラム開発とEclipse上からのデプロイができるようになっています。今回はそんな便利な「Google Plugin for Eclipse」の使い方を説明します。 はじめに 2008年4月7日、Googleのインフラでウェブサービスを展開できるという「Google App Engine」が発表され世界中が驚かされました。この時点では利用できる言語としてPythonのみがサポートされており、Pythonの開発者がGoogleの社員であることを考えると当然なの

    Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse
    shozzy
    shozzy 2009/11/21
    超いまさら感満載だけどブクマ。
  • Eclipseのリファクタリング機能を極める その1

    Eclipseにはリファクタリングという便利な機能があります。このシリーズではその使い方をお送りしたいと思います。 まずは手始めにrename機能からです。 Eclipeのリファクタリング リネーム機能 リファクタリングの初歩としてリネーム(名称変更)が挙げられます。 Eclipse3.4では以下の要素に対してリネームを行うことができます。 型(クラス・インターフェース・列挙型) メソッド メソッドの引数 フィールド ローカル変数 ジェネリクス型パラメータ 列挙 コンパイル単位(.javaファイルのこと) パッケージ ソースフォルダ プロジェクト Eclipse3.4ではリネームの際にテキストフィールド上で操作を完結することができますが、オプションを指定したい場合は▼をクリックすることでダイアログを開くことができます。 "Open Rename Dialog"を選択します。すると、選択中の

    shozzy
    shozzy 2009/06/27
    確かに、ここまで解説を書くと大変だ。
  • ガツンと言ったかどうかは別にして - 宇宙行きたい

    そうしたら、ヨシオリが出てきて、さらに「ガツン」といった。 「コードが多くても、実際の作業としては ctrl+space を押すのが大半だから、生産効率に差はないんですよ。」 ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを blog と言ったんだ.まぁ,言ったんだけどなんというかイヤな言い方をすると, 「喧嘩売る気は無いけど売られたら買うよ」的な気持で言っただけなのです. で, Javaを愛する人というのは、決してJavaを崇拝なんかしてなくて、Javaの欠点を誰よりも憂いている。 java-ja15回で考えたこと - プログラマーの脳みそ というように別に崇拝はしてなくて欠点ももちろん承知してるんだけど, 欠点は補えば良いだけなので例えばSeasarのようなFWだったりIDEだったりするわけです. なので 「Google App Engineは、Python版以外にJava

    ガツンと言ったかどうかは別にして - 宇宙行きたい
    shozzy
    shozzy 2009/06/26
    同意。別に宗教戦争なんてしなくていい。したくない。いろいろあってそれでいいじゃない。
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
    shozzy
    shozzy 2009/06/17
    これはすばらしい。Eclipseでさくさくほげほげする術が詰め込まれてる。手を動かしながら読まねばー
  • 自己言及するジェネリクス

    先日、Strategyのインスタンスをenumで扱うで取り上げたようにJavaのenumはメソッドを宣言することができます。JavaSE5.0でenumを追加する際、既存の型システムを利用して作られているため、Javaのenumはクラスなのです。 このenumの親クラスとなるのがjava.lang.Enumクラスなのですが、宣言が変わっていて、ジェネリクスの型パラメータが自身の拡張なのですね。 Enum<E extends Enum<E>> これと同じような構造を持つクラスを作った場合、型安全にインスタンス化できません。 public class Hoge<H extends Hoge<H>> { public static void main(String[] args) { Hoge<Hoge<Hoge<...>>> hoge = new Hoge<Hoge<Hoge<...>>>()

    shozzy
    shozzy 2009/06/06
  • Javaが汚い件 - masayang's diary

    すごく久しぶりにJava言語を触ってみた。 Java 5とかいうやつ。 いつの間にかアノテーション使いまくりになっていたのね。 美しくない。 ちうか、汚い。 「美しくないのでJava使うのやめましょう」というレポートにする。>関係者

    Javaが汚い件 - masayang's diary
    shozzy
    shozzy 2009/06/04
    「シンプルさを取るか、実務上の便利さを取るか」というせめぎあいの中で、Javaの開発陣は後者を選んだということではないでしょうか。/なんていう自分はアノテーションを使いこなせてないんですがね…
  • アプレットを開いたユーザに拒絶感を与えない方法 - kaisehのブログ

    Javaアプレットが載ったHTMLページを開くと、こういうスプラッシュ画像が出てきます。 この画像が目に入った瞬間、反射的にページを閉じる習慣が身に付いてしまっているユーザは、僕を含めて多いと思います。 Java SE 6 Update 10でサポートされたimageパラメータを使うと、この画像を任意に置き換え可能なようです。 追記: imageパラメータ自体は、もっと前からあったようです。Java SE 6 Update 10以降は、画像をセンタリングするcenterimageパラメータやアニメーションGIFが追加サポートされたようです。 <applet ...> <param name="image" value="another_image.gif" /> </applet> 例えば以下のFlex風画像で代替すると、ユーザにかなり安心感を持ってもらえるんじゃないでしょうか。

    アプレットを開いたユーザに拒絶感を与えない方法 - kaisehのブログ
    shozzy
    shozzy 2009/03/13
  • Stax Networks - Home

    Java applications in the cloud The fastest way for developers to build, manage and scale Java applications on EC2. Step 1: Create an Application Jumpstart application development in minutes using Stax application templates. Servlet MVC frameworks - Apache Struts and Wicket Rich Internet applications - Adobe Flex and Google Web Toolkit Web scripting - JSP, Jython, JRuby (on Rails) and Adobe C

    shozzy
    shozzy 2009/03/10
    Javaで書けるクラウドサーバ。今のところ無料の模様。
  • Google App EngineのJava版「Stax」を触ってみました

    Amazon EC2上で提供されるJava版PaaSサービス「Stax」をちょっと触ってみました。今のところはβサービスで、まだ実装されていない機能もあったりしますが無料で試すことができます。 「Google App EngineのJava版」としてニュース記事等でも紹介されています。 Java対応のGoogle App Engineとも言うべき「Stax Networks」ローンチ http://jp.techcrunch.com/archives/20081216stax-networks-launches-google-app-engine-for-java/ 用意されている環境 Apache Tomcat/6.0.16MySQL/5.0.51 要するにServlet2.5/JSP2.1環境を使えるってことですね。JVMはJavaSE5相当のようです。 GoogleもSalesfor

    Google App EngineのJava版「Stax」を触ってみました
    shozzy
    shozzy 2009/03/10
    staxapps.netというドメインはここのものらしい。/Javaが使えるのはありがたいな。いつまで無料なんだろう。
  • Java Programming Tipsクラスローダーを自作する方法

    【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu

    Java Programming Tipsクラスローダーを自作する方法
    shozzy
    shozzy 2009/02/27
    ほー、こんなことできるんだ。
  • JavaはLLだよ! - プログラマーの脳みそ

    JavaはLLなんだよ。 ΩΩ Ω<な、なんだってー! まぁそう言わず聞いてくれよ。そもそもLLは何かって話なんだけどさ。 Lightweight Language は「脳力」をより少なく消費する言語である 「脳力」はプログラミング活動中に消費される仮想的なパワーである 消費「脳力」の総和が少ないことももちろん重要だが、瞬間最大「脳力」が大きすぎるのもよろしくない Lightweight Languageとは - みねこあ ということらしいんだわ。ようするに楽にプログラミングできるんならLLなんだよ。 まぁまて。Javaみたいな静的な強い型付け言語は型を考えるのが面倒なんじゃー!って言いたいんだろ。ちょっと落ち着いて考えてみてくれ。 データ構造 プログラムってのはアルゴリズムとデータ構造というぐらいのことはあって、データってのは重要なわけよ。まぁアルゴリズムと比べるとどうも地味でデータ構造

    JavaはLLだよ! - プログラマーの脳みそ
    shozzy
    shozzy 2009/01/28
    「機械が処理しやすいように人間がちょっと歩み寄るだけで機械処理の恩恵を物凄く受けられる」 その通りですね!歩み寄れない、歩み寄りたがらない人多いけど。