タグ

あとで読むとgolangに関するymm1xのブックマーク (13)

  • Golang Error Handling — Best Practice in 2020

    Golang has many advantages, its popularity explains this. But error handling in Go 1 is not very efficient , we have to write many verbose , inconvenient codes in daily development. There’re several open source solutions to tackle this. Meanwhile, the Go team is improving this from both the language and the standard library aspects.

    Golang Error Handling — Best Practice in 2020
  • Goの良さを好きなだけ語りたい

    はじめに サークル内部向けに書いていた記事ですがZennにも供養します。 Tsuzuと申します。早稲田大学のデジタル創作サークルMISWでSysAdとかWeb班長をしています。引退目前の身です。 Goが10周年らしいです。おめでとうございます。 私自身もGoを書き始めて4年半ほどが経過しました。 以前はC++をよく使っていたのですが最近ではWebフロントエンド以外の開発ではGoを利用することがほとんどです。 今回はKibela活性化の目的も含めてGoの良さを思う存分語ろうと思います。 HashiCorpというTerraform、Vaultなどを始めとする様々なGoで開発されたソフトウェアやSaaSを提供している会社があります。 HashiCorpが開発している一般に一番有名なツールはVagrantでしょうか。(VagrantはRubyですが) HashiCorpのCEOであるMitchel

    Goの良さを好きなだけ語りたい
  • Big Sky :: Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。

    8月に Google Developers Expert となり、新米の様にオロオロとしています。過去の GDE ミーティングの議事録を見せて頂いているのですが Google Document に保存されており、Go だけでなく他のカテゴリの GDE に関する物も含めると全てに目を通すのはなかなか骨が折れます。技術者なので問題は技術で解決すべく、これらの資料を grep 検索できる様にしました。 Google Document はエクスポートすると Microsoft Word の形式となるので、Microsoft Word から Markdown に変換するプログラムを書けばテキスト検索もできるし、なんならそのまま GitHub に貼り付けてしまう事もできます。 GitHub - mattn/docx2md docx2md Convert Microsoft Word Document

    Big Sky :: Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。
  • ボイラプレート編 - #golang で CLI 作るときにいつもつかうやつ - Qiita

    技術選択編 が軽バズりして嬉しかったので続編. TL;DR 便利ライブラリ & CLI つくったよ https://github.com/izumin5210/clig clig を見れば @izumin5210 が普段どうやって CLI を開発しているかがわかるよ いつも使ってる Makefile や .travis.yml もあるよ 開発用ツールの依存は gex で管理してるよ logging zap Blazing fast, structured, leveled logging のとおり,はやくて構造化データを吐けてログレベルも設定できるロガー.これは知ってる人も多いハズ. 自分が使うときはデバッグフラグを定義しておき,cobra.OnInitialize で logger を初期化して global logger にセットしている. cobra.OnInitialize(fun

    ボイラプレート編 - #golang で CLI 作るときにいつもつかうやつ - Qiita
  • Go Advent Calendar 2018 - Qiita

    The Qiita Advent Calendar 2018 is supported by the following companies, organizations, and services.

    Go Advent Calendar 2018 - Qiita
  • Go言語のイケてない部分 - ぐるぐる~

    最近色々あって仕事Go言語を使っています。 色々割り切っている言語なので、こんなこと言ってもしゃーないんですが、言語設計はミスってるんじゃなかなぁ、と思わざるを得ない点が多々あります。 使い始めて1か月くらいなので間違ったことを書いているかもしれませんので、何かあれば指摘していただけるとありがたいです。 文ではネガばかり羅列していますが、ランタイムとツール周りは気に入っています。 Goのランタイムを使う、もっと洗練されたAlt Go的なものがあるといいのに(もしくはジェネリクスのったGo2を早くリリースしてほしい)、と思う日々です。 追記: なんか意図とは違った受け取られ方をしている方もいるので追記します。 この記事はあくまで、「Go言語を学ぶにあたって躓いた点」を列挙し、まとめ、理由を考えてみる(教えてもらう)ために書いたものです。 Go言語自体はDisってますが、Go言語ユーザーを

    Go言語のイケてない部分 - ぐるぐる~
  • 他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita

    環境構築するまでに知りたかったこと Golangの最新バージョンは? 1.16.6 (2020/07/12リリース) Goのインストール方法は? macOS の場合は brew で OK この場合、goのsdkは /usr/local/Cellar/go/<バージョン>/libexec にインストールされます。 IntelliJ IDEA や GoLand にような IDE に「GOROOT」というものの指定を求められたら、このパスを使います。 brew で入らないバージョンの go が必要だったり、いくつかのバージョンを併用したい場合は $ go get golang.org/dl/go1.14.4 $ go1.14.4 download # 1.xx.0 の場合 $ go get golang.org/dl/go1.15 $ go1.15 download # 上記でgo getしたg

    他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita
  • Goへの誤解について

    よくGoで誤解されるポイントについて個人的な見解を書いておきます。 今回の記事はGoアドベントカレンダー2017 その3の20日目の記事です。 使ってないパッケージがコンパイルエラーって面倒じゃね? さっさとgoimportsかgoreturnsを保存時に自動実行するエディタ環境を使いましょう。 gofmtも一緒に実行されていいことずくめですよ! インターフェースがnil判定出来ないパターンがあるのダメじゃん? 最初は私もそう思いました。しかし、typed-nilがnilリテラルと比較できなくなったのは 「nil判定サボったままinterface型に変換した」からでサボらなければ全く問題にならないのです。 map,sliceが不便? map,sliceはメソッドが一切ありません。 極論をいうとGoのプリミティブ型みたいなものなのです。 ユーザーが欲しいものはmapやsliceを駆使して各自

  • Go言語で「なかった」の返し方 - Qiita

    何らかの関数が、その結果として「なかった」ということを返す場合について考えてみます。処理自体は成功したが、その結果「なかった」ということを返す場合です。 いくつかのパターンをあげてみます。 nil まず始めに return nil, nil は 危険 です。エラーでない場合は、何らかの non-nil な値(ポインタ)を返すべきです。 Go言語でコードを書く際はエラーを必ず確認し、そして、以下のような例でエラーでなかった場合は、結果が nil でないことを前提としてコードを書きます。このため return nil, nil だと「ぬるぽ(にるぽ?)」です。 result, err := fooFunction() if err != nil { return err } // ここに来た場合は result != nil が期待される result.bar() よってエラーなしの場合は n

    Go言語で「なかった」の返し方 - Qiita
  • 闇のBashををGoに置き換える技術 / golang.tokyo #11 // Speaker Deck

    golang.tokyo #11 の発表資料です。

    闇のBashををGoに置き換える技術 / golang.tokyo #11 // Speaker Deck
  • 100万回のWebSocket接続とGo | POSTD

    こんにちは。私はSergey Kamardin(セルゲイ・カマルディン)です。Mail.Ru(ロシアの電子メールサービス会社)で開発者をしています。 この記事では、どのように私がGoを使って高負荷対応のWebSocketサーバを開発したかについて説明したいと思っています。 パフォーマンス最適化のアイデアやテクニックを通じて、WebSocketの知識はあるもののGoについてはほとんど知らないという方のお役に立てれば幸いです。 1. はじめに まずは開発に至った経緯について、どうして私たちがこのサーバを必要としたのかを説明しておきましょう。 Mail.Ruには多くのステートフルなシステムがあります。ユーザのeメール保存もその1つです。システム内、およびシステムイベントの状態変更を追跡する方法にはいくつかの種類がありますが、それらは主に状態変更に関するシステム通知、または周期的なシステムのポーリ

    100万回のWebSocket接続とGo | POSTD
  • Go 2にむけて

    The Go Blogの日語訳を公開しています。修正は https://github.com/ymotongpoo/goblog-ja/ まで。 Go 2にむけて Toward Go 2 by Russ Cox はじめに (この文章は日行われた Gophercon 2017 での私の発表の書き起こしで、Goコミュニティ全体にGo 2のための議論や計画をする中での支援を求めるものです。 動画が公開されたらこちらにリンクする予定です。) Rob Pike、Robert Griesemer、そしてKen Thompsonが新しいプログラミング言語について数日議論を重ねた後、2007年9月25日にRobが「Go」という名前を提案しました。 翌年、Ian Lance Taylorと私がチームに参加し、5人で2つのコンパイラと標準ライブラリを開発し、その成果が2009年11月10日のオープンソース

  • GolangでAPI Clientを実装する

    特定のAPIを利用するコマンドラインツールやサービスを書く場合はClientパッケージ(SDKと呼ばれることも多いが記事ではClientと呼ぶ)を使うことが多いと思う.広く使われているサービスのAPIであれば大抵はオフィシャルにClientパッケージが提供されている.例えば以下のようなものが挙げられる. https://github.com/aws/aws-sdk-go https://github.com/Azure/azure-sdk-for-go https://github.com/PagerDuty/go-pagerduty https://github.com/hashicorp/atlas-go 特別使いにくい場合を除けば再実装は避けオフィシャルに提供されているものを使ってしまえばよいと思う(まともなものなら互換性などをちゃんと考慮してくれるはずなので).一方で小さなサービ

  • 1