Tomoumi Nishimura のアーカイブ

Google Chromeで特定の入力履歴を削除する

2017年2月21日

メールアドレスを入力し・・・タブを押し・・・[ちくしょう!台無しにしやがった!お前はいつもそうだ](https://twitter.com/molgh/status/726854917214879744)。 といった感じで、ログインIDとパスワードを入力する画面で、タブを押し損なうことでログインID入力欄に「ログインID+パスワード」が入力されてしまうことってありますよね。 そのまま放置しておくと、セキュリティ的に碌でもないので、入力履歴から削除しましょう。
続きを読む

shellで引数を1個ズラす

2017年2月16日

「[Shellスクリプトでn番目以降の引数全てを取得する](http://hacknote.jp/archives/17938/)」で、「Shellスクリプトで、第一番目の引数だけを消費して、残りの引数はその先のプログラムに渡したい」ときに使えると書きましたが、そのものズバリ引数を消費する機能があるんですね。 ``shift``を利用すると、引数(``$@``)の中身が、先頭から一個後ろにズレます。 例えば次のような関数を作るとすると、 ```shell ec
続きを読む

gitのユーザーを切り替えるalias

2017年2月14日

複数人で同一PCを利用して開発を行っている場合、gitのユーザーを切り替える必要が生じる場面が多々あります。 そのような場合に、いちいち ``` git config user.name "hogehoge" git config user.email "hoge@fuga.com" ``` なんてやってられません。[プログラマーは怠惰でなければならない](http://itpro.nikkeibp.co.jp/article/Watcher/200610
続きを読む

不要なブランチを削除する

2017年2月14日

gitの不要なローカルブランチを削除する方法です。 ### 1. 対応するリモートブランチが削除済みの場合 追跡しているリモートブランチが削除されている場合、以下のようにするとそれに対応したローカルブランチが削除されます。 ``` git fetch --prune # または git fetch -p ``` ### 2. masterにマージ済みのブランチの場合 マージ済みブランチは ``` git branch --merged
続きを読む

ブランチ間での特定ファイルの比較

2017年2月7日

ファイルを指定してブランチ間でdiffを取るには、一般的には ``` git diff branch1:file1 branch2:file2 ``` というやり方をします。 file1とfile2が同一ファイルであるときには、より簡単に ``` git diff branch1 branch2 file ``` とすることが可能です。 ### 参考 * [git diffでブランチ間のファイル差分を確認するあれこれ | Ea
続きを読む

Atomのterminal-plusを修復する

2017年2月1日

以前[こちらの記事](http://hacknote.jp/archives/19581/)で紹介したterminal-plusというパッケージ、昨年末あたりからプロンプトが表示されず黒画面の左端にキャレットが点滅するのみ、というような不具合が発生しています。 とりあえず応急措置的に動作するようにするための方法です。 ### 1. terminal-plusのパッケージを変更する terminal-plusの依存するpty.jsについて、最新のものを追いかけるよ
続きを読む

Atomで開きたいファイルをすぐに見つける

2017年1月26日

Javaで開発していると、クラス名は覚えているがフォルダ名が思い出せないということはしばしばあります。 Atomを利用している場合は``⌘ + P``でパレットを出し、ファイル名を入力することで検索ができます。 ファイル名との完全一致だけではなく、キャメルケースで命名している場合には大文字部分だけを拾って検索してくれたりもするので楽です。 ### 参考 * [Atomエディタを使い始めたときに知っていると便利なショートカットキーをまとめた - Qiit
続きを読む

PostgreSQLでデータベースを複製する

2017年1月19日

データベース[src]をデータベース[dest]へと複製します。 ``` createdb -T [src] [dest] ``` ### 参考 * [PostgreSQLのDBを複製する方法 - Qiita](http://qiita.com/tatataiki/items/e6208ab36d35356f1f55)
続きを読む

バージョンの違いを吸収する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``コマンドがあり、これが代用になります。
続きを読む