並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 929件

新着順 人気順

goの検索結果1 - 40 件 / 929件

  • Goでゼロから作る 自作TCP/IPプロトコル サーバー

    「マスタリングTCP/IP を読んだけど理解がイマイチ進まない。Goがどのようにサーバーを立てているのか気になる。」 そんなスキマを埋めるための本です。 Goの標準パッケージである net package を一切利用せずに、自作TCP/IPプロトコルでサーバーを作ります。 パケットをどのようにやり取りするかハンズオン形式で解説し、最後にToDoリストAPIを実装します。

      Goでゼロから作る 自作TCP/IPプロトコル サーバー
    • 最速で成果を出す方法|Go Kiritani / Chatwork 執行役員

      これは何か最速で成果を出す為にはどうすれば良いか?という質問をよくもらうのでその回答をするものです。良い感じのものが見当たらなかったので過去に自分が教えてもらった事をまとめました。せっかくまとめたので公開します。 4つのタイプの人がいるそれっぽい図1①思考先行型 思考力は高いけど,行動力が低い人。 考えてばかりで,なかなか行動に動けず成果が出ない。頭が良い人ほどこのタイプになってしまうので気をつけないといけない。 ②思考/行動 併用型 思考力も行動力も高い人。 思考と行動のバランスが良く,行動した結果を思考する事で正しい行動に繋がるサイクルが回っている。この人が1番早く成果が出る。 ③指示待ち型 思考力も行動力も低い人。 何をすれば良いか分からない状態で,動くこともできない。新しい環境に行くと,意外とこの状態の人も多いのでは。 ④行動先行型 思考力は低いけど,行動力が高い人。 何が正しいか

        最速で成果を出す方法|Go Kiritani / Chatwork 執行役員
      • Goで実装された高速な
仮想待合室サーバの実装と詳解

        ペパボのテックカンファレンスで話しました。

          Goで実装された高速な
仮想待合室サーバの実装と詳解
        • 強い思想: Go を Web 開発に採用する上で

          Go は Web 開発に向いているか? 最も向いている領域は「CLI ツール」「ミドルウェア」「マイクロサービス」だと思っている。なぜならそれらはコードベースを比較的小さく抑えることを前提としているからだ。 Go は大きなコードベースを抱えやすい設計の言語になっていない。 ミドルウェアとマイクロサービスに関しては小さく作ることが正義。 CLI ツールに関しては単一責務なツールであれば小さくなるが,複数を束ねるツールであっても Web サービス開発に比べれば考えることは少なくて済む。 Web 業界における「一般的な Web 開発」,すなわちモノリスを基本とした中規模以上の開発にははっきりと 向いていない と言うべきだろう。 フラットパッケージは正義か? 私が SNS で何度か言及した以下の記事がある。 フラットパッケージ戦略は,確かに Go の文化圏においては一定の支持を集めている。Go の

            強い思想: Go を Web 開発に採用する上で
          • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

            切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

              自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
            • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

              はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

                Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
              • 「Go言語で楽しくなるシステム開発:基礎から実践テクニック」mattn × 渋川よしき | Forkwell Press | フォークウェルプレス

                【ちょっと宣伝】上級エンジニア特化のキャリア支援サービスをはじめました! 市場の変動がキャリアへの不確実性をもたらす昨今、これまで以上にエンジニアに寄り添いたいという想いから、上級エンジニア特化のキャリア支援サービスをはじめました。スポーツ選手のエージェントのようにエンジニアの立場で次のキャリアを提案いたします。一般的な転職エージェントのように募集中の案件を紹介するだけでなく、あなたの理想のキャリア実現に向けて、ニーズがありそうな企業へ交渉し、望ましい案件を創出する働きかけも行います。無料で利用できますので、お気軽にお申し込みください。

                  「Go言語で楽しくなるシステム開発:基礎から実践テクニック」mattn × 渋川よしき | Forkwell Press | フォークウェルプレス
                • Japanese Version - 100 Go Mistakes and How to Avoid Them

                  Go Mistakes Book Details Go言語でありがちな間違い このページは『100 Go Mistakes』の内容をまとめたものです。一方で、コミュニティに開かれたページでもあります。「ありがちな間違い」が新たに追加されるべきだとお考えでしたら community mistake issue を作成してください。 Jobs Is your company hiring? Sponsor the Japanese version of this repository and let a significant audience of Go developers (~1k unique visitors per week) know about your opportunities in this section. 注意 現在、大幅に多くのコンテンツを追加して強化している新しい

                    Japanese Version - 100 Go Mistakes and How to Avoid Them
                  • 「GOする」と、もれなく手数料!? タクシー不足の原因にも…現場から不満噴出「配車アプリ」の裏側 | FRIDAYデジタル

                    いつの間にか、いろいろな「手数料」が… 登場したばかりの頃は便利なシステムに思えたが、いつの間にかいろいろ“手数料”をとられるようになっているタクシー配車アプリ「GO」。 調べてみると、昨年11月14日の一般乗用旅客自動車運送事業の運賃改定に伴い、「迎車料金」がタクシー事業者ごとに変更されることになり、同時期に「アプリ手配料」なる手数料がプラスされたため、あまり話題にならなかった経緯がある。 もともと「運賃+迎車料金420円」のところ、変更後に「運賃+迎車料金300円〈※〉+アプリ手配料100円〈※〉(※タクシー会社・エリアによって異なる)」になったと説明されると、利用者側にはお得になった印象すらあったかもしれない。 しかし、混雑時間帯などによって、周辺のタクシー車両に空車がない場合に優先的に手配される「優先パス手配料」(300~980円。一定ではない)や、乗務員や車種指定、空気清浄機搭載

                      「GOする」と、もれなく手数料!? タクシー不足の原因にも…現場から不満噴出「配車アプリ」の裏側 | FRIDAYデジタル
                    • 「ポケモンGO」のナイアンティック、スタジオ閉鎖-230人削減へ

                      「ポケモンGO」のナイアンティック、スタジオ閉鎖-230人削減へ Cecilia D'Anastasio スマートフォンゲーム「ポケモンGO」を開発した米ナイアンティックは、ロサンゼルスのゲームスタジオを閉鎖し、プロバスケットボールNBAとスーパーヒーロー「マーベル」をテーマにしたタイトル2つを中止する。財務安定化を目指した取り組みの一環。 同社の広報担当者は29日、従業員全体の約25%に相当する230人の削減を明らかにした。 ナイアンティックはリリースを予定していた「マーベル・ワールド・オブ・ヒーローズ」の制作を中止し、今年1月にリリースされた「NBAオールワールド」を閉鎖する。 原題:Pokemon Go Maker Niantic Closes Studio, Cancels Games(抜粋)

                        「ポケモンGO」のナイアンティック、スタジオ閉鎖-230人削減へ
                      • 社名を報じるのは著作権違反か? Go To トラベルで給付金不正のJHAT、平林朗氏が記事削除要請 DMCAを悪用 - TRAICY(トライシー)

                        社名を報じるのは著作権違反か? Go To トラベルで給付金不正のJHAT、平林朗氏が記事削除要請 DMCAを悪用 政府による旅行支援策、Go To トラベル事業の給付金を不正に得た、JHATと代表取締役の平林朗氏が、本誌を含む複数媒体の記事に対し、不当に削除要請を行っていることがわかった。 ホテルの運営を手掛けるJHATは、エイチ・アイ・エス(HIS)子会社のミキ・ツーリストやジャパンホリデートラベル、旅工房、トラベル・スタンダード・ジャパンとの間で、不泊など実態が伴わない旅行による給付金の不正受給が発覚。観光庁は2021年12月に調査結果を発表し、返還請求を行ったほか、刑事告訴も視野に入れているとしていた。また、北海道紋別市の避暑地化事業をめぐる贈収賄事件でも、市が保有する大山山頂コテージの予約受付業務をJHATが受託するなど、関係性が深いとされている。 JHATはアメリカのデジタルミ

                          社名を報じるのは著作権違反か? Go To トラベルで給付金不正のJHAT、平林朗氏が記事削除要請 DMCAを悪用 - TRAICY(トライシー)
                        • 「パパ活」情報が「Go Toイート」URLで表示 ドメイン流用の実態は? | NHK

                          コロナ禍で行われた「Go Toイート」事業では、農林水産省から委託を受けた民間の会社や商工会議所などが「ドメイン」と呼ばれるインターネット上の住所を新たに取得するなどして、都道府県ごとにウェブサイトが設けられました。 ところが、「Go Toイート」の終了に伴ってウェブサイトが閉鎖されたことから、ドメインが手放されるようになっていて、ドメインの登録サービス会社のオークションを通じて落札されるなどして、同じURLで別のサイトが表示されるケースがあることがわかりました。 NHKが調べたところ、少なくとも15のドメインにこれまでと異なるサイトが開設されていて、中には、オンラインカジノの情報サイトや「パパ活」に関するサイトなどが開設されているケースもありました。 こうしたドメインの扱いについて、政府のガイドラインでは「正規のウェブサイトになりすました不正なウェブサイトに誘導されないよう、対策を講じた

                            「パパ活」情報が「Go Toイート」URLで表示 ドメイン流用の実態は? | NHK
                          • ポケモンGO7ヶ月

                            ポケモンが嫌いな子供はいない ウチにはテレビが無いのにいつ頃からか息子がピカチューと言い出した どこで覚えてくるのだ 幼稚園だろうか?好きなだけ触らせているタブレットか?知らんが、 ともかくある時期からポケモンポケモンと言い出した ネトフリだかアマプラだかでポケモンを観せてやった ドハマる 3年続いていた鉄道ブームがあっさり終焉しポケモンに鞍替え (本人曰くは鉄道趣味も並行してしるらしい、夢は大宮の鉄道博物館にEF55を見に行くこと) 数週間はTVアニメで満足していたが俺のスマホをチラ見したときポケモンGOの広告が見えた 「それゲームでしょ?ポケモンGOでしょ?」 だーかーらー、そういう知識はどこで仕入れてくるのだ、すげぇな最近の5歳 やらせろと煩い、面倒は嫌いなのでインストールして触らせる 秒速ドハマる スマホを返してくれない ポケモンを捕まえるために散歩に行こうと言い出す、公園に行く

                              ポケモンGO7ヶ月
                            • なぜ Go ではロガーをコンストラクタ DI してはならないのか

                              問題のある実装パターン 共通実装 以下のような applog パッケージ上のロガー実装を考えましょう。ここでは Go 標準の log.Logger をラップしていますが,様々な実装に拡張できることを想定しています。 package applog import ( "fmt" "log" "os" ) type Logger interface { Info(message string) Error(message string) } func NewLogger() Logger { return &logger{ inner: log.New(os.Stdout, "", log.LstdFlags), } } var _ Logger = (*logger)(nil) type logger struct { inner *log.Logger } func (l *logger)

                                なぜ Go ではロガーをコンストラクタ DI してはならないのか
                              • ポケモンGOをやめたらすごいすっきりした

                                ポケモンGOを始めたのはサービス開始して1年も経っていない時だったと思う。 サービス開始当初からすごい熱狂ぶりだったと記憶している。多分に漏れず自分もはじめてみて、見事にハマった。ポケストップ回すためだけに外に出歩いたし、自転車通勤時でもポケモンを捕まえられるようにスマホホルダーも買ったし(結局使わなかったけど)、電車通勤になってからもスマホを肌身離さずもってポケストップを回していた。何かのイベントで特定のポケモンが大量発生するときも、そのためだけに自転車を走らせてゲットしまくった(確かそのときはチルタリスだったっけ)。 あるとき息子が生まれた。ある日妻と息子と3人でお出かけをした。まだ1歳にも満たずもちろん一緒にポケモンGOなんてできない。その日がちょうどイベントの日で、ミニリュウが大量発生する日だった。強力なカイリューを育てるべく、出先で妻と息子そっちのけでミニリュウを捕まえまくった。

                                  ポケモンGOをやめたらすごいすっきりした
                                • Organizing a Go module - The Go Programming Language

                                  A common question developers new to Go have is “How do I organize my Go project?”, in terms of the layout of files and folders. The goal of this document is to provide some guidelines that will help answer this question. To make the most of this document, make sure you’re familiar with the basics of Go modules by reading the tutorial and managing module source. Go projects can include packages, co

                                    Organizing a Go module - The Go Programming Language
                                  • awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店

                                    最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。ビルドして使うのがお勧めです どうぞご利用下さい github.com 以下はこれに至るまでの経緯とか、実装や使い方の話とかです。長いです。 作成の経緯 AWSの各種サービスにアクセスするための AWS CLI は、スクリプトやコマンドラインから処理を自動化するために大変便利なツールです。AWSでサーバーサイドの開発、運用している人であれば、ほぼ全員がお世話になっているんじゃないかと思います。 しかし、AWS CLI (コマンド名aws) には「起動が重い」という問題があるなとずっと思っていました。具体的には、aws --versio

                                      awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店
                                    • LG、スーツケースにそのまま入った27型モバイルモニター「StanbyME Go」

                                        LG、スーツケースにそのまま入った27型モバイルモニター「StanbyME Go」
                                      • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

                                        こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

                                          PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
                                        • Goのerrorがスタックトレースを含まない理由 - methaneのブログ

                                          Twitterでこんな記事を見かけたので。 zenn.dev ジェネリクスの件もそうですが、Goの言語設計は現実主義なのになにか特別なポリシーによるものだと宗教化されてしまって、ファンには勝手に崇拝されてアンチにはディスられがちだなーと感じます。 Goのエラー処理を改善する実験プロジェクトxerrorsがGo本体のerrorsにマージされた時、 errors.New() はスタックトレースを取得していました。しかしGo 1.13がリリースされる前に削除されました。 削除された理由の1つは、今までの errors.New() のパフォーマンスに依存していたコードの速度が低下しアロケーションが増えることです。 github.com しかし、これが理由だと今まで思ってたのですが、実際にはもう1つより重要な理由がありました。エラーのフォーマットです。エラーに複数のフォーマットを持たせようという提案

                                            Goのerrorがスタックトレースを含まない理由 - methaneのブログ
                                          • ポケモンGOのリアルイベントで障害 「ドコモ回線に問題発生」と名指しで告知

                                            「Docomoのネットワークに問題が発生」──米Nianticは8月4日、スマートフォンゲーム「Pokemon GO」のリアルイベント「Pokemon GO Fest 2023」について、このような発表をした。 「ウェルカムゲート」「チームラウンジ」「テックサポート」があるエリアで、ドコモの回線に問題が発生しているという。Nianticは公式Xアカウント(元Twitter、@niantichelpjp)で「ドコモユーザーは、各生息地(エリアごとの)の装飾近くに移動すれば通信が改善する」と案内している。 Pokemon GO Fest 2023は4日から6日までの間、大阪府の万博記念公園などで開催するリアルイベント。事前にイベント参加権を3500円で販売しており、4日時点で全て完売。購入したユーザーに対してスマートフォンのキャリアを尋ねるアンケートなども実施していた。 関連記事 「ポケモンG

                                              ポケモンGOのリアルイベントで障害 「ドコモ回線に問題発生」と名指しで告知
                                            • 今やゲームのDLソフト購入が当たり前になっていることを考えると、DL販売限定のPSP goは時代を先取りしすぎていたのか

                                              まかべひろし @sinpen 今やDLソフトがパッケージよりもずっと売れてることを聞く度に、あの時みんなもう少し未来を見てくれてればなあ、なんて思ってしまう。 pic.twitter.com/NhV9PRr0cJ 2023-07-05 14:27:04 まかべひろし @sinpen 今思い返してみても、当時のソフト容量に対しての回線速度やストレージサイズの比率は、今とさほど変わりはなく、変わったのは「DL版で揃えると入れ替えなくて便利」という理解が進んだ程度。 当時だってDL版主流になる可能性はあったのに、無理解って悲しい。 2023-07-05 14:34:16 Christopher Dring @Chris_Dring Lots of folks asking about digital sales this month. We'll delve into it in the mon

                                                今やゲームのDLソフト購入が当たり前になっていることを考えると、DL販売限定のPSP goは時代を先取りしすぎていたのか
                                              • Go言語を習得するために、Goちゃんねるを作った

                                                先週、A Tour of Go やってみた TIL というブログを書いてみた通り、Go言語を始めた。 で、ちまちま勉強をしていたのだが、つい最近たまたま ISUCON の過去問をやる機会があって Go のスコアを見たら初期値ですら、チューニング済みの他の言語のスコアを超えていて、絶対に習得するぞの気持ちにさせられた。 ちなみに私はどう言うわけかフロントエンドのソースコードをビルドしたら vite が走ってファイルハッシュが全部変わって、ベンチマークからアクセスできなくなって0点でした。対戦ありがとうございました。 なにはともあれ、本番は絶対にGoでやるぞの気持ちを新たに Go の習得に励んでいた。前のブログでは、文法が分かったから HTTPサーバー DB Connection / Migration 境界値チェックや型推論 テスト スキーマ駆動開発 コンテナデプロイ あたりをやってみたいと

                                                  Go言語を習得するために、Goちゃんねるを作った
                                                • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

                                                  はじめに こんにちは。ブランドソリューション開発本部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 本記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

                                                    GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
                                                  • IAM Identity Center のロールで発行される一時認証情報をaws-sso-go 経由で 1Password に入れて利用する - 継続は力なり

                                                    タダです. 以前の記事で 1Passowrd Shell Plugin を使って IAM アクセスキーとシークレットアクセスキーを保存して AWS CLI を使うのをやってみました.この記事では IAM Identicy Center(旧 AWS SSO) のロールで発行される一時認証情報を 1Password に入れたり更新ができたらローカルにクレデンシャルを残さずに使えてセキュアになるため,その検証を行ったのをまとめていきます. sadayoshi-tada.hatenablog.com IAM Identity Center のロールで発行される一時認証情報を保管する 保管したクレデンシャルを使って AWS CLI を実行する まとめ IAM Identity Center のロールで発行される一時認証情報を保管する IAM Identity Center と 1Password の

                                                      IAM Identity Center のロールで発行される一時認証情報をaws-sso-go 経由で 1Password に入れて利用する - 継続は力なり
                                                    • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                                                      はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                                                        Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                                                      • Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ

                                                        Goで単体テストを実装する場合、動的な言語のように「テスト実行中に外部への依存を置き換える」といったことはできません。代わりに、 外部への依存を引数で渡す 外部への依存をインターフェイスで渡す のように、テスト対象をテスト可能な実装に変更しておき、テストの時は外部への依存をモック等に置き換えて実行する場合が多いのではないかと思います。 個人的な体験でいえば、テスト可能な実装に置き換えていく過程で設計が洗練されていく*1ことは度々あるので、面倒を強制されているというよりは設計を整理するための道具といった捉え方をしているのですが、そうは言っても動的な言語に比べると面倒だなと感じるときは少なからずあります。既存の実装がテスト可能になっておらず、変更するコストが高い場合は特にそうですね。 そんなとき、気軽にモンキーパッチできると嬉しいんじゃないかと思って、テストの時だけ関数を置き換えられるようなラ

                                                          Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ
                                                        • ぼくのかんがえたさいきょうのGo HTTPサーバー起動方法

                                                          これまで何度か HTTP Server の Graceful Shutdown について記事を書きました。 Go 言語で Graceful Restart をする Go 言語で Graceful Restart をするときに取りこぼしを少なくする Go1.8 の Graceful Shutdown と go-gracedown の対応 最終的に Go 1.8 で Server.Shutdown が導入され、この件は解決を見ました。 しかし、最近「あれ?本当に正しく Server.Shutdown 使えている?」と疑問に思い、少し考えてみました。 というか ↑ の記事もまだ考慮が足りない気がする。 ぼくのかんがえたさいきょうの Go HTTP サーバー起動方法 とりあえず完成形のコード。 package main import ( "context" "log" "net/http" "os

                                                          • 効率的なGo

                                                            本書は、Goアプリケーションの効率やスケーリングに関する疑問に対して、実用的な答えを与えてくれる書籍です。 レイテンシー、CPU、メモリ資源についての知識、またOSやGoがそれらを抽象化している方法について、またソフトウェアの効率に関わるデータ駆動な意思決定を行う事の意味や、計算量解析の手法、最適化状況の例など、実用的なソフトウェアを開発する中での「効率」に関する知識を紹介します。 Goやその他のモダンな言語で書かれたプログラムを設計、作成、変更するソフトウェア開発者、また誰かが書いたソフトウェアを主に運用するDevOpsエンジニア、SRE、シスアド、プラットフォームチームなどの読者が、いつ、どのように効率最適化を適用するかという問いに答えるための知識を身に付けることができるでしょう。 関連ファイル 原著者による本書のサンプルリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づい

                                                              効率的なGo
                                                            • 飲酒夜歩きゲーム『Bottled Beer Go Around』配信開始。陰鬱で孤独な若者となり、瓶ビール片手に自宅と酒屋を往復する日々を送る - AUTOMATON

                                                              ホーム ニュース 飲酒夜歩きゲーム『Bottled Beer Go Around』配信開始。陰鬱で孤独な若者となり、瓶ビール片手に自宅と酒屋を往復する日々を送る 全記事ニュース

                                                                飲酒夜歩きゲーム『Bottled Beer Go Around』配信開始。陰鬱で孤独な若者となり、瓶ビール片手に自宅と酒屋を往復する日々を送る - AUTOMATON
                                                              • 🪵 Go1.21 log/slogパッケージ超入門

                                                                はじめに 2023年8月9日(日本の場合)Go1.21がリリースされました🎉。Go1.21ではさまざまな変更点や追加機能が加わります。その中でもGo標準ライブラリに導入される構造化ロギングパッケージlog/slog(以下、slog)を楽しみにしている方は多いのではないでしょうか? 本稿では、slogを実際に触りつつ、機能の解説をしていきます。 TL;DR 本稿の概要をスライドにもまとめているので、ご参考にして下さい。 従来のlogパッケージについて slogの説明に入る前に、Go標準のlogパッケージについて簡単に紹介する。logパッケージを用いると、 io.Writer インターフェースを実装する任意の型にログメッセージを書き込むことができる。しかし以下のような制限があった。 ログレベルをサポートしていない ログレベルはほとんどのログパッケージの定番機能の一つだが、logパッケージには

                                                                  🪵 Go1.21 log/slogパッケージ超入門
                                                                • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

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

                                                                    Go1.21から導入された Go Toolchainの仕組みをまるっと解説
                                                                  • DDDを実践するためのリポジトリ層の設計(Go言語による例)

                                                                    The Go gopher was designed by Renée French. Illustrations by tottie. はじめに この記事は、ドメイン駆動設計(DDD)の中核概念である「リポジトリ」についての理解を深めることを目的としています。リポジトリの基本的な役割と重要性を確認し、Go言語での実装の例を紹介します。 前提 リレーショナルデータベースからデータを取得(更新)するアプリケーションを想定しています サンプルコードは Go 言語で書かれています リポジトリとは まずは、リポジトリの定義を確認してみましょう。 リポジトリパターンとは: リポジトリは、データベースから取得したデータを構造体にマッピングし、ドメインオブジェクトにアクセスするためのインターフェースを提供します。 これは、一般的なリポジトリの理解と相違ないですね。次に DDDの文脈で、より詳しい定義をみ

                                                                      DDDを実践するためのリポジトリ層の設計(Go言語による例)
                                                                    • Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog

                                                                      はじめに メモリアロケーションの回避 ゼロ幅の型(=ゼロサイズの型)とは アドレスの同一性に関する未定義動作 この最適化が有効な場面 1. map 2. chan 3. interface の実装 おわりに 参考文献 はじめに こんにちは。SRE の izzii です。 最近は某フィットネスゲームが習慣だったり、ボルダリングを再開したり、登山シーズンが到来したりと心身ともに調子が良いです。 さてつい先日、Go のコンパイラによる最適化について勉強したまとめを社内で共有したところ、メンバーが面白がってくれたため、細かいところを自分の手で触ってみたり、Go Forum で質問を投稿したりした上で記事にしてみました。Go コンパイラの最適化について知りたいという方だけでなく、Go に慣れた方でも意外と知らない挙動を垣間見ることのできる内容かと思います。 github.com を元にしているのです

                                                                        Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog
                                                                      • goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ

                                                                        【Unit4 ブログリレー6日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 最近まで開発していたm3ラウンジでは、goからRDBを利用していました。 m3ラウンジでは、SQLの組みやすさやテストのしやすさの観点で検討した結果、goquを採用しましたので、 そこで得られた知見とその実装例を紹介します。 これから試してみる方(と将来m3ラウンジの開発に新たに入ることになったメンバー)の参考になるように、サンプルコードも説明も多くなってしまいかなり長いです。 お時間ある時にお読みいただければ。 名古屋城は、日本の城のひとつ。尾張国愛知郡名古屋(現在の愛知県名古屋市中区本丸・北区名城)にある。本文には特に関係ありません。 m3ラウンジ goqu 実例 modelの構造体 mapper mapperの実装 goquのSQLの結果から構造体へのマッピング

                                                                          goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ
                                                                        • Structured Logging with slog - The Go Programming Language

                                                                          Jonathan Amsterdam 22 August 2023 The new log/slog package in Go 1.21 brings structured logging to the standard library. Structured logs use key-value pairs so they can be parsed, filtered, searched, and analyzed quickly and reliably. For servers, logging is an important way for developers to observe the detailed behavior of the system, and often the first place they go to debug it. Logs therefore

                                                                            Structured Logging with slog - The Go Programming Language
                                                                          • Gophercises: 実践的な20種類のエクササイズで Go を学ぼう - kakakakakku blog

                                                                            もっと Go を学びたくて学習コンテンツを探しているぞー👀という人におすすめできる「Gophercises」を紹介する❗️計20種類あるエクササイズ(どれも楽しい🌸)をほぼ全て動画を観ながら写経して,とにかく楽しかったのでまとめることにした💡 動画を観ながらコードを写経できる エクササイズは計20種類もある どのエクササイズもすぐに使えそうなテーマで楽しい 無料で学べる A Tour of Go の次に取り組むのも良いし,構文を学ぶより実践的なテーマで実装しながら学びたいけどネタが思い付かないときに取り組むのも良いと思う👌 \( 'ω')/ Gophercises! Gophercises! gophercises.com エクササイズ一覧 Gophercises には「計20種類」のエクササイズがある❗️参考までに日本語概要も載せておく. CLI 実装・API 実装・PDF 生成

                                                                              Gophercises: 実践的な20種類のエクササイズで Go を学ぼう - kakakakakku blog
                                                                            • AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6

                                                                              kamakura.go #6 でのLT資料です https://kamakurago.connpass.com/event/316438/ https://github.com/fujiwara/aws-sdk-client-go

                                                                                AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
                                                                              • 現場で役立つGo言語のTipsをただまとめてみた

                                                                                はじめに こんにちは、23卒でバックエンドエンジニアをしているたかしゅんです。 私の所属しているプロダクトではサーバーサイドの開発言語としてGoを採用しております。 チームでGoの勉強会をした際にあまりにもGoの流儀や綺麗な書き方を理解していなかったので、以下の書籍を読みました。 [Go言語 100Tips ありがちなミスを把握し、実装を最適化する] この書籍から得た知見、プルリクエストのレビューで受けたアドバイス、そしてコードレビュー時に意識すべき点などを基に、知識を整理し共有したいと思います。 基礎文法は理解しているけど、実際のプロダクトで何を意識して書けば良いのかわからない方に、少しでも参考になれば幸いです。 1. コード 1.1 不用意にネストしない 可読性の悪いコードには命名、一貫性、書式など様々な原因がありますが、その中の重要な原因の一つとしてネストが関係します。 よくある例と

                                                                                  現場で役立つGo言語のTipsをただまとめてみた
                                                                                • 『ポケモンGO』ウミディグダ欲しさに“偽ビーチ”が作り出される。ゴルフ場や駐車場などが勝手に砂浜になるマップデータ荒らし発生 - AUTOMATON

                                                                                  ホーム ニュース 『ポケモンGO』ウミディグダ欲しさに“偽ビーチ”が作り出される。ゴルフ場や駐車場などが勝手に砂浜になるマップデータ荒らし発生 Nianticは4月22日、『ポケモンGO』に向けて“「今いる場所」を再発見”と“カントー地方ふたたび”と称したアップデートを実施。同アップデートでは、バイオームが実装され、ビジュアルだけでなく、実際の環境に応じたポケモンが登場するようになった。加えて新ポケモンとして「ウミディグダ」「ウミトリオ」が初登場した。ウミディグダ実装に伴い、同ポケモンを捕獲しようとする一部ユーザーによってさまざまな場所が勝手に“ビーチ化”してしまっているようだ。kotakuなどが報じている。 『ポケモンGO』は、任天堂とNianticが手がける位置情報ゲームだ。本作では現実世界とリンクしたフィールドを実際に歩いて探索し、出現するポケモンたちを捕まえることを目指していく。ほ

                                                                                    『ポケモンGO』ウミディグダ欲しさに“偽ビーチ”が作り出される。ゴルフ場や駐車場などが勝手に砂浜になるマップデータ荒らし発生 - AUTOMATON