タグ

Javaに関するkk_Atakaのブックマーク (84)

  • 安全なセッション管理を実現するために

    任意のセッションIDを付加したリクエスト発行のわな http://example.com/Top.do;jsessionid=135383EED2F6BDFB50329A67DB1F4542 のように「;jsessionid=XXX」という文字列が付加されたURLを見たことはあるだろうか。 jsessionidとはJ2EEを使用したWebアプリケーションにおいてデフォルトで使用されるセッションIDを表すパラメータ名である。Servlet仕様では、セッションIDの格納先にCookieが利用できないクライアントが存在することを想定してURLへの文字列付加によるセッションIDの送信もサポートすることが推奨されている。 この仕様はURLリライティングと呼ばれ、

    安全なセッション管理を実現するために
    kk_Ataka
    kk_Ataka 2012/02/21
    jsessionid
  • Javaのクラスとオブジェクトについて再度解説を試みる - 達人プログラマーを目指して

    オブジェクト指向プログラミングの考え方については、今までこのブログでも何度か取り上げてきました。 [オブジェクト指向] - 達人プログラマーを目指して オブジェクト指向プログラミングはプログラミング技法のすべてではないとはいえ、Javaのようなオブジェクト指向言語で格的なプログラムを作るには理解を避けて通ることができませんし、また、関数型言語など他のパラダイムの言語を利用するにしても、オブジェクト指向の考え方をまったく理解しないまま使いこなすということは困難でしょう。オブジェクト指向の考え方はデータ構造やアルゴリズムといったことと同様に、プロフェッショナルなプログラマーが理解しておくべき基的な素養といってもよいと思います。実際、海外では募集要項でオブジェクト指向の理解を前提とすると書かれていることが普通ですし、プログラマーの面接試験で、アルゴリズムと並んでオブジェクト指向プログラミング

    Javaのクラスとオブジェクトについて再度解説を試みる - 達人プログラマーを目指して
  • JUnit のセカイ #JJUG - やさしいデスマーチ

    このエントリーは、@cero-tさんのエントリーの次で、Java Advent Calendar 2011の6番目のエントリーです。自分自身の今年のメインテーマがTDD(テスト駆動開発)と言う事もあり、関連エントリーとしてJUnitについて書きたいかと思います。今更JUnit?と思われた方も普段からJUnitを使っていあなたも気軽にお読みください。尚、色々な話題を駆け足で紹介するので、どれも簡単な紹介程度になってしまいますが、ご了承願います。 JUnit4 スタイル JUnitがアノテーションに対応し結構な月日が流れましたが、古いコーディング規約のままでテストコードを書いていませんか?JUnit4では、アノテーションとアサーションを使ったテストコードを書くことが基スタイルです。かつては、TestCaseのサブクラスを作り、testではじまるメソッドを定義していましたが、今は Testアノ

    JUnit のセカイ #JJUG - やさしいデスマーチ
  • (2012年の公休日とか)JTableのフィルタリング - ttmmrr(@o_tmr)の日記

    これはJava Advent Calendar 2011の7番目のエントリーです。 ≪前のエントリー#6:JUnit のセカイ:shuji_w6eさん*1 ≫次のエントリー#8:AnnotationProcessorを利用して楽してintrefaceを徹底活用したプログラミングをしようぜ:t_yanoさん*2 facebookでJava Advent Calendar 2011の告知に「いいね!」を押したら、ブログ書いてねというありがたいお言葉をいただき、よった勢いでJava Advent Calendar 2011 : ATNDに参加表明しちゃったはいいけど、ネタをどうしようとか思ってますw。 酔った勢いではありましたが、狙ったとおりに12/7*3をゲットできました。 2012年の日の公休日 いきなりJavaぢゃないですけど、そろそろ2012年の準備もしなきゃいけないので。 名称 年月

  • いいから聞け! 俺が文字コードについて教えてやるよ Advent Calendar 特別編 - 谷本 心 in せろ部屋

    長らく更新の止まっている「いいから俺文字コード」シリーズですが、 このたび、Java Advent Calendarの一環として復活させました! Java Advent Calendarって? エントリーはJava Advent Calendarの5日目です。 Java Advent Calendarについては、以下のサイトをご覧ください。 http://atnd.org/events/22434 前の4日目は @akirakoyasu さんの「SDKで身近になるAmazon Web Service」 http://www.akirakoyasu.net/2011/12/04/easily-use-aws-through-sdk/ S3、SimpleDBSESの使い方をサンプルコードつきで紹介しています。 次の6日目は @shuji_w6e さんの「JUnit のセカイ」 http:/

    いいから聞け! 俺が文字コードについて教えてやるよ Advent Calendar 特別編 - 谷本 心 in せろ部屋
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • AnnotationProcessorを利用して楽してintrefaceを徹底活用したプログラミングをしようぜ - 矢野勉のはてな日記

    Java, Advent Calendarこの記事は Java Advent Calendar 2011 の一環で書いてます。詳細はこちらを参照してください。昨日の id:ttmmrr さんの記事はこちら (2012年の公休日とか)JTableのフィルタリング - ttmmrr(@o_tmr)の日記たまたま、いま作ってるプログラムで、Javaプログラマに役立ちそうな部分があったので、その部分を抜き出して公開することにしました。今回はその紹介をしようと思います。 「インタフェースこそが型である」世界Java: The Good Parts というがありまして、その3章において、(私の理解としては)Javaにおいて、型とはインタフェースのことあり、クラスは型に実装を提供するものであり、すべてのクラスはインタフェースを備えるべきだ、とかいう意味の論が展開されてます。インタフェースはクラスから型

  • Project Lambda

    このエントリは Java Advent Calendar 2011 の一環で、第 1 日目のエントリーです。 やっぱり、櫻庭といえば Java SE の新しいところでしょう (これ去年も書いたなぁ ^ ^;;)。ということで、Java SE 8 の目玉機能となっている Project Lambda を取りあげます。 結果的に超長文になってしまいましたww 厳密にいえば、Lambda はクロージャではありません。 追記: ここでいっているクロージャはレキシカルスコープが使用できる無名関数のことを意味しています。 (るとさん、コメントありがとうございました) では、ラムダ式とはなんなのか? それはタスクを簡単に書くことを目的とした、単一メソッドのインタフェースのインスタンス生成を簡単に書くための簡易記法です。ようするにシンタックスシュガーでしかありません。 ここでいうタスクは、特にパラレルに処

  • nullを受け付けないメソッドにnullを渡した時の挙動 - 都元ダイスケ IT-PRESS

    っていう話を書こうと思ってたら、以前書いてた(cf. 前提条件を破った場合、どのような挙動をするのか? - 都元ダイスケ IT-PRESS) 上のエントリにも書いたのだが、自分はこういう時IllegalArgumentExceptionを使うようにしている。そして、commons-lang v2.6 をよく使っていたので、その中の Validate#notNull を利用してnullチェックをするのが自分のスタイルだ。 しかし、いい加減commons-lang v3系に移行しようかな、と考えて色々触っていたのだが、v3から Validate#notNull の仕様が変わり、NullPointerExceptionを投げるようになったのだ。 といった辺りの俺周辺タイムライン → Javaでnullを受け付けないメソッドにnullを渡したらどうなるべきか - Togetter で、いくつかのラ

    nullを受け付けないメソッドにnullを渡した時の挙動 - 都元ダイスケ IT-PRESS
  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • コンストラクタが private なクラスをモックで差し替えてテストしたかった - kagamihogeの日記

    最近ようやくテストコードを書くことに目覚め始めました。 で、まぁ、とあるクラスをテストしようと思ったが、一部にミドルウェアと通信する箇所があるので、そこはユニットテストのときはなんもしないようにしたかった。DI なんて便利なモノがまだ無い環境なので、インスタンス生成のメソッドを protected にして、ユニットテストするときはモッククラスを返す、というやり方を試みた。 コード的にはこんな感じ。 //テストしたいクラス public class Hoge { public void hogeMethod() { //いろいろなコード MiddlewarePiyo piyo = createMiddlewarePiyo(); middleware.piyoMethod();//ミドルウェアとごにょごにょする //いろいろなコード } protected MiddlewarePiyo cre

    コンストラクタが private なクラスをモックで差し替えてテストしたかった - kagamihogeの日記
  • いまさら聞けない「Javadoc」と「アノテーション」入門

    いまさら聞けない「Javadoc」と「アノテーション」入門:【改訂版】Eclipseではじめるプログラミング(22)(1/4 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 注釈とコメントで開発しやすくしよう 開発者がソースコードにコメントを自由に記述すると、統一性がなくなり、同じ内容をさまざまな表現で書いてしまいます。これを防ぎ、重要な情報について統一的な表現で記述したいときは、「アノテーション(annotation、注釈)」を使うことを検討してみましょう。 Javaではアノテーションをプログラムのソースコードへプログラムのメタデータとして記述できます。また、プログラムにア

    いまさら聞けない「Javadoc」と「アノテーション」入門
  • プログラマの宿命! 例外とエラー処理を理解する

    プログラマの宿命! 例外とエラー処理を理解する:【改訂版】Eclipseではじめるプログラミング(23)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります(この回と次回のみ、別連載「EclipseでJavaに強くなる」の改訂版です。今回は第3回「EclipseでJavaの例外を理解する」の改訂版です) プログラマの“宿命”、「例外」を究めよう! Javaでは、エラーへ対処する処理を記述するための仕組みとして「例外」というものがあります。データの入出力を伴うプログラムでは、基的に例外を使ったプログラムを作成する必要がありますから、よく理解しておきましょう。 また、この仕

    プログラマの宿命! 例外とエラー処理を理解する
  • Xtend - Modernized Java

    Java with spice! Xtend is a flexible and expressive dialect of Java, which compiles into readable Java 8 compatible source code. You can use any existing Java library seamlessly. The compiled output is readable and pretty-printed, and tends to run as fast as the equivalent handwritten Java code. Get productive and write beautiful code with powerful macros, lambdas, operator overloading and many mo

  • Java系 | mwSoft

    【コードリーディング系】 (2011/08/14) hello worldするだけのクラスファイル(バイナリ)を読む Integer.bitCountのコードを読んでみる -2147483648を Math.abs にかけると-2147483648がそのまま返ってくるという話 Integer.lowestOneBitのコードを読んでみる Integer.highestOneBitのコードを読んでみる 2進数を文字列にする処理というのは、それなりに面倒みたいです Integer.reverseのロジックは、良いビット演算の教材だと思います 【JDKサンプルコード系】 URLConnectionやHttpClientを用いた際のプロキシの設定いろいろ。 javax.imageio.ImageIOでJPEGファイルに変換する簡易コード 環境問わず使える簡易さがとても便利 リダイレクトを使いたい時

    kk_Ataka
    kk_Ataka 2011/09/05
    Java Commons
  • スタックトレースとソースコードの行番号を照合する - nekop's blog

    「エラー出力されているので調べてください、利用しているJBossのバージョンはAです」と言って渡されたスタックトレースに含まれている行番号がJBossのバージョンAのソースコードと合致しない、というようなことがごくまれにあります。とても不思議ですね。 というのをわざわざ手動でチェックする刺身たんぽぽ作業に飽きたのでRubyでスクリプト書いてみました。 https://github.com/nekop/sandbox/blob/master/junk/verspy.rb まずは適当なコードでスタックトレースを生成してみます。 mkdir -p src/main/java/com/example/test cat > src/main/java/com/example/test/Hello.java <<EOF package com.example.test; public class He

    スタックトレースとソースコードの行番号を照合する - nekop's blog
  • Real's How-to

    kk_Ataka
    kk_Ataka 2011/06/28
    MsgParser
  • 文字コード変換クラス

    きときと - Java - 文字コード変換 Javaでは、文字列は内部UnicodeのStringオブジェクトですが、Byte→String変換が正しく行われなかったときなど、 明示的な変換を必要とする場合があります。 Tomcat3.2.xなど、日語に対応していないServletコンテナを利用する場合などによく使われます。 実際の変換には、 String unicodeStirng = new String(shift_jis_string.getBytes("iso-8859-1"), "Shift_JIS"); のようなコーディングがよく参考として挙げられます。 しかし、 一見何の意味もない"iso-8859-1"などの文字が出てくる。 Javaにおける文字コード変換の詳細を知らなければ分かりにくい。 変換文字列が複数ある場合の記述が冗長である。 など、不都合が多く、これを定型コー

  • エンコーディング MS932 にマップできません。 - くじらはんど開発日誌

    Eclipseよりも良いと噂の、NetBeans IDEを試してみました。 すると、「警告:この文字は、エンコーディング MS932 にマップできません。」というエラーがひたすら表示されコンパイルがうまくいきません。 NetBeansでソースコードの文字コードを指定する項目が見当たらず、しばらく右往左往。プロジェクトのプロパティーの、構築-コンパイルの追加コンパイラオプションに「-encoding UTF-8」と書いたら解決しました。ちょっと、ぐったりしました。 それから、せっかくのMacBookに、JBuilder2005をインストールしてみたのですが、起動しませんでした。インストールのHTMLで、Mac OS 10.3に対応と書いてあり、これが原因でしょうか。一概にMac対応と書いてあっても、動かないのが多いみたいでがっかりです。 そこで、MacBookで動かなかった JBuilder

    エンコーディング MS932 にマップできません。 - くじらはんど開発日誌
  • レビューで鍛えるJavaコーディング力 その7(文字コードチェック) - 谷本 心 in せろ部屋

    今回は、文字コードのチェック(エンコーディングチェック)を行う処理に関する問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 public class StringValidator { private static boolean checkCharacterCode(String str, String encoding) { if (str == null) { return true; } try { byte[] bytes = str.getBytes(encoding); return str.equals(new String(bytes, encoding)); } catch (UnsupportedEncodingException ex) { throw new RuntimeExcepti

    レビューで鍛えるJavaコーディング力 その7(文字コードチェック) - 谷本 心 in せろ部屋