タグ

golangに関するoasis440のブックマーク (12)

  • GoとJavaは何が違う?GoはJavaよりも優れているのか

    最初に断っておきたいのだが、私はGoのエキスパートではない。2~3週間前にGoを勉強し始めたばかりなので、ここで述べていることは私のGoに対する第一印象のようなものだ。この記事の主観的な部分には、間違っているところもあるかもしれない。これについては多分、後にレビューを書くつもりだ。しかし、その時まではここに書いておく。もしあなたがJavaプログラマなら、私の気持ちや経験をぜひ見てもらいたいし、もし間違っている記述があった場合は、コメント、訂正ともに大歓迎だ。 Golangは素晴らしい Javaとは対照的にGoは機械語にコンパイルされ、直接実行される。C言語とほぼ同じだ。VMマシンではないため、Javaとは大きく異なる。Goはオブジェクト指向、かつ、ある程度機能的でもあるので、単に自動ガベージコレクション機能の付いた新しいC言語というわけではない。プログラミング言語の世界が直線状だと仮定する

    GoとJavaは何が違う?GoはJavaよりも優れているのか
  • イケてないのに人気がある golang vs イケてるのに人気がない Nim - 強まっていこう

    ここ最近 GCP を持ち上げて Google のポチと化していましたが、そのポチが今回は Google に噛みつきます。 wolfbash.hateblo.jp だって golang 酷いんですもん。何かセンスがぜんっぜん Google っぽくない。 せっかく作るのなら、もっと良いものにして欲しい、そう言う願いも込めてこのエントリーを書きます。 wolfbash.hateblo.jp 前回 Rust と比較してみましたが、今回はその golang 版です。 golang は言語のシンプルさを追求していて、言語的な便利機能が片っ端からありません。 それは覚えることが少ないことを意味します。学習コストを低く抑える事を根的なポリシーにしている言語です。 裏を返せば完全に人を小馬鹿にしているんですが、その分ドキュメントなどがかなり充実しています。 構文的には、ほぼ C と同じです。そらそうですね

    イケてないのに人気がある golang vs イケてるのに人気がない Nim - 強まっていこう
  • GolangでSlack Interactive Messageを使ったBotを書く - Mercari Engineering Blog

    SREの@deeeet です。 MercariではSlack Botを使い様々な業務の自動化を行っています。例えばメインのAPIのReleaseはBotによる自動化がされており、JPとUSとUKの3拠点で1日に10回以上のReleaseをSlack上で実現しています(これ以外にも多くの事例があります)。 これまでのSlack Botは基的には文字ベースでのやり取りが普通でした(グラフなどの画像を返答として利用することはあります)が、SlackはよりInteractiveなやりとりを実現できるInteractive Messageという仕組みも提供しています。これによりButtonによる決定やMenuによる選択といったアクションをユーザにとらせることができるようになります。 Buttonの仕組み自体は古くから提供されていましたが他のTeamへの配布が前提でありOAuthの仕組みを準備する必

    GolangでSlack Interactive Messageを使ったBotを書く - Mercari Engineering Blog
  • Go言語(Golang) はまりどころと解決策

    Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく GoGo であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ

  • Go の Vim プラグインを vim-go に切り替えた · tatsushid.github.io

    VimGo のコードを書いていて、エディタ内からお手軽にカバレッジ取れたらいいなと思って調べていたら、オフィシャルの GoVim プラグインではなく vim-go を使えばできそうだということがわかったので、切り替えることにした まずは " Set golang vim scripts exe 'set runtimepath+='.substitute(system('brew --prefix go'), '\n', '', 'g').'/libexec/misc/vim' として読み込んでいたオフィシャルプラグインを外して、自分の環境ではプラグイン管理に NeoBundle を使っているので NeoBundleLazy 'fatih/vim-go', { \ 'depends' : 'majutsushi/tagbar', \ 'autoload' : { \ 'file

  • Go の interface 設計 - Block Rockin’ Codes

    history 13/3/31 Tag について追加 intro Go を触ってて interface を用いた設計がまだまだよくわかってなかったので、一旦まとめることにしました。 Go には明示的な継承の機能は無く、 interface も例えば Java のそれとはかなり毛色が違うので、(Class ではなく) Struct の設計に結構癖があると感じます。 Go の interface は言語設計的にもかなり尖っていて、 Go という言語を強く特徴付けていると同時に、 Go 言語自体の開発者たちもこの機能をかなり重要視しています。 例えば、 Go の開発者の一人である Russ Cox 氏によれば Go's interfaces―static, checked at compile time, dynamic when asked for―are, for me, the most

    Go の interface 設計 - Block Rockin’ Codes
  • なぜGo言語は設計が悪いのか – Go愛好者の見地から | POSTD

    さて、このタイトル、かなり挑発的ですよね。それは認めます。もう少し説明すると、私は大胆なタイトルが好きなのです。人の注意を引くことができますからね。とにかく、この記事では、Goがひどい設計の言語(実際、当に全て台無しになります)だということを証明していこうと思います。私は既に数カ月間Goで遊んでいますし、たしか6月のいつだったかに初めてHello, Worldを走らせてもみました。私は数学がそんなに得意ではありませんが、あれから既に4カ月経っていますし、 Github 上のパッケージもいくつか手に入れました。言うまでもありませんが、私は仕事Goを使ったことは全くないので、”コードサポート”や”デプロイ”やそのあたりに関する私の意見は話半分で読んでくださいね。 私はGoが大好きです。使ってみて大好きになりました。慣用表現を理解したり、ジェネリクスがないことや、おかしなエラーハンドリングや

    なぜGo言語は設計が悪いのか – Go愛好者の見地から | POSTD
  • Goプログラミング言語のチュートリアル - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 はじめに このドキュメントはCまたはC++プログラマ向けに書かれたGo言語のチュートリアルです。Go言語の全般的なガイドではありません。現在のところ全般的なガイドに一番近い資料はGo言語仕様です。このチュートリアルを読み終えたら、次に実践Go言語を読んでください。こちらにはもっと詳しい言語の活用方法や、Go言語のプログラミングスタイルやイデオムについての記載があります。またGo言語の3日間学習コースのスライドも合わせてご覧ください。そこではGo言語のバックグラウンドや数多くのサンプルを紹介しています。(Day 1, Day 2, Day 3) この資料では、一連のサンプルプログラムを通し

    Goプログラミング言語のチュートリアル - golang.jp
  • Golang(Go言語)を採用して、たった二人で基盤となるAPIゲートウェイを開発した話 - メドピア開発者ブログ

    はじめに 初めまして、気がつけば先月の25日で入社1年目を迎えた、 技術部 & Sake部部長 の@shinofara(篠原)です。 1月頃からGo言語(Golang) ばかり触りすぎて、PHPをたまに触ると; を忘れて怒られます。 困ったものです.... 今回は、僕も含めた2名で進めてきた、弊社初の Go言語(Golang) プロダクトについてのお話をしたいと思います。 少し長いですが、お付き合いいただければとてもうれしいです! ※関係無いですが、gopher君可愛いです。 Go言語のロゴ、マスコットは2009年にRenée French(http://reneefrench.blogspot.jp/)さんによって作成・公表されました。 これらはCreative Commons Attribution 3.0 Unported License(http://creativecommons

    Golang(Go言語)を採用して、たった二人で基盤となるAPIゲートウェイを開発した話 - メドピア開発者ブログ
  • GitHub - kdar/gorawtcpsyn: Demonstrates how to use raw IP sockets in golang and do a simple TCP SYN port scan

  • Raw sockets in Go: IP layer

    In the Internet protocol suite we usually work at the transport layer, with TCP or UDP. Go (golang) has good support for working with lower layers. This post is about working one layer down, at the IP layer. If you want to use protocols other than TCP or UDP, or craft your own packets, you need to connect at the IP layer. Receive Let’s read the first ICMP packet on localhost: package main import (

  • Goはクロスコンパイルが簡単 - unknownplace.org

    homebrew の Go用のレシピ を見た人は、その中にこんなオプションが定義されているのに気がついたかもしれない: option 'cross-compile-all', "Build the cross-compilers and runtime support for all supported platforms" option 'cross-compile-common', "Build the cross-compilers and runtime support for darwin, linux and windows" Goはクロスコンパイルが可能なようにビルドしておけば、簡単に他の環境で動くバイナリを作ることができるようになっているらしい。 Goがダイナミックライブラリに依存しない実行バイナリを作るという特徴と併せて考えると非常におもしろい(そして、使える)機能だと思

  • 1