argius note

プログラミング関連

近況と新マシン環境

ここ数か月は、メインマシンが不調で開発になかなか集中できないことと、体調の問題などがありまして、まともにプログラミング関連の活動ができていない状況です。
コンスタントに活動できているのは、teratailさんのところでくらいです。

このブログは少なくともJava関連の記事には多少ニーズがあるのに、それ関連の記事があまり書けていなくてすみません。



そんな中、やっとメインマシンを新調することができました。

Mac(MPB)もあるのですが、私は最早Windowsネイティブとなっていて、年齢的にも柔軟性が失われつつあり、直観的に操作できる環境としてはWindowsでないと厳しいです。
今回はまたWindows7にしました。Windows10の導入も考えましたが、まだ少し時期尚早のようですね。それに、Windows8.1も別環境で使っていますが、開発環境としてはちょっと使いづらいです。
Windowsコマンドライン環境だけは馴染めないので、相変わらずCygwin使っています。


ノートPCだとスペックに難があったので、デスクトップにしました。合わせて、モニター、キーボード、マウスも新調。

  • 本体: 某BTO
    • →スリムタワー、CPUはIntel i5, Mem16GB, SSD+HDDとそこそこハイスペック
  • 液晶モニター: FlexScan EV2450-R
    • →今となっては解像度が最大1920x1080とあまり高くありませんが、これ以上高いのにすると、細かすぎor大きすぎなので型落ちで評価が高いこれにしました
  • キーボード: 東プレNG0100 REALFORCE91Uという機種
  • マウス: サンワサプライの無線マウス


SSDMacで体験済みですが、やっぱり速いですね。メモリーも潤沢で、至極快適です。


今後は、golangを少しやるかも知れません。Webフロントエンドもある程度モダンな書き方を学びたい。
あと、このブログに特化した記事以外は、Qiitaにも書くかもしれません。


心機一転、これから勉強し直しです。

(おわり)

サンプルコード:コマンドラインの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" 。イタリア語でスープの意味です。名前には特に意味はありません。


続きを読む