タグ

golangに関するt-wadaのブックマーク (99)

  • 「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング

    メルペイ エキスパートチームの@tenntennです。稿は Merpay Tech Openness Month の11日目の記事です。 「プログラミング言語Go完全入門」の期間限定公開のお知らせでも書いたように、メルペイでは、社外の方向けにGopher道場という体系的にGoを学べる場を無償で提供してきました。Goの普及を目的にこれまでに8回開催し100人以上の方に参加していただきました。 また、Gopher道場の動画や資料はGopher道場 自習室として誰でも利用できるようになっており、現時点で300名以上の方が利用されています。 Gopher道場の資料のベースになっている「プログラミング言語Go完全入門」は、2020年7月31日までの限定公開になっていましたが、日より公開期限を撤廃し、完全公開することになりました。 また、日8月31日から始まる「Online Summer Int

    「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
    t-wada
    t-wada 2020/08/31
    "「プログラミング言語Go完全入門」は、2020年7月31日までの限定公開になっていましたが、本日より公開期限を撤廃し、完全公開することになりました" この資料は分かりやすかった。期限なし公開すばらしい
  • GitHub - albrow/fo: An experimental language which adds functional programming features to Go.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - albrow/fo: An experimental language which adds functional programming features to Go.
    t-wada
    t-wada 2018/06/14
    Go に Generics を実装してしまう強者現る
  • Go & Versioning(vgo)を読んで大きな変更が入ったなと思った - Qiita

    Help us understand the problem. What is going on with this article?

    Go & Versioning(vgo)を読んで大きな変更が入ったなと思った - Qiita
    t-wada
    t-wada 2018/02/28
    "バージョンは常にセマンティックバージョニングで表します" "バージョン管理機能が追加されたgoコマンドは、depやglideなどの依存管理ツールとは別のアプローチでバージョンを管理します" go に semver が来るのか
  • Go製のCHANGELOGジェネレータを作った - wadackel.me

    はじめにタイトルにある通り、git-chglog という Go 製の CHANGELOG ジェネレータを作りました。 git-chglog/git-chglog https://github.com/git-chglog/git-chglog Git を使用したコミットとタグからなる情報を元に CHANGELOG を作成するためのツールです。 まだまともなサンプルが用意出来ていないのですが、以下は Angular のリポジトリで試しに作ってみたイメージです。 2018/02/20 時点の Angular のコミット数がおよそ 9600 程度で、生成までの時間が 2.5〜3.5s なので、まぁストレスなく使えるレベルの速度かなと思います。 僕が普段仕事としている Web Front-End 界隈では、conventional-changelog というツールが存在し、恐らく最も使われています

    Go製のCHANGELOGジェネレータを作った - wadackel.me
    t-wada
    t-wada 2018/02/28
    conventional-changelog の golang 実装。これはいいな!
  • AWS Lambda Supports Go

    You can now develop your AWS Lambda function code using Go. Lambda lets you run code without provisioning and managing servers. You simply upload your Go executable artifact as a ZIP file through the AWS CLI or Lambda console and select the go1.x runtime. With Lambda, you can use Go's native tools to build and package your code. Read our documentation for more details. You can also use the AWS Ser

    AWS Lambda Supports Go
    t-wada
    t-wada 2018/01/16
    AWS Lambda が Go を正式サポート。これはめでたい。
  • [速報]AWS Lambdaが機能強化。.NETとGo言語をサポート、サーバレスアプリケーションのリポジトリも登場。AWS re:Invent 2017

    Amazon Web Services(AWS)は、米ラスベガスで開催中のイベント「AWS re:Invent 2017」で、サーバレスコンピューティングを提供するAWS Lambdaの機能強化を発表しました。 API GatewayVPCとの統合機能、3GBメモリサポート、コンカレンシー制御の強化などに加え、.NET Core 2.0のサポートおよびGo言語のサポートが発表されました。 Amazon.com CTOのWerner Vogels氏がGo言語のサポートを発表すると、会場からは大きな拍手があがりました。「たくさんの人から、Go言語はサポートしないのかと聞かれた」(同氏) さらにサーバレスアプリケーションを再利用可能にする公開リポジトリの「AWS Serverless Application Repository」が登場。 AWS コンソールからサーバレスアプリケーションの登録

    [速報]AWS Lambdaが機能強化。.NETとGo言語をサポート、サーバレスアプリケーションのリポジトリも登場。AWS re:Invent 2017
    t-wada
    t-wada 2017/12/01
    ".NET Core 2.0のサポートおよびGo言語のサポートが発表されました" AWS Lambda に Go サポートが来た!
  • A Tour of Goを終えたあなたにおすすめのGoを勉強するためのリソース - すずけんメモ

    今年も夏のインターンで学生にGoの講義をします。多く寄せられる質問が「A Tour of Goを終えたのですが、その後に何をやるのがおすすめですか?」というものです。学生に限らず、言語を学ぶ方はプログラミングそのものに対する慣れやバックグラウンドも違います。そこでなるべくいろんな方の参考になるように、おすすめななりページなり方法なりをまとめてみます。 わりと多くの人におすすめ 「プログラミング言語Go」(Alan A.A. Donovan, Brian W. Kernighan著)です。通称GOPL。 http://www.gopl.io/ 柴田さんによる日語翻訳もあります。 https://www.amazon.co.jp/dp/4621300253 Go言語のイントロダクションから始まり、型・インタフェース・並列性の説明などが丁寧にかかれています。私がGOPLを良いと思う点は、例示

    A Tour of Goを終えたあなたにおすすめのGoを勉強するためのリソース - すずけんメモ
    t-wada
    t-wada 2017/07/24
    golang.org の文章が、言語作者ならではの「どう考え、なぜこうしたか」が書かれていて読み物としても面白い印象だった
  • Go言語のリアルタイムGC 理論と実践 | POSTD

    (編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可能にしているのでしょうか。重要となる要因はGoの低レイテンシのガベージコレクタです。 ガベージコレクタはプログラムを一時停止させるものであり、リアルタイムシステムの悩みの種です。そのため、新しいメッセージバスを設計する際には慎重に言語を選びました。Goは 低レイテンシを強調している ものの、私たちは懐疑的でした。「当にGoを使えば実現できるのか? もしできるならどうやって?」 このブログ記事ではGoのガベージコレクタを、どのように機能し(トリコロールアルゴリズム)、なぜ機能し(こんなに短いGCによる一時停止時間の実現)、そして何よりも、それが機能するのかどうか(GCによる

    Go言語のリアルタイムGC 理論と実践 | POSTD
    t-wada
    t-wada 2017/04/28
    "GHCのガベージコレクタはスループットを最適化していますが、Goが最適化しているのはレイテンシです。Pusherにとってはレイテンシのほうが重要なので、これは格好のトレードオフでした"
  • Big Sky :: golang と Generics と私

    以下の記事は Java について触れていますが、Java を dis っている訳でもありませんし、冗長に見える例を意図的に使っています。 最近 Twittergolang に Generics が無い事についてずいぶんと盛り上がったのですが、僕の意見をこのブログにも書いておこうと思います。 golang に多相が無いのはアレだとか開発者の怠慢だみたいな話はだいたい他の言語を覚えた人から出る感想で、静的型付言語である golang を見ると確かにそう見えるかもしれない。ただ golangJava や他の言語と違って Duck Type を採用している。 — Vim芸人 (@mattn_jp) March 7, 2017 スクリプト言語の多くに多相が求められないのと同じ様に golang を深く触る人達から多相が欲しいという意見がそれほど出ないのは golang の型が Duck

    Big Sky :: golang と Generics と私
    t-wada
    t-wada 2017/03/10
    "ただ言いたいのは「golang は型が貧弱だ、Generics を実装しないのは開発者の怠慢だ」といった意見に同調する人たちに「golang は Generics が無くても事足りてしまう事がある」という1例を見せたいだけなのです"
  • GitHub - golang/dep: Go dependency management tool experiment (deprecated)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - golang/dep: Go dependency management tool experiment (deprecated)
    t-wada
    t-wada 2017/01/25
    ついに golang 公式の依存解決ツールが出た
  • Goについて思うこと 2016

    あんまりこういう内容のポエム的なものは広まってほしくないなあ・・と思うのでこっちにひっそり書くことにする。 今年は僕にとってはGoの存在がとても大きい年だった。 5年前、僕が書くのはWebアプリケーションが中心で、PHPをメインで触っていた。それが気がつけばエンジニアリングのレイヤが広がったなあという所感があって、ここ最近Goがそれを加速してくれた。第二の言語としてのGoはとても良くできていて、小回りが聴くし、ミドルウェアをちょろっと書くにも心地よい。やっぱり最近の言語ならではの良さがある。たとえば、 * テストが標準ライブラリに組み込まれている * net/httpがとても良くできている。フレームワークを必要としない場面も多い。 * concurrencyを堅牢に扱える(うまい言葉が見当たらない) * そしてそれなりに速い というのがあげられる。特にgo toolの充実はすごい。Race

    t-wada
    t-wada 2016/12/27
    "なぜか汎用的なコードは失敗するが、問題領域をちゃんと絞ると良いコードになっていく。だから結果的にすごくやりたいことに対して愚直なコードになる" 先日 Go でペアプロしていて同様の感覚を持った
  • テストしやすいGoコードのデザイン

    テストしやすいGoコードのデザイン golang.tokyo #2 12 December 2016 Taichi Nakashima 言いたいこと 明示的であれ! 2 whoami @deeeet / @tcnksm (GitHub) http://deeeet.com A PaaS Dev&Ops (Using go for CLI tool, API, Batch jobs) 3 OSS Tools gcli - The easy way to build Golang command-line application ghr - Create Github Release and upload artifacts in parallel Packages go-httpstat - Go package for tracing golang HTTP request latency

    t-wada
    t-wada 2016/12/13
    ユニットテスト容易性を向上させるコード設計とはどういうものかを、Go のコードを通じて説明している
  • フリーエンジニアのIT案件ならレバテックフリーランス

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

    フリーエンジニアのIT案件ならレバテックフリーランス
    t-wada
    t-wada 2016/11/15
    PHPカンファレンス2016の講演直後にレバテック様から取材頂いたインタビュー記事が公開されました。何卒よろしくお願いします! #phpcon2016
  • Golangにおけるinterfaceをつかったテスト技法 | SOTA

    最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ

    t-wada
    t-wada 2016/10/25
    "外界とやりとりを行う境界をinterfaceにする" はたいへん良い。環境変数による分岐をプロダクションコードに入れるのは不吉な臭いなので、節度を持って行いたい。(分岐はテストコード側とのこと。誤読すみません…)
  • Go 言語で wc を実装してみた - takatoshiono's blog

    Go 言語で wc を実装してみた GitHub - takatoshiono/go-wc: Go implementation of wc command for practice なぜか A Tour of Go をやり終えた時「全然うまく書けない」というのが感想だった。もっと Go 言語のコードを読み書きする必要がある。 そして読むだけだとやる気が続かないから何か書きたい。何を作ろうか? Go 言語なのでスタンドアローンで起動するバイナリ実行形式のファイルがよさそう。仕様が簡単で手頃なやつがいいな...と考えて wc にしたのだった。他にも以下が候補にあった。 ab smtp server beer コマンド(なんかうまそうなビールを表示する) wc コマンド find コマンド (コマンド系で攻めるなら GNU coreutils, findutils などを見るとよさそうか...

    Go 言語で wc を実装してみた - takatoshiono's blog
    t-wada
    t-wada 2016/10/03
    プログラミング言語の学習プロセスとして素晴らしい事例だと思う
  • 「みんなのGo言語」の執筆に参加しました - すずけんメモ

    今回、「みんなのGo言語」の執筆に参加しました! みんなのGo言語【現場で使える実践テクニック】 : 松木雅幸, mattn, 藤原俊一郎, 中島大一, 牧 大輔, 鈴木健太 : : Amazon Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。 「みんなのGo言語」執筆参加しました! : D-7 私がGoでプログラムを書き始めたのは2015年の明けごろからです。mattnさんのブログ を読みながら、面白い言語があるのだなーと思って書き始めました。 A Tour of Go を触ってみて、ちょっと冗長そうだけど案外いい感じかもな?と思いつつ少しずつGoで実装するようになっていました。そこから標準ライブラリ読み漁り、小さなツールを書きつつ、気がついたらプロダクションでも使うようになっていました。今では毎日Goで何かを書いています。 これまでにつかった言語のなかで、

    「みんなのGo言語」の執筆に参加しました - すずけんメモ
    t-wada
    t-wada 2016/08/08
    "一言でいうと「あーこういうのでいいんだよこういうので」感です" "Goでコードを書いていると、GoっぽくないGoのコードはよくないコードにみえてきます。これが言語設計のちからなのだな"
  • Less is exponentially more

    Here is the text of the talk I gave at the Go SF meeting in June, 2012. This is a personal talk. I do not speak for anyone else on the Go team here, although I want to acknowledge right up front that the team is what made and continues to make Go happen. I'd also like to thank the Go SF organizers for giving me the opportunity to talk to you. I was asked a few weeks ago, "What was the biggest surp

    t-wada
    t-wada 2016/08/08
    Go 言語の設計思想について Rob Pike が自身の 2012 年の講演の要約を通して説明しているエントリ。言語を可能な限りシンプルに、要素を少なく設計した背景について。
  • Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。

    僕がプログラミング言語「Go言語」を知り、使い始めてからそろそろ7年目に入ろうとしています。 当初 Google が作っているという鳴り物があった為、色々なメディアに取り上げられ色々な方がブログ等でGo言語を紹介し、色々な意見でGo言語が語られました。大抵の場合、プログラミング言語とは始めはチヤホヤと取り出され、落ち着いてからが当の人気を表すという傾向にあります。皆さんもそう思っていたかもしれませんし、僕もそう思っていたと思います。 僕がGo言語を触りだした頃、まだ色々と足りない部分がありました。Linux で動いている多くの機能が Windows では未実装になっていました。しかしそんなGo言語であっても高速なビルドと実行速度で僕の好奇心を揺さぶるには十分な物でした。 その後、僕はGo言語にパッチを送る様になりました。その内幾らかはマージされました。現時点ではコアのリポジトリで79個の

    Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。
    t-wada
    t-wada 2016/08/08
    "雲の上の人だと思っていたRob Pike氏やRuss Cox氏、Brad Fitzpatrick氏たちが僕の書いたパッチのレビューをしてくれたり、メールにコメントしてくれた時の事は今でも忘れられないくらい興奮したのを覚えています" いい話
  • Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ

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

    Go で API サーバーを開発してきて1年が過ぎました | カメリオ開発者ブログ
    t-wada
    t-wada 2016/08/01
    1年以上 Go 言語で開発/運用してきた知見が詰まっているエントリ。情報量が多くすばらしい。
  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

    t-wada
    t-wada 2016/08/01
    Go の思想を理解し、それに従うのが大事であることが伝わってくる