emoiの日記

忘れっぽい雑食系エンジニアのメモblogです。

Ubuntu16.04でGo1.9を動かすメモ

goインストール

$ sudo apt-get update
$ wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
$ sudo tar -zxvf  go1.9.2.linux-amd64.tar.gz -C /usr/local/

確認

$ go version

パス

$ sudo mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrc
$ echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc
$ source ~/.bashrc
$ sudo chown hoge.hoge -R /home/hoge/go

確認

$ go env

gin設定

$ go get github.com/gin-gonic/gin

go/src で git clone

$ cd go/src
$ git clone https://gitlab.com/hoge/hoge.git

go get で必要なライブラリをインストールした後、run

$ cd hoge
$ go get
$ go run hoge.go

github操作メモ リポ作成からプッシュまで

githubで新規リポジトリ作成

publicとprivate設定に注意。

初期化

空のフォルダ上にて以下コマンドで初期化。

git init

初期化後に更新したいファイル群を配置。

除外フォルダおよびファイルの設定

.gitignoreファイルを作成

# folder
hoge/
# file
*hoge.hoge

コミット

git add .
git commit -m "first commit"

commiter変更

※複数のアカウントを持っている場合

git config --local user.name hogehoge
git config --local user.email hogehoge@hoge.com
git commit --amend

author変更

※複数のアカウントを持っている場合

git commit --amend --author="hoge <hogehoge@hoge.com>"

確認

git status
git log --pretty=full

プッシュ

git remote add origin https://github.com/hogehoge/hogehoge.git
git push origin master

プライベートリポのクローン

git clone https://hogehoge@github.com/foo/bar.git

重いリポジトリをクローンした場合のエラー回避

エラー例

Cloning into 'hoge'...
remote: Counting objects: hoge, done.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

回避策

git clone --depth 1 https://hogehoge/hoge/hoge.git

push 取り消し

git log --oneline
git reset --hard hogehoge
git log --oneline
git push -f

Ubuntu 16.04 デュアルブート環境作成時のメモ

環境

Windows 10
Ubuntu 16.04

基本手順

これで大体なんとかなる。トラブルなければ。。
windows10 PCでUbuntuをデュアルブート - Qiita

起動できないとき grub-efi-amd64-signed failed installation

Ubuntuのインストールが失敗する。ので、下記の通り、UEFI用のパーティションを作る。
grub2 - 16.04 new installation gives grub-efi-amd64-signed failed installation /target/ ubuntu 16.04 at the end - Ask Ubuntu

Ubuntu をインストールしてしばらく使ってみて、パーティション容量を変更したくなったとき

Gparted で調整する。結合する場合はパーティションの位置に注意。
Gpartedでパーティションサイズの調整: Linuxmintのある生活

パーティションいじったらgrub rescueが表示されて起動できない

Ubuntuが入っているパーティションの場所を教えてあげる。
Ubuntu 14.04起動時にgrub rescueが表示された - ksino's diary

さくらVPSでUbuntu16.04 デスクトップ環境のセットアップからPythonを動かすまで

目的

さくらVPSにUbuntu16.04 デスクトップ環境を作りたい。
私的メモです。

VPS契約

以下から好きなさくらVPSプランを選択。
オススメのSSD 2Gプランにした。
料金・仕様一覧|VPS(仮想専用サーバー)はさくらインターネット
クレカ情報、SMSが届く電話番号必須。
以下の件名のメールが届いたら手続きは無事完了。

[さくらのVPS] 仮登録完了のお知らせ

OSインストール

さくらの会員メニューにログイン。
会員メニュートップ > 契約情報 > 契約サービス一覧-表示 に移動。
サーバー設定をクリック。
f:id:r17u:20171227153744p:plain
右上の各種設定>OSインストール。
f:id:r17u:20171227153918p:plain
Ubuntu16.04 amdを選択。
f:id:r17u:20171227153934p:plain

sshでログイン

ローカルの端末を起動。以下のコマンドでログイン。

$ ssh <username>@<hostname or IP address>

もし何度かOSインストールをしたあとであれば下記のようなエラーがでる。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

そのときは以下を実行してから再度上記を実行。

$ ssh-keygen -R <hostname or IP address>

初期設定

パッケージ更新、デスクトップ環境に必要なものインストール。

$ sudo apt update && sudo apt upgrade
$ sudo apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
$ sudo shutdown -r now

さくらのVNCコンソールでデスクトップ環境が構築できているのを確認。
f:id:r17u:20171227191302p:plain

日本語設定

さくらの標準OSが英語。不便なので日本語パッケージ入れます。
Ubuntu 16.04 LTS : 日本語環境にする : Server World
Ubuntu 16.04 LTS のキーボードを日本語 (JIS) に変更する - CUBE SUGAR CONTAINER

よく使うpythonライブラリ

$ pip install selenium
$ pip install PyQtGraph
$ pip install 'pubnub>=4.0.8'
$ pip install git+https://github.com/yagays/pybitflyer
$ pip install websocket-client
$ pip install ploty
$ pip install git+https://github.com/hyperopt/hyperopt
$ pip install pandas-highcharts

Ubuntu16.04 headless chrome のセットアップ

目的

新しいバージョンが出ていたのでアップデートしたかった。
chrome_optionsが指定できない等の問題があったので。。。
環境はUbuntu 16.04。

手順

以下にアクセスして最新のバージョンをチェック。
https://chromedriver.storage.googleapis.com/

記事執筆時点では以下が最新。

2.34/chromedriver_linux64.zip
2017-12-10T05:44:14.043Z

以下のコマンドを実行。

$ wget https://chromedriver.storage.googleapis.com/2.34/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
$ sudo apt-get install libappindicator1
$ sudo touch /etc/default/google-chrome
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo dpkg -i google-chrome-stable_current_amd64.deb
$ chromedriver -v

bitFlyerスキャルピングbot

目的

前回の記事でbitflyerFXのSell/BuyのVolume算出を行いました。
普段私はスイングbotを運用しており、勉強のため例のbotを作ることにしました。

例のbot

利益を上げたロジックを公開したAKAGAMIさんは本当にすごい。
私も次のステップに行きたい。。!



続きを読む

bitflyerFXのSell/BuyのVolume算出

前回の記事において、いなごFlyerのスクレイピングを紹介しました。
今回はbitflyerFXに特化したものを書いてみました。

目的

  • 直近のsellおよびbuyのvolumeをお手軽に取得したい!
  • pubnubを触ってみたい。

やりたいこと

以下の約定データを使って、過去20秒間のsellおよびbuyのvolumeを算出したい。
ビットコイン取引所【bitFlyer Lightning】

続きを読む