mrktanaka のアーカイブ

FireFoxでiframeにフォーカスが移らない

2016年7月25日

FireFoxでのみ、iframe内の
続きを読む

JavaのListの繰り返しで一番最後の要素だけ処理を変えたい

2016年7月4日

Javaのリストのループは拡張for文が書きやすくて便利ですが、拡張for文ではインデックスを簡単に得られないので、繰り返しの一番最後の要素だけあれこれしたい…といった泥臭い書き方に対応できません。 大人しく、一時変数を使って最後だけif文で分けてもいいのですが、Javaではイテレータを使ったループもありますね。それで一番最後の要素だけ処理を変える書き方は以下のようになります。 * イテレータを使った書き方 ``` for (I
続きを読む

pdfファイルから複数ページ配置したpdfを生成する

2016年5月11日

この前の試験期間中にお世話になったコマンドが、pdfnupです。 フォルダ内にいくつかの講義スライドのpdfファイルが存在するときに、 ``` pdfnup --a4paper --nup 2x4 --scale 0.9 --no-landscape --batch *.pdf ``` で、各講義スライドpdfから、1ページに8つのスライドが配置されたpdf達を一気に生成できます。 * 上のコマンドだと、縦で4行2列の配置に
続きを読む

VimでShift_JISのファイルをUTF-8に変換

2016年4月25日

vimでShift_JISのファイルをUTF-8に変換 以前、[nkfでShift_JISのファイルをUTF-8に変換](http://hacknote.jp/archives/18104/)という記事を書きましたが、nkfが入ってない環境で文字コードを扱いたくなる場合もあるかもしれません。 そんな時 vim で文字コードを変更できます。 Shift_JISのファイル hoge.txtを、UTF-8にしようと思います。 まずvimでhoge.txtを開きます。
続きを読む

Javaでテキストファイルからキーワードが含まれる行のみを出力

2016年4月18日

grepコマンドじゃなくてJavaでやる意味があるかと聞かれれば、無いと思います。 ``` import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public
続きを読む

復数のファイルにまたがり連続した番号のデータ行を生成するプログラム

2016年4月4日

こういうファイル群が必要なとき。 ``` $ cat test_data0.csv test_user1 test_user2 test_user3 test_user4 test_user5 test_user6 test_user7 test_user8 $ cat test_data1.csv test_user9 test_user10 test_user11 test_user12 test_user13 test_user
続きを読む

nkfでShift_JISのファイルをUTF-8に変換

2016年3月31日

超便利コマンドnkfでShift_JISのファイルをUTF-8に変換する方法です。 ``` $ cat Aipo_users.csv #文字化けする ???[?U?[??,?p?X???[?h,???O?i???j,???O?i???j,???O?i???E?t???K?i?j,???O?i???E?t???K?i?j,???[???A?h???X,?d?b?ԍ??i?O???j,?d?b?ԍ??i?????j,?d?b?ԍ??i?g?сj,?g?у??[???
続きを読む

Macで応答しないアプリケーションの強制終了

2016年3月24日

``` Command + Option + Esc ``` でアプリケーションを選択するウィンドウが開き、強制終了できます。 万が一?の時のために覚えておきましょう。私は知らなかったので焦りました…
続きを読む

javax.mail.internet.InternetAddress のコンストラクタ

2016年3月17日

javax.mail.internet.InternetAddress のコンストラクタについて、 引数を2つとるものは以下の2種類あります。 ``` public InternetAddress(java.lang.String address, boolean strict) throws AddressException ``` ``` public InternetAddress(java.lang.String address,
続きを読む

ランダムに3文字のひらがなの文字列を出力するRubyのワンライナー

2016年3月3日

``` # coding: utf-8 puts ('あ'..'ん').to_a.sample(3).inject{ |res, c| res += c} ```
続きを読む

あるはずのアプリが見つからないとき

2016年2月25日

####開発時に、あるはずのポートレットが見つからないとき。 通常なら、左上のAipo8ロゴの横の、アプリ配置ビューの名前の横の歯車マークからアプリを配置するか否か、いくつ配置するかを決められます。 しかしここのアプリを有効にしようと思っても無い場合、まず管理者権限画面のアプリ管理で無効になってないかチェック。 そこにも無かったら、eip_m_inactive_application テーブルで指定されてしまっていないかチェック。
続きを読む

新しいファイルを含む git stash save

2016年1月25日

以前、[Checkout Conflicts 時の対応](http://hacknote.jp/archives/14481/) で書いたように、git stash を使うと、前回のコミットからそこまでの変更を一時的に退避させることが出来ます。 しかし、新しいファイルを作成し、それを git stash するとうまくいきません。    EGitで未追跡のファイル(新しいファイル)をstashしようとすると、 ``` 変更なし リポジトリーにはスタッ
続きを読む

Java の int, Integer の 比較

2016年1月21日

Integer は int の ラッパークラスですね。 Integer と int を比較するときは Integer.intValue() で int 型の値を取得して比較します。 基本的なことですが==で比較するときは型に注意が必要です。。 ``` Integer n = 100; int m = 100; if(n.intValue() == m){ .... } ```
続きを読む

Javaで、Listから要素を削除

2016年1月14日

Javaで、Listからある条件に合う要素を削除したい時。 for文を使って順番に削除しようとすると、削除したことにより途中でインデックスがずれてしまうので、for文中で削除することは出来ません。 Java 8から、Collection に [removeIf](http://docs.oracle.com/javase/jp/8/docs/api/java/util/Collection.html#removeIf-java.util.function.Predic
続きを読む

mv コマンド

2016年1月7日

####役に立たないコマンドTips紹介 mv コマンドでファイルを移動させる時、普通は ``` $ mv ファイル名 移動先 ``` としますが、-t オプションというのがあり、 ``` $ mv -t 移動先 ファイル名 ``` とすると、オプションを使って移動先を指定できるそうです。 しかし、環境によって-t オプションは存在したりしなかったりするらしく、
続きを読む

HtmlCleanerでOPG情報を取得

2015年12月21日

[HtmlCleaner](http://htmlcleaner.sourceforge.net/index.php)で、OPG情報を取得する例。 (以下では title と image を出力しているだけです) ``` import java.io.*; import java.net.MalformedURLException; import java.net.URL; import java.net.URI; import org.htmlclea
続きを読む

sed で2行にまたがっている(可能性がある)キーワードを検索する

2015年12月17日

あんまり意味はないけどこれで出来る(はず)です ``` sed -n -E ':loop; N; /k\n?e\n?y/=; //p; D; b loop' ```
続きを読む

java.sql.ResultSet の行数を取得する

2015年12月14日

java.sql.PreparedStatement.executeQuery() でSQL文を実行したりすると返ってくる java.sql.ResultSet には行数をgetする関数は用意されてないので、以下のように最後の行に移ってgetRow()するといった処理で行数を得ます。 ``` rs.last(); int number_of_row = rs.getRow(); rs.beforeFirst(); //最初に戻る ```
続きを読む

Java の List で set するとき

2015年12月10日

当たり前といえば当たり前ですが、以前気づかずにハマってしまったことがあるので… java.util.List の [set関数](http://docs.oracle.com/javase/jp/8/api/java/util/List.html) ``` E set(int index, E element) ``` は、indexの位置にある要素を指定した要素に置き換える操作をする関数です。 この時、 + indexが範囲
続きを読む

ArrayListのすべての要素の初期化

2015年12月7日

ArrayListのすべての要素をある値で初期化したい時は、おとなしくfor文で回すなどする他ないようです。 ``` ArrayList list = new ArrayList(100); for (int i = 0; i < 100; i++) { list.add(0); } ``` [java.util.List](https://docs.oracle.com/javase/jp/8/api/java/util/List.ht
続きを読む