argius note

プログラミング関連

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

色々ありまして...
リハビリのために、ごく簡単なゲームを作ってみました。


コマンドラインのQuizゲーム (Java 7 and later) - Gist


下記ページを参考にしています。

クイズを作りたいのだがうまくいかない。(21547)|teratail


選択肢数が1~10まで設定できるようになっています。
エラー処理は適当です。


肝心の、クイズの問題がありません。


(おわり)

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

またかなり間が空いてしまいましてすみません。

今さら感あふれるネタですが、知らなかったのでメモ。


結論を先に書きます。

下記ページで知りました。


System.in, System.out, System.errの再初期化は、下記のようにします。
FileDescriptorを使うのがポイントです。

// import java.io.*;

System.setIn(new BufferedInputStream(new FileInputStream(FileDescriptor.in)));
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));


ただし、これだけでは完全ではありません。理由は後述します。


元々入っているのを退避しておいて、後で戻す方法でも、もちろんOKです。
これについても後述します。


続きを読む

Windows ネットワーク接続を2クリックで再起動する仕掛けを作る

今回はWindowsのTIPSです。


Windows8でしょっちゅうWi-Fi接続が不安定になるので、スタートに再起動ボタンを作っていました。
だいぶ前に作ったのですが、ここに書いていなかったので、書いておくことにします。

※ここでの再起動とは、「無効→有効」を操作することを指しています。

続きを読む

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

f:id:argius:20150906151350p:plain


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


Maven Site プラグインでサイトを作りました。
Minestra - A Small Utilities Library for Java8


ロゴも作ってみました。上に貼ってある画像です。
フォントはAdine Kirnberg Font Familyというのを使わせていただきました。ありがとうございます。
Adine Kirnberg Font Family - 1001 Fonts


ライブラリー本体はともかくとして、Maven Site プラグインの使い方の参考になれば幸いです。

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

また前回から1ヶ月空いてしまったので、つなぎとして超短いエントリーを書きます。


compactプロファイルを指定してコンパイルするには、こうします。

$ javac -profile compact1 *.java




Mavenコンパイラプラグインで指定するには、こうします。コマンドラインのオプションをcompilerArgumentsタグの中に指定するだけですね。

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>8</source>
          <target>8</target>
          <compilerArguments>
            <profile>compact1</profile>
          </compilerArguments>
          <charset>UTF-8</charset>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
    </pluginManagement>
  </build>




(おわり)


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

f:id:argius:20150725093650p:plain

Java8未満を切り捨てて色々と作ってみるシリーズ。


Releases · argius/minestra - GitHub

Java8以降向けのユーティリティー集ライブラリーです。
名前は "Minestra" 。イタリア語でスープの意味です。名前には特に意味はありません。


続きを読む

近況

前回の記事から1ヶ月近く経過してしまいました。
ここ最近は、Java標準ライブラリー関連の記事がご好評いただいているので、そっち方面で何か書きたいのですが、ネタが浮かばず。
それと、本業が少し立て込んでいて、今月はあまり余裕が無いという事情もあります。


ただ、何もしていないわけではなくて、こっそり小さなソフトをいくつか書いてGitHubにアップしたりしています。
近日もうひとつ追加予定です。

最近作った(作っている)ものは、Java8の機能、とりわけラムダ&ストリームを全体的に使って作ったものですので、もしかしたら参考になるかも知れません。お手本といえるほど上手なコードではありませんが...
ドキュメントは(poorな)英語で書いているので、もし日本語の説明リクエストがありましたら、どこかに日本語の説明を書きます。


GitHubは、他のプロジェクトのcontribution活動も挑戦していきたいと思っています。
(skinnyはすみません最近見れてません。余裕ができたら再開します。)