並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 26 件 / 26件

新着順 人気順

Goの検索結果1 - 26 件 / 26件

  • 「1億台の常時接続」を実現せよ! Nintendo Switchのプッシュ通知システム全面刷新の裏側 (1/3)

    アマゾン ウェブ サービス ジャパンは、2024年6月20日と21日、国内最大の年次イベントである「AWS Summit Japan」をハイブリッドで開催。150を超えるセッションが展開された。 本記事では、ニンテンドーシステムズによるセッション「Nintendo Switch向けプッシュ通知システムのリプレイス事例」をレポートする。登壇したのは、同社 システム開発部の林愛美氏と坂東聖博氏だ。 2017年のNintendo Switchの発売とあわせてリリースされた「プッシュ通知システム」。同社は、長期運用を見据えて、よりクラウドネイティブなシステムへのリプレイスを決定するが、大量のTCP接続を維持するための様々な課題が立ちふさがった。 本セッションでは、AWS FargateやNetwork Load Balancer(NLB)といったAWSのマネージドサービスを用いた、“最大1億台”級

      「1億台の常時接続」を実現せよ! Nintendo Switchのプッシュ通知システム全面刷新の裏側 (1/3)
    • そろそろみんなに届いて欲しい囲碁一問一答。全部おれに聞け

      囲碁最大の問題は情報が届いて欲しい人に情報を届ける手段がない事だと思う はっきり言って何度も何度も同じ事を書いているが未だにぷよ碁を知らない人がいるし、入門コンテンツから先に入るべき人がいきなり対局を初めて挫折している ブクマを見ていて、そいつに情報さえ届ける事が出来れば解決するのにそれができずに毎回もどかしい思いをしているのである そこは俺に任せろと言いたい。全部俺に聞けと だからこの増田を見たらブクマしてバスらせてくれ 自分は囲碁を覚えた瞬間から普及活動に携わっているから入門指導のプロフェッショナルである。数々の人間を囲碁に入門させてきた。 囲碁の入門書を読み終わった瞬間にどうしてこのシンプルかつ楽しいゲームがこんなに広まってないんだろう、という想いに駆られた。 このシンプルでかつ面白いという両輪の部分が重要だ。面白いけど複雑だったり、シンプルだけどつまらなかったら、そりゃ広まらないよ

        そろそろみんなに届いて欲しい囲碁一問一答。全部おれに聞け
      • 囲碁というゲームがこの先も活き残るには|Go-Up

        ■TL;DR囲碁と 囲碁界、 そして、 囲碁のルールを持つゲーム。 この先も活き残るには、 この3つを分けて考えるべき。 ■はじめに「囲碁」。 残念ながら日本でのプレイヤー数が大きく減少し、世間で話題になることが少なくなり、「衰退の一途を辿っている」状況となっている。 私は20年ほど前に囲碁に興味を持ち、普及の一助として「初心者向け囲碁対局サイト Go-Up!」や、それ以前もいくつか活動をしていました。 初心者向け囲碁対局サイト Go-Up! https://go-up-online.com/ Go-Up!の閉鎖をもって、私の囲碁との関係は終了します。 長きに渡る活動の中で、囲碁に纏わるいろんな事を端から追ってきました。 せっかくなので、囲碁を巡る現況について、見えていることや考えを書き残して去りたいと思います。 囲碁界に知人もおらず、直接の繋がりや恩義もない、しがらみの無い部外者にしか言

          囲碁というゲームがこの先も活き残るには|Go-Up
        • Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog

          お久しぶりです、ANDPADボードの tomtwinkle です。 この記事はGoの go:linkname 騒動は 6/18に行われた Go Bash で話した内容を要約したものです。 そもそも go:linkname とは何かといえば internal packageやprivate var/funcなど普通はアクセスできないオブジェクトシンボルをエイリアス出来るようCompilerに指示して、アクセス可能にするcompiler directiveです。 go:linkname はprivateな変数へアクセス可能な便利なものでしたが unsafe packageのimportを必須とする通り、せっかく互換性や安全を考慮して作られているGoプログラムを簡単に破壊できる諸刃の剣でした。 詳細は発表スライドを見てください。 go:linkname 禁止騒動 Go 1.23 のリリースまで2

            Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog
          • 【Go】HTTPサーバーは安全に終了させましょう

            はじめに こんにちは。都内でソフトウェアエンジニアをしているtomoriです。 突然ですが、Go言語でHTTPサーバーを実装する際、サーバーの終了処理を適切に実装できている自信はありますか? 自分が開発に携わっているプロダクトでは、ほんの最近まで下記のような不適切な終了処理を行なっていました(話を簡単にするためにここでは panic を使っています)。 err := http.ListenAndServe(":8080", handler) if err != nil { panic(err) } HTTPサーバー実装のサンプルとかでよく見るやつですね。 これだとアプリケーション側で、いわゆる Graceful Shutdown ができておらず、実行環境にて不具合を引き起こす恐れがあります。 というわけで、最近それを修正したのでアウトプットとして記事にします。 Go言語でHTTPサーバーを

              【Go】HTTPサーバーは安全に終了させましょう
            • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

              2023/8/9にリリースされたGo1.21 新たに導入されたツールチェーン(Go Toolchains) 次の内容を知ってもらい、Toolchainを使いこなせるようになること ・導入が必要となった背景 ・導入で期待されること ・具体的にはどう使うのか ・どんな挙動なのか

                Go1.21から導入された Go Toolchainの仕組みをまるっと解説
              • GoConference2024の資料が集まるスレ #gocon

                これはサマリ(ここを更新していきます)情報提供(コメント)歓迎!! イテレータによってGoはどう変わるのか Dive into gomock Data Race Detection In Go From Beginners Eye Go1.21から導入されたGo Toolchainの仕組みをまるっと解説 Cleanup handling in Go Custom logging with slog: Making Logging Fun Again! Goにconst型修飾を期待しなくてよい理由 GoのLanguage Server Protocol実装、「gopls」の自動補完の仕組みを学ぶ バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する Mapのパ

                  GoConference2024の資料が集まるスレ #gocon
                • GoとGCSで100GBの巨大zipファイルを展開する | Re:Earth Engineering

                  はじめに ファイルをアップロードすることができる機能を持ったWebアプリケーションやクラウドサービスは世の中に多数あります。しかし、アップロードしたzipファイルを自動で展開(解凍)してくれて、中身のファイルが閲覧できる機能を持ったサービスは、あまり多くはないかもしれません。 もし、Google Cloud上で、zipファイルをアップロードし自動的に展開してGCSに配置するシステムを作るとしたら、どうやって実現すればよいでしょうか。たとえ100GBのzipファイルでも問題なく展開できるようにするには? そんな難題に挑み、GCSにアップロードされた100GB級のzip/7zファイルを自動的に展開することができるシステムをGoで実装し、プロダクションレベルで実現しました。その技術について解説します。 背景 PLATEAU VIEWの画面 Eukaryaでは、国土交通省が主導しているProjec

                    GoとGCSで100GBの巨大zipファイルを展開する | Re:Earth Engineering
                  • 自作HTTPルーターから新しいServeMuxへ

                    バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 / understanding gob encoding

                      自作HTTPルーターから新しいServeMuxへ
                    • Table-driven testing に縛られないGoのテストパターン

                      2024/06/08に開催されたGo Conference 2024のLTで発表した資料です。 https://gocon.jp/2024/sessions/19/

                        Table-driven testing に縛られないGoのテストパターン
                      • Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する

                        Go Conference 2024 の登壇資料 https://gocon.jp/2024/sessions/11/

                          Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する
                        • Cleanup handling in Go / Go Conference 2024

                          CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7

                            Cleanup handling in Go / Go Conference 2024
                          • Dive into gomock / Go Conference 2024

                            Go Conference 2024 https://gocon.jp/2024/ Blog (in Japanese): https://blog.utgw.net/entry/2024/06/08/181746

                              Dive into gomock / Go Conference 2024
                            • GoのLanguage Server Protocol実装、 「gopls」の自動補完の仕組みを学ぶ

                              Go Conference 2024の資料です ※13枚目に誤解を招く表現がありました。Golandのバックエンドはgoplsではなく独自のものです。

                                GoのLanguage Server Protocol実装、 「gopls」の自動補完の仕組みを学ぶ
                              • feed_squeezerを作った - くりにっき

                                これなに? モチベーション 使った技術 工夫ポイント 配布形式をどうするか GoでGoogleライクな検索クエリで文字列マッチするような関数を作った 取得したフィードを一瞬だけキャッシュする バイナリにviewを同梱する 最近のエコシステムに乗っかる 2024/06/14 13:28 追記:ブコメレス これなに? RSSフィードを任意のキーワードで絞り込んだ結果をさらに別のフィードとして返すためのproxy的なウェブアプリです。 github.com モチベーション 僕はSlackで色々なRSSフィードを購読しています。 YouTubeのチャンネルにもRSSフィードが存在しているのでSlackで購読しています。 例えば 東映アニメーション公式YouTubeチャンネル - YouTube にはプリキュアをはじめとして様々な動画が公開されています。その中でプリキュアに関係する動画だけをSlac

                                  feed_squeezerを作った - くりにっき
                                • 「Python」と「Go」を徹底比較 どちらのプログラミング言語を学ぶべき?

                                  ダウンロードはこちら 世の中には幾つものプログラミング言語が存在する。開発者がこれから学ぼうとするプログラミング言語を選ぶことは簡単ではない。そこで指標になるのが、近年の勢いだ。開発者の間で人気が高まっているプログラミング言語を選ぶことは、トレンドに追従したり、求人市場でより良い職を得たりする際に役立つ可能性がある。 「Python」と「Go」(「Golang」とも)は、どちらも近年人気のプログラミング言語だ。それぞれ独自の文法や仕組みを持っており、適する用途も異なる。本資料は、サンプルコードと共にPythonとGoの違いをさまざまな面から解説する。両者の違いを理解し、適切なプログラミング言語を選ぶための手掛かりを得よう。 中身を読むには、「中身を読む」ボタンを押して無料ブックレットをダウンロードしてください。 連載:「Python」と「Go」の違いを比較

                                    「Python」と「Go」を徹底比較 どちらのプログラミング言語を学ぶべき?
                                  • コード生成を活用したgqlgen+dataloaderの実装パターン解説

                                    コード生成を活用したgqlgen + dataloaderの実装パターンについて解説します。 かなり実装寄りの話で、あまり一般化できていないのですが、事例の一つとして参考になれば幸いです。 事前知識については、下記の発表資料を参考にしていただければと思います! https://speakerdeck.com/syumai/xonokotosheng-cheng-tegqlgennodataloadershi-zhuang-wole-nisitahua

                                      コード生成を活用したgqlgen+dataloaderの実装パターン解説
                                    • 詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話

                                      Go1.22から(プレビューはGo1.21から)ループ変数のメモリ共有問題が解消されたことは皆様よくご存知かと思います。 cf. Fixing For Loops in Go 1.22 それではもう1歩踏み込んで、ループ変数がイテレーション毎に異なるインスタンスになるのはどのような時でしょうか?以下2つの出力が異なる理由をどう説明できるでしょうか? for i := range 3 { fmt.Print(&i) // [0x14000112018, 0x14000112030, 0x14000112038] // 異なるアドレス } for i := range 3 { print(&i) // [0x1400010af18, 0x1400010af18, 0x1400010af18] // 同じアドレス } 新しいループとそれを取り巻くツールの実装は、既存コードでバグを生み出さない・パ

                                        詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話
                                      • xoのコード生成でgqlgenのDataLoader実装を楽にした話

                                        2024/6/7の発表の前編です。

                                          xoのコード生成でgqlgenのDataLoader実装を楽にした話
                                        • Why People are Angry over Go 1.23 Iterators

                                          NOTE: This is based on, but completely rewritten, from a Twitter post: https://x.com/TheGingerBill/status/1802645945642799423 TL;DR It makes Go feel too “functional” rather than being an unabashed imperative language. I recently saw a post on Twitter showing the upcoming Go iterator design for Go 1.23 (August 2024). From what I can gather, many people seem to dislike the design. I wanted to give m

                                          • GitHub - AccentDesign/gcss: CSS written in Pure 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. Dismiss alert

                                              GitHub - AccentDesign/gcss: CSS written in Pure Go
                                            • Abstracting database/sql boilerplate with Go generics

                                              An abstract vision of abstracting database/sql boilerplateIntroductionThis post is part of the Eureka Advent Calendar 2022. database/sql provides everything needed to work with SQL in Go, yet there’s an ever-growing list of query builders, ORMs and database utilities being developed by the community. Is database/sql really so bad? In this post we’ll explore what can be achieved using Go generics w

                                                Abstracting database/sql boilerplate with Go generics
                                              • Go Conference 2024 登壇した #gocon - 私が歌川です

                                                Go Conference 2024に参加し、登壇してきました。 登壇しました Dive into gomockというタイトルで発表しました。2トラックのどちらかで40分トークかな? と思っていたら2部屋ぶち抜きでトークだったのでビビっていました。 発表資料はこちらです。 speakerdeck.com gomockの内部実装を見て、なぜライブラリの内部実装を見るのがよいことなのか、という話をしました。reflectパッケージが好きなので合間にreflectパッケージの話もしています。つまり主題が3つあるわけですね。 gomockの内部実装を見よう リフレクションを知ろう なぜライブラリの内部実装を見るのか知ろう 今回はgomockの実装を掘り下げることで、魔法のように見えるイディオムの裏にある処理を知ろう、という方向性でやりました。今回の発表でgomockの内部実装を全員が完全理解できた

                                                  Go Conference 2024 登壇した #gocon - 私が歌川です
                                                • Introducing the next generation of the Buf CLI: still v1 and backwards-compatible

                                                  Introducing the next generation of the Buf CLI: still v1 and backwards-compatible The Buf CLI and its associated configuration have been completely overhauled to support monorepos as first-class citizens. We'd call it a v2 of buf, but it's not. Buf is enterprise-grade software, and we want you to be minimally impacted. The v1.32.0 release of buf introduces v2 config formats for both buf.yaml and b

                                                    Introducing the next generation of the Buf CLI: still v1 and backwards-compatible
                                                  • golangci-lintのModule Plugin Systemが良さそうなので使ってみた

                                                    はじめに この記事では、golangci-lintのv1.57.0でリリースされたModule Plugin Systemについて既存のPlugin機構を交えて解説します。 弊社サービスSNKRDUNKのバックエンドはGoで実装されておりLinterはgolangci-lintを使っています。 Pluginで動かしているLinterもあり、その影響でローカル環境でgolangci-lintを実行するのがやや手間になっており、何か良い方法がないかと調べていたらModule Plugin Systemというものがリリースされていたので、自分自身の理解のためにも今回の記事を書くに至りました。 golangci-lintのPlugin Systemについて まずはじめに、golangci-lintにlinterを追加する方法は以下の2通りあります。 1. public linterとしてgolan

                                                      golangci-lintのModule Plugin Systemが良さそうなので使ってみた
                                                    • 【2024年6月】フリーランス案件の単価における市場動向【フリーランスボード】

                                                      INSTANTROOM株式会社(本社:東京都渋谷区、代表取締役:曽根弘介)が運営する、フリーランスエンジニア・ITフリーランスの案件検索サイト「フリーランスボード(https://freelance-board.com)」は2024年6月のフリーランス案件の単価における市場動向の調査結果を発表いたします。 ◆数字で見る「フリーランス市場動向」 フリーランスボードでは2024年6月6日時点の141,500件の掲載案件を対象に開発言語・フレームワーク・職種別の月額平均単価を調査いたしました。 ■フリーランス案件の月額平均単価 2024年6月のフリーランス案件の月額平均単価は71.5万円、最高単価は320万円です。 ▼掲載中のフリーランス案件はコチラから https://freelance-board.com/jobs ■開発言語別の月額平均単価 開発言語別の月額平均単価は上表の結果となりました

                                                        【2024年6月】フリーランス案件の単価における市場動向【フリーランスボード】
                                                      1