タグ

ブックマーク / qiita.com/jpshadowapps (6)

  • pluggableな機能追加を実現してくれる go-extpoints を使ってみた - Qiita

    go generateを調べたり試したりしてみて、「これを使って柔軟且つpluggableに機能拡張/追加出来る仕組み作れないかな?」と考えていたところ、既にそれっぽい事を実現してくれているパッケージがあった。 こちらの progrium/go-extpoints。 使ってみたら、個人的にドストライクなツボを抑えてくれていたので、お試しメモとして残しておく。 なお、go generateを使用するので、goのバージョンは1.4(以上)が前提。 go-extpointsをインストール 普通に go install するだけ。 試してみる 使ったソースは こちら ざっくり、こういう流れで実装していくことになる。 ※(以降の記述では、公式で"extension point"とか"component"と言及されている物については分かりやすいように"プラグイン"という言葉を使う) extpoints

    pluggableな機能追加を実現してくれる go-extpoints を使ってみた - Qiita
    kasumani
    kasumani 2015/01/08
    pluggableな機能追加を実現してくれる go-extpoints を使ってみた 使ったソースは こちら ざっくり、こういう流れで実装していくことになる。 ※(以降の記述では、公式で"extension point"とか"component"と言及されてい
  • 型TがインタフェースIを実装しているか、の確認方法例 - Qiita

    公式ドキュメントのFAQ How can I guarantee my type satisfies an interface? var _ I = T{}ってコードを仕込んで コンパイル時にエラーを確認する (Iがインタフェース) 例えばTの基礎型がsturctではなくstringなら var _ I = T("") こんな感じで 実装漏れがあればT does not implement Iというコンパイルエラーで気付かせてくれる "Iってインタフェースを実装してますよ" という宣言目的のメソッド を定義&実装して可視化する 例えばImplementsI()的な名前のメソッド 個人的には前者の方法だけで良い気がした。メソッド名頼りというのが心許ないというか。。。 お試しGist : https://gist.github.com/goldeneggg/abd05091a5abfde0b5

    型TがインタフェースIを実装しているか、の確認方法例 - Qiita
    kasumani
    kasumani 2014/12/03
    型TがインタフェースIを実装しているか、の確認方法例 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket December 03, 2014 at 05:46PM via IFTTT
  • github用プロジェクトの雛形をシェルでサクッと用意する - Qiita

    動機 git initしたりREADME.md用意したり、ってあたりをコマンド一発でサクッとやりたい もっと細かい事・丁寧な事をやりたければ好きな言語でコマンドラインツール作るとかすればいいと思う。その際の参考にでもなれば やること 以下をシェルで * README.md を作成する * CHANGELOG を作成する * LICENSE を作成する * .gitignoreを作成する * git initする * (後で必要に応じて)README.mdに各種ステータスバッジを追加する .zshrc, .bashrc あたりに設定追記 .zshrcとか.bashrcに下記を追記 function ghreadme() { account=$1 name=$2 cat <<EOL ${name} ========== ${name} is hoge huga. ## Getting Star

    github用プロジェクトの雛形をシェルでサクッと用意する - Qiita
    kasumani
    kasumani 2014/09/03
    github用プロジェクトの雛形をシェルでサクッと用意する Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket September 03, 2014 at 11:47PM via IFTTT
  • IRC+HubotをDockerでサクッと試す - Qiita

    Dockerで立てたIRCに、Dockerで立てたHubotを常駐させますよ、という話 コンテナの相互関係 +---------------------+ |goldeneggg/centos | | +------------------------+ +-| goldeneggg/centos-ngircd +-----------------------------+ | <-----+ goldeneggg/hubot-irc | +------------------------+ | | | |-+ +-----------------------------+ | | goldeneggg/hubot |-+ +----------------------------+ | |dockerfile/nodejs | +--------------------------+ g

    IRC+HubotをDockerでサクッと試す - Qiita
    kasumani
    kasumani 2014/08/22
    IRC+HubotをDockerでサクッと試す 4 ストック 0 コメント この投稿をストックする Dockerで立てたIRCに、Dockerで立てたHubotを常駐させますよ、という話 コンテナの相互関係 +---------------------+ |goldeneggg/centos | | +------------------------+ +-|
  • Goのtime.Tickをselect caseで受ける時にdefault節を記述した場合の挙動メモ - Qiita

    time.Tick とは? time.Tick(<Duration>) は 指定した間隔で時刻を配信する同期チャネル を返す関数 tick := time.Tick(time.Millisecond)した場合のtickは1ms間隔で時刻を送信する 通常のチャネル同様に<-tickで受ける チャネルなのでselect case文やfor t := range tick { ... }文で受信処理が可能 select caseでTickを受ける場合 結論から言うと select caseでTickを受ける場合はdefault節は書かないように! default節なし package main import ( "fmt" "time" ) func main() { tick := time.Tick(time.Millisecond * 1) go func() { for { select

    Goのtime.Tickをselect caseで受ける時にdefault節を記述した場合の挙動メモ - Qiita
    kasumani
    kasumani 2014/08/13
    Goのtime.Tickをselect caseで受ける時にdefault節を記述した場合の挙動メモ 2 ストック 0 コメント この投稿をストックする time.Tick とは? time.Tick() は 指定した間隔で時刻を配信する同期チャネル を返す関数 tick := time.Tick(time. Tags:
  • Dockerでforward proxyサーバーを立てる with centos6.5 on virtualbox - Qiita

    [2014/05/08 追記] Dockerfile使って簡潔にまとめ直した版はこちら Dockerでforward proxyサーバー(squid)を立てる using Dockerfile - Qiita centos6.5 on virtualboxな環境(dockerコンテナもcentos6.5)な環境で公式のチュートリアルを試してみた備忘 dockerとは何ぞやレベルの話は割愛。というか有用な情報が多く存在するのでいらんよね?という やること virtualbox上にcentos6.5のVMを構築する 構築したVM上でdockerコンテナを動かす(同じくcentos) dockerのcentral repositryにあるcentosイメージはver 6.4なので、6.5にアップデート コンテナ上にsquidでプロキシサーバを立てて、数パターンのアクセス経路で通信を確認する 環境

    Dockerでforward proxyサーバーを立てる with centos6.5 on virtualbox - Qiita
    kasumani
    kasumani 2014/03/08
    Dockerでforward proxyサーバーを立てる with centos6.5 on virtualbox centos6.5 on virtualboxな環境(dockerコンテナもcentos6. Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket July 09, 2014 at 01:09AM via IFTTT
  • 1