並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 8198件

新着順 人気順

goの検索結果121 - 160 件 / 8198件

  • Go言語+gRPCの解説 [ハンズオン] - Qiita

    はじめに この記事は、海外サイトhttps://tutorialedge.net/golang/go-grpc-beginners-tutorial/ の内容をベースに一部修正を加えたものです。この記事を読み進めることでGoでシンプルなgRPCクライアントとサーバーを構築することができるようになります。 ※gRPC公式より抜粋(また、以下の説明でも一部参考にしています。) gRPCとは? gRPCはGoogleによって開発されたRPCフレームワークです。 RPCはRemote Procedure Callの略で、逐語的に訳すと「遠隔手続呼び出し」となります。これはすなわち、「あるプログラムがネットワーク上の異なる場所に配置されたプログラムを呼び出して実行すること」と読み取れます。 公式による定義 サービス定義 多くのRPCシステムと同様に、gRPCはサービスを定義するという考えに基づいてお

      Go言語+gRPCの解説 [ハンズオン] - Qiita
    • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog

      SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La

        AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog
      • Go を2年くらい書いた感想: 意図をエンコードしきれない感じは消えず - blog.8-p.info

        ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり Scala や Kotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル

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

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

            「GOする」と、もれなく手数料!? タクシー不足の原因にも…現場から不満噴出「配車アプリ」の裏側 | FRIDAYデジタル
          • 改めて見直すGoの特徴

            極力Goならではな特徴をいくつか挙げていく。 依存解決が必要最低限で互換性を考慮しつつ決定的 モジュール単位で依存をダウンロード。コンパイル対象はサブパッケージ単位。 依存の明示方法はコードに埋め込まれ、かつ未参照のインポートはコンパイルエラー。 つまり動作するコードのすべては正確な依存ツリーが明示されていて余計な依存は引き込まれない。 そして持ち前のコンパイルの速さを含め、相当深い依存ツリーでも依存解決にかかる時間は既知の処理系の中でも最速レベル。(唯一勝てるのはプリビルドバイナリが配布されている場合くらい) また、コンパイルやリンクに必要な処理量そのものが比較的少ないため、開発環境負荷も小さい。 かなり巨大なプロジェクトであってもメモリ8GBで困るようなことが無い。つまり、CI環境の維持にもローコストで済む。 ライブラリの提供側では後方互換性が破壊されるような変更はV1->V2というよ

              改めて見直すGoの特徴
            • Go Toイート「利用金額 付与ポイント未満は付与せず」官房長官 | NHKニュース

              今月から始まった「Go Toイート」をめぐり、加藤官房長官は利用金額が付与されるポイント未満の場合、ポイントを付与しない方向で検討していることを明らかにしました。 これに対し、SNS上では食事代を抑えて、受け取るポイントとの差額分をためるといった利用方法が話題となっていて、「錬金術」などと紹介されています。 加藤官房長官は午前の記者会見で「昼食500円、夕食1000円未満の金額で飲食した場合に、ポイントを付与しない方向で対応策を検討していると聞いている。今まさにそうした方向で農林水産省が検討しているということだ」と述べ、利用金額が付与されるポイント未満の場合、ポイントを付与しない方向で検討していることを明らかにしました。 今回、問題になっているのは「Go Toイート」のうち、指定されたサイトで飲食店を予約してから、食事をするとポイントが付与される事業です。 予約した店で食事をすると、翌日か

                Go Toイート「利用金額 付与ポイント未満は付与せず」官房長官 | NHKニュース
              • 実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC|ハイクラス転職・求人情報サイト AMBI(アンビ)

                実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC Goを活用した開発の際、どのようなアーキテクチャを採用するか、議論は尽きません。GMOペパボではオーソドックスなMVCを選んだといいますが、その背景にあったものとは。開発現場のお二人に話を聞きました。 なぜ、MVCを採用するのか 「いま直面する問題」を解決するために、シンプルな構成を選ぶ MVCを採用し感じる課題 ディファクトに従うのではなく、必要とされるものを選ぶ 2012年のバージョン1.0発表以降、Golang(以下、Go)はさまざまなサービスでの採用事例を増やしています。しかし一方で、Goを活用したサーバサイド開発における設計の大方針に関しては、どのような手法を採るべきか多くの議論が重ねられてきています。 例えば、DDD(Domain Driven Design:ドメイン駆動設計)やクリーン

                  実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC|ハイクラス転職・求人情報サイト AMBI(アンビ)
                • Goの言語仕様書精読のススメ & 英語彙集

                  この記事について Go言語公式から提供されているThe Go Programming Language Specificationという文章があります。 実際のThe Go Programming Language Specificationのページ画面 この文章、個人的にはじっくり読んでみると結構得るものが大きいな、と感じるものです。本記事では The Go Programming Language Specificationって何が書いてあるの? 読んだら何がわかるの? 読むときにはどういうところに注目したらいいの? 英語難しいから単語教えて! という疑問に答えながら、The Go Programming Language Specification精読の布教を行います。 The Go Programming Language Specification とは? The Go Prog

                    Goの言語仕様書精読のススメ & 英語彙集
                  • Go の sql.DB がコネクションプールを管理する仕組み

                    Go の database/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of zero or more underlying connections. It’s safe for concurrent use by multiple goroutines. こちらの基本的な実装内容と、動作を制御するパラメータについて調べてみた。 基礎知識のおさらい database/sql パッケージはデータストアの実装によらない一般的な SQL のインタフェースを提供している。具体的なデータストアへの接

                      Go の sql.DB がコネクションプールを管理する仕組み
                    • Goのソースコード内のトリビア - YAMAGUCHI::weblog

                      はじめに こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。Google Cloud Operationsもさることながら、Go Conferenceの運営など、長らくGoコミュニティに関わってきましたが、まだまだ知らないことがあったということを昨日今日で知ったので共有します。 time.minWall time.minWall という値があります。 src/time/time.go - go - Git at Google const ( hasMonotonic = 1 << 63 maxWall = wallToInternal + (1<<33 - 1) // year 2157 minWall = wallToInternal // year 1885 nsecMask = 1<<30 - 1 nsecShift = 30 ) こ

                        Goのソースコード内のトリビア - YAMAGUCHI::weblog
                      • Big Sky :: Google Developers Expert (Go) になりました。

                        Google の方からお誘いを頂き、Google Developers Expert (Go) になりました。 僕のこれまでの Go に対する活動を評価頂けました。僕が Go を触り始めたのが2009年、今から10年前でした。Go はまだメジャーリリースすらされておらず、誰も仕事で使っていない言わばホビー言語でした。 一部のアーリーアダプタが「この言語、面白い」という言葉を残し飽きて来た頃、僕は職場で自前のツールを Go で書くようになりました。それまではC言語でした。 マルチプラットフォーム、速いコンパイラ、ポータビリティの高さ、簡単な記述での並行処理、色々な物に惹かれました。特に、シングルバイナリで動作し、コンパイルし直しさえすればソースコードを書き直す事なく Windows で動き、なおかつマルチバイトの問題も発生しない、こんな夢の様なプログラミング言語はそれまで見た事が無かったので

                          Big Sky :: Google Developers Expert (Go) になりました。
                        • Webpackの70倍!Go言語で書かれたJavascriptバンドラー「esbuild」をベンチマークテストしてみた

                          Webpackの70倍!Go言語で書かれたJavascriptバンドラー「esbuild」をベンチマークテストしてみた esbuild https://github.com/evanw/esbuild/ esbuildの特徴 複数モジュールの依存関係を解決し、1つにまとめるバンドラーは、現代のフロントエンド開発においてなくてはならないツールの1つ。 The State of JavaScript 上位5つに人気が集中し、なかでもWebpackのシェアは実に約60%に達しています。 今回ご紹介する「esbuild」は、Go言語で書かれた高速なバンドラーで、これらメジャーなツールとの性能比較(ベンチマークテスト)をやってみました。 公式のベンチマーク結果 計測方法は、three.jsライブラリを10回複製し、キャッシュなしで単一のバンドルをゼロから構築しています。なんと、Webpackに比べて

                            Webpackの70倍!Go言語で書かれたJavascriptバンドラー「esbuild」をベンチマークテストしてみた
                          • Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ

                            僕としてはGoのおすすめのフレームワークを聞かれたら、標準ライブラリのnet/httpと答えるようにしています。というよりも、Goの他のフレームワークと呼ばれているものは、このnet/httpのラッパーでしかないからです。 Goでアプリケーションを作成する場合のイメージは次の通り。battery includedなアプローチは他の言語でもたまにありますが、ついてくる機能が今時のものが多くて、標準ライブラリで済むことが多いです。ウェブ開発についてもそんな感じです。 PythonとかRubyとかもそうですが、言語組み込みのウェブサーバー機能はテスト用で本番運用には機能が足りない、性能が足りない、ということから「プロダクションに耐えうるフレームワークを別に入れないと」と思う人も多いんじゃないかな、と思いますが、Goの場合は組み込みのサーバーで問題なかったりします。Node.jsに近いかも?世間に

                              Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ
                            • Go で実装しながら gRPC を理解する

                              Written by @ryysud Jul 10, 2019 00:00 · 5125 words · 11 minutes read #gRPC はじめに gRPC の理解が浅く gRPC を利用するプロダクトの開発で困ったので調べてまとめてみました。 gRPC について Google が開発した RPC フレームワークで、gRPC を使うと異なる言語で書かれたアプリケーション同士が gRPC により自動生成されたインターフェースを通じて通信することが可能になる。Go で書かれたサーバーに Java で書いたクライアントが接続可能になるイメージ。通信プロトコルには HTTP/2 が使われ、データはバイナリデータでやりとりする仕様。 gRPC の前身は Google 社内で10年以上運用されていた Stubby というもので、多くの機能が標準規格に基づいていないことから長い間 OSS と

                                Go で実装しながら gRPC を理解する
                              • よりかね けいいち on Twitter: "Go Toでちょっと高い旅館に泊まったら、大失敗。出てきた夕食がこれ。さらに天麩羅とごはん、お吸い物。多すぎて到底食べきれない。シニア層がメインターゲットのはずなので、つまり廃棄前提(としか思えないし、実際にかなりの廃棄が出ている… https://t.co/jMc6ZFrncL"

                                Go Toでちょっと高い旅館に泊まったら、大失敗。出てきた夕食がこれ。さらに天麩羅とごはん、お吸い物。多すぎて到底食べきれない。シニア層がメインターゲットのはずなので、つまり廃棄前提(としか思えないし、実際にかなりの廃棄が出ている… https://t.co/jMc6ZFrncL

                                  よりかね けいいち on Twitter: "Go Toでちょっと高い旅館に泊まったら、大失敗。出てきた夕食がこれ。さらに天麩羅とごはん、お吸い物。多すぎて到底食べきれない。シニア層がメインターゲットのはずなので、つまり廃棄前提(としか思えないし、実際にかなりの廃棄が出ている… https://t.co/jMc6ZFrncL"
                                • SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと

                                  ブラウザで操作できるツールを作りたいけどWebのフロントエンド作るの面倒だな...とWeb系開発者にあるまじき事を考えつつ良いプラットフォームを探していたら、SlackのAPIが進化してツールフロントエンド化するのにうってつけの機能が増えているのを見つけました。 api.slack.com チャットツールのAPIといえば、「チャットで入力したテキストをボット側でがんばって解釈して実行する」というCUIのコマンド的な使い方しかできないイメージだったのですが、最近のSlackのAPIは「ショートカット(Shortcuts)」「モーダル(Modals)」「ブロックキット(Block Kit)」といった機能を使うことで、入力コンポーネントを使用したGUIでボットとやりとりすることができるようになっています。 これらを駆使すれば、入力フォームからデータを登録したり、編集フォームでデータを変更したり、

                                    SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと
                                  • 「ポケモン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人削減へ
                                    • hugoの日付書式がクソすぎる(悪いのはgo言語です) - やってみる

                                      yyyy-MM-dd HH:mm:ssのような書式ではなく2006-01-02 15:04:05である。この数値でなければ正しく表示されない。は? なにこれ? ひどくない? 手順 Go言語をインストールする hugoをインストールする プロジェクト作成&pulpテーマ適用 以下のように設定ファイルを編集する コード 日付の表示形式をyyyy-MM-ddに変更したい。以下のようにする。 config.toml [params] listPageDateFormat = "2006-01-02 15:04:05" singlePageDateFormat = "2006-01-02 15:04:05" 具体的な日時に見えるでしょ? これ、フォーマットなんだぜ……。 ハァ? と思うでよね? ふつうyyyy-MM-dd HH:mm:ssとか%Y-%m-%d %H:%M:%Sとか、そーゆー感じなのに

                                        hugoの日付書式がクソすぎる(悪いのはgo言語です) - やってみる
                                      • Goで学ぶGraphQLサーバーサイド入門

                                        GraphQLはリクエストクエリを書くことで、必要な分のデータを柔軟に取得することが可能なAPI形式です。 RESTとは違うその仕組みはクライアント目線ではとても便利なものですが、サーバーサイドに立ってみると無限の組み合わせがあるリクエストクエリに一体どう対処しているのか不思議に思う人もいるでしょう。 この本では、Goのgqlgenというライブラリを用いてGraphQLサーバーを作る過程を通して、サーバーサイドGraphQLを理解・開発するのに必要な知識を解説していきたいと思います。

                                          Goで学ぶGraphQLサーバーサイド入門
                                        • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

                                          本記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

                                            Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
                                          • Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり - tellme.tokyo

                                            Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり February 4, 2020 lt;dr GoReleaser と GitHub Actions を使うと簡単にビルドしたバイナリを作ってアップロードできる。 2つの YAML を書いてリポジトリにコミットする .github/workflows/release.yml .goreleaser.yml git tag して push する バイナリがリリースされる 専用のツールをローカルにインストールする必要はない。 本題 前に、Go のコマンドラインツールを簡単にリリースする | tellme.tokyo というブログを書いた。 それよりももっと楽になったので紹介する。 基本的にこのページで紹介する方法では 2 つの YAML をリポジトリに置くだけで終わる。 ロー

                                              Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり - tellme.tokyo
                                            • Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog

                                              こんにちは。ストリーミングチームの松本です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問

                                                Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog
                                              • Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記

                                                社内slackでGoについて質問されて、それなりに長文で回答したのでその内容を加筆修正したものをブログに残しておく。 質問内容としては以下のイメージ。 RubyだとRailsがあり、MVCを利用することになるが、Goだとそこらへんはどうなるのか? Go初心者なのでGoのモダンなアーキテクチャとフレームワークについて教えて欲しい。 これ系の質問はGo経験者であれば「あーこれなー」と思うだろーし、 Go初心者のときに一度は悩んだことがあるだろう。 なので、個人的な意見を残しておく。 自分の意見が正しいかどうかは自己判断して欲しい。 結論 アプリケーションアーキテクチャの複雑化とMVCフレームワーク システムアーキテクチャの複雑化とフルスタックなフレームワーク マイクロフレームワーク 改めて質問内容を振り返る pospomeが考えるGoのフレームワーク選定 pospomeが考えるGoのアーキテク

                                                  Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記
                                                • Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由

                                                  DMM GroupのGoの勉強会「DMM.go」。DMM Groupのエンジニアが現場で培った技術やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発本部の PFシステム部に所属する岡崎翔悟氏。「Goとクリーンアーキテクチャ」の内容で、実際の現場にいるからわかるGoの開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「Goとクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1

                                                    Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由
                                                  • Deep Dive into The Go's Web Server

                                                    Goのnet/httpパッケージはとてもよくできており、Webサーバーを動かすのに必要になる「httpコネクションを確立してリクエストを読んでルーティングして……」という手続き的な処理を気にせずとも誰でも簡単にWebサーバーを立てられるようになっています。 ですが、そのnet/httpが代わりにやってくれている「裏側の処理」の部分が気になる、何やっているんだろう?と不思議に思っている方はいませんか? この本では、実際に筆者がnet/httpパッケージのソースコードを読み込んだうえで、「GoのWebサーバーがどのような仕組みで起動・動いているのか」というところについて、図を使いながら解説しています。

                                                      Deep Dive into The Go's Web Server
                                                    • 社名を報じるのは著作権違反か? Go To トラベルで給付金不正のJHAT、平林朗氏が記事削除要請 DMCAを悪用 - TRAICY(トライシー)

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

                                                        社名を報じるのは著作権違反か? Go To トラベルで給付金不正のJHAT、平林朗氏が記事削除要請 DMCAを悪用 - TRAICY(トライシー)
                                                      • Go言語のジェネリクス入門

                                                        Go1.18は2022年3月にリリースされました。このリリースはGo言語へのジェネリクスの実装を含んでいます。 この記事ではできるだけ最新の仕様と用語法にもとづいてジェネリクスの言語仕様について解説していきます。 更新履歴 2024/01/03: Go1.21(2023-08-08)でcmpパッケージが標準ライブラリに追加されたことに対応しました。 2023/02/23: Go1.20(2023-02-01)のcomparableの仕様変更に対応しました。 次の関連資料があります: The Go Blog - All your comparable types Griesemer氏によるGo公式ブログです。 Go言語のBasic Interfaceはcomparableを満たすようになる(でも実装するようにはならない) 上記の内容に対する筆者の解説記事です。Go1.20リリース前に書いたの

                                                          Go言語のジェネリクス入門
                                                        • Goで軽量なデスクトップアプリ作成

                                                          Lorca+SvelteKitでやってみる! https://github.com/zserge/lorca https://github.com/sveltejs/kit あらかじめ必要なもの go(version 1.17.2以降) nodejs(16.9.0以降),npm(7.21.1以降) Chrome/Chromium/Edgeのいずれか プロジェクトの開始 mkdir sample-gui cd sample-gui go mod init sample-gui npm init svelte@next frontend // Choice "Svelte app template" is "Skelton Project". // Choice "Use TypeScript" is No. // Choice "ESLint" is No. // Choice "Prett

                                                            Goで軽量なデスクトップアプリ作成
                                                          • Go Secure Coding Practice の日本語翻訳を公開します - Techtouch Developers Blog

                                                            はじめに Go Secure Coding Practice とは コンテンツ一覧 良かったところ 注意すべきところ 最後に はじめに こんにちは。SRE の izzii です。 テックタッチのエンジニア規模もそれなりに拡大し、若手の採用も進んできたため、セキュアコーディングを徹底していきたいという思いがあり、まずは意識改革ということで勉強会を実施しました。セキュアコーディングを目的とした場合には教育だけでなく Static application security testing (SAST) の導入といった方法もあるのですが、まずは自分を含めた開発メンバーにノウハウをインストールすることにしました。セキュアコーディングへの意識が高まれば、いづれ SAST の導入の際に抵抗感も少ないだろうと考えています。いきなり SAST を導入しても、誤検知が煩くて浸透しないリスクもありうると考えてい

                                                              Go Secure Coding Practice の日本語翻訳を公開します - Techtouch Developers Blog
                                                            • 「Go To キャンペーン」やり直しへ 委託費に批判:朝日新聞デジタル

                                                              ","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 --><!--株価検索 中⑤企画-->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">

                                                                「Go To キャンペーン」やり直しへ 委託費に批判:朝日新聞デジタル
                                                              • JavaScriptからGo言語に乗り換えた感想 - 新しいことにはウェルカム

                                                                JavaScript(TypeScript)で書かれたプログラムを、Go言語で書き直しました。 その動機や、書き換えた結果などを書こうと思います。 また、今回Go言語が初めてだったので、Go言語とはどういったものかや、Go言語をやってみた感想なども合わせて書こうと思います。 動機 メンテナンスしづらい 移植したプログラムは、JavaScript(TypeScript)で書かれた、データ処理関連のプログラムで、サーバーで動かしていました。 JavaScriptはポピューラーな言語ですが、フロントエンドをやらない人にはあまり馴染みがないようで、扱える人が限られていて何かあった時の対応が不安でした。 どのプログラム言語にも似たような文法があり、ちょこっと修正するくらいなら、一通り文法書に目を通せば何とかなりそうな気もするのですが、PromiseなどのJavaScriptの非同期プログラミング文法

                                                                  JavaScriptからGo言語に乗り換えた感想 - 新しいことにはウェルカム
                                                                • 『ポケモンGO』台湾おじいちゃん、装着スマホを約20台増やし64台に。過激化により声援は批判に染まる - AUTOMATON

                                                                  台湾在住の『ポケモンGO』プレイヤー陳清波氏がまたしてもスマホの台数を増やしたようだ。複数の台湾メディアが伝えている。71歳にして『ポケモンGO』にハマりまくっている同氏は、自転車に大量のスマートフォンを装着しゲームを遊んでいる。フィールドを歩いて歩数を稼ぐほか、レイドバトルにも使用。経験値とポケモンを荒稼ぎしている。 当初6台だったスマホは15台、22台と徐々に増加。ここでおじいちゃんにさらなる転機が訪れる。同氏の噂を聞きつけた台湾ASUSが、陳氏をアンバサダーに任命したのだ。自社製品のバッテリーの持ちをアピールするには、『ポケモンGO』おじいちゃんはうってつけ。ASUSのハードウェアメーカーのスポンサーをつけた陳氏は、手持ちスマホの台数を倍以上の45台へと増やした。 22台だった頃の写真 Image Credit : 蘋果日報 45台のおじいちゃん そして今回、陳氏はさらに約20台のス

                                                                    『ポケモンGO』台湾おじいちゃん、装着スマホを約20台増やし64台に。過激化により声援は批判に染まる - AUTOMATON
                                                                  • Go で使う Makefile の育て方

                                                                    Go を使ってプロダクトを作る時、Makefile を使ってビルドを指定することが多いです。 理由としては、 バージョン情報などを埋め込むのに都合がいい 複数のバイナリを吐き出す時に都合がいい Go のビルドオプションを指定するのにいろいろあって整理しておきたい 事前にコードジェネレータで書き出す部分があり、それを考えると Makefile などで整理したい などなどです。なので今回はプロジェクトが大きくなっていく中でどういう Makefile の書き方をしているか、というのをご紹介しようと思います。 サンプルとして、今回のプロジェクトでは gRPC を使ったチャットサービスのサーバーとクライアントを作ることにします。リポジトリは https://github.com/rosylilly/gochat に置いておきました。 Step 1. バージョン情報を埋める 今回はサーバーとクライアン

                                                                      Go で使う Makefile の育て方
                                                                    • 今までにGoでよく聞かれた質問とその参考リンク - ぷらすのブログ

                                                                      こんにちは、@p1assです。 最近研修で Go を書いていて、その際にいくつか質問をされるのですが、聞いてみると前にも答えたような質問が多かったので、これを機にブログに参考リンクをまとめようと思います。 質問された際にすぐ答えられない質問も数多くあり、調べたり教えてもらったりすることで様々なことを再発見できました。 この記事では、質問に対する回答をできるだけ公式に近い文章を引用する形で書き記します。私個人の考えは別の段落になるようにして、事実と意見を区別するように心がけています。 なにか誤りを見つけた際は GitHub で PR を投げていただけると助かります。 言語仕様 関数の引数は値渡しか参照渡しか? Go はすべて値渡し (pass by value) です。 ポインタの場合は、ポインタそのものがコピーされポインタの指し示す先の値はコピーされません。 Go の多値返却はタプルか?

                                                                        今までにGoでよく聞かれた質問とその参考リンク - ぷらすのブログ
                                                                      • Go Toイート 予約サイト経由ポイント付与事業 受け付け終了へ | 新型コロナ 経済影響 | NHKニュース

                                                                        外食の需要を喚起して飲食店などを支援する「Go Toイート」のうち、予約サイトを通じて食事をした場合にポイントが付与される事業について、農林水産省は、計上されている予算額に達する見通しになったため、近日中にポイントが付与される新たな予約が順次できなくなると発表しました。 予約をした店で実際に食事をすると、1人当たり昼食では500円分、夕食では1000円分のポイントが付与され、次回以降の予約などに使うことができます。 この事業の予算額は616億円ですが、開始から1か月余りたった今月11日時点で予約は5000万人以上、ポイントの付与額は400億円分以上に上っています。 その後も予約が増えていることから、農林水産省は近日中にポイントが付与される新たな予約が順次できなくなると発表しました。 農林水産省によりますと、すでに受け付けられた予約は有効で、ポイントは最長で来年3月末まで利用できるということ

                                                                          Go Toイート 予約サイト経由ポイント付与事業 受け付け終了へ | 新型コロナ 経済影響 | NHKニュース
                                                                        • Goエラーハンドリング戦略

                                                                          Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

                                                                            Goエラーハンドリング戦略
                                                                          • Go のエラーハンドリング

                                                                            私が Go のエラーハンドリングについて最初に記事にしたのは2015年のことだが,あれから Go も少しずつ変わってるし,私も当時よりは多少なりと理解が進んだと思うので,今まで書いた駄文を「全部入り」で本の形にしてみようと思う。 主な内容: * エラー評価の基本 * エラーの階層化 * サードパーティのパッケージ * ぼくがかんがえたさいきょうのえらーろぐ * Panic と Recover 寄付(サポート)歓迎。ご笑覧のほどを。

                                                                              Go のエラーハンドリング
                                                                            • 「パパ活」情報が「Go Toイート」URLで表示 ドメイン流用の実態は? | NHK

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

                                                                                「パパ活」情報が「Go Toイート」URLで表示 ドメイン流用の実態は? | NHK
                                                                              • おうちKubernetes feat. cybozu-go/neco-apps - ぽよメモ

                                                                                はじめに なぜおうちKubernetes? ハードウェアの選定 クラスタのブートストラップ cybozu-go/neco-apps Metallb cert-manager Contour TopoLVM Rook SealedSecret ArgoCD GitHubアカウントでSSOする gRPC用とWeb UI用でサービスを分ける VictoriaMetrics Grafana operator moco 開発環境 今動いているもの これからやりたいこと バックアップとリストア 監視の充実 まとめ はじめに これはCybozu Advent Calendar 2021 7日目の記事です。是非他の記事も読んでみてください。 Kubernetesの名を聞くようになって久しく、皆様も業務・プライベート問わず日々YAMLを書かれていることでしょう。自分専用のプライベートクラスタが欲しいと思われ

                                                                                  おうちKubernetes feat. cybozu-go/neco-apps - ぽよメモ
                                                                                • Goを学ぶときに参照した学習リソースまとめ

                                                                                  皆さん、新しいプログラミング言語を学ぶ時、どのように学習しているでしょうか? 私は4月に新卒でエンジニアになり、業務でGoを使うことになりました。その際、とりあえず公式チュートリアルであるTour of Goをやりましたが、その後にどうやって学習を進めれば良いか迷ってしまいました。 考えてみると、新しい言語を学ぶ際、毎回学習方法に困っている気がします。ネットでサンプルを探す、動画を見る、書籍を読む、などさまざまな学習方法があると思いますが、私は手を動かしながらいろいろなパターンを学んでいくのが好きです。 そこで今回Goを学ぶ際も、手を動かしてさまざまなコーディングのパターンを学習するために、ネットや書籍でサンプルを探して実践しました。 この学習方法は私にとっては楽しみながら続けることができて、他の言語を学ぶ際も今回実装したサンプルを使って学習しようと考えています! そこで自分と同じ様な悩み

                                                                                    Goを学ぶときに参照した学習リソースまとめ