argius note

プログラミング関連

Java

Javaでゲーム: スクロールの表現

Javaを使った2Dゲームの、スクロールに挑戦しました。 スクロールを表現するにあたって、題材は「迷路ゲーム」にしました。 なぜ迷路なのかというと、まず、ごく小規模で完結したゲームを作ろうと思ったからです。そして、昔の2Dゲームの方式で作ろうとして…

Firefoxの履歴をHTMLで書き出す簡易ツール (Java)

Firefoxの履歴を書き出すツールをJavaで書いてみました。

重み付き乱数列の生成 (Java)

個人的なコードを書いている中で、重みを付けた乱数列が必要になりました。 具体的には、数が大きいほど発生頻度が高くなるような乱数の生成です。これについて、どうするのが一般的なのか知らなかったので、調べてみました。 (結論から言うと、一般的な方…

Spring Web MVC をすぐに使いたい人のためのメモ

すぐに使いたかったのは私です。これは主にリンク集で構成されている短めの記事です。 この際Spring Bootに入門してしまいたい方は、最後の方のリンクを参照してください。

とりあえずStruts2+Spring4+MyBatis3の開発環境を作ってみた(2016年初夏バージョン)

きっかけは、Q&Aの対応と、下記の記事です。 3つのフレームワークで学ぶエンタープライズJava開発入門(1):Strutsを使い続けることの問題点&現在有力なJava EE、Spring、Play Frameworkの基礎知識とアーキテクチャ - @IT http://www.atmarkit.co.jp/ait/…

Javaでゲームパッドの入力をJInputを使って実現する

突然、ゲームを作ってみたくなりました。ミニゲーム的なものは過去に何度も作ったことはありましたが、アクションとかRPGのような本格的なゲームは作ったことがありません。 それで、欲張りなことに、UnityやAndroidやSwift、つまりゲームエンジンやスマホア…

ネットワークが切断されたことをアラームで知らせるツールを作る(解説付き)

我が家のパソコンのうちWindows8.1のノートパソコンだけ、ルーターとの相性が悪いのか、2日に1回程度はネットワークが切断されてしまいます。 そのため、2クリックでネットワーク接続を再起動するスクリプトを書いて対応しています。 Windows ネットワーク接…

Swingで矩形選択範囲の表現

下記の投稿を見て、良いサンプルが見つからないので自分で書いてみました。 Graphicsクラスの透明色設定について(22654)|teratail https://teratail.com/questions/22654

サンプルコード:コマンドラインのQuizゲーム

色々ありまして... リハビリのために、ごく簡単なゲームを作ってみました。 コマンドラインのQuizゲーム (Java 7 and later) - Gist 下記ページを参考にしています。クイズを作りたいのだがうまくいかない。(21547)|teratail 選択肢数が1~10まで設定できる…

System.in, System.out, System.errを再初期化する

またかなり間が空いてしまいましてすみません。今さら感あふれるネタですが、知らなかったのでメモ。 結論を先に書きます。下記ページで知りました。 java - Resetting Standard output Stream - Stack Overflow http://stackoverflow.com/questions/5339499…

Maven Siteプラグインの参考になるかも...? Minestra 1.0.0 beta1

下記エントリーで書いたライブラリーのバージョン 1.0.0 beta1 です。Mavenリポジトリーにはまだ登録してません。いずれ登録します。 習作:Minestra - Java8以降対応のユーティリティーライブラリー #java8 Release v1.0.0 beta1 - argius/minestra Maven S…

Mavenコンパイラープラグインでcompactプロファイルを指定する

また前回から1ヶ月空いてしまったので、つなぎとして超短いエントリーを書きます。 compactプロファイルを指定してコンパイルするには、こうします。 $ javac -profile compact1 *.java Mavenのコンパイラープラグインで指定するには、こうします。コマンド…

習作:Minestra - Java8以降対応のユーティリティーライブラリー #java8

Java8未満を切り捨てて色々と作ってみるシリーズ。 Releases · argius/minestra - GitHub Java8以降向けのユーティリティー集ライブラリーです。 名前は "Minestra" 。イタリア語でスープの意味です。名前には特に意味はありません。

Spoon(INRIA)を使ってプログラミング可能な静的コード解析を試す #java

Spoonは、プログラミング可能な静的コード解析&ソースコード変換ライブラリーです。Spoon - Source Code Analysis and Transformation for Java

Javaで1行ずつテキストデータを読み込むイディオムの変遷

テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手…

Apache POIでExcelの図形の(拡張?)書式設定を変更する

Apache POIを使ってExcelの図形(シェイプ)を作って 図形の書式設定を変えることは、一部の書式は変更することはできますが、それ以外の書式設定を変えるにはどうすれば良いのか、ちょっと調べてみました。今回の結論はリフレクションを使ったものになりま…

Concurrency Utilitiesの「再」まとめ - Java8対応版

以前、このような記事を書きました。 Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26) 前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけ…

メモ:ReentrantReadWriteLock で Read-Write Lock

Read-Write LockのおさらいとReentrantReadWriteLockの実例をまとめました。短めです。

匿名クラスとラムダ式で作られるクラスファイルの違い

短いエントリーです。

メモ:java.util.concurrent.RecursiveTaskのFibonacci

Java7で導入されたFork/Joinフレームワークの中に、java.util.concurrent.RecursiveTaskというクラスがあります。これは、再帰を使用して計算を行った結果を生成するためのForkJoinTaskの実装です。 このクラスのAPIドキュメントのページを見ると、例として…

Eclipse Project Generator - JavaFX 8でツールを作ってみた

JavaFXの練習の続きです。今度はちょっとしたツールを作ってみました。GitHub => https://github.com/argius/eclipse-proj-gen

JavaFX8で電卓を作ってみた

題名の通り。今回は短編です。 要約すると、「VB感覚でGUIアプリが作れるようになってスゴイ!」です。コードだけ見たい方は、Gistに登録したのでそちらをどうぞ。 Calculator written in Java 8 with JavaFX 8 + SceneBuilder 2.0

Javaのシステムスレッドについて調べてみた (Java8)

システムスレッドについて、あまり知らなかったので、調べてみました。 それ以外にも、APIで生成されるスレッドや、スレッドグループについても、少し触れています。 参考リンク HotSpot Runtime Overview - OpenJDK JVM Internals (JamesDBloom - Blog) Jav…

Eclipse4.4JavaEE + Tomcat7 でJavaEE6開発環境を構築

Eclipse JavaEE 4.4 (Eclipse IDE for Java EE Developers Luna) とTomcat7を使って、JavaEE6の開発環境を1から構築します。 JavaEE6入門ではなく、JavaEE6入門のためのEclipse環境を作るのが目的です。 今回はスクリーンショット多めにしてみました。 pom.…

Java8のStreamとDateTime APIで日付のストリームを作る

今回は小ネタです。前回の続編と言えなくもないかもです。 Java8のStreamとDateTime APIを使って、Stream的に日付の順列を処理する方法です。

架空の拡張-filter,mapをStreamを使わずに組み込むとしたら

Java8では、Stream APIにより、コレクションの関数型ライクな操作ができるようになりました。 mapのような処理が1行で書けるようになってうれしい反面、もうちょっとすっきりしたのが良かったな、という不満もあります。 ただ不満を言っているだけの人になる…

ツールAPI(javax.tools)でJavadoc出力 #java8

ちょうど1ヶ月前に、カスタムDocletでJavadoc情報をCSV出力というエントリーを書きました。 今回は、Java8から使えるようになった、javax.tools.DocumentationToolを使ってJavadocを実行するプログラムを試します。

Java SE 8 (5) - プラットフォーム、セキュリティー、他

最後に、API改良の残りのセキュリティー関連と、プラットフォームの変更、etc、について、説明します。 (2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 モジュール化の準備 コンパクトプロファイル セキュリティー関連 Javadoc APIのjavax…

Java SE 8 (4) - 新しいAPIと改良されたAPI

このエントリーでは、これまでに紹介した機能以外の、新しいAPIと改良されたAPIについてまとめています。 (2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 ラムダに伴うコアライブラリーの拡張 内部イテレーターとIterable#forEach Compara…

Java SE 8 (3) - 新しい言語機能

このエントリーでは、(2)で触れた「ラムダ式」「メソッド参照」以外の新しい言語機能についてまとめています。「ラムダ式」「メソッド参照」については、(2)を参照してください。(2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 仮想拡張メ…