edo1z blog

プログラミングなどに関するブログです

2017-01-01から1年間の記事一覧

cakePHP2 - 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあります。 あと、翻訳ファイルの作成については、ここが参考になりました。 翻訳したい文字列を指定する 翻訳対象にしたい文字列は、__()というのでくくります。 翻訳ファイルの作成 まず翻訳…

イーサリアムやってみる

この本みながら、イーサリアムやってみます。この無料サイトも色々詳しく書いてありそうなので、後で見てみる。 イーサリアムをインストール Goのクライアントはgo-ethereumです。通称Gethです。Gethはここからダウンロードできます。今のバージョンは1.6.7…

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 server.Start() btcdを実行すると、設定読み込んだり、データベースの準備したりしたあとに、サーバを作成し、起動します。サーバの起動は、server.goのStart()です。そこで、s.peerHandler()…

Go言語によるビットコインのフルノード実装btcdを調べる(1)

btcsuite/btcdを調べてみます。Goで書かれたビットコインのフルノード実装です。ウォレット機能はありません。コマンドラインのオプションの説明はここです。ドキュメントはここです。今使っているのは、btcd version 0.12.0-betaです。 設定ファイルなど $H…

Go - leveldb

Goで使えるLevelDB。 syndtr/goleveldb ドキュメントはここです。 参考:LevelDB入門 (基本編) お試しコード package main import ( "fmt" "log" "github.com/syndtr/goleveldb/leveldb" ) func main() { db := db_init() defer func(){ fmt.Println("Closin…

Go - 2次関数のPNG画像作成

Go

このライブラリをつかったら簡単にできる。 wcharczuk / go-chart package main import ( "bytes" "fmt" "github.com/wcharczuk/go-chart" "io" "os" ) func main() { var x []float64 var y []float64 for i := 0.0; i < 100; i++ { x = append(x, i-50.0) …

Go - ダウンロードとProgress bar表示

Go

参考:Code-Hex/pget rangeというのをheaderにセットすると、途中から途中までをダウンロードできるのか。これで分割ダウンロードとかリジュームとかできるらしい。pgetみながら自分でも一応簡単なダウンロード+Progress barをつくってみた。 main.go packa…

Go - Progress bar

Go

このライブラリを使うと簡単に表示できる。 gopkg.in/cheggaaa/pb.v2 package main import ( "fmt" "gopkg.in/cheggaaa/pb.v2" "time" ) func main() { fmt.Println("test progress bar") file_size := int64(1024) now_size := int64(0) bar := pb.Start64(…

Go - 画像リサイズ

Go

package main import ( "github.com/nfnt/resize" "image/jpeg" "io" "log" "os" ) func main() { f, err := os.Open("./data/hoge.jpg") chkErr(err) img, err := jpeg.Decode(f) chkErr(err) _ = f.Close() thumb := resize.Thumbnail(300, 300, img, resi…

Go - チャットアプリをつくってみた

Go

コマンドライン上で、複数人でチャットできるクライアント・サーバ型のやつをつくってみた。まだとりあえず動くレベル。スレッドセーフ?な状態でクライアントをclientListから消す方法がわからなかったから消すのをやめた。あと、参考サイトだとチャンネル…

Go - defer conn.Close()がエラーといわれる

Go

deferが謎です。ソケット通信のプログラムをつくってみてるんですが、色んな所に書いてある下記部分で、絶対エラーがでます。といっても実行するとエラーにならないのですが、Vimに組み込んでる、GoErrCheckがエラーといってきます。きっと何かおかしいんだ…

Go - ソケット通信

Go

P2P通信をつくりたいので、ソケット通信やってみます。超わかりやすいサイトを発見しました。 現在日時を返すサーバと、それを取得・表示するクライアントです。ほぼ上記のサイトの最初のコードですが、上記のサイトのクライアントだと、サーバから返ってく…

Go - 超高速webフレームワーク iris

irisは超高速webフレームワークだそうです。すごくシンプルっぽい。でも色々なことができるしサンプルもたくさん紹介されている。名前を読むたびにアイリスオオヤマが浮かんできていやだ。 下記のようにシンプルにWEBアプリがつくれた。viewもアタッチできる…

Ubuntu16.04 - キーボードのキー割り当て(キーバインド)をxkbで変更する

ホームディレクトリに.xkbというのを作って、.xkb以下に設定ファイルを作成して、.bashrcとか、.zshrcとかでそれを読みこませることで細かいキーバインド設定が可能。 [xkb] Ubuntu 14.04 で Caps Lock を別のキーにする方法 Ubuntu 14.10でキー配置を変更し…

windows10とubuntu16.04のデュアルブート

このubuntu16.04日本語版をデュアルブートさせました。このサイトを見ながらやりました。最初うまくいきませんでしたが、セキュアブート設定をオフにしていなかったためで、オフにしたらすんなりできました。ただ、パーティションの切り方が自分的によろしく…

UbuntuにzshとvimとGoを設定する

zshはoh-my-zshというのを使います。vimはdeinでプラグインを入れます。Goはvim-goプラグインを入れます。 goのインストール $ sudo -i $ apt-get update $ apt-get upgrade $ apt-get install golang $ which go /usr/bin/go zsh zshのインストール $ apt-g…

Go - Pecoを使ってみる

Pecoというのを使ってみます。 Pecoのインストール $ go get github.com/peco/peco $ cd $GOPATH/src/github.com/peco/peco $ go build cmd/peco/peco.go $ mv peco.exe $GOPATH/bin $ peco --version peco version v0.5.1 go getの仕組み go getの仕組みは…

Windows10 - Git Bashでシンボリックリンクをつくれるようにする

参考:Git for Windowsでシンボリックリンクを扱えるようにする なんかややこしそうなことが書いてある。でもできるようでうれしい。 現状 下記を実行すると、シンボリックリンクではなく、コピーが作成される。 $ ln -s /hoge/hoge 解決策 下記2点を実施し…

Go - Delveでデバッグしてみる

Delveを使ってみます。コマンドライン上で使えるデバッガです。インストール方法は、下記です。 インストール $ go get github.com/derekparker/delve/cmd/dlv 使い方 ヘルプとかバージョンを確認 $ dlv help $ dlv version Debugする dlv debugでデバッグ開…

Go言語 - godefがインストールできない

Go

Goのバージョン $ go version go version go1.8 windows/amd64 godefインストールエラー vimのプラグインとかvscodeとかで、godefをインストールするようにいわれるけど、失敗する。下記のようなエラーがでる。 Error: Command failed: D:\Go\bin\go.exe get…

Go - Vim-goがうごかない

参考:vim-goをインストールしてみた(所要時間:15分) 環境 windows10 go1.8 .vimrcの設定 deinでvim-goプラグインをインストール設定した。 call dein#add('fatih/vim-go') vim内で:GoInstallBinariesを実行 .vimrc設定変更後にvimを起動すると、vim-goが…

bitcoinアドレスつくってお金もらってみる

テストネット用のビットコインアドレスを作成して、サイトでもらってみます。 アドレス作成 $ bitcoin-cli getnewaddress mm8A1MfJU2LXRRetNHh7msA7ronrW8rodD もらえるサイト 下記でもらえるらしいんだけど、エラーになる。。 TP's TestNet Faucet Teratail…

bitcoindのブロック保存先ディレクトリを指定する

ここにbitcoindが作成するデータ構造が書いてある。ホームディレクトリに勝手につくって、そこにブロックのデータも入れるらしいので、勝手につくるディレクトリパスを変更できればいいのかなーと思ったけど、分からない。bitcoin.confで設定できるかもなの…

GCPのUbuntuのハードディスクを増やす

Bitcoinのブロックがでかくて容量がなくなりました。さっきメモリ増やして容量もちょっと増やしたけど、もう容量が100%になりましたので、さらに増やしたいと思います。100%になったらBitcoindが動かなくなりました。今SSD永続ディスクというのを使っていま…

Bitcoindを設定してみる

参考:bitcoin-cliを使ったBitcoinAPI入門 上記のサイトに詳しい説明がありましたので、これを見ながら設定してみます。 bitcoindのバージョン $ bitcoind --version Bitcoin Core Daemon version v0.14.1.0-f2a96e7d0 bitcoin.confの設定 bitcoin.confのサ…

Bitcoinをソースコードからインストールする

Bitcoinをソースコードからインストールしてみます。 環境 Ubuntu17.04 インストール $ git clone git@github.com:bitcoin/bitcoin.git UNIX BUILD NOTESに書いてあるとおりインストールする。 $ sudo apt-get install build-essential libtool autotools-de…

ブログのソースコードに色つけるやつを変えた

Wordpressのクレヨンとかいうやつから、ここに書いてあるHighlight.jsのやつに変えた。ついでにマークダウンも追加した。クレヨンはpreで囲まれた中身を自動で変換するが、highlight.jsはpre > codeで囲まれた中身を変換するので、シンプルな移管ができなそ…

Ubuntuの時間ずれの解消

Ubuntuの時間がずれてます。7時なのに前日の22時になります。9時間遅れています。 参考:Ubuntu インストールしたらやること:時刻を同期するNTPサーバーを変更する systemd-timesyncdの状態確認 $ systemctl status systemd-timesyncd $ systemctl status n…

GCPのCompute EngineのUbuntuでvsftpdを使う

Ubuntu17.04にvsftpdを入れてみる。vsftpdはFTPサーバ。 インストール $ apt-get install vsftpd </code> GCPのポートあける 参考:Google Compute Engineのファイヤーウォールを理解する #gcpja vsftpd.confの設定 参考: vsftpサーバ 設定ガイド Ubuntu 12.04 サ…

Rails - 色々やってみる

$ rails new rails1 $ cd rails1 $ rails db:migrate プロジェクト作っていきなりdb:migrateしたら、developement.sqlite3と、schema.rbが作成された。中身はからなはず。DataGrip使って見てみる。空だ。 とりあえず1つscaffoldする。 $ rails g scaffold u…