GO言語の自動補完機能(vim使用)
GO言語がインストール済みの状態で環境設定を行う。 下記の設定を$HOME/.bashrcに記述する。 export GOROOT=$HOME/go-lang export GOOS=linux export GOARCH=386 export GOBIN=$HOME/go-lang/bin export PATH=$PATH:$GOBIN
GO言語のreadme.txtを参照しながら、VIM設定を行う。 公式スクリプト$GOROOT/misc/vimをインストールする mkdir -p $HOME/.vim/ftdetect mkdir -p $HOME/.vim/syntax mkdir -p $HOME/.vim/autoload/go ln -s $GOROOT/misc/vim/ftdetect/gofiletype.vim $HOME/.vim/ftdetect/ ln -s $GOROOT/misc/vim/syntax/go.vim $HOME/.vim/syntax ln -s $GOROOT/misc/vim/autoload/go/complete.vim $HOME/.vim/autoload/go echo "syntax on" >> $HOME/.vimrc mkdir -p $HOME/.vim/ftplugin/go/ cp $GOROOT/misc/vim/ftplugin/go/* $HOME/.vim/ftplugin/go/ echo "filetype plugin on" >> $HOME/.vimrc mkdir -p $HOME/.vim/indent cp $GOROOT/misc/vim/indent/go.vim $HOME/.vim/indent/ echo "filetype indent on" >> $HOME/.vimrc
自動補完エンジンのgocodeをダウンロードする(-u はアップデート)
go get -u github.com/nsf/gocode
gocodeを設定する。 cd $GOROOT/src/pkg/github.com/nsf/gocode/vim/ ./update.bash
設定完了。 VIMを起動し、INSERTモードでCtrl+x Ctrl+oを押せば自動補完が表示される。
GITHUTを使うための環境設定
PUBLICキーを作成する $ ssh-keygen -t rsa -C "yourmail@gmail.com" Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): ~/.ssh/id_rsa_github Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_rsa_github. Your public key has been saved in id_rsa_github.pub. The key fingerprint is: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yourmail@gmail.com The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | . . | | . S . . | | = .o . | | = +E.+ . . | |+ +o.=.. + | |.+o+o.+.o | +-----------------+
GitHubにログイン Account Settings -> SSH Public Keys -> Add another public key cat id_rsa_github.pub # 中身を貼り付けて登録(パスワード再入力)
編集sshファイル、ホスト名と証明書ファイルをカスタマイズ
$ vim .ssh/config
Host github
HostName github.com
User git
Port 22
identityfile ~/.ssh/id_rsa_github
権限設定 $ chmod 600 .ssh/config
お試し接続 $ ssh github The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. PTY allocation request failed on channel 0 Hi User! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.
GITのユーザとメールを設定 $ git config --global user.name "Your Name" $ git config --global user.email "yourmail@gmail.com" $ git config --global color.ui true
GITHUBのWEBでリポジトリを作成後、下記の操作を行う (名前をtest-repoと仮定する) $ mkdir test-repo $ cd test-repo $ git init $ touch README.md $ git add README.md $ git commit -m "first commit" $ git remote add origin git@github:YourID/test-repo.git $ git push -u origin master Counting objects: 3, done. Writing objects: 100% (3/3), 208 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To git@github:YourID/test-repo.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
以上で、READMEファイルがCOMMITされましたので、 環境構築完了。
さくらインターネットの新VPSとお名前.comのIO性能を比較してみた
さらくのVPS2Gプランを申請できなかったため、1Gプランを契約した。 お名前のほうは2Gプランです。
お名前.comの場合: # dd if=/dev/zero of=/dev/vdb bs=64k count=100k 102400+0 records in 102400+0 records out 6710886400 bytes (6.7 GB) copied, 26.731 s, 251 MB/s # dd of=/dev/null if=/dev/vdb bs=64k count=100k 102400+0 records in 102400+0 records out 6710886400 bytes (6.7 GB) copied, 44.8388 s, 150 MB/s
さくらインターネットの場合: # dd if=/dev/zero of=/dev/mapper/vg_xxx_home bs=64k count=100k 102400+0 records in 102400+0 records out 6710886400 bytes (6.7 GB) copied, 13.3455 s, 503 MB/s # dd of=/dev/null if=/dev/mapper/vg_xxx-lv_home bs=64k count=100k 102400+0 records in 102400+0 records out 6710886400 bytes (6.7 GB) copied, 18.5935 s, 361 MB/s
といった具合で、sequential I/Oですが、さくらのほうが読み込み、書き込み2倍近く早くですねw ランダムIOはもっと差がつくでしょう。
WindowsにBeagleBoneシリアル接続ドライバのインストール
下記、公式サイトよりドライブをダウンロードできます。 「64bit」 http://beagleboard.org/static/beaglebone/a3/Drivers/Windows/BONE_D64.exe 「32bit」 http://beagleboard.org/static/beaglebone/a3/Drivers/Windows/BONE_DRV.exe 私はWindows7 64bitなのでBONE_D64.exeをダウンロードしました。
日本語OSでそのまま実行すると、 「現在の言語では、デバイス ドライバのインストール ウィザードはサポートされません。」 とエラーメッセージが表示されて、インストールできません。
回避策: (1)BONE_D64.exeの拡張子をzipに変更します。 (2)解凍ソフトWinrarでBONE_D64.zipを開き解凍します。(ほかの解凍ソフトは解凍できないかもしれない。。。) (3)解凍後dpinst.xmlファイルを編集する。 変更前:<language code="0x0409"> 変更後:<language code="0x0411"> (4)対策完了、dpinst.exeを実行し、ドライバのインストールを開始します〜
これでBeagleBoneのUSBとWindowsに接続し、シリアルコンソールで操作可能になります。
BeagleBoneに静的IPを設定する
Beagleboneデフォルトeth0に対してDHCPを有効にしています。 実際では固定の静的IPを使いますので、設定方法を試しました。
まず、「/etc/network/interfaces」を開き、 iface eth0 inet dhcpを「#」でコメントアウトし、 下記の設定を実際のIPに直して追加する。 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 8.8.8.8
次にDNSを下記ファイルに追加する。(今回はGoogleが提供したDNSを使う) 「/etc/resolv.conf.ok」 nameserver 8.8.8.8
※ 「/etc/network/interfaces」にeth1に設定も入っているが、 これはARMのCPUは2個のイーサコントローラを持っているが、 BeagleBoneとしては1個しか実装していなかったからです。
でも、上記のファイルを変更し、再起動したら、 静的IPの設定になっていなく、DHCPが動作していました。
仕方なく、自分でスクリプトを作って、起動時実行するように登録しました。 # vi /etc/init.d/fixnetwork #!/bin/sh /etc/init.d/networking restart cp /etc/resolv.ok /etc/resolv.conf 実行権限与える: # chmod +x /etc/init.d/fixnetwork 起動時実行するように登録: # update-rc.d fixnetwork defaults 見た目はよろしくないが、これはとりあえず確実に問題解決できます。
ubuntuでBeagleBone付属SDカードをバックアップ
$ sudo mkdir beaglebone_backup $ sudo cd beaglebone_backup
SDカードのデバイス名を知る $ sudo fdisk -l ディスク /dev/sdb: 3904 MB, 3904897024 バイト ヘッド 255, セクタ 63, シリンダ 474, 合計 7626752 セクタ Units = セクタ数 of 1 * 512 = 512 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 * 63 144584 72261 c W95 FAT32 (LBA) /dev/sdb2 144585 7132859 3494137+ 83 Linux
念のため、SD全部パーティションをアンマウントしておく。 $ sudo umount /dev/sdb1 /dev/sdb2 イメージを圧縮保存: $ sudo dd if=/dev/sdb bs=8M | gzip -c > beaglebone_default_img.gz 465+1 レコード入力 465+1 レコード出力 3904897024 バイト (3.9 GB) コピーされました、 286.028 秒、 13.7 MB/秒
※imgのリストア方法: $ zcat beaglebone_default.img.gz | sudo dd of=/dev/sdb bs=8M