タグ

あとで読んだとGoに関するraimon49のブックマーク (4)

  • CLI ツールを Go で書いて Docker イメージとしてリリースする

    最近ようやく開発ツールとして Docker が手に馴染んできたので、タイトルの件も含めていくつか雑多に書きます。 CLI ツールを Go で書いて Docker イメージとしてリリースする コマンドラインツールを Go で書く、というのは以前からやっていて、主な理由としては「クロスコンパイルができるのでバイナリリリースが簡単」というのがありました。便利なので、クロスコンパイルから GitHub へのリリースを一発でやってくれるラッパーツールを書いたこともありました (一応動くものの、開発は非常に中途半端なところで止まってますが) gox して ghr するツール ggallin 作った その後、2017 年に入って Docker で Multi-Stage Builds という機能が実装されてからは、Dockerfile 内の build ステージで go build したバイナリを最終的

    CLI ツールを Go で書いて Docker イメージとしてリリースする
  • フリーエンジニアのIT案件ならレバテックフリーランス

    2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1. PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい

    フリーエンジニアのIT案件ならレバテックフリーランス
  • Go言語で API サーバーを開発する | カメリオ開発者ブログ

    こんにちは!白ヤギの開発者、森です。 白ヤギではいま API サーバーを Go 言語で開発しています。 皆さんも Go の話題をよく見聞きするようになっていると思います。今回は白ヤギの業務でどんな風に Go を使って開発しているかの一端を紹介します。 余談ですが、先日、大学の先生とお話ししたときにこんな話を伺いました。その先生は学生にプログラミングを教えているそうですが、何割かの学生は及第点に届かないそうです。しかし、そういった学生がプログラミングの素養がないかというとそういう訳ではなく、プログラミングを学ぶ上でその学生にとって何が理解を促すのかが違うだけなのだと仰っていました。教える側として全ての学生が習得できるプログラミング教育というのを見つけられていないのが悔しいといった話をされていました。 何かを学ぶというのを一般論では語るのは難しいということかもしれません。そのため、私はこうい

    Go言語で API サーバーを開発する | カメリオ開発者ブログ
    raimon49
    raimon49 2015/05/30
    GoにあってPythonにないもの、PythonにあってGoにないもの
  • または私は如何にして例外するのを止めて golang を愛するようになったか — KaoriYa

    Java の finally よりも golang の defer のほうが筋が良さそうだ、 ということから考え始めた結果、 どうして私が golang を気に入ったのかがわかった気がしたので書いておきます。 ファイルをオープンし読み込みな処理で何かして終わったら閉じる、という関数を Javagolang で書き比べてみましょう。 Java で書くとこんな感じですね。 public static void readFile(String fname) throws IOException { InputStream s = null; try { s = FileInputStream(fname); // // Do something with "s". // } finally { if (s != null) { s.close(); } } }

    raimon49
    raimon49 2014/04/17
    defer s.Close()とfinallyの中のif
  • 1