タグ

Qiitaとjavaに関するdecoy2004のブックマーク (15)

  • オープンソースプロジェクトのすゝめ - Qiita

    自前のブログからの転載。QiitaはJavascript使えないのがさみしい。 人は生まれながらにして貴賤の別なく、ただオープンソースプロジェクトを勤めて物事をよく知る者が貴人となるなり。 昔、偉い人がそんな感じのことを言っていたような。 私がGitHubで開発しているライブラリ、Pcap4J のスターの数がつい先日 200 に達したのを記念して、これまでどんな活動をしてきたか、この活動によって何を得たかなどについて書きたい。 願わくは、この記事に触発されてオープンソースプロジェクトを始める人のあらんことを。 Pcap4Jとは? Pcap4Jは、パケットキャプチャとパケット解析をするJavaのライブラリ。 ニッチ。 ただ最近になってビッグデータ解析技術が発達し、大量のパケットをリアルタイムで解析してシステムや運用にフィードバックするというのが現実的になってきたので、パケットキャプチャへの注

    オープンソースプロジェクトのすゝめ - Qiita
  • MyBatis 使い方メモ - Qiita

    MyBatis とは SQLJava オブジェクトを紐付ける永続化フレームワーク。 以前は iBATIS という名前で Apache プロジェクトの1つとして開発されていた。 しかし、 2010年6月に Apache ソフトウェア財団での開発が中止され、現在は MyBatis という名前で開発されている。 SQL 文を完全にコントロールしたい場合に使いやすいらしい。 環境 OS Windows 7 64bit

    MyBatis 使い方メモ - Qiita
  • Javaの "? extends" や "? super" の使い方をC#やScala風に考える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Javaの "? extends" や "? super" の使い方をC#やScala風に考える - Qiita
  • Gradle のプラグインの作り方メモ - Qiita

    ビルドスクリプトに直接定義する方法もあるそうだけど、今回はスタンドアロンで動かせるやつを勉強する。 スタンドアロンのプラグインを作る 実装する |-build.gradle `-src/main/ |-groovy/ | `-sample/gradle/plugin/ | `-MyGradlePlugin.groovy `-resources/ `-META-INF/gradle-plugins/ `-com.github.opengl-8080.hello.properties プラグインは、最終的に Java バイトコードになるなら言語は問わない(Java, Groovy, Scala など)。 ただ、 Java 8 の API とか使うと実行環境によってはエラーになるかもしれないから、あんまり最新の API は使わないようにしたほうがいいのかもしれない。 今回は Groovy で書く

    Gradle のプラグインの作り方メモ - Qiita
  • SonarQube を構築してプロジェクトを数値化する - Qiita

    老舗のコード静的解析ツールである SonarQube。 以前はビジュアライゼーションがイマイチで、個人的にもそこまで有用性を感じていなかったのですが、ここ最近のバージョンではこれが非常に改善されていました。 コードの可視化って、客観的なコード評価だけでなく、意外とオエライさんなんかへの説明にも便利なので、環境ひとつで解決できるならこれはサイコーのやつ。 というわけでひとつ構築してみる。 環境 Ubuntu 14.04.3 LTS ORACLE Java 1.8.0_66 Apache Maven 3.0.5 Git 1.9.1 SonarQube 5.2 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.0

    SonarQube を構築してプロジェクトを数値化する - Qiita
  • さいきょうの二重サブミット対策 - Qiita

    この記事はシステムエンジニア Advent Calendar 2015 - Qiitaの記事です。 弊社アーキ部で@kawasimaさんに教えてもらったさいきょうの二重サブミット対策について書いていきます! 二重サブミットが発生するケース 不正な更新リクエストが発生するケースとして、以下のものが考えられます。 サブミットボタンをダブルクリックする 戻るボタンで戻って、再度保存ボタンを押す 完了ページでブラウザリロードする CSRF攻撃による不正な更新リクエスト 1. サブミットボタンをダブルクリックする 確定ボタンをダブルクリックすることによって、ユーザが意図していないリクエストが発生してしまうケース。 2. 戻るボタンで戻って、再度保存ボタンを押す 処理完了画面から戻るボタンで前の画面に遷移し、再び確定ボタンを押すケース。 来は入力➡︎確認➡︎完了の画面遷移が適切だが、その画面遷移にな

    さいきょうの二重サブミット対策 - Qiita
    decoy2004
    decoy2004 2015/12/23
    フレームワークが提供している?
  • AssertJ版:テストでよく使う検証メソッド一覧 - Qiita

    はじめに AssertJ ~Fluent assertions for java~ JUnit でよく使う Matcher はこちらによくまとまっています。 HamcrestのMatchersに定義されているメソッドの使い方メモ 今回はこれの AssertJ 版的な位置づけで用意してみようと思います。 ただし、全ての検証メソッドを網羅しているわけではありませんので、その点についてはご容赦下さい。 バージョン

    AssertJ版:テストでよく使う検証メソッド一覧 - Qiita
  • HamcrestのMatchersに定義されているメソッドの使い方メモ - Qiita

    apply plugin: 'java' repositories { mavenCentral() } dependencies { testCompile 'junit:junit:4.11', { transitive = false } testCompile 'org.hamcrest:hamcrest-all:1.3' } >gradle dependencies testCompile - Compile classpath for source set 'test'. +--- junit:junit:4.11 \--- org.hamcrest:hamcrest-all:1.3 JUnit 4.11 はデフォルトだと hamcrest-core の 1.3 に依存している。 今回は別途 hamcrest-all を依存関係に追加するので、 transitive = fal

    HamcrestのMatchersに定義されているメソッドの使い方メモ - Qiita
  • Java開発の性能改善! その3 ヒープダンプを取ろう - Qiita

    第3回になります。 記事を書くこと自体に時間がかかってしまうので 見やすい記事にするってのが難しいですね。。 少しずつ改良していきます。 ストックやフォローをして頂けると励みになります。 さて、題です。 jstatやGCログなどを見てメモリがなかなか開放されない場合は ヒープダンプを取ってメモリの中身を解析することになります。 ヒープダンプの取得 まず、jstatやpsコマンド等で対象のJVMのプロセスIDを取得しましょう。 これで指定した場所にダンプファイルができます。 -dump:live,format=...というようにliveをつけるとGCが起きて コマンド実行時に活きているオブジェクトのみのダンプになるようです。 とりあえず今回はフルで取ります。 ヒープダンプの中身を解析をする 解析をするにはツールを使います。 java標準のjhatやMemory Analyzer、HeapA

    Java開発の性能改善! その3 ヒープダンプを取ろう - Qiita
  • Java System.exit()処理を無効にして代わりにExceptionを発生させる。 - Qiita

    バッチ処理などでSystem.exit()で終わる処理をJUnitでテストするとJVMが終了してしまう。 exit()処理の代わりにExceptionを発生させ、テストを可能にするためのクラス。 基的にはSystem.exit()など使わずにreturnを使うんだが、古いバッチをメンテナンスするとよくある。 package testlib.system; import java.security.Permission; /** * System.exit()処理を無効にし代わりにExitExceptionを発生させる.<br> * JUnitでSystem.exitのある処理をテストを実施する場合等に使用する。<br> * クラスはスレッドセーフではないのでマルチスレッド環境では利用不可。<br> * シングルトンクラス。 * * @author boss_ape */ public

    Java System.exit()処理を無効にして代わりにExceptionを発生させる。 - Qiita
  • Javaですべての上場企業のと地方自治体のサイトをスクレイピングして大変だったこと - Qiita

    私は主にJavaを使って大量のサイトからクロールとスクレイピングをしています。 作っているサイトは happyou.info です。上場企業と官公庁と地方自治体とその他1万サイトくらいスクレイピングしています。 このエントリでは、技術的なこと特にめんどうくさかった点を書き残しておきたいと思います。基的なことかもしれませんが、私自身忘れそうなところもあるので。 1.上場企業は企業が入れ替わる 上場企業は毎日企業が入れ替わります。新規上場、上場廃止、合併、分社化、企業名変更は毎日のことです。この変化にキャッチアップするのが難しかったです。 日取引所グループ 「よし上場前からきっちりスクレイピングして事前に準備しておくぞ」と思っても、上場にあわせてサイトをリニューアルしたりする企業も多いので油断なりません。 官公庁のサイトは、民間企業に比べるとはるかに移転が少なく落ち着いています。 地方公共

    Javaですべての上場企業のと地方自治体のサイトをスクレイピングして大変だったこと - Qiita
  • Java の外部プロセスが返って来ない場合の対処方法 - Qiita

    Java で外部プロセスを起動する際は ProcessBuilder クラスを使いますが、 たまに処理が戻ってこない場合があります。 そんな場合に原因として考えられるのは、標準出力または標準エラー出力にバッファが溜まってしまっているという理由です。 例えば以下のコードの場合、標準エラー出力のバッファがいっぱいになっていた場合は proc.getInputStream() から処理が返って来なくなります。 String[] cmds = {"./foo.sh"}; ProcessBuilder pb = new ProcessBuilder(cmds); Process proc = pb.start(); String str; BufferedReader brstd = new BufferedReader(new InputStreamReader(proc.getInputStre

    Java の外部プロセスが返って来ない場合の対処方法 - Qiita
  • 現場で使えるソフトウェアテスト - Qiita

    現場で使えるソフトウェアテスト Java編を読んだので要点をまとめ。 Step1 テストとは ソフトウェア開発では、様々な問題が発生するが、そのなかでよくあるのが動かない、誤動作、パフォーマンス問題人が作る上でミスは起こるのでテストが必要 テストの流れ 品質目標を立てる テスト密度(目標、上限、下限値)、バク密度(目標、上限、下限値) テスト計画 ソフトウェアテストの全体計画作成 実施スケジュール、予算、体制、環境構築手順、必要ツール利用手順、成果物の様式、バージョン管理、設計書の準備 テスト作成 期待動作、パターンの洗い出し、テスト環境構築、テストデータの作成、テストケース作成、レビュー テスト実施 作成したテストケースの実行 テスト検証 結果の確認、テスト関係者以外の利害関係者との調整(設計書管理、仕様管理、修正管理)、テスト実施者の作業管理、テスト報告のとりまとめ、テスト全体報告、再

    現場で使えるソフトウェアテスト - Qiita
  • jMockitがいいよ Verification編 - Qiita

    というのを使っていましたが、親戚でNonStrictExpectationsというクラスがあります。 何が違うのかというと、実はExpectationsはモックの挙動定義だけではなくExpectationsに書かれたモックメソッドが呼ばれることをチェックもしています。 なので、 を実行した時にdoAnything()の内部でfuga.getName()がコールされないとテストは失敗します。 こんな風にExpectationsで fuga.getNameは”ホゲ男”という文字列値を返す fuga.getNameが必ずcallされることをチェックする ということができます。 Verifications あらたなる旅立ち …が、ですよ。callされていることのチェックは別途明示的に書きたいものです。 そんな時にVerificationsが使えます。

    jMockitがいいよ Verification編 - Qiita
    decoy2004
    decoy2004 2014/08/19
    『callされていることのチェックは別途明示的に書きたいものです。そんな時にVerificationsが使えます。』
  • String.formatが遅い理由 - Qiita

    JAL6-MD5 において、私の書いたコードが非常に遅いとご指摘いただいていたのですが、主な原因はClojureのformat関数にあります。 format関数は、 (defn format "Formats a string using java.lang.String.format, see java.util.Formatter for format string syntax" {:added "1.0" :static true} ^String [fmt & args] (String/format fmt (to-array args))) という定義で、中身はJavaのString.formatそのまま呼んでいるだけです。 そして、JavaのString.formatメソッドのソース(Oracle JDK 7u10 source)をみると、

    String.formatが遅い理由 - Qiita
    decoy2004
    decoy2004 2014/08/07
    『性能が要求される箇所では、format関数/String.formatを使わない方が良い。 書式に応じた出力が必要な場合でも、String.formatを使わずに、可能であれば自分でFormatterをnewして使いまわした方が良い。』
  • 1