2015年5月7日木曜日

Android Studioでファイル保存時にcode formatterを自動適用する

mac版のAndroid Studioを想定しています。
Command+sでソースコードを保存するときに、自動的にコードフォーマッタを適用する方法です。
Android Studioの設定にはコードフォーマッタを自動適用する項目がないので、マクロを使って実現します。
  1. Code -> "Optimize Imports..."を選択. ダイアルログが表示されるので"Do not show this message again."にチェックを入れRunをクリック. (既にチェック済みの場合はダイアログは表示されない)
  2. Edit -> Macros -> "Start Macro Recording"を選択.
  3. Code -> "Optimize Imports..."を実行.
  4. Code -> "Reformat Code"を実行.
  5. File -> "Save all"を実行. 適当なマクロ名(formatted saveとか)を付けて保存.
  6. Android Studio -> "Preferences..." -> Keymap を選択.
  7. "Main Manu" -> "Edit"-> "formatted save"(自分で付けたマクロ名)を選択し、 右クリックで"Add Keyboard Shortcut"を選択.
    "First Stroke"のところで設定したいキーを入力. 例えばCommand+s. "OK"を選択して完了.
    Command+sを選択すると、既存のキーバインドを削除するか?と聞かれるので, "Remove"を選べばOK.
以上で、Command+sでファイル保存時にコードフォーマッタが自動適用されるようになります。

2015年1月16日金曜日

Raspberry Piで有線ネットワークが使えなくなった

Raspberry Piで有線ネットワークが使えなくなったので調べてみました。
ifconfigで見てみるとeth0にIPアドレスが割り当たってない…。

Raspberry Pi起動時のログを見てみると
[ ok ] Network Interface Plugging Daemon...skip eth0...done. 
と表示されていました。eth0の何かがスキップされているっぽい。
$ sudo ifdown eth0
$ sudo ifup eth0
とかやっても全然回復せず。
いろいろ調べた結果、以下の手順で回復しました。
$ sudo service networking stop
$ sudo service ifplugd stop
$ sudo dhclient -r
$ sudo killall -9 dhclient
$ sudo dhclient -v eth0
この後、
$ sudo reboot
で再起動すると、無事IPが割り当てられネットワークが使えるようになりました!

2014年11月15日土曜日

macでスクリンショットをとる

Macスクリーンショットをとる方法.
  • 画面全体のスクリーンショット:「command(⌘) + shift + 3」
  • 領域を指定してスクリーンショット:「command(⌘) + shift + 4」→マウスで領域を指定
  • 指定したWindowのスクリーンショット:「command(⌘) + shift + 4」→ スクショをとりたいWindow上で「Space」キーを押す. その後Windowをクリック.
PNGがデスクトップに保存されます.

eclipseでエディタを分割する方法

eclipseでエディタ画面を分割する方法です。

違うファイルを分割表示する

エディタのタブの部分をドラッグすると画面分割のガイドが表示されるので適当なところでドロップすればOK.

同じファイルを分割表示する

タブ部分を右クリックし「New Editor」を選択する. 同じファイルのタブがもう一つ作成されるので、違うファイルの時と同じように分割する.

「New Editor」が表示されない場合
「Window」メニューから「New Editor」を選んでも同じことができます.

2014年6月15日日曜日

Raspberry PiでGPIOにアクセスしてPermission denied

Raspberry PiでGPIOにアクセスするプログラムを実行しようとするエラーになる.
$ ruby sample1.rb 
bcm2835_init: Unable to open /dev/mem: Permission denied
/var/lib/gems/1.9.1/gems/pi_piper-1.3.2/lib/pi_piper/spi.rb:89: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [arm-linux-eabihf]
...(省略)...
/dev/memにアクセスしようとしてPermissionがないと怒られている. どうやらGPIOにアクセスするにはroot権限が必要っぽい. sudoで実行して解決!
$ sudo ruby sample1.rb 
...(省略)...

pi_piperのインストールに失敗する

gemでpi_piperをインストールしようとしたが、下記のようなエラーが出てインストールできない.
pi@raspberrypi:~$ sudo gem install pi_piper
Building native extensions.  This could take a while...
ERROR:  Error installing pi_piper:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:4:in `<main>'

Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.3 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.3/ext/ffi_c/gem_make.out
pi@raspberrypi:~$

どうやらpi_piperを入れるには ruby_ffi というパッケージが必要らしい. apt-getでインストール.
pi@raspberrypi:~$ sudo apt-get install ruby-ffi
...省略...
自動でgemに登録されないので、手動で登録. 以下はrubyのバージョンが1.9.1の場合の例.
pi@raspberrypi:~$ cd /var/lib/gems/1.9.1/specifications/ 
pi@raspberrypi:~$ sudo ln -s /usr/share/rubygems-integration/1.9.1/specifications/ffi-1.0.11.gemspec .
gem listで正しく登録できているか確認できます.
pi@raspberrypi:/var/lib/gems/1.9.1/specifications$ gem list

*** LOCAL GEMS ***

ffi (1.0.11)
pi@raspberrypi:/var/lib/gems/1.9.1/specifications$ 
再度gemでpi_piperをインストール.
pi@raspberrypi:~$ sudo gem install pi_piper
Fetching: pi_piper-1.3.2.gem (100%)
Successfully installed pi_piper-1.3.2
1 gem installed
Installing ri documentation for pi_piper-1.3.2...
unable to convert "\x80" from ASCII-8BIT to UTF-8 for lib/pi_piper/libbcm2835.img, skipping
Installing RDoc documentation for pi_piper-1.3.2...
unable to convert "\x80" from ASCII-8BIT to UTF-8 for lib/pi_piper/libbcm2835.img, skipping
pi@raspberrypi:~$
成功しました!

2014年6月9日月曜日

MacでRasberry Piをセットアップする


MacでRaspberry Piのセットアップする手順をまとめます. NOOBSを使ってます. 詳細な手順はオフィシャルサイトを参照.

1. ここから ‘NOOBS (offline and network install)’ のzipをダウンロード.
http://www.raspberrypi.org/downloads/

2. 次にSDカードのフォーマッタをダウンロード. Windows用もMac用もあります.
https://www.sdcard.org/downloads/formatter_4/

3. フォーマッタでSDカードをフォーマットしたら、1でダウンロードしたzipをSDカードに解凍.

4. Raspberry Piに周辺機器(HDMIディスプレイ、USBキーボード)をつないで、SDカードを挿入して、電源を接続!NOOBSが起動し、OS選択画面が表示されます. 無難にRASPBIAN を選択. 20分くらいでSDカードにOSがインストールされます.