タグ

ブックマーク / tdoc.info (7)

  • Goのバイナリサイズを削減する — そこはかとなく書くよん。 ドキュメント

    あれ、 "-s"では変わってないですね…darwin環境ではでないのかななld周りのなにかだと思うのでそれはあとで追うとして、元々が26MBだったのが、5.2MBまで減りました。 圧縮に upx -9 を使った場合、かかった時間は15.70秒でそこそこ時間がかかりますね。3回ほど実行してだいたい同じぐらいでした。伸長時は0.10秒ほどでした。もちろんメモリなどにも依存しますので、この結果は鵜呑みには出来ませんが、あくまで目安として。 さらにいうと、 upx -1 で圧縮した場合は 0.78秒しかかかりません。それでいて、6.4MBと充分な圧縮効率となりました。この辺りはターゲットとする環境に合わせて決めればいいと思いますが、 -1 で十分な気もします。 まとめ¶ Goのバイナリが大きい問題は、ldflagsとUPXを使うことである程度解決できるのではないか、という話でした。 UPX知らなか

  • AWS Lambdaで効率的にgoバイナリを実行する — そこはかとなく書くよん。 ドキュメント

    lambda_procでは、node側でJSONを整形し、goに対して一行のJSONとして渡します (Line Delimited JSON)。 go側のヘルパーライブラリがJSONを整形し、goのメイン関数に渡します。 返答は、適当なstructを返すとlambda_procのヘルパーライブラリがJSONに整形してnodeに返してくれます。 実際にベンチマークにgoのソースコードは以下となります。標準出力に書いてしまうとnode側に渡ってしまうので、ログは標準エラー出力に書く必要があります。 package main import ( "encoding/json" "log" "os" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/se

  • MQTTについてのまとめ — そこはかとなく書くよん。 ドキュメント

    注釈 MQTT As a Service: sangoをリリースしました 2014年8月に、GitHubアカウントで簡単に登録できてMQTTを使い始められる sango を 時雨堂 がリリースしました。 無料プランもありますので、MQTTを一度使ってみたいという方はsangoを使うことをお勧めします。 最近voluntasさんが 活動 してお り、にわかにMQTT関連が熱くなってきました。たぶん観測範囲が狭いからだと は思いますが。 とはいえ、M2M (Machine to Machine)やIoT(Internet of Things)というバズワー ドもあり、モノがインターネットにつながる時代になってきて、MQTTの価値が 高くなってきている気もします。また、モバイル時代に適したプロトコルとい う意味でも注目されているのかもしれません。 ということ、MQTTについて一旦ここでまとめてみ

  • pipの使い方 (2014/1バージョン) — そこはかとなく書くよん。 ドキュメント

    pipの使い方 (2014/1バージョン)¶ 以前 pipの使い方 と いう記事を書いたのですが、これは2011年の1月と、ちょうど3年前です。これ から随分変わったので、ここでもう一度まとめたいと思います。 pip: http://www.pip-installer.org/ ここで述べているpipのバージョンは1.5です。お使いのpipのバージョンが古い場合は pip install -U pip として、更新してください。 警告 大きな変更点: pip 1.5から"pre"や"b"などがバージョンに付いているパッ ケージはデフォルトで検索やインストールの対象からはずされました。その ため、1.5未満のバージョンのpipでインストールしたパッケージが1.5では 入らない場合があります。 --pre を付けることで、これらのバージョンを入れることができます。

  • 入門Ansibleを出版しました — そこはかとなく書くよん。 ドキュメント

    入門Ansibleを出版しました¶ この度「 入門 Ansible 」を、Amazonにて出版致しました。 今までAnsibleに関する日語のはありませんでしたが、Ansibleの入門書的な位置づけとして、まずこれを読めば分かる、ということを目指して執筆しました。 書を執筆するにあたり、レビュー頂いた方々に感謝致します。 内容はちょっと長いですが、以下の通りです。 はじめに Ansibleの特徴 Ansibleはシンプル ChefやPuppetとの違い Ansibleは "Better Shell Script" Ansibleを使ってみよう インストール inventoryファイル モジュール (module) playbookを作ってみよう YAMLの文法 playbookを書いてみる playbookの解説 task handler よく使うモジュール 複雑なplaybookを

  • ansibleを使ってみる — そこはかとなく書くよん。 ドキュメント

    ansibleを使ってみる¶ Chefが猛烈な勢いで流行り始めている今日このごろですが、似たようなものは 世の中にいくつもあります。今日はその中の一つ、 Ansible を使ってみます。 書いていたらやたらと長くなったので何回か続きます。 軽くご紹介¶ インストールの前にどのようなツールなのかを軽く説明します。マシンの設定 を自動で行なってくれる、というツールなのはChefと同じです。 そのポリシーは githubのページ に書かれています。 シンプルな設定 最初から超速くて並列 サーバーやデーモンとかいらない。今あるsshdだけあればいい クライアント側になにもいらない モジュールは「どんな」言語でも書ける 超強力な分散スクリプトを書くためのイケてるAPI rootじゃなくても便利に使える 今までで一番使える設定管理システム さて、では見て行きましょう。 インストール¶ ansibleは

  • chef-soloで環境設定 — そこはかとなく書くよん。 ドキュメント

    chef-soloで環境設定¶ chefはサーバ構成管理ツールです。構成を設定ファイルとして書き残しておき、 chefを実行すればそのとおりにサーバを構築してくれます。また、何度実行し ても同じように構築してくれますし、サーバ構成をいじったとしても修正して くれます。 というわけで、chefを使ってみたのでそのメモ。 事前準備¶ chefはrubyで作られていますので、rubyが必要です。また、chef自体のインス トールにはgemが楽ちんです。 chefにはサーバなどがありますが、今回は単独で実行できる chef-solo のみ を使います。 雛形作成¶ 後述するcookbookなどの雛形を作ってくれるRakefileがopscodeのサイトにあ ります。 githubのopscodeから取ってきます。 この構成をそのまま使うのが吉です。また、ここにあるRakefileを使うことで、 c

  • 1