タグ

golangに関するmicknのブックマーク (49)

  • A Makefile for your Go project (2017)

    Update (2019-07) Go 1.11 introduces modules to manage dependencies without using GOPATH. While some aspects of the Makefile presented here are still relevant (fetching tools, running tests), the main point becomes moot. See the updated version of this guide. My most loathed feature of Go is the mandatory use of GOPATH: I do not want to put my own code next to its dependencies. Hopefully, this issu

    mickn
    mickn 2017/02/05
  • なぜGo言語 (golang) はよい言語なのか・Goでプログラムを書くべき理由 | yunabe.jp

    結論としてはGo言語には以下のようないくつかの長所があり、現実路線で非常にバランスがとれた言語だと思います。 これらの長所のために失われたメリットも当然いくつもありますが、一定程度以上の規模のプロジェクトで利用する言語の選択肢としては現存するプログラミング言語の中では一番か二番目によいのではないかと思います。 コンパイルが速い (vs. C++) GCとメモリ安全性 (vs. C++) 妥当で現実的なレベルの型安全性 (vs. Python/Ruby) 実行時パフォーマンスが良さ (vs. Python/Ruby) 現実問題、ある程度の規模と期間のプロジェクトになると型検証があるとリファクタリングなどがだいぶ楽になるのでありがたい。 型があるので自然と実行時パフォーマンスも良い 標準ライブラリが整備されている (vs. C++) むしろ標準ライブラリにjsonのparserすら存在しないC

    mickn
    mickn 2017/01/17
  • Goで覗くシステムプログラミングの世界

    プログラミングの勉強にあたってよく言われるのは、「流行に左右されるような技術の尻を追いかけるよりも、土台となる技術を身につけることが大切」ということです。 例えば、ウェブブラウザで動くJavaScriptを書くときは、流行しているライブラリの書き方を暗記するよりも、 ブラウザがどのようにCSSHTMLを解釈してスクリーンに文字や絵を描き出していく(レンダリングしていく)のかを理解することが大切です。 さもないと、ライブラリの流行が変わるだけで勉強したスキルが失われてしまいかねません。 データベースでも同じことがいえます。SQLの文法を学ぶことよりも、データベースがどのようにスケジューリングを行い、 どのようにデータを探索していくのかを学ぶほうが、パフォーマンス・チューニングのコツなどもひらめきやすくなるでしょう 1 。 「土台となる技術を身につける」を、もう少しちゃんと言い換えれば、「今

    Goで覗くシステムプログラミングの世界
    mickn
    mickn 2016/09/21
  • AWS Lambda in Golang

    JAWS-UG沖縄 真夏の熱すぎるサーバレス祭り! 2016年08月 および、PythonBeginners 2ndの発表資料です。 えーっと、AWS LambdaPython使ってみたいけど、LambdaPythonってどっから手つけたら良いのかわからんので、とりあえずフレームワーク使っておけば型ができるからServerlessFramework(ver.0.56)とPyCharm使って手軽に構築してみたよ、って内容です。ついでにCORSの設定もしてみています。 学生などの初心者も意識して作成した資料のため「なぜPython?」や「AWS アカウント作成」「Git作成」などの記載もありますが、スキルに合わせて読み飛ばしてくださいませ〜(`・ω・´)ノシ

    AWS Lambda in Golang
    mickn
    mickn 2016/09/08
  • 書籍「みんなのGo言語」を著者陣よりも早く読んだ — KaoriYa

    先行販売された書籍 「みんなのGo言語」の紙の実物を著者陣よりも早く入手し読んだので、 夏休みの宿題には少し遅れましたが読書感想などまとめてみます。 来たる 9/9 に発売予定の書籍 みんなのGo言語 が、例によって書泉ブックタワーにおいて先行販売されました。この屋の店頭には、著者に見紙が届くよりも早くが並ぶということで、一部にはとても有名です。そのため僕は、著者よりも早く実物のを手にして読んで感想を記事にすることを画策し、数日前から足繁く通っては別のを買ってたりしました。おかげで結構な出費になりました。でも技術書漁りは仕事かつ趣味みたいなところがあるからね。しょうがないね。 9/2先行販売『みんなのGo言語 [現場で使える実践テクニック] 』技術評論社(978-4-7741-8392-3)松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太著 入荷● Go言語を適材適所

    mickn
    mickn 2016/09/05
  • みんなのGo言語 届いた! : D-7 <altijd in beweging>

    先日もお知らせしたように、「みんなのGo言語」というの執筆に参加しました。発売日は9/9ですが、一部書店では先行販売されているようです。 みんなのGo言語【現場で使える実践テクニック】 [大型] そして今日著者用の分が届きました。やったぜ! 内容についてのレビューは kaoriyaさんのものが良いかと思います。是非そちらもご覧下さい。 個人的にはやはり気になったのは自分が描いたパラパラ漫画。やっぱりやっちゃうよね。もう少しカットを足せばよかったとも思うが、まぁプロじゃないので許してください! Daisuke Maki@lestrratThe gopher that I drew a while back now lives in a printed copy https://t.co/OiYiYMxAJI #golang #gopher https://t.co/9vuQdh9F4G

    みんなのGo言語 届いた! : D-7 <altijd in beweging>
    mickn
    mickn 2016/09/05
  • Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ

    白ヤギの開発者の森です。 白ヤギでは Go 言語でニュース記事のキュレーションをする カメリオ API というサービスを開発しています。約1年2ヶ月前、Go を使って開発し始めたときに当時調べた内容を整理して以下の記事を書きました。 Go言語で API サーバーを開発する 1年以上に渡り開発を継続してきて変わったこと、変わってないことなどをざっくばらんにまとめてみます。たまたま過去の記事のはてブコメントを見返していて 以下のコメント を見つけました。 最近 golang 導入事例増えて来たけど、導入後一年くらいのメンテナンスフェーズな事例について聞いてみたい。継続的デリバリーみたいなの。まだ早いのかな? まだまだメンテナンスフェーズにはなっていなくて現在も活発に開発中ですが、継続的デリバリーについて白ヤギでは特別なことをしてなく、ansible を使ってデプロイしているのみです。Go 1

    Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ
    mickn
    mickn 2016/07/29
  • GoでZabbixと通信する、もしくはオレオレZabbix Server/AgentをGoで実装する方法 - 酒日記 はてな支店

    全国一千万Zabbixユーザの皆様こんにちは。 複数のZabbix Agentから取得した値を集約する zabbix-aggregate-agent や zabbix_get コマンドの Go 実装版 go-zabbix-get を書いて遊んでいるうちに、Go で Zabbix と通信するライブラリが育ってきてしまったので一通りまとめておきます。 "github.com/fujiwara/go-zabbix-get/zabbix" を import して使います。 import "github.com/fujiwara/go-zabbix-get/zabbix" Zabbix Agentから値を取得する アイテムでいうところの「Zabbixエージェント」型、ServerやProxyからAgentに対してTCP接続をして値を取得するタイプです。 value, err := zabbix.Ge

    GoでZabbixと通信する、もしくはオレオレZabbix Server/AgentをGoで実装する方法 - 酒日記 はてな支店
  • Golangの8086実装でとりあえずMINIXのyesコマンドが動いた - As a Futurist...

    細かいことはおいといて、8086 向けのバイナリとして MINIX という OS が持っている yes コマンドをとりあえず動かすことができました。OS とかは省略して、ともかくこのバイナリを解釈して 8086 に命令を飛ばして動かしただけですが、自分としては大きな一歩です。文字を書き出すところの write system call はそのまま実行元の OS の system call を呼び出しています。 riywo/go8086 https://showterm.io/6ddbd0ae8018f9ba7434d#fast なお、@7shi さんのこちらの記事とコードを丸パクリしたようなものですので、@7shi さんには頭が上がりません。大感謝。 i8086 のインタプリタで MINIX のコマンドを動かす – 七誌の開発日記 type/interface 設計 逆アセンブラを作るだけな

    Golangの8086実装でとりあえずMINIXのyesコマンドが動いた - As a Futurist...
  • Reddit - Dive into anything

    Ask questions and post articles about the Go programming language and related tools, events etc. As soon as I saw the Go 1.4 beta and the option GOOS=android, I could not resist not to try. Installation for all other architectures was OK, the only problem was with the android. After several hours compiling, linking, resolving errors, it worked :) I put apk on my S3 running on 4.4.4 Given that this

    mickn
    mickn 2014/10/31
  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava1.0で仕事しても大丈夫なんだろう。

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
    mickn
    mickn 2014/10/18
  • Golang でのウェブ開発を考えてみる - Qiita

    Help us understand the problem. What is going on with this article? 仕事Golang を使ってウェブアプリを作ることになりそうなので、どんな構成がいいのか考えてみる。あくまで前提ありきの選択なので、何でもかんでも適用できるわけではない。 JS や静的ファイル部分は今のところ考慮していない。単によく知らないので。 突っ込み大歓迎です。これいいよ!とか教えてください 前提 多機能なフレームワークよりシンプルなフレームワークに色々組み合わせる方法をとりたい。 開発者は数名程度。Golang に精通している開発者が 1 名いる。残りはこれから。 開発者は Django での開発経験が豊富な人が多い 全員ウェブ開発経験はそれなりに積んでいる。 HTML と JSON 両方のパターンが存在するのでテンプレートエンジンは重要。 JS

    Golang でのウェブ開発を考えてみる - Qiita
    mickn
    mickn 2014/10/05
  • Go and License

    Firebase Apple SDK 年間ダイジェスト: 2023年 / Firebase Apple SDK Annual Digest: 2023

    Go and License
    mickn
    mickn 2014/08/09
  • Farewell Node.js

    I’ve been fighting with Node.js long enough in production now that I don’t enjoy working with it anymore unfortunately, so at least for now this my formal farewell! And more importantly I need maintainers! Node does some things well, but ultimately it’s not the right tool for the type of software I’m interested in these days. I still plan on using Node for web sites, but if you’re interested in ma

  • 高速にGo言語のCLIツールをつくるcli-initというツールをつくった

    高速にGo言語のCLIツールをつくるcli-initというツールをつくった tcnkms/cli-initGitHub cli-initを使えば,Go言語コマンドラインツール作成時のお決まりパターンをテンプレートとして自動生成し,コア機能の記述に集中することができる. デモ 以下は簡単な動作例. 上のデモでは,addとlist,deleteというサブコマンドをもつtodoアプリケーションを生成している.生成結果は,tcnksm/sample-cli-initにある. 背景 Go言語で作られたコマンドラインツールを見ていると,codegangsta/cliというパッケージがよく使われている. これは,コマンドラインツールのインターフェースを定義するためのライブラリで,これを使えば,サブコマンドをもつコマンドラインツールを簡単につくることができる(Usageを自動で生成してくれたり,bash

    mickn
    mickn 2014/06/23
  • Go 1.3 is released - The Go Programming Language

    Andrew Gerrand 18 June 2014 Today we are happy to announce the release of Go 1.3. This release comes six months after our last major release and provides better performance, improved tools, support for running Go in new environments, and more. All Go users should upgrade to Go 1.3. You can grab the release from our downloads page and find the full list of improvements and fixes in the release note

    Go 1.3 is released - The Go Programming Language
    mickn
    mickn 2014/06/19
  • かつてDockerがいた

    要約すると単に開発リソースが足りなかった話。

    かつてDockerがいた
  • ʕ  ゚皿゚ ʔ GolangのWeb Application Frameworkを色々試してみてもいいかしら? - ( ꒪⌓꒪) ゆるよろ日記

    うちのメロンちゃんはLv.117です。 Golangで、簡単なWebアプリケーションをいくつかのフレームワークを用いて作成してみた。 サンプルアプリケーションは、こんな感じのPhotoギャラリーアプリケーションで、画像URLを入力すると追加される。 PureというCSSフレームワークのサンプルから拝借した。 Photo Gallery – Layout Examples – Pure ソースコードはGithubで公開している。 yuroyoro/golang_webapp_framework_samples · GitHub 今回試したのは、net/httpパッケージ、Martini、 Revel の3つ。 net/http編 まずは基net/http編。ソースコードはこちら。 http - The Go Programming Language net/httpパッケージでサーバーを

    ʕ  ゚皿゚ ʔ GolangのWeb Application Frameworkを色々試してみてもいいかしら? - ( ꒪⌓꒪) ゆるよろ日記
    mickn
    mickn 2014/06/15
  • Goroutine Synchronization : D-7 <altijd in beweging>

    (以下はgo 1.2.x時点での話です。将来的に仕様がかわるかどうかはわかりません) これを読んでいて、こういうの気にしてない人多いんだろうなーと思って、書いてみます。元のポストはdeferの挙動について語っているように見受けられるけれども、これは要は複数スレッドで実行されるコードについて、プログラム終了時に同期とか取りたくない、という話だと思ったので、このポストのdeferを正しく動かすには…というところからどういう形でgoroutine同士で同期を取る方法があるのか、一例を書き出していきます。 TL;DR; goでいくらgoroutineが気軽にかけるからと言って、複数スレッドで処理が行われているので同期はキチンとやらないとダメですよ。 deferの基 goではLLのノリでコードを書けるのが売りの一つですが、メモリ管理はしてくれるものの、様々なリソース解放も全て自動というわけではあり

    Goroutine Synchronization : D-7 <altijd in beweging>
    mickn
    mickn 2014/05/28
  • Plan 9/Nix系の新オペレーティングシステム「Clive」登場

    レイ・ファン・カルロス大学のLSUB研究チームは「Laboratorio de Sistemas」においてPlan 9やNixの設計に近い新しいオペレーティングシステム「Clive」を開発中であることを伝えた。「Clive」はクラウドでの利用を想定したオペレーティングシステムとされており、アプリケーションそのものを動作に必要になるライブラリ込みでコンパイルして直接ハードウェア上で動作するバイナリを生成するといった特徴がある。仕組みはXenプロジェクトの提供している「Mirage OS」に近いといえる。 現在開発段階にあるとしており、最終的にはCSPライブなスタイルのインタフェースを提供することを目指しているという。アプリケーションはチャンネルを経由してネットワーク、パイプ、そのほかのI/Oを経由したコミュニケーションが可能。開発言語としてはプログラミング言語Goを採用しているという説明もあ