並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 401件

新着順 人気順

goの検索結果361 - 400 件 / 401件

  • Go Conference 2024 に登壇しました!

    2024/06/08に開催された Go Conference 2024 に登壇してきました! 初めて外部登壇した感想や採択から発表に至るまでの準備、セッションで話しきれなかったことについて書きたいと思います! はじめにGo Conference 2024 に登壇してきました! gocon.jp - 詳解 “Fixing For Loops in Go 1.22” / 自作linterをgolangci-lintへコントリビュートした話speakerdeck.com - スライド全文今回のブログでは、CfPの提出~調査~登壇までの流れを書いて、セッションでは話せなかったポイントなどについても記述したいと思います。 目次CfPを提出するまでCfPを提出してから登壇に至るまで登壇当日セッションの要約・推しポイント・話しきれなかったことCfPを提出するまで今回のセッションはいわゆる「登壇駆動」でし

    • 改行コードを含んだ文字列を環境変数で読み込むときに嵌った話

      追記 2018/05/03twitter で指摘してもらいましたが、シェルだと改行して読み込ませればいけるとのこと ``` HOGE="Hello World" go run main.go ``` ではダメですか? https://t.co/nkpPkIvlLw — Ichinose Shogo (@shogo82148) 2018年5月2日あー試してないな ただ今回は書いてないのであれだけどAWS Lambdaで設定した環境変数を取りたかったのでこうした感じです — こんぼい。 (@Konboi) 2018年5月2日なるほど。確かにコンソールだと一行テキスト… シェルだと上手く行きます。 — Ichinose Shogo (@shogo82148) 2018年5月2日やはりコンテキストも含めて書かないと誤解を招くな。 反省 よく考えれば当たり前だなーと思ったけど嵌ったので戒めもこめてメ

      • GoとCloud Pub/SubをつかってBaseball Savantのクローラーを作ってみた - Lean Baseball

        最初に言っておきます, 「野球」っていうワード以上に「エンジニアリング」なエントリーです*1. 野球方面の人は最初の雰囲気を読んで最後まで読むか判断してください, 「オオタニサン」っていうワードは出てこず「Go」「Pub/Sub」「コンテナ」とかそんなのばっかり出てきます🙏 という前置きはさておき, 最近はGoでモノを作るのが好きになってきており, 今はというと, PyCon JP 2022およびデブサミでお披露目した「野球データ基盤」の刷新をGoで少しずつやる. 野球データ基盤を構成するマイクロサービスのうち, Goでやったほうが効率良さそうなサービスをGoに書き換え. クラウドサービスは引き続きGoogle Cloud(これはマスト)だが, マイクロサービスのワークロードはCloud Runに統一*2, 可能なら「マルチコンテナ*3」を採用してサービスを一つに統一したい. といった事

          GoとCloud Pub/SubをつかってBaseball Savantのクローラーを作ってみた - Lean Baseball
        • Scenarigoの紹介とそれを利用したメルペイでのインテグレーションテスト実例

          Scenarigoの紹介と それを利用したメルペイでの インテグレーションテスト実例 APIテストツール4選!開発者が語る各ツールの特徴と魅力

            Scenarigoの紹介とそれを利用したメルペイでのインテグレーションテスト実例
          • gqlgenによるGraphQL Subscription実装

            はじめに こんにちは株式会社スマートショッピング ソフトウェアエンジニアの葛西伸樹です。 現在のプロジェクトでGraphQLライブラリのgqlgenを使用しているのですが、GraphQLにおけるリアルタイム通信用のコマンドであるSubscriptionに関する知識がなかったので簡単に実装してその内容をまとめました。 この記事で説明しないこと この記事ではSubscriptionの仕組みと実装方法に焦点を当てているので GraphQLの概要 gqlgenによるQuery, Mutationの実装方法 については説明を省略します。 Subscriptionとは SubscriptionはGraphQLのデータ取得操作の一つで、リクエストを投げて結果を取得するQueryとは違いコネクションを接続することでサーバー側からのプッシュ通知によるデータ取得が可能になっています。 Subscription

              gqlgenによるGraphQL Subscription実装
            • go

              Loading×Sorry to interruptCSS ErrorRefresh

              • entのDBマイグレーションを試みる|すずき

                Coolなmanagement UIがあったりなかなかの魅力を誇るツールだ。 entとAtlasこの二つがどう絡み合うか。というとentはent上のSchema定義からDBが取るべきSchemaをGoのソースコードで管理している。 公式のexampleから引っ張ってくると↓のような具合だ。 AtlasはHCLでDB Schemaを定義していき、DBへ差分を反映していくスタイルのようだが、entを使っているとDB SchemaをHCLで書く必要すらないとうわけだ。 https://entgo.io/ja/docs/migrate#atlas-diff-and-apply-hooks にあるようにAtlasとのintegrationを有効にしておくとAtlas WayでmigrationのHookを実装できるようだ。 Hookを実装することでmigrationのロジックを自由度高めにカスタマイ

                  entのDBマイグレーションを試みる|すずき
                • Golangの新しいORM「Bun」を触ってみた - Qiita

                  はじめに 本記事は フューチャー Advent Calendar 2023 24日目の記事です。(クリスマスイブですね。) 今回はGolangのORM「Bun」を触ってみたのでその、個人的に気になっていた点である、データの挿入周りついて記事にしたいと思います。 Bunとは BunはGo言語用のSQLファーストのORM(Object-Relational Mapping)ライブラリで、PostgreSQL、MySQL(MariaDBを含む)、MSSQL、SQLiteなどのデータベースシステムに対応しています​。 以下公式サイトです。 Why Not ...? の章や公式サイトからも GORM と比較していることが多いです。 「Bun」は「gorm」と比較してBunは、余計な機能などが少なく、ライブラリのサイズが小さいことや、コードベースでの記述が少なく、シンプルであるため処理が高速です。 環

                    Golangの新しいORM「Bun」を触ってみた - Qiita
                  • Goの環境構築方法 - Qiita

                    はじめに 最近、仕事でGo触り始めたので、改めて環境構築の手順の確認と、今後Goを触りたいっていう人の参考になればなぁと思います。 ちなみに、自分の手元の環境は以下。 OS : macOS Catalina 10.15.2 → 好奇心でzshにも切り替えてます。 以下の2つをまとめていこうかな、と思います。 どちらも簡単なので、パーっと終わるかと。 あとPATH通したりの作業は必要ですが、Homebrewでインストールもできます。 公式からDLしてインストール goenvを使ってインストール 公式からダウンロード インストール インストーラに従って進めるのみ。 PATHを通す // bash使ってる人は、.bash_profileとかに置き換えてくださいー。 % echo 'export PATH="$PATH:/usr/local/go/bin"' >> ~/.zshenv

                      Goの環境構築方法 - Qiita
                    • 【Go】aws-sdk-goでS3に画像をアップロードする

                      はじめに AWSのコンソールから簡単にアップロード出来ますが、 今回はアプリなどから画像をアップロードする事を想定して、ソースコードでS3に画像をアップロードしてみます。 ゴール のコマンドでmain.goと同じ配下にいる画像ファイルをS3の test-bucket-0814という名前のバケットの中のimageフォルダ以下に画像をアップロードすること。 これを ここに保存 この状態にすることがゴールです。 環境 macOS 11.4 go 1.16 aws-sdk-go 1.40.17 準備 .awsの設定 credentialsやconfigの設定を行なってください。 今回はこちらでは説明致しません。 設定されている事を前提として話を進めます。 まだ設定できていない人は、こちらを参考に設定してみてください。 aws-sdk-goをインストールします。 //go mod を入れます。今回は

                        【Go】aws-sdk-goでS3に画像をアップロードする
                      • 手を動かしながら並行処理を学ぼう - Enablement Workshop for Gophers

                        はじめに 2023年5月26日に開催されたEnablement Workshop for Gophersで「手を動かしながら並行処理を学ぼう」というタイトルで講義を行ないました。 Enablement Workshop for Gophersは、ナレッジワークが学生向けに提供する手を動かしながら基礎を学ぶ"Enablement"の機会です。 ワークショップのテーマは『並行処理』です。2023年6月21日〜23日に行われるEnablement Internship for Gophersに合わせてテーマを設定しています。 ワークショップは全2回行われ、第1回は、2023年5月10日に「並行処理の基礎を学ぼう」というタイトルで講義形式で開催しました。解説動画は以下の記事から確認できます。 第2回の今回はStep by Stepで手を動かしながら並行処理を学んでいきました。 講義の様子はYouT

                          手を動かしながら並行処理を学ぼう - Enablement Workshop for Gophers
                        • 【2024年4月】フリーランス案件の単価における市場動向【フリーランスボード】

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

                            【2024年4月】フリーランス案件の単価における市場動向【フリーランスボード】
                          • 日本交通、川鍋氏が会長職外れる - 日本経済新聞

                            タクシー大手、日本交通の川鍋一朗代表取締役会長が代表権を持たない取締役となっていたことがわかった。川鍋氏が会長に就いているタクシー配車アプリ運営のGO(東京・港)の経営に力を入れるためとみられる。GOは数年内の上場を目指している。8月25日付で日本交通の会長職から外れた。創業家出身の川鍋氏は、マッキンゼー・アンド・カンパニー

                              日本交通、川鍋氏が会長職外れる - 日本経済新聞
                            • 囲碁定石研究

                              囲碁定石研究 - 碁DB - 囲碁定石研究は囲碁データベースサービス碁DBの囲碁の定石研究サイトです。 星の定石 小目の定石 目外しの定石 三々の定石 高目の定石

                              • spm-goでGoの結合度を計測する - Qiita

                                よいパッケージ性の測り方 結合度を計測する コードの良さを測る指標として循環的複雑度などがありますがどちらかというと単一ファイルの指標で、アーキテクチャの良さを測る指標として不足に感じました。 マイクロサービスでもモジュラーモノリスでもマルチモジュールの境界をどううまく引くかは悩みどころで、機械的なソフトウェアメトリクスである程度あたりをつけられると便利です。 Goの結合度を測るツールとしてspm-goの存在を知ったので動かしてみます。 spm-goとMattermostの準備 spm-goをインストールします。helpが出ればインストール成功。 $ go version go version go1.21.4 darwin/arm64 $ go install github.com/fdaines/spm-go@latest $ spm-go Software Package Metri

                                  spm-goでGoの結合度を計測する - Qiita
                                • xc (Markdown ベースで書けるタスクランナー) - いろいろ備忘録日記

                                  概要 試してみる 参考情報 概要 面白いなって思ったので、忘れないうちにメモメモ。。。 xcfile.dev github.com 試してみる https://xcfile.dev/getting-started/#installation にインストール方法が記載されています。homebrewでもscoopでもインストール出来る模様。 Goで作られているので、go install でもインストールできます。 今回は、go install で入れました。 $ go version go version go1.20.1 linux/amd64 $ go install github.com/joerdav/xc/cmd/xc@latest go: downloading github.com/joerdav/xc v0.0.175 go: downloading github.com/po

                                    xc (Markdown ベースで書けるタスクランナー) - いろいろ備忘録日記
                                  • 『プログラミング言語Go』演習問題の回答例

                                    2021-12-04 は「18回『プログラミング言語Go』オンライン読書会」があったが,「この本の演習問題みんなやってる?」という話題があり,この本の翻訳者で読書会主宰の柴田芳樹さんに企業研修等で公開されている回答例を紹介していただいた。 『プログラミング言語Go』の演習問題はそこそこ難題なものもあるので参考になるだろう。というか参考にさせていただきます。

                                      『プログラミング言語Go』演習問題の回答例
                                    • GoでHTMLの要素をXPathで取得する方法 - 備忘録

                                      Ⅰ. はじめに Ⅱ. やり方 1. パッケージをインストールする 2. サンプルプログラムを書く 3. 実行結果 その他 参考 Ⅰ. はじめに タイトルの通り「GoでHTMLの要素をXPathで取得する方法」です。 Ⅱ. やり方 1. パッケージをインストールする go get github.com/antchfx/htmlquery 2. サンプルプログラムを書く package main import ( "fmt" "github.com/antchfx/htmlquery" ) func main() { doc, _ := htmlquery.LoadURL("http://example.com") // h1タグのInnerTextを取得する titleElement := htmlquery.FindOne(doc, "/html/body/div/h1") fmt.Pri

                                        GoでHTMLの要素をXPathで取得する方法 - 備忘録
                                      • Goで深さ優先探索と幅優先探索 - ただの技術メモ

                                        深さ優先探索と幅優先探索の概要 例えばニュースアプリでニュース一覧からとあるニュースを探しているとして、探し方は大きく分けて2つある。 (カテゴリタブとかはなくてニュースが羅列していて、そのニュースそれぞれが関連ニュースを複数保持している状態をイメージしてもらえれば良い) 深さ優先探索の概要 1つ目は、一覧にあるニュース記事から1つを選んで見て、その記事が探索している記事でなければそのニュース記事内の関連ニュース記事を1つ選んで見る。 その関連ニュース記事が探索している記事でなければ、さらにそのニュース記事内の関連ニュース記事を1つ選んで見る。 これを繰り返して、関連ニュース記事がなくなれば1つ前に探索した関連ニュース記事の中でまだ探索していない関連ニュース記事を探索する。 これを繰り返すと、一覧にあるニュース記事の全てを探索することができる。 深さ優先探索のイメージ このように深さ優先探

                                          Goで深さ優先探索と幅優先探索 - ただの技術メモ
                                        • Goのインストール・環境変数・コマンド - わくわくBank

                                          Macにgoをインストールして、簡単な動作確認をします。 GOROOT・GOPATHの役割、goコマンド(env, get, build, run, mod)、GoLandの使い方について確認します。 $ go Go is a tool for managing Go source code. Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix update pac

                                            Goのインストール・環境変数・コマンド - わくわくBank
                                          • GoでSlackにMessageを投稿する( slack-go/slack ) - My Note

                                            今回は下記に書いたSlack APIでメッセージをPostする内容の更新版になります。 yhidetoshi.hatenablog.com 今回利用するライブラリは slack-go/slackです。 スター数も多いですしさまざまな機能が実装されているので今後はこちらを使っていこうと思います。 github.com 今回のコードを作成するにあたり参考にしたのは以下です。 Slack APIのリファレンス (Reference: Secondary message attachments) api.slack.com slack-go/slack/examples/messages/messages.go exampleを用意してくれています https://github.com/slack-go/slack/blob/master/examples/messages/messages.go

                                              GoでSlackにMessageを投稿する( slack-go/slack ) - My Note
                                            • 囲碁用語英訳集 - 囲碁のパンダネット

                                              『囲碁用語英訳集』  よく使う囲碁用語を英訳した英訳集です。海外の対局の方とのチャットでご利用ください。

                                              • Ebitengine の 過去・現在・未来

                                                Ebitengine™ の 過去・現在・未来 2023-09-22 Ebitengine ぷち Conf 星一

                                                  Ebitengine の 過去・現在・未来
                                                • Goのジェネリクスを使って、テーブル駆動テスト(TDT)に統一性を持たせる

                                                  私は普段Goのテストを書く際に、テーブル駆動テスト(TDT)を用いることが多いです。 しかし、チームで開発をしていると、メンバーによってテストの書き方が異なることがしばしばあり、それにより、テストを実装する際に書き方に迷ったり、レビューがしづらくなったりと、テストの実装において問題が生じていました。 そこで、ジェネリクスを活用することで、汎用的に使えるテストケースの構造体を定義し、それをプロジェクト全体で共通で使用することで、テーブル駆動テストの書き方に統一性を持たせることができたので、今回はその方法を紹介したいと思います! テーブル駆動テストとは テーブル駆動テストとは、複数のテストケースをスライスで定義し、ループすることで一つのテスト関数で複数のテストケースを実行する方法です。 package main func Sum(numbers []int) int { total := 0

                                                    Goのジェネリクスを使って、テーブル駆動テスト(TDT)に統一性を持たせる
                                                  • goで「今日はなんの日?」をSlackに投稿する

                                                    goの学習を進めたいんだけどなかなかテーマが決まらない…。 チュートリアルや本を読んでいてもなかなか頭に入らず、手を動かさないと身につかないタイプ。 そこで、自身のTwitterアカウントで自動投稿している「今日はなんの日?」をgoを使ってSlackに投稿出来るようにしてみようと思ってやってみました。 Yahooキッズの中に「今日はなんの日?」というコンテンツがあるので、そのページからXPATHを使って「なんの日なのか?」と「記念日の説明」を取得し、Slackに投稿するというところまでを試してみる。 YahooのページにアクセスしてHTMLを取得する まずはページにアクセスすることが出来ないと始まらないので go を使ってHTTPアクセスを行い、ページを取得するところまでを実装してみる。 goでのHTTPアクセスは元々用意されている net/http を利用する。 そしてページのBodyの

                                                      goで「今日はなんの日?」をSlackに投稿する
                                                    • Goの定数の型宣言 - Qiita

                                                      こうしておくと、intにもint64にも代入できる、不思議な状態を作ることができ、便利である。

                                                        Goの定数の型宣言 - Qiita
                                                      • タクシーアプリ「GO」、新型アルファードを指定予約できるサービス開始(アスキー) - Yahoo!ニュース

                                                        キャピタルモータースは、タクシーアプリ「GO」の「GO PREMIUM」から上質な移動空間を提供する「新型アルファード」を指定予約できるサービスを開始したと発表した。 【もっと写真を見る】 キャピタルモータースは4月4日、タクシーアプリ「GO」が展開する「GO PREMIUM」から上質な移動空間を提供する「新型アルファード」を指定予約できるサービスを開始したと発表した。 GO PREMIUMは、GOから高級ワンボックス 新型アルファードの指定予約ができるサービスで、法人向けサービス「GO BUSINESS」アカウントでのアプリ注文も可能。社内規定をクリアした優良乗務員が乗務する。 車両は最大6名(乗務員除く)まで乗車可能で、旅⾏やゴルフ場への送迎、冠婚葬祭の催し、大事な人の出迎え、空港までの送迎などハイヤー代わりに多用途に使用できる。 また、普段よりゆっくり過ごしたい移動や長距離移動、大人

                                                          タクシーアプリ「GO」、新型アルファードを指定予約できるサービス開始(アスキー) - Yahoo!ニュース
                                                        • Goにおけるテスト用DB分離のテクニック

                                                          この記事は Go言語 Advent Calendar 2023 4日目の記事です。 導入 GoでMySQLやPostgreSQLのようなリレーショナルデータベースをDocker上で立ち上げテストに利用する手法は一般的です。この場合、異なるパッケージからの並行テスト実行によりテストデータの追加やクリーンアップ、データベース操作が重複することがあります。これにより、テストの数が増えるにつれ操作が競合したり、他のテストケースによる影響で期待される結果が得られないことがあるためFlakyテスト(不安定なテスト)の問題が生じます。 この記事では、テスト中のデータベース操作に関連する問題に対処する方法として TestMain 関数を使用し、テスト用データベースをパッケージごとに分離するアプローチについて紹介します。この方法は、テストの信頼性を向上させると同時にデータベース操作の競合を避けるための効果的

                                                            Goにおけるテスト用DB分離のテクニック
                                                          • Go言語製ゲームエンジン「Ebitengine」初のオフラインイベントが渋谷で9/22に実施、LT配信あり

                                                            Go言語製ゲームエンジン「Ebitengine」初のオフラインイベントが渋谷で9/22に実施、LT配信あり by igjd · 公開済み 2023年8月8日 · 更新済み 2023年8月8日 Go言語製ゲームエンジン「Ebitengine」の初のオフラインイベントが実施されます。会場は株式会社ディー・エヌ・エーで開かれ、YouTubeでのオンライン配信も予定されています。 【ゲーム開発/Go】Ebitengine ぷちConf #1【ゆるいLTと交流会】 2023/09/22(金)19:00 〜 22:00 会場 株式会社ディー・エヌ・エー 東京都渋谷区渋谷二丁目24番12号 渋谷スクランブルスクエア40F Ebitengine ぷちConf は、Go 初心者もゲーム開発初心者も誰でも参加できる、ゆるいLT/交流会です。 Ebitengine が好きなユーザー、興味ある人同士で親睦を深めて

                                                              Go言語製ゲームエンジン「Ebitengine」初のオフラインイベントが渋谷で9/22に実施、LT配信あり
                                                            • [Go] JPEG/PNG 画像の幅・高さを変えずに容量を圧縮する

                                                              はじめに 業務で携わっているプロジェクトで、ユーザがアップロードした画像の容量をサーバサイドで小さくしたい要件がありました。あまり経験のないことで、調べるなかでいろいろ学びがあったので記事に残します。 画像の圧縮処理をするコードサンプル 圧縮処理のサンプルコードは以下のとおりです。今回圧縮対象としたのは jpeg と png のみです。実装には Go 標準の image パッケージとそのサブパッケージである image/jpeg と image/png を使用しました。Go のバージョンは v1.20.3 です。 nfnt/resize を紹介している記事がいくつか見つかりましたが、2023/04/09 現在メンテナンスが行われておらず、リポジトリもアーカイブされているようなので採用を見送りました。 package main import ( "fmt" "image" "image/jp

                                                                [Go] JPEG/PNG 画像の幅・高さを変えずに容量を圧縮する
                                                              • Go 1.21 で追加された sync パッケージの新機能について|fukurou_dev

                                                                はじめに皆様、こんにちは。バックエンドエンジニアの栄です。 先日、Go 1.21 がリリースされました。 今回のリリースは、新しい組み込み関数の追加や既存パッケージの更新が比較的多いリリースでありました。 本記事では、私が特に興味深いと感じた sync パッケージの変更点を取り上げてみたいと思います。 変更点サマリー下記の3つの関数が新たに追加されました。 sync.OnceFunc sync.OnceValue sync.OnceValues これらの関数は sync.Once 構造体の一般的な使用方法を関数化したものとなります。 sync.Once とは追加された三つの関数を理解するには、sync.Once 構造体の概要について知っておくことが重要です。 sync.Once 構造体には、任意の操作を一度だけ行う為の機能として Do メソッドが実装されています。 Do は引数として、引数

                                                                  Go 1.21 で追加された sync パッケージの新機能について|fukurou_dev
                                                                • kamakura.go #6 @大船 (2024/05/17 19:30〜)

                                                                  お知らせ connpassではさらなる価値のあるデータを提供するため、2024年5月23日(木)を以ちましてイベントサーチAPIの無料での提供の廃止を決定いたしました。 2024年5月23日(木)以降より開始予定の「connpass 有料API」の料金プランにつきましてはこちらをご覧ください。 なお有料の対象となるのはAPIのみであり、connpassのサービスにつきましては今後も無料でご利用いただけます。

                                                                    kamakura.go #6 @大船 (2024/05/17 19:30〜)
                                                                  • 【囲碁】中手の計算式「さんさん、しご、ごは、ろくじゅうに!」|IGOcompany『U』

                                                                    こんにちは。 IGOcompany【U】@毎日note継続中(222日目)です。 財団法人日本棋院での15年間の勤務を経て、囲碁をビジネスに起業。 もうすぐ10周年になる「宇佐美囲碁教室」という教室を運営したり、武蔵小杉の「永代塾囲碁サロン」にて指導碁や交流会をしたり、 「新百合囲碁学園」の学園長を任されたりしながら、世田谷や麹町、大学などで囲碁を教えて、ご飯を食べています。 今日のnoteは、 ちょっと面白いX(Twitter)のポストを見かけたので、それについて書いてみたいと思います。 これ何のことかわかりますか?? (※囲碁をやっていないと、何のこと?って思うとおもいますが…) これ、 囲碁で石の攻め合いになった時の手数(何手必要か)を表した式なんです。 囲碁は石を囲めば取れるっていう「アタリ」のルールがあるんですが、どっちが先に取れるかどうかを競う「攻め合い」っていう状態があったり

                                                                      【囲碁】中手の計算式「さんさん、しご、ごは、ろくじゅうに!」|IGOcompany『U』
                                                                    • #技術書典 16 で Go を使って #自作モデル検査器 をつくる本を頒布します - チェシャ猫の消滅定理

                                                                      こんにちは、チェシャ猫です。 今回、技術書典 16 にて、新刊『モデル検査器をつくる〜Goで実装して学ぶ形式手法〜』を頒布します。 techbookfest.org どんな本? ただツールを使うだけの形式手法から、君の手でつくる形式手法へ。Go 言語でモデル検査器を実装しながら学ぼう! 書名の通り、Go でモデル検査器を実装する本です。Pramo 言語と名づけた本書オリジナルのモデリング言語を定義し、その可視化器と検査器を作成します。 Pramo 言語は、ある種のマルチスレッドをサポートするプログラミング言語であり、Go の埋め込み DSL として記述されます。例えば有名な「食事する哲学者」は以下のように実装されます。 func badPhilosopher(name procName, right, left lockName, hold varName) process { retur

                                                                        #技術書典 16 で Go を使って #自作モデル検査器 をつくる本を頒布します - チェシャ猫の消滅定理
                                                                      • Go静的解析のSuggestedFixを完全に理解して静的解析ツールを書きたくなる

                                                                        \スニダンを開発しているSODA inc.の Advent Calendar 24日目の記事です!!!/ 昨日は imajo さんによる「開発途中の機能を公開してしまって落ち込んだ話」でした! 今日はGoの静的解析について書きます! ゴール:静的解析ツールを書きたくなる 「Goの静的解析なんか難しそう」がこの記事を読んだあとに「思ったより簡単だな。なんか書いてみよう」に変わると嬉しいです。 Goは標準パッケージで静的解析が出来て便利 Goでは、 go/ast や go/types をはじめとして、標準パッケージで静的解析まわりのエコシステムが提供されています。 サードパーティなライブラリから静的解析まわりのエコシステムが提供される言語も多いですが、Goのように標準でサポートされていると色々と良いことがあります。 例えば、言語仕様に新しい機能が追加されたときに同時に対応されて嬉しかったり、静

                                                                          Go静的解析のSuggestedFixを完全に理解して静的解析ツールを書きたくなる
                                                                        • golang-migrateの導入 - Qiita

                                                                          golang-migrate Go製のマイグレーションツールgolang-migrateを扱います。 インストール $ $ migrate -h Usage: migrate OPTIONS COMMAND [arg...] migrate [ -version | -help ] Options: -source Location of the migrations (driver://url) -path Shorthand for -source=file://path -database Run migrations against this database (driver://url) -prefetch N Number of migrations to load in advance before executing (default 10) -lock-timeout N

                                                                            golang-migrateの導入 - Qiita
                                                                          • google/wireでDIする際のgenerics対応について - kakts-log

                                                                            概要 この記事はQiita Advent Calendar 2023 Go言語の第十七日の記事です。 qiita.com google/wire で genericsに対応させる方法をまとめる google/wireについて github.com google/wireとは、GoでのDependency Injection用のコード生成ツールとなります。 wire自体の使い方は、公式のチュートリアルとしてまとめられているため、そちらをご確認ください。 github.com google/wireの現状について簡単にまとめると以下の通りになります。 golangのDIツール 数年前はGoにおけるDIツールのデファクトスタンダードだったが、現在ではメンテナンスモードになっており、今後のgenerics対応はしないとコメントがある。 Will “wire” work with go generi

                                                                              google/wireでDIする際のgenerics対応について - kakts-log
                                                                            • go基本構文メモ - Qiita

                                                                              var pow = []int{1, 2, 4, 8, 16, 32, 64, 128} for i, v := range pow { fmt.Printf("2**%d = %d\n", i, v) }

                                                                                go基本構文メモ - Qiita
                                                                              • 20周年を迎えたサービスでビジネスドメインと向き合いモダナイゼーションを推進 - Adwaysエンジニアブログ

                                                                                どうも、アドプラットフォーム事業で取締役CTOをしている大曲です。毎年、花粉症が辛かったのですが、良い病院に出会い今年は楽でした。 JANetは昨年20周年を迎えました。この節目のタイミングでトラッキングのモダナイゼーション(PerlからGo言語)することに挑戦しました。 今回のモダナイゼーションでは外部の会社(Tanzu Labs)の支援を受けて推進しました。会社としてもこの開発に大きな投資を行いました。 話すこと モダナイゼーションを社外と一緒に取り組むこと、投資をすることになった背景 ビジネスドメインに真正面から向き合い、そこから得られた成果 話さないこと モダナイゼーションの具体的なステップ 開発言語や手法の細かなあれこれ XPの手法であるペアプロ、TDDを徹底的にやる経験をした 背景 改善ポイントがインフラからアプリケーションへ 事業方針がビジネスモデルを革新する Tanzu L

                                                                                  20周年を迎えたサービスでビジネスドメインと向き合いモダナイゼーションを推進 - Adwaysエンジニアブログ
                                                                                • mercari.go #23 を開催しました #mercarigo | メルカリエンジニアリング

                                                                                  はじめに こんにちは、mercari.goスタッフの shota sugiura です。 9月7日にメルカリ主催のGo勉強会 mercari.go #23 をYouTubeでのオンライン配信にて開催しました。この記事では、当日の勉強会の活動内容をレポートします。動画も公開されていますので、こちらもぜひご覧ください! mercari.go #23では、株式会社ナレッジワークより@tenntennさん、株式会社カウシェより@yuki.itoさん、株式会社Stackより@そな太さんをお招きして、パネルディスカッション形式でGoに関する意見交換をしていただきました。Go1.21が2023年8月にリリースされたことを受けて、Goのモダンな書き方やError Handlingの方法、Go1.21で利用したい新しい機能をテーマに、各社の事例を交えた興味深い議論が行われました。 mercari.goスタッ

                                                                                    mercari.go #23 を開催しました #mercarigo | メルカリエンジニアリング