golang入門してみた
はてなブログ卒業して、githubでブログ書くつもりでツール選定した結果
spf13/hugo · GitHub
hugoっていうgo製のものに決めたのでgolangに入門してみた
まずはwindowsのmsiダウンロード&インストール
Downloads - The Go Programming Language
A Tour of Goを試すのが王道みたいだけど、
5分動画で、実行モジュール、パッケージ、テストをさくっと試す
Writing, building, installing, and testing Go code - YouTube
windowsのパスにPATHとGOPATHを追加して
C:\Users\USERNAME\gocode // GOPATH C:\Users\USERNAME\gocode\bin // PATH
実行モジュール
C:\Users\USERNAME\gocode\src\github.com\pdevty\hello\hello.go
package main import "fmt" func main() { fmt.Println("hello go") }
コンパイル&実行
cd C:\Users\USERNAME\gocode\src\github.com\pdevty\hello go install hello // hello go
パッケージ
C:\Users\USERNAME\gocode\src\github.com\pdevty\string\string.go
package string func Reverse(s string) string { b := []byte(s) for i := 0; i < len(b)/2; i++ { j := len(b)-i-1 b[i], b[j] = b[j], b[i] } return string(b) }
cd C:\Users\USERNAME\gocode\src\github.com\pdevty\string go build go install
C:\Users\USERNAME\gocode\src\github.com\pdevty\hello\hello.go
package main import ( "fmt" "github.com/pdevty/string" ) func main() { fmt.Println(string.Reverse("hello go")) }
コンパイル&実行
cd C:\Users\USERNAME\gocode\src\github.com\pdevty\hello go install hello // og olleh
テスト
C:\Users\USERNAME\gocode\src\github.com\pdevty\string\string_test.go
package string import "testing" func Test(t *testing.T) { var tests = []struct { s, want string }{ {"hello go", "og olleh"}, {"", ""}, } for _, c := range tests { got := Reverse(c.s) if got != c.want { t.Errorf("Reverse(%q) == %q, want %q", c.s, got, c.want) } } }
テスト
cd C:\Users\USERNAME\gocode\src\github.com\pdevty\string go test // PASS ...
いけたー
これでhugoためせる
参考
Writing, building, installing, and testing Go code - YouTube
Get Started with Go - YouTube
Goプログラミング言語のチュートリアル - golang.jp
Git初心者でも大丈夫!完全無料でGithub PagesにWebページを公開する方法 | 株式会社LIG
所要時間3分!? Github PagesとHEXOで爆速ブログ構築してみよう! | 株式会社LIG
A Tour of Go
Documentation - The Go Programming Language
Go言語で作る webアプリ@gocon 2013 spring
Martini(+Ginkgo)をWerckerでCIしてHerokuにデプロイ | SOTA
titanium を卒業して android studio使ってみた① 開発環境構築 windows7
titaniumで地図アプリを途中まで作りましたが実機での動作が不安定すぎて中断してました
再開しようと思い立ち、java知らないけどandroid studio使ってみることにしました
(titanium好きなんですけど、sdkのバグ多いし、動作もっさりだし、apkのサイズでかいし、期待してたHALとかいう次期titaniumがいつになってもリリースされないし、未来が見えないということで)
android studioはここからダウンロード&インストール
Download Android Studio and SDK Tools | Android Developers
インストール手順はドットインストール通りでいけました
Androidアプリ開発入門 (全10回) - プログラミングならドットインストール
が、エミュレータを動かそうと思ったらエラーが
HAX is not working and emulator runs in emulation mode
そういえばandroid sdkのインストールでなんかエラーがでたけどスルーしたなと思い、ここを参考に
Android開発環境構築エラーまとめ
Biosのsecurity設定でintel(R) vvirtualization tec...とintel(R) VT-d featureを有効化して
sdkインストール時に失敗したHAXMを再インストールしたら
HAX is working and emulator runs in fast virt mode
うまくいったー・・・しかし激遅
マシンスペックのせいもあるとは思いますが(CPU corei5、メモリ4G)、エミュレーター起動するまで5分ぐらい
しかも起動するとwindows激重
さすがに耐えられないので、ここを参考に
Android Studioで実機デバッグするには? | iDEA CLOUD/dev
android端末をusb接続して実機デバックに変えたら
激早・・・15秒ぐらいでアプリ立ち上がる
titaniumで実機転送すると5分ぐらい掛かってたのに
(titaniumでもtishadow使えば速いんですけど、tishadow上での動きと実機転送での動きに差があったりしてもう・・・)
一先ず、titaniumで作ったアプリをjavaで置き換えてみようと思ってます。
参考
Android開発環境構築エラーまとめ
Android Studioで実機デバッグするには? | iDEA CLOUD/dev
Androidエミュレータを高速化しよう!設定が間違っていたら高速動作しません | サクッとJava研修室
灯火: Android : AndroidStudio が重い場合の対処法(メモリ割り当ての調整)
Androidエミュレータは遅い!重い!!Intel x86設定で高速化して使うべし | サクッとJava研修室
regza T-02D 自力で強制初期化
google map 表示されなかったけどなんとか回避 by titanium 3.4.0 android
titanium 3.3.0 androidでgoogle mapがバグで表示されなかったけど
titanium sdk 3.3.0 + androidでgoogle mapが表示されない - shoprevのブログ
3.4.0でバグ直したよって上がってたのでsdkのバージョンあげてやってみた
たしかにエラーで落ちなくなったけど相変わらず
The Google Play services resources were not found.
といわれ、mapが表示されない状態。
さらに
E/Google Maps Android API: Failed to load map. Error contacting Google servers. ... network errors).
というエラーが・・・
なんども設定確認しなおしたけどうまくいかず
なんとなくandroid実機のwi-fiをoffにして動かしたらあっさり動いた
一度うまくmap表示されたらそれ以降はwi-fiのon、off関係なく動くようになった
なんだったんだ・・・何はともあれこれで先に進めそう
参考
http://docs.appcelerator.com/titanium/3.0/#!/guide/Google_Maps_v2_for_Android
http://docs.appcelerator.com/titanium/3.0/#!/api/Modules.Map
Getting Started - Google Maps Android API v2 — Google Developers
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ④
前回、公式プラグインを使ってnginxのメトリック可視化してみた
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ③ - shoprevのブログ
けど、個人の全然アクセスないサイトにはGoogle Analyticsで十分じゃねということで
サーバーで動かしてるアプリのエラー件数をmackerelに投稿してみた
mackerel-agent設定ファイル追記
/etc/mackerel-agent/mackerel-agent.conf
[plugin.metrics.app] command = "/path/to/ruby /path/to/app-metrics.rb"
本日のエラー件数をmackerelに投稿
require "date" if ENV['MACKEREL_AGENT_PLUGIN_META'] == '1' require 'json' meta = { :graphs => { 'app' => { :label => 'App', :unit => 'integer', :metrics => [ { :name => 'error', :label => 'error' } ] } } } puts '# mackerel-agent-plugin' puts meta.to_json exit 0 end puts [ 'app.error', open("app.log","r:utf-8").read.scan(/#{Date.today.to_s}.+ERROR/).size, Time.now.to_i ].join("\t")
いけたー
しっかりやるならfluentd経由とかなのかもですがたいしたアプリでもないのでこれで十分かと
参考
ホストのカスタムメトリックを投稿する - Mackerel ヘルプ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ① - shoprevのブログ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ② - shoprevのブログ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ③ - shoprevのブログ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ③
前回で、無料で使える死活監視ツールとしてはいいんじゃないかという結論に
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ② - shoprevのブログ
今回は、ミドルウェアのメトリック可視化のために公式プラグインが出てるので使ってみた
mackerel公式プラグインインストール
sudo apt-get install mackerel-agent-plugins
mackerel-agent設定ファイル追記
/etc/mackerel-agent/mackerel-agent.conf
[plugin.metrics.nginx] command = "/usr/local/bin/mackerel-plugin-nginx"
mackerel-agent設定反映
sudo /etc/init.d/mackerel-agent restart
けどエラーが・・・
2014/09/30 16:28:59 ERROR metrics.plugin Failed to execute command "/usr/local/bin/mackerel-plugin-nginx" (skip these metrics): 2014/09/30 16:28:59 OutputValues: Get http://localhost:8080/nginx_status: dial tcp 127.0.0.1:8080: connection refused 2014/09/30 16:28:59 ERROR agent Failed to generate value in *linux.PluginGenerator (skip this metric): exit status 1
nginxで接続状態を確認するためには、
stub_statusディレクティブが必要とのこと
なので設定追加
/etc/nginx/conf.d/default.conf
... server { listen 80; server_name example.com; ... location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } } ...
nginx設定反映
sudo /etc/init.d/nginx restart
mackerel-agent設定ファイル変更
/etc/mackerel-agent/mackerel-agent.conf
[plugin.metrics.nginx] command = "/usr/local/bin/mackerel-plugin-nginx -host example.com -port 80"
mackerel-agent設定反映
sudo /etc/init.d/mackerel-agent start
いけたー
参考
mackerelio/mackerel-agent-plugins · GitHub
ミドルウェアのメトリック可視化に公式プラグイン集を使う - Mackerel ヘルプ
nginx で接続状態を確認する(stub_status を使ってみる) | レンタルサーバー・自宅サーバー設定・構築のヒント
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ① - shoprevのブログ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ② - shoprevのブログ
はてなのサーバー管理ツール(mackerel 鯖)使ってみた ②
前回、mackerelをさくら vps 1G ubuntuに入れて見たけど、
はてなのサーバー管理ツール(mackerel 鯖)使ってみた - shoprevのブログ
1台しか入れてなかったのでサービスやらロールのありがたみが分らなかったため
手持ちの残り4台にも入れてみた。
たしかに5台をひとつのグラフで見られるのは便利だけど
この手の類似サービスを使ったことがないのでこれがすごいことなのかよくわからん
ためしに、vpsを強制停止して5分ぐらいでweb上にalertが上がって、登録メールアドレスに通知きたので死活監視ツールとして利用するのはありかも
(ちなみにvps起動してもmackerel-agentが自動起動しなかった・・・)
あと試すとしたらサービスメトリックかな