タグ

goとJSONに関するyohane00のブックマーク (7)

  • 【初中級編】Go言語を始める方のための落とし穴、問題の解決方法やよくある間違い - Qiita

    こちらの記事は、Kyle Quest氏により公開された『50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs』の和訳です。 記事は原著者から許可を得た上で記事を公開しています。 初心者(Total Beginner)向けの和訳は 【初級編】Go言語を始める方のための落とし穴、問題の解決方法やよくある間違い があります。記事は初中級者(Intermediate Beginner)向けの和訳です。 初中級者向け HTTPレスポンスボディのクローズ HTTPコネクションのクローズ JSONエンコーダーが追加する改行 JSONパッケージによるキーと文字列値の特別なHTML文字のエスケープ JSON数値のインターフェース型へのデコード 16進数や非UTF8のエスケープシーケンスがJSON文字列値として使え

    【初中級編】Go言語を始める方のための落とし穴、問題の解決方法やよくある間違い - Qiita
  • Goで高速JSONライブラリを作るためにしたこと | メルカリエンジニアリング

    他にもまだまだあると思いますが、自分が見たことがあるのは上記になります。 それぞれ見比べてみると、やはりエンコード・デコード両方に対応しているライブラリが人気があるようです。 この中で特に人気のある easyjson , gojay , json-iterator/go でベンチマークをとってみた結果、パフォーマンスの良い順に並べると次のようになりました。 gojay > json-iterator/go > easyjson > encoding/json 設計方針の違いがそのまま速度に現れているようにも見えますが、理論上最速にできるはずの easyjson が遅かったりと実装の良し悪しも影響しているようです。 一番遅いのは encoding/json です。そもそも encoding/json が遅いから新しい JSONライブラリを作ろうとしているはずなので、一番遅いのは仕方ないのです

    Goで高速JSONライブラリを作るためにしたこと | メルカリエンジニアリング
  • GoでDialogsを使ったSlack Appを作る - shiimaxx's blog

    このエントリは Go Advent Calendar 2018 12日目の記事です。 SlackにはInteractive frameworkという仕組みがあります。これによりButtonやMenuなどのインターフェースをユーザに提供することができます。 このInteractive frameworkのひとつとしてDialogsがあります。Dialogsは、Text、TextArea、Selectの要素からなるフォームを構築し、ユーザに入力してもらうことで、より複雑なワークフローを実現するSlack Appを作るのに便利な仕組みになっています。 このエントリでは、Dialogsを使ったSlack AppをGoで書くときの流れを紹介します。 サンプル デリバリーのコーヒーを注文するCoffeebotを題材とします(実際に注文はしません)。 以下の流れで利用します。 @coffee order

    GoでDialogsを使ったSlack Appを作る - shiimaxx's blog
  • Go言語のイケてない部分 - ぐるぐる~

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

    Go言語のイケてない部分 - ぐるぐる~
  • GoでJSON APIを書く - sgykfjsm.github.com

    JSONを返すRESTful APIを作ることになったので諸々の復習を兼ねてMaking a RESTful JSON API in Goを読む。そのままだとつまらないのでところどころ微妙にアレンジしながらやってみる。 A Basic Web Server RESTfulなAPI Serverを作る場合、当然の事ながらWeb Serverとして提供することになる。周知の通り、Goの場合はnet/httpを使って簡単にWeb Server Applicationを作ることが出来る。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( "fmt" "html" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r

  • 私のプログラミングの始め方 : Go | Yakst

    プログラミング言語の最初の1歩を解説するサイト「How I Start」から、Peter Bourgon氏によるGo言語(golang)の始め方について。Goのシンプルさと標準ライブラリの使いやすさに焦点を当てた、分かりやすい解説。 Goは、信頼に値するスマートな人達によってデザインされ、大規模かつ成長を続けるオープンソースコミュニティによって継続的に改善されている、愛すべき小さなプログラミング言語である。 Goはシンプルであることを標榜しているが、時にはそのしきたりが少々分かりにくくなる時もある。ここでは、私がGoプロジェクトをどのように始めたか、そしてどのようにGoの慣習に従うようになったかをお見せしようと思う。Webサービスのバックエンドを構築してみよう。 環境設定 もちろん、最初のステップはGoのインストールだ。オフィシャルサイトで、使用しているOSのバイナリディストリビューショ

    私のプログラミングの始め方 : Go | Yakst
  • Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ

    概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が大きい場合は、1万以上のコネクションが表示され、ホスト間のコネクション状況を人間の目で概観することが難しかった。 そこで、同一ホストとのコネクションを集約表示し、コネクション状況を概観する 「lstf」 (「えるえすてぃーえふ」)コマンドをつくった。 github.com lstfの特徴は以下の通り。 コマンド実行ホストを起点に、active openコネクションかpassive openコネクションを判定する。つまり、接続をする側かされる側かを判定する。 各ホストフローごとにコネクション数を表示する Goで実装されているポータビリティ。i3

    Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ
  • 1