Tomoumi Nishimura のアーカイブ

バージョンの違いを吸収するvimrc

2016年12月1日

適切に環境が設定されていれば、vimrcを共有するだけで設定の共通化が図れるのがvimの便利なところですが、複数PCを使っているとvimのバージョン違いでエラーが出ることがあります。 ex. ``` Error detected while processing /Users/hoge/.vim/vimrc: line 68: E518: Unknown option: breakindent Press ENTER or type command to
続きを読む

HTML要素の省略

2016年11月24日

[以前の記事](http://hacknote.jp/archives/23724/)の検証用のHTMLでもやっていましたが、HTML5では自明な要素が省略できることになっています。 ### 例 以前の記事で用いていたHTMLを再度記述すると以下の通りです。 ``` keydownのテスト // ... (内容省略)... ``` ここで使われている省略ルールを挙げてみると、以下の通りです。 * HTMLタグが省略できる
続きを読む

Mac / Winのブラウザにおけるkeydownの処理の違い

2016年11月17日

MacのChromeとWinのChromeでどうもkeydownの動作が違うようなので、検索してみたところ、以下のような記事に到達しました。 [JavaScriptのキーイベント・キーを押し続けた場合のブラウザ毎のイベント差異 ( しゃいん☆のブログ| 名古屋市 Webシステム開発 サーバ構築 ネットワーク構築 株式会社コネクティボ )](http://shain.blog.conextivo.com/2007/03/javascript.html) 記事が古いの
続きを読む

Ubuntu 14.04でネットワーク再起動

2016年11月10日

Ubuntu 14.04では、ネットワーク再起動が``sudo service network restart``ではできません。 ``` sudo service networking restart stop: Job failed while stopping start: Job is already running: networking ``` そこで、例えばネットワークインターフェース名が``eth0``だった場合、以下のような仕方で再起動す
続きを読む

S3からコンテンツを取得する際に上限を設定する

2016年10月27日

Amazon S3のlistObjectsは、[通常1000件を上限としてオブジェクトを取得します](http://hacknote.jp/archives/1659/)が、``ListObjectsRequest ``を以下のように利用することで、この上限を減らすこともできます。 ``` ObjectListing listFolderObjects = s3.listObjects(new ListObjectsRequest(BACKEAT, ke
続きを読む

TomcatのSESSION.serが悪さをする

2016年10月20日

Tomcatはセッションの継続のため、シャットダウン時にSESSION.serをworkディレクトリ内に作成します。原因は不明ですが、このSESSION.serのせいで予期せぬ動作をするプログラムがたまにあります。 そのような場合における対処療法としては、SESSION.serを生成しないように設定するという手があります。 SESSION.serを生成しないようにするには、Tomcatの``context.xml``の``Context``要素直下に以下の要素を追
続きを読む

AipoのテンプレートからiOSのバージョンを取得する

2016年9月8日

AipoのVelocityからiOSのバージョンに応じた処理をするには、以下のようにすれば大丈夫です。 ``` #if(${client.equals("IPHONE")} && ${clientVer.equals("9")}) ## ... iOS 9のときのみ実行したい処理  ... #end ``` Context内に``client``と``clientVer``が登録されているので、これを利用して分岐ができます。 ### 参考
続きを読む

HTMLCollectionで配列メソッドを使う

2016年9月1日

document.getElementsByTagNameとかでDOMをいくつか引っ張ってきたりすると、HTMLCollectionオブジェクトが返ってきます。 ``` var selects = document.getElementsByTagName("select"); // -> object HTMLCollections ``` このオブジェクト、配列っぽく動作するので忘れがちなんですが、本当は **配列ではない** ので、例えばforEach
続きを読む

JavascriptでUserAgentを取得する

2016年8月25日

javascriptでUserAgentを取得する場合、``navigator.userAgent``を利用します。 ### 利用例 ``` var userAgent = navigator.userAgent; alert(userAgent); // -> ユーザーエージェントが表示される if(userAgent.indexOf("iPhone OS 9") > -1) { // iOS 9でだけ行いたい処理 } ``` ###
続きを読む

iOSのセレクトボックスの自動選択機能について

2016年8月19日

## TL; DR iOSでは、``multiple``属性をつけたselect要素の動作に不具合があります。この不具合は、以下のように先頭にダミーの``optgroup``を追加することで回避することができます。 ``` option 1 option 2 option 3 ``` ## 本文ここから ### 概要 iOSでセレクトボックスを利用すると、先頭項目が自動選択されます。この機能、複数選択可能なセレ
続きを読む

httpsでgitにアクセスする場合の認証を省く

2016年8月4日

netrcに設定を追加します。 こんな感じ。 ``` machine github.com login tomoumi-n password xxxxx ``` ### 関連 * http://d.hatena.ne.jp/idesaku/20120128/1327749355 * https://mistymagich.wordpress.com/2011/11/08/basic_authentication_and_git_or_hg/
続きを読む

openコマンド

2016年7月21日

Terminalで作業をしている途中で、他のGUIアプリケーションでファイルを開きたくなることがあります。そんなときどうするかというお話です。 ### Macの場合 Macでファイルを規定のアプリケーションで開く場合、``open``コマンドで開くことができます。便利です。 ### Linuxの場合 Linuxには``open``コマンドがありません。 が、とりあえずUbuntuでは``xdg-open``コマンドがあり、これが代用になります。
続きを読む

Play 2.2のプロジェクトでensimeを使う

2016年7月14日

sbtのプロジェクトでEnsimeを利用する場合、pluginsにensimeを追加した上で、gen-ensimeします。 ```sbt addSbtPlugin("org.ensime" % "ensime-sbt" % "0.2.3") ``` ``` $ sbt gen-ensime ``` ところで、同じことをPlay 2.2でやろうとするとエラーが出ます。 ```bash $ play gen-ensime [error] Not
続きを読む

mysqlで複数のデータベースを操作

2016年6月30日

MySQLで複数のデータベースに同一の操作をしたいと思ったのですが、それっぽいサンプルが見つからなかったので適当に書いてみました。 ``` #!/bin/sh foreachtable() { dbs=`echo 'show databases' | mysql ${@:2} | sed 1d` for db in $dbs; do echo $1 | mysql ${@:2} $db done } ``` 構文としては、以下のようなも
続きを読む

bashで日付を出力

2016年6月23日

``` date 2016年 6月23日 木曜日 12時40分58秒 JST ``` 作業のログを吐くようにしている場合で、冒頭だけタイムスタンプあればいいやって時は処理の一番最初にこれを出力しておくだけでも便利。 ``` echo -- `date` ``` とかやれば前後に文字列を追加するのも簡単ですね。 ### 参考 * [日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス](http://
続きを読む

コンソール出力に色付けする

2016年6月16日

ANSIエスケープコードを利用すると、コンソール出力に色付けすることができます。 ``` print("\u001b[31m") print("hogehoge") print("\u001b[00m") ``` 1行目のprint文によって色付けするためのコードを出力し、以後コンソールに出力される文字の色は指定された色になります。 3行目のprint文は出力の色を戻すためのものです。ここで出力しているのは赤ですが、他にも色々ないろがあります。詳細は参考
続きを読む

Javaで月の何週目かを計算する

2016年6月9日

Calendarオブジェクトって便利ですね。 ``` Calendar cal = Calendar.getInstance(); cal.get(Calendar.WEEK_OF_MONTH); ``` デフォルトだと週始めは日曜日(日曜日〜土曜日で一週間)ですが、週始めをずらすことも出来て、 ``` cal.setFirstDayOfWeek(Calendar.MONDAY); ``` とかやればいいみたいです。 ### 参考
続きを読む

AtomにTerminal入れます

2016年6月2日

タイトルの通りです。 Atom上でTerminalの操作を可能にするプラグインとして、Terminal-Plusが出ています。これを導入することでウィンドウ切り替えのストレスから比較的解放されます。 ### Terminal-Plusを導入する Atom上のInstall Packages and Themesからterminal-plusを探し、インストールします。 Terminalからインストールしたい人は、apmを利用して、 ``` apm
続きを読む

蛇を駱駝に

2016年5月25日

変数名やメソッド名前の記述方法としてよく使うものに、キャメルケース(例:hogeHoge)とスネークケース(例:fuga_fuga)がありますが、これそのものズバり駱駝と蛇が語源らしいですね。(タイトルの説明) コーディングの際、フィールド名はスネークケース・getter/setterはキャメルケース、とか、Javaのソースではキャメルケース・対応するSQLはスネークケース、みたいな使い分けがされることは多いと思うのですが、その変換用のコードです。 ``` de
続きを読む

特定のファイルを特定のコミット / 特定のブランチに戻したい

2016年5月19日

``checkout``を使います。 ``` git checkout [コミットハッシュ or ブランチ] [path...] ``` 例えば、ファイル``hoge/fuga.txt``をブランチ``develop``のHEADに戻したい場合、以下のようにします。 ``` git checkout develop hoge/fuga.txt ``` ### 参考 * [gitで特定ファイルを特定のcommitに戻す - Qiita](h
続きを読む