みんなこのブログに何を期待しているの...?
月間アクセス数が100PVを超えた
ここ最近全く更新していないんだけれど、なぜか1月の月間アクセス数が100PVを超えた。
一体みんなこのブログの何を見に来ているのだ...?
unixのコマンド周りは結構覚えることが多くて面倒くさいし、みんな困ってるのかしら?
卒論に便利!TeXで表を書くときにお世話になったサイト
小説書きました『初恋の君へ』
文学活動です!
僕は趣味で物書きをしているものだ。
どこぞのヒーローみたいにワンパンで読者を沈めることはできません。
久しぶりに時間ができたので、一本短編を書き上げましたのでご報告をば。
初恋の君へ
※ なろうに飛びます
[java]DateFormatクラスでログファイルの命名が簡単に!
DateFormatクラス
Javaでコーディングしていて、ログを出力するときのファイル名を決めるのにDateFormatクラスがすごく便利だったのでメモ。
SimpleDateFormatクラスのコンストラクタの引数に、出力したい形式の文字列を渡せばいいだけ。
それぞれの記号の意味や実例などの詳細はJavaDocにめっちゃ詳しく書いてある(しかもすごくわかりやすい)のでここでは省略。
ソースコード
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String [] args) { DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS"); System.out.println(df.format(new Date())); } }
実行結果
2015/11/13 01:22:44.183
[PHP]日付から曜日を求める
はじめに
PHPで日付から曜日を計算してくれるプログラムが必要になったのでメモ。
ソースコード
<?php date_default_timezone_set('Asia/Tokyo'); function getDateOfWeek($dateString) { $parseDate = explode("/", $dateString); $date = $parseDate[0].'-'.$parseDate[1].'-'.$parseDate[2]; $datetime = date_create($date); $week = array("日", "月", "火", "水", "木", "金", "土"); $w = (int)date_format($datetime, 'w'); echo $dateString.' ('.$week[$w].")\n"; }
4行目のexplode関数の第一引数を変更すれば、いろんな区切り文字に対応できる。
実行結果
入力: 2015/11/13 出力: 2015/11/13 (金) 入力: 2015/11/13 出力: 2015/11/14 (土) 入力: 2015/11/15 出力: 2015/11/15 (日) 入力: 2015/11/22 出力: 2015/11/22 (日)
Eclipseで作ったjarを実行したら文字化けした時のお話
Eclipse上には独自の環境が構築されているらしいぞ
Eclipse上では正常に動作していたプログラムを、jarファイルとして出力してwindowsで実行したらなぜか正常に動作しなかった時のお話。
プログラムとしては、キーワードが書かれたファイルを読み込んで、Wikipedia APIを使ってキーワードのwikipediaページを取得するというもの。
それで、httpでPOSTした時になぜか結果が表示されないという問題が起こりました。
悪いのはだいたい文字コード
何が原因だったかというと、文字コードでした。
windowsでは、OS標準の文字コードがShift-JISになっているのですが、ファイルの入出力の際にFileInputStreamでUTF-8指定して読み込めば大丈夫だと思ってました。
事実、Eclipse上ではそれで実行できていたわけですし。
ただいろいろ調べてみると、どうやらこれはEclipseの環境設定でText file encodingの設定をUTF-8にしていたから動作していたわけであって、jarとして出力した場合は実行時に以下のように環境変数でencodingを設定しないといけないらしい。
java -Dfile.encoding=UTF-8 -jar hogehoge.jar
でも、いちいちターミナルから実行するなんてめんどくさいですよね。
せっかくjarにしたんだからクリックで起動したい。
そこで、ソースコードに次の一文を書き加えれば、実行時ではなく、実行後に環境変数の設定を行うことができます。
System.setProperty("file.encoding", "UTF-8");
これで文字コード問題は解消されて、クリックで起動してもちゃんと結果が返ってくるようになりました。