普段はQiitaにまとめてるのですが、今回は成功しなかった系なのでブログに書きます。 http://qiita.com/tienlen/items まずはじめに 経緯 Dockerで構築してた環境で全部をAlpineLinuxで構築していたので、CouchbaseもAlpineLinuxで立てることができないのかやってみました。 Couchbaseってなぁに? 公式: http://www.couchbase.com/ Couchbaseはドキュメント指向でスキーマフリーなDBいわゆるNoSQLという種類のDBですが、Version4以降(投稿時は4.5)ではSQL準拠のN1QLが使えることになったことで、NotOnlySQLとかNewSQLとかっていう分類の仲間入りをしました。 特徴としてはマルチマスターで単一障害点がないことやmembaseやcouchdbをベースにしているため、キャッシュ機構が最適化されており、もちろん速度も早いこと。 モバイルアプリと連携する場合にオフライン設計ができていたり、DBとの同期処理もsync gatewayという関連パッケージを使うことでデータの競合解決をほぼ自動で行ってくれることなどがあげられます。 (いいところがありすぎて書ききれない...) やってみた dockerは使うけど、Dockerfileを書いて実行だと時間がかかりすぎるので、shellに入って試していきます。 imageはalpineの最新を使いました。…

Generic https://github.com/usk81/generic 作った経緯とか JavaとかのGeneric Typeとかとは違うんだけど、汎用型という意味で、Generic。 GoでWebサービス作ってると困るのが、JavaScriptとかGo以外のものとの連携で型があわないとか、RDBSとデータの受け渡しをする際にNULLをどうあつかうかとか、Goは単体だと書きやすいんだけど、他の言語とかが絡んできた途端に難しくなる気がする。 そういうことなので、nilを扱いやすくしたり、JsonをMarshal/Unmarshalするときに、ゆるく解釈してくれる型をつくりました。これでDB使うときにNull**型つかうか?それともポインタ型にするか問題の解決につながったり、JsonのMarshal/Unmarshalでエラーとかパニックとかの抑制になったりするといいんだけどね。 使い方 用意した型 TypeBool : nilも扱えるゆるいBoolean TypeFloat : nilも扱えるゆるいFloat64 TypeInt : nilも扱えるゆるいInt64 TypeString…

githubでfernoって人がbase65536というアイディアを出していて、nodejsのライブラリを作ってた。 https://github.com/ferno/base65536 pythonやswiftでも作ってる人たちもいた。 だったらGoLangもしてみんとてするなり!! base65536って何? ところでbase65336ってなんだろう? 引用: Base64 is used to encode arbitrary binary data as "plain" text using a small, extremely safe repertoire of 64 (well, 65) characters. Base64…

商標権とか権利問題等でめちゃくちゃ改変したKANA-BOONのtalkingの初稿をなんでダメになったかを合わせて記載しておく。 本日のお題 歌詞 頭がクラクラすんだ 足元フラフラ、今夜はブギーバック 聴きながらブランドのバッグ選んでる そんな未来は勘弁だ 作戦決行これは結構勝率の低い決闘 そんなの関係ないね理想のパズル完成させて このまま2人でバックれて隠れて 路地のBarに潜んでMid night 頭の中のフィクションがだんだん現実に姿を変えていくよ talking 君と話がしたいぜ 夜明けよもう少し待ってくれ ラークの煙に包まれていたいぜ talking 君の話をきかせて 夜明けよまだ待ってくれ ウィルキンソンの炭酸が抜けていく 重なり合う手、絡み始める腕 緊迫感から始まるステップ ドキドキ、ドーピングしてる様なアドレナリン talking その気にさせてよ talking その気にさせてよ ないない、即効性はないけどちょっと待ってて 先々そこに迎えに行くから待ってて talking…

自作してたhosts管理ツールをバージョンアップさせました。 https://github.com/usk81/holster holsterってなんぞやは、こちらで。 http://blog.code42.jp/holster/ 今回やったこと CLIフレームワークを変更しました。 今までは、codegangsta/cli を使用していました。 このフレームワークはCLIツールを作るときには直感的に作れるので重宝してて、redditやstackoverflowなんかでもGoLangでCLI作りたいんだけど?的な質問には絶対と言っていいほど登場するフレームワークの一つです。 なのですが、 usage(使用方法)とdescription(説明)がごっちゃになっている 概要と詳細説明が分かれていない Helpとかをいじりたい時に黒魔術を唱える必要がある などの問題がありました。 そんなある日、githubがgit-lfsの中でよさ気なフレームワークを使っているのを見つけました。 それが、今回切り替えたspf13/…

hosts管理ツールを新たに作ったのが、今行ってる会社がstaging環境とかをhosts切り替えで行っていたから。 いちいち書き換えるのは超めんどぃ。 Hostsとかhostsファイル管理のも使ってみたけど、チェックボックス付け替えたりってのも1回2回だったらいいけど頻繁に切り替えたりするってなるとヒューマンエラーとかが起こりやすいわけで... ということです。 holsterの特徴。 CLIで管理: コマンドメインでやってる人には嬉しいと思う。 予めHosts作って切り替え: ありそうで結構ない。production,staging,developmentをhostsで切り替えたりしてるところは重宝すると思う。 かゆいところに手が届くappend: 基本的には予め切り替え用のhostsを作っておくのが前提なんだけど、 一時的にちょっと足したい場合もある。 なので、それを実現するappendっていうコマンドを用意してます。 インストール go get github.com/YusukeKomatsu/holster goで作ってるので、"go get"で入れることが出来ます。 go使ってなかったら、build済みのものも用意してあるので、そちらを落としてください。 初期設定 holster…

「2015年に身につけるべき6つのトレンドスキル」っていうのが、マイナビで流れてた。 内容を見るとどうも、『えっ、今更そんなこと言ってるの!?』的な内容ばかり。 元ネタの"The Top 6 Tech Skills You Need in 2015"を見てみると、どうやら2015年に身につけるべきじゃなくて、今年中に身につけておかなかったら、もう今後やっていけないよ!!的なものをリストにしたみたい。ニュアンスの問題なんだけど... これぐらいしっかり訳してほしいな。 というわけで、「2015年に身につけといい6つのスキル」を考えてみた。 ビックデータ x リトルデータ 今までの分析では追いつかず、ビッグデータの活用が提言されて、ビッグデータ元年なんて言われたのは実は「2012年」。 今の、…

仕事 今年から”仕事する”から”仕事を作る”への切り替えをはじめる 今作ってるものをとりあえずリリースする 去年から作り始めてるものがあるのでとりあえず形にする。 ものづくりって難しい。 サービスの開発をはじめる 開発言語やミドルウェアも大体決まって、 あとはコーディングするのみ!! 手伝ってくれる人がほしい... 法人格にしてしまえばいいんだけど... う〜ん 個人名刺作る 頭のなかでは2,3パターンあってあとは落としこむだけなんだけど、 結局去年はやらなかった。 いい加減作れよ!! って、自分でも思っているのだけれど、 Photoshopのライセンス買うのに二の足を踏んで、 だってPhotoshopないんだもん! ・3・) と、言っている自分がいる パーソナルブランディング とりあえず、Web業界の中でどっかで見たことある、聞いたことあるレベルに上げる。 favor.me 去年、About.…

見なおしてみたらスマホにいらないアプリがたくさんあったので、 全部洗い出して消してみた JR東日本アプリ https://play.google.com/store/apps/details?id=jp.co.jreast&hl=ja 乗り換えとかでどこの車両に乗ったら便利か的なのがなかったのでいらない。 思った以上に使わなかった Evernote Food https://play.google.com/store/apps/details?id=com.evernote.food&hl=ja…