タグ

Goとgoに関するUhoNiceGuyのブックマーク (6)

  • Go言語の不満 - まめめも

    ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/TS、Rustあたりです。 よかったところ ひとことで言えば「便利になったC言語」という感じでした。結構低レベルなAPIも揃っていてよかった(デーモン化が素直にできなかったこと以外)。 Rustと比べたらストレスフリーです。思った通りに書くだけでとりあえず動いてくれる。すばらしい。 見た目はあきらかに長くてダサいですが、こだわりを捨てて割り切って書けると言えなくもない。 配布しやすいシングルバイナリが作れるのはやはりよい。今回Goを選んだ理由がこれ。 細かいカプセル化がむず

    Go言語の不満 - まめめも
    UhoNiceGuy
    UhoNiceGuy 2023/02/13
    シングルバイナリで配布できるのはありがたいですね。普通の人はシングルバイナリでないと使ってくれないよ。WindowsのGUIアプリを楽に配布したい
  • ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog

    ISUCON12 オンライン予選の利用言語比率を公開します。オンライン予選は698チームの参加があり、運営で利用言語を把握できたのは568チームとなりました。 ※最後のベンチマーカー実行で初期化リクエストに失敗したチームは利用言語が不明となっています オンライン予選 利用言語比率利用率の全体ランキングは以下の通りです Go      402組 70.8% Ruby     43組  7.6% Nodejs    43組  7.6% Python    34組  6.0% Rust     19組  3.3% PHP     16組  2.8% Perl       5組  0.9% Java       5組  0.9% その他(Go2) 1組  0.2% ※言語名はチームによる自己申告となっています 選出場が決まった30チームに限定すると以下となります。 Go      26組 86.

    ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog
    UhoNiceGuy
    UhoNiceGuy 2022/07/24
    GCがあるのでRustみたいに所有権とか考えずにすみ、実行効率を考慮(C10Kとか)したコンパイラ言語。Javaのように冗長でない。というのが選択され、そしてコンテストで勝利した理由か
  • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

    ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

    Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
    UhoNiceGuy
    UhoNiceGuy 2022/02/18
    気を効かせて、いろいろ便宜をはからってくれるの、人間同士でもいろいろトラブルになるよね。気が利かないくらいが丁度いい
  • RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ

    こんにちは、Webチームの柴山(@shikeapp0909)です。 今回は、弊社Webアプリ「mamanoko」の一部に処理高速化のためにGoを導入したので、どのように導入したかをご紹介しようと思います。 Railsで開発しているWebアプリ内にどのようにGoを取り入れたのか、実際のコード例を交えながら解説していきたいと思います。 なぜRails環境にGoを導入したのか そもそもなぜGoを導入することになったのかと疑問に思われるかと思います。 mamanokoはメディアサービスのため、ライターさんに文章を書いていただいています。複数のライターさんがおり、文章量も膨大になるため、表記揺れや誤字がどうしても出てきてしまいます。 そのため、文章校正が必要であり、以前からその機能を提供していました。 しかしこの文章校正の機能は記事の文章に対して表記揺れなどチェックしたい単語を総なめする処理をしてい

    RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ
    UhoNiceGuy
    UhoNiceGuy 2018/06/29
    校正って記事を書き上げたときに一回だけでしょ?1分程度の時間がサーバ負荷の問題になるなんてどんだけ記事を入稿しているんだろう。
  • Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ

    なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日 頑なに要らないと言ってる人が具体的にどの発言のことを差してるのか分からないけど、コア開発者たちはツールチェインやランタイムの進化を優先していただけで頑なに拒否してたりはしません。今はツールチェインやランタイムが大分進化したから、Goの適用範囲を広げるためにジェネリクスを含めて機能追加も検討し始めようかっていうフェーズです。 あとどの言語にもちょっと公平的な見方ができなくなった痛いファンはいるもので、そういった人たちをいちいちあげつらってこういう言い方で失笑するのは、別に止めはしないけど自分の格を下げるだけだと思う。

    Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
    UhoNiceGuy
    UhoNiceGuy 2017/09/20
    「すっぱい葡萄はない。なんかの機能が欲しければ、その言語を使うから」←確かにそうだ
  • Go言語の低レイテンシGC実現のための取り組み | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) 私たち Twitch では、通信が大変混み合うシステムの多くで Go を採用しています。ライブ映像を配信したり、何百万人というユーザにチャットサービスを提供したりする場合に直面する問題を考慮すると、Goはそのシンプルさや安全性、パフォーマンス、読みやすさの点で良いツールだと言えます。 しかしこれは、私たちにとってGoがいかに素晴らしいツールかを説明する、よくある記事ではありません。Goで現在実装されているランタイムにより行き詰まったいくつかの局面をどう打開するか、さらに、私たちはそうした限界に達した時にどう対応したらいいのかについて書いたものです。 これからお話しするのは、「Go 1.4からGo 1.6へのGoランタイムの改善が、どのようにしてガベージコレクション(GC)の停止時間を20倍も改善することに

    Go言語の低レイテンシGC実現のための取り組み | POSTD
    UhoNiceGuy
    UhoNiceGuy 2016/09/17
    NUMAかどんどん複雑になるのだな
  • 1