タグ Golang
人気順 5 users 10 users 50 users 500 users 1000 usersgolangで作るTCPIPプロトコル
はじめに とりあえずIT業界に入ったら読んでおけという名著はいろいろありますが、その中の1冊がマスタリングTCP/IP入門編でしょう。 僕も買ってはいたものの読むのを途中で挫折していたので、今回しっかり読んでTCP/IPを再勉強してみたいと思います。 マスタリングTCP/IPを読みながらその他わからんことはググりつつ、g... 続きを読む
Let's EncryptがはまったGolangの落とし穴 - ぼちぼち日記
0. 短いまとめ 300万以上の証明書の失効を迫られたLet's Encryptのインシデントは「Golangでよくある間違い」と書かれているようなバグが原因でした。 1. はじめに、 Let's Encryptは、無料でサーバ証明書を自動化して発行するサービスを行う非営利団体として2014年に設立されました。 2015年にサービス開始されると証明... 続きを読む
golangとDockerとOOM — KaoriYa
golangで書いたプログラムをDockerで動かしOOMが発生した際になるべく情報を残して殺される方法を紹介します。 TL;DR golang製のプログラムは仮想メモリ(VSZ)の確保に失敗するとgoroutineのダンプを吐いて死ぬ DockerのOOMはRSSベースで検出時にSIGKILLを投げてくる Docker利用時にVSZで制限をかけるスクリプトを書いた ... 続きを読む
VSCodeとDockerでMacにGolangの開発環境を作成する | DevelopersIO
こんにちは、CX事業本部の夏目です。 Golangは最近人気の言語で手を出そうとは思っていたのですが、環境構築がいまいちよくわからなくてできてませんでした。 (goenvを使ってGolangをインストールするときGOPATHはどうしたらいいとかよくわからなかったのです) 今日はVisualCodeとDockerを使って、Golangの開発環境をMac... 続きを読む
Goのアーキテクチャを実例に学ぶ - 「開発スピード優先」でGMOペパボが採用したのはMVC - エンジニアHub|若手Webエンジニアのキャリアを考える!
なぜ、MVCを採用するのか 「いま直面する問題」を解決するために、シンプルな構成を選ぶ MVCを採用し感じる課題 ディファクトに従うのではなく、必要とされるものを選ぶ 関連記事 2012年のバージョン1.0発表以降、Golang(以下、Go)はさまざまなサービスでの採用事例を増やしています。しかし一方で、Goを活用したサー... 続きを読む
#golang で CLI 作るときにいつもつかうやつ - Qiita
grapi・gex・ery など,今年に CLI を作りまくって見えてきたベストプラクティス集(技術選択編). 基本便利パッケージ Cobra - spf13/cobra https://github.com/spf13/cobra フラグ処理やサブコマンド・ヘルプメッセージ・補完など,CLI ツールに必要なことはだいたいいい感じにやってくれるライブラリ.有名どころだ... 続きを読む
goroutineはなぜ軽量なのか - Carpe Diem
概要 以前の記事で christina04.hatenablog.com golangはスレッドよりはるかに軽量なgoroutineでC10K問題を解決する、という話をしましたが、goroutineが軽量なのはなぜか?という理由を深掘りしたことがなかったのでしてみました。 環境 golang 1.11.1 Darwin 17.7.0 軽量と呼ばれる理由は2つ 大きく分けると以下の2... 続きを読む
Big Sky :: golang で tensorflow のススメ
tensorflow といえば Python と思っておられる方も多いのではないでしょうか。間違いではないのですが、これは初期に作られた Python 向けのバインディングに研究者達が多く食いついた結果に過ぎないと思っています。実際 tensorflow は現在 C言語、C++、Python、Java、Go から利用する事ができ、最近では JavaScript に... 続きを読む
Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang - Mercari Engineering Blog
はじめに メルペイ エキスパートチームのtenntennです。 メルカリグループでは、毎週金曜日にGo Fridayという社内勉強会を開催しています。 毎週やっているとそれなりに知見が溜まってくるので、定期的に"こぼれ話"としてブログを書こうという話になりました。 今回の記事では、先日のGo Fridayで話題にあがった非公開な... 続きを読む
サーバーレス開発を始めて6ヶ月間なので振り返りをしてみる - YOMON8.NET
今の会社(BeeX Inc.)に来て、半年くらいサーバーレス開発をやってきました。 やっと人並みに(?)サーバーレス開発進められるようになったのと、開発が一息ついたので振り返りをしてみようと思います。 はじめに サーバーサイドについて 使用サービス LambdaはGolangで書きました Golangで辛かったこと Golangで良かっ... 続きを読む
Golangで軽量なSSHサーバを実装する - Fire Engine
今回は、Golangのgolang.org/x/crypto/sshパッケージを使って、SSHサーバを構築してみました。 かなりミニマムな実装ですが、リモートからSSH接続して、対話的にコマンドが実行できるところまで実装しました。 コード github.com package main import ( "golang.org/x/crypto/ssh" "log" "net" "io/ioutil" "fmt" "os/ex... 続きを読む
Big Sky :: Go 言語の非同期パターン
Go は goroutine という非同期の仕組みを提供していますが、使い方次第では色々なパターンが実装できる為、初めて goroutine を見た人はどの様な物が正解なのか分からない事があります。以前、このブログでも紹介した事がありますが Go の非同期の仕組みは一見単純な様に見えて実はとても奥深いのです。 Big Sky :: golang の channel を使ったテクニックあれこれ go... 続きを読む
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く 1. 1 Linux のユーザーランドを init から全てまるごと Golang で書く Tetsuyuki Kobayashi 2018.4.15 Go Conference 2018 Spring 2. 2 The latest version of this slide will be available from... 続きを読む
Big Sky :: Golang と Vue.js で簡単なアプリケーションを作ってみた。
Go と Vue.js を使ってどれくらいシームレスに作れるかを確認したかったのでタスク管理アプリを作ってみた。サーバは Go なので vue-cli や webpack 等は使わない。全て CDN から。Vue.js でアプリのベースを、UI コンポーネントとして Element 、Ajax ライブラリとして axios を使った。 以前、 Riot.js を使って Todo アプリを作った 時... 続きを読む
Golangの defer をRubyでも使いたい - たごもりすメモ
2018 - 03 - 14 Golangの defer をRubyでも使いたい 前に Rubyでtry-with-resourcesが使いたい という話を書いてそのときにリリースしたgemもあるが、人類の安全に・便利にリソースを解放したいという欲求には際限がない。 try-with-resources は便利なんだけど欠点がないわけではなくて、リソースの確保と解放を一ヶ所でまとめてやらないとネス... 続きを読む
Python Webスクレイピング テクニック集「取得できない値は無い」JavaScript対応 - Qiita
この記事について 本記事はPythonを使ったWebスクレイピングのテクニックを紹介します。 Webスクレイピングのテクニック集ですので、基本的にRubyだろうがGolangだろうがほぼ同様なことができます。 本記事で扱った方法は全て個人的に使う時に役に立った方法です。 大体これらのテクニックを使えればなんでも取得できます。 むしろ、できないWebスクレイピングができないサイトがあればコメントにて... 続きを読む
最近の私的 Golang 開発環境 - Qiita
あらかじめ予防線を張っておくと Go 言語 の開発環境で「これ!」という正解はない。特にチームで開発している場合は,チームの流儀に従うのが最善だと思っている。なので,この記事は「こういうやり方もあるよ」という参考程度に見ていただけるとありがたい。 GOPATH の構造 皆さん御存知の通り,環境変数 GOPATH は Go 言語 パッケージや開発環境を指定するものだが,実は複数のパスを指定できる。W... 続きを読む
golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? - pospomeのプログラミング日記
2017 - 11 - 24 golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? golang DDD 最近、 golang のレイヤ構造において、他のコードに影響なくインフラレイヤのデータソース実装を差し替えることは可能か? という質問を受けた。 回答時間が限られている中で質問を受けたので、 「現実的には難しい」という雑な回答しかで... 続きを読む
Golang を使うなら Makefile を恐れるな - Frasco
最近 Golang を使っています。開発中、私は go build と go test を繰り返し手入力で実行するのに慣れてしまいました。これはついついやってしまう、私の悪い癖でした。引数がないようなシンプルなコマンドであれば、それほど辛くありません。しかし、タスクが複雑になってくれば、当然苦痛になってきます。逃げ道となりえる選択肢はほとんどありません。bash スクリプトは、あなたの仕事の役に立... 続きを読む
「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ - $shibayu36->blog;
2017 - 11 - 07 「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ tech book 最近 golang で CLI ツールを作っていたのだけど、 Linux のお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうの Linux プログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組み... 続きを読む
Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう
« Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。 | Main printf デバッグは便利だ。技術の後退と言われようと printf でないと解決できない事はまだまだたくさんあります。 今日は net/http でクライアントが得たレスポンスの JSON を確認したいといった場合に、どうデバッグしたらいいかを書いてみたいと思う。 Go ... 続きを読む
golang の並列処理を Ruby と比較しながら学ぶ / マスタカの ChangeLog メモ
一ヶ月ほど前の社内のインフラ共有会でタイトルの話をしました。記録の ために記事を書いておきます。 Gist に置いてあるので、コードは git clone で取得可能です。 $ git clone https://gist.github.com/c0a4234a5264c89655c40adcf7c27cb2.git Ruby 例えば Ruby で 30 個の処理をするコードがあったとします。こん... 続きを読む
1万台のサーバを監視できると話題のPrometheusをGrafanaと組み合わせて導入した話 | Nagisaのすゝめ
はじめに 初めまして、下記の記事にて紹介がありました インフラエンジニアの榎戸です。 golangを使って開発したWebAPIを1年半運用して改善してきたことー月間20億PVのマンガサービス開発の裏側 場数を踏んできたのかは分かりませんが 笑 23歳エンジニア歴は2年と浅めです。 まだまだ未熟なエンジニアですが 今回は Prometheus + Grafana について紹介させて頂きます。 内容に... 続きを読む
イケてないのに人気がある golang vs イケてるのに人気がない Nim - 強まっていこう
2017 - 10 - 02 イケてないのに人気がある golang vs イケてるのに人気がない Nim IT Nim プログラミング 技術 提案 ここ最近 GCP を持ち上げて Google のポチと化していましたが、そのポチが今回は Google に噛みつきます。 だって golang 酷いんですもん。何かセンスがぜんっぜん Google っぽくない。 せっかく作るのなら、もっと良いものにし... 続きを読む
golangを使って開発したWebAPIを1年半運用して改善してきたことー月間20億PVのマンガサービス開発の裏側 | Nagisaのすゝめ
はじめに 初めまして、サーバーサイドエンジニアの曽根田です。 0から立ち上げ3年で月間20億PV達成!マンガZEROの開発を牽引するエンジニアチーム での紹介にもあるように、弊社では複数のマンガアプリの開発が並行して進められています。 その中で今回は マンガZERO の成長過程でぶつかり、 乗り越えてきた問題をサーバーサイド視点で紹介していきたいと思います。 乗り越えてきた問題 最初は PHP5.... 続きを読む