並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

goの検索結果1 - 23 件 / 23件

  • 趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア 己の欲求に従い続けた「Ebitengine」開発者に迫る レバテックラボ(レバテックLAB)

    TOPフォーカス趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア。己の欲求に従い続けてきた「Ebitengine」開発者に迫る 趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア。己の欲求に従い続けてきた「Ebitengine」開発者に迫る 2024年5月15日 Odencat株式会社 CTO 星 一(ほし・はじめ) ソフトウェアエンジニア。2009年にドワンゴでキャリアをスタートし、ドワンゴの関連会社やGoogle Japanなどを経て、2023年より現職。趣味では大学時代から2Dゲームエンジン開発に注力し、Google時代の2013年にEbitengineに着手し始める。2015年にVer1.0をリリース。カクヨムで「オレオ」と3文字だけ書かれた小説を手がけ、週間総合ランキング1位を獲得したことがある。 X GitHub Ebitengine公式サイト Odencat

      趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア 己の欲求に従い続けた「Ebitengine」開発者に迫る レバテックラボ(レバテックLAB)
    • awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店

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

        awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店
      • Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ

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

          Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ
        • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

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

            Go1.21から導入された Go Toolchainの仕組みをまるっと解説
          • 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
            • GitHub Actions 上での Go の Docker ビルドを高速化する

              どうも GitHub Actions 上で Docker ビルドを行うと時間がかかるなぁと感じていました。 かなり軽量の Go の Web アプリケーションを Docker イメージにしてプッシュするプロセスなのですが、全体で 3 分ほどかかっています。 今回はその速度改善を行ったので、得た知見を記事にしたいと思います。 最終的に、ケース次第では以下のような結果を出すことができました。 ※ケース = go のソースコードのほんの一部を変更してワークフローを実行する。 go.mod など依存関係に変化はない。 go build: 60秒 → 1秒 docker/build-push-action ステップ: 2分30秒 → 30秒 ワークフロー: 3分 → 1分 前提 go build は Dockerfile のステップで行っており、イメージとして以下のような内容になっています。 FROM

                GitHub Actions 上での Go の Docker ビルドを高速化する
              • メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング

                こんにちは。メルカリ ハロのSoftware Engineer (Engineering Head)の@napoliです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の2回目を担当させていただきます。 2024年3月上旬にメルカリ ハロという新しいサービスが公開されました。メルカリ ハロは好きな時間に最短1時間から働ける「空き時間おしごとアプリ」です。 この記事ではメルカリ ハロを作るにあたり、どういった技術スタックやアーキテクチャを選定したのか、さらにその背景と意思決定をご紹介したいと思います。 この記事で得られること メルカリ ハロで採用されている技術スタックやアーキテクチャの全体像 その意思決定の理由とプロセス これから新規サービスを立ち上げるうえでのヒント 主な技術スタック メルカリ ハロで利用されている主な技術スタックは以下のとおりです。 バッ

                  メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング
                • 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で書き直してわかったこと - MonotaRO Tech Blog

                    この記事では モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog のうち、主にアーキテクチャにおける詳細について紹介します。 自己紹介 マイクロサービス化について 課題を認識する スコープと技術選定 ゴールイメージを共有する 既存コードから分かった問題点 曖昧なデータ構造 処理フローの混在 アドホックなデータ取得 効果的な改善を行う 処理フローを分割する N+1問題とロジックの独立性を考慮した設計 安全に移行する 実行時のデータを取る 新旧比較による検証 まとめ 自己紹介 藤本 洋一 プラットフォームエンジニアリング部門 CTO-Officeグループ AVLチーム 楽天、SaaSベンチャーを経て、モノタロウに入社してマイクロサービス化にとりくむエンジニアの話 2019年5月入社。商品検索基盤のマイクロサービスと

                      マイクロサービス化するならリビルドで!ビジネスロジックをGoで書き直してわかったこと - MonotaRO Tech Blog
                    • Table-driven testing に縛られないGoのテストパターン

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

                        Table-driven testing に縛られないGoのテストパターン
                      • Goの標準のutf8.RuneStart関数がエレガントすぎる

                        先日以下の記事を書きました。 ここでUTF-8の最初の文字かどうかの判定を以下の自作した関数で実装していました。 const ( t1 = 0b00000000 tx = 0b10000000 t2 = 0b00000110 t3 = 0b00001110 t4 = 0b00011110 ) func isUTF8LeadByte(tmp byte) bool { if tmp&tx == t1 { return true } tmp >>= 3 if tmp == t4 { return true } tmp >>= 1 if tmp == t3 { return true } tmp >>= 1 if tmp == t2 { return true } return false }

                          Goの標準のutf8.RuneStart関数がエレガントすぎる
                        • IIJ、Markdown形式の文章を手軽にプレビューできる「cats_pr_dogs」を無償公開

                            IIJ、Markdown形式の文章を手軽にプレビューできる「cats_pr_dogs」を無償公開
                          • Next.jsとGoを使っていきます - トレタ開発者ブログ

                            こんにちは、VPoEの北川です。 今回はトレタで現在使用している技術スタックについて紹介します。 創業時から稼働している予約・顧客台帳サービス「トレタ」から現在の注力事業のモバイルオーダーサービス「トレタO/X」までをあらためて振り返ってみると、まるで異なる技術スタックになっているので歴史的な背景などを辿りながら紹介していきます。 技術スタックの変遷 予約・顧客台帳「トレタ」 会社名にもなっている予約・顧客台帳の「トレタ」は創業当時から稼働している築11年ほどのシステムです。 サーバーサイドにはRubyとRubyOnRailsで作られた巨大なコードベースのAPIサーバーがあり、予約台帳のiOSアプリやウェブ予約などのWebアプリケーションなどが利用しています。 長年このモノリシックなシステムを成長させてきたので、以前からトレタを知ってくださっている人にはトレタはRubyの会社と認知されてい

                              Next.jsとGoを使っていきます - トレタ開発者ブログ
                            • Cleanup handling in Go / Go Conference 2024

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

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

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

                                  GoのLanguage Server Protocol実装、 「gopls」の自動補完の仕組みを学ぶ
                                • 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
                                  • 詳解 "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へコントリビュートした話
                                    • 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
                                        • GitHub - 0x2E/fusion: A lightweight, self-hosted friendly RSS aggregator and reader

                                          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 - 0x2E/fusion: A lightweight, self-hosted friendly RSS aggregator and reader
                                          • 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 - 私が歌川です
                                            • Don’t return err in Go — akavel's digital garden

                                              Instead, add missing details relevant for debugging. Some people like to complain that Go requires writing tons of “if err != nil { return err }” blocks. Those people don’t understand Go errors. The thing is, what they complain about is actually a completely wrong way of handling errors in Go: return err is an antipattern. Let me show what I mean on some sample code: a helper library for configuri

                                              • Goのライブラリのバグを見つけてから直すまで layerx.go#0

                                                layerx.go #0 概要 LayerXでは、バクラク事業部で開発・運用しているバクラクをはじめ、ほか事業部が開発しているほとんどのサービスでGo言語を利用しています。また、2023年の夏頃からは「Go 読書会」を社内の有志にて開催しており、組織横断的にGoの知見を交換しています。 本イベント「layerx.go」では、LayerXのGo言語の"実践的な"活用事例を共有するだけでなく、社外の方からの知見も積極的に取り入れる場として位置付けています。LayerXの行動指針"Bet Technology"と"徳"の観点から、本イベントを継続的に開催することでGo言語の裾野を広げていきたいと考えています。 初回のテーマは「Goの情報収集や知見の共有活動 / Goのプロダクトコードのキャッチアップ」です! https://layerx.connpass.com/event/317228/

                                                  Goのライブラリのバグを見つけてから直すまで layerx.go#0
                                                1