並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

golangの検索結果1 - 18 件 / 18件

  • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

    module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

      Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
    • 資料公開:「Golangを使ったバックエンドの実装入門」で DevelopersIO 2024に登壇しました #devio2024 | DevelopersIO

      ども、もこ(札幌オフィス)です。 本日開催のClassmethod Odyssey (DevelopersIO 2024) で登壇いたしましたので、資料とソースコードを公開します。 資料 ソースコード DEMOでお見せしたコードは下記にて公開しております。 https://github.com/mokocm/go-task-backend 所感 gRPC、なんとなく難易度が高そうなイメージがありますが、Protocol Bufferとの親和性も高く、非常に洗礼されたエコシステムとなっているため、是非これきっかけで興味を持っていただけると幸いです!

        資料公開:「Golangを使ったバックエンドの実装入門」で DevelopersIO 2024に登壇しました #devio2024 | DevelopersIO
      • Golang開発者のためのクリーンアーキテクチャ

        はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基本概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基本概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

          Golang開発者のためのクリーンアーキテクチャ
        • goのエラーをスタックトレースも含めて構造化ログで残したい - エムスリーテックブログ

          こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 golangでずっと課題に思っていたエラーの処理について試行錯誤してみました。 イオンモール センソックシティは、カンボジアにある商業施設。本文には関係ありません。 エラー処理のベストプラクティスは? ぼくがかんがえるエラー処理の要件 検討したパッケージ 構造化ログ パッケージの検討 pkg/errors cockroachdb/errors goark/errs go-errors/errors go-errors/errors がよさそう? pkg/errors や cockroachdb/errors は使えないのか ラップして使う errors.WithStack(err) と呼びたい slogで使う errors.Join() に対応したい まとめ We are hiring! エラー処理のベス

            goのエラーをスタックトレースも含めて構造化ログで残したい - エムスリーテックブログ
          • Google、オープンソースのメンテナの負担をAIなどで軽減する「Project Oscar」を発表

            Googleは、オープンソースのプロジェクトにおいてメンテナが行っているさまざまな作業を、生成AIなどによる支援で軽減する「Project Oscar」を、インドのバンガロールで行われたイベント「Google I/O Connect Bengaluru 2024」で発表しました。 オープンソースプロジェクトには、Issueやプルリクエストやフォーラムでの質問などがコントリビュータから寄せられるため、メンテナはこれらに目を通して、不足している情報があれば指摘し、関連する情報があれば補足し、質問に返答するなど、コードを書く以外のさまざまな作業をしなくてはなりません。 プロジェクトが大きくなればなるほど、こうした作業の負荷は大きくなっていきます。 これらの作業を軽減し、コードを書くという最も楽しい作業に多くの時間をメンテナが割けるように支援するのが「Project Oscar」だと説明されていま

              Google、オープンソースのメンテナの負担をAIなどで軽減する「Project Oscar」を発表
            • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

              はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 本文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 本文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

                ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
              • 【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita

                はじめに こんにちは、ken です。お仕事では Go をよく書きます。 最近、Go の公式パッケージであるgolang.org/x/toolsを眺めていたら、なにやら有用そうなパッケージを見つけたので今回はそれについて書こうと思います。 それはegというリファクタリングツールです。 eg とは eg は、例ベースで Go コードをリファクタリングするためのツールです。このツールを使用することで、特定のコードパターンを別のコードに置き換えることができ、効率的にリファクタリングが行えます。 先ほど貼った公式ドキュメントに詳しい説明があるかと思いきや The eg command performs example-based refactoring. For documentation, run the command, or see Help in golang.org/x/tools/ref

                  【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita
                • Webアプリケーションにおけるレートリミット、サーキットブレーカー、リトライの役割を調べて実装してみた - RAKUS Developers Blog | ラクス エンジニアブログ

                  はじめに Webアプリケーションにおけるレートリミット、サーキットブレーカー、リトライの役割 リトライ サーキットブレーカー レートリミット レートリミット、サーキットブレーカー、リトライの実装 サンプルアプリケーションの実装 リトライ、サーキットブレーカー、レートリミットを追加 まとめ 年に1度の技術イベント「RAKUS Tech Conference」を開催します!! はじめに こんにちは!エンジニア2年目のTKDSです。 今回は、レートリミット・サーキットブレーカー・リトライについて調べた内容を紹介し、ライブラリを使ってGoで実装してみます。 Webアプリケーションにおけるレートリミット、サーキットブレーカー、リトライの役割 リトライ リクエストが失敗した場合に再試行します。 リトライは、一時的な障害に対して効果を発揮します。 ネットワークの瞬断やサービスの一時的な過負荷など、やり直

                    Webアプリケーションにおけるレートリミット、サーキットブレーカー、リトライの役割を調べて実装してみた - RAKUS Developers Blog | ラクス エンジニアブログ
                  • 自作protocプラグインで実現するスキーマベースの認可処理 - enechain Tech Blog

                    はじめに なぜprotobufに認可設定を組み込もうと思ったのか? 前提知識 protobufのプラグインの仕組み protocコマンドのインターフェース 実装 今回のお題 プラグインの開発 拡張プラグインの実行 生成したmapを使った認可処理 最後に はじめに こんにちは、enechainのApplication Platform Deskでエンジニアをしているendoです。 Application Platform Deskは、全プロダクトが横断で抱える課題を解決するチームです。 ※「開発者体験の向上を目指す」という意味ではPlatform Engineeringチームと近い位置づけですが、もう少しアプリケーション開発寄りの領域を担当しています。 私達のチームでは、protobufで自動生成したGolangコードを使ってAPI Endpoint毎にロール単位の認可処理ができる仕組みを構

                      自作protocプラグインで実現するスキーマベースの認可処理 - enechain Tech Blog
                    • gRPC Over HTTP/3

                      Introduction At the time of writing, HTTP/3 is supported by 30.4% of the top 10 million websites. This market penetration is astounding, but it seems like all of this progress has been possible almost exclusively by work on browsers, load balancers and CDN providers. What about the backend? How’s HTTP/3 doing there? The answer, sadly, is not as incredible. Because of this, I have been very interes

                        gRPC Over HTTP/3
                      • devio-2024-Introduction-golang-backend

                        "I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)

                          devio-2024-Introduction-golang-backend
                        • go-readabilityをwasmにしてCloudflare Workersで本文抽出する - *iroi*

                          先日Cloudflare Workersでウェブページの本文を抽出したくなったことがありました。本文抽出といえば、@mozilla/readabilityが使えそうです。しかし依存に含まれるnwsapiにはFunctionコンストラクタが多用されており*1、Cloudflare Workersでは動作しません。これを修正するのも大変そうです。 そこで、TinyGoを使用してgo-readabilityをwasmにコンパイルしてみることにしました。 TinyGo のドキュメントUsing WASM | TinyGo のままではCloudflare Workersでは動かなかったので、TinyGoに含まれるwasm_exec.jsを少し修正したり*2、 import側もwasmファイルをfetchしているのを変更したり*3すると無事動きました。 動作するコードは https://github.

                            go-readabilityをwasmにしてCloudflare Workersで本文抽出する - *iroi*
                          • GolangのDesignPatternをコード付きで簡単に紹介!

                            はじめに 今回この記事を書こうと思った背景として、とある技術記事でLoggerの実装方法について盛り上がってるものを見つけて、その部分の知見が弱い事を再認識させられた一件がありました。 また、一年弱ほど長期インターンでGo言語を沢山書いてきた中で、シンプルな文法で様々なDesignPatternを表現できるGo言語も面白さを皆さんに知っていただきたいなという想いも込めました。 それではGopher君の世界に踏み入れていきましょう。 Dependecy Injection Dependency Injection(DI)は、依存関係の逆転(Dependency Inversion)の原則を実現するためのデザインパターンです。DIを使用すると、高レベルのモジュールが低レベルのモジュールに直接依存するのではなく、抽象化を介して間接的に依存するようになります。これにより、モジュール間の結合度を低く

                              GolangのDesignPatternをコード付きで簡単に紹介!
                            • Go言語の学習 その9 (複数の戻り値を返す関数) - Cou氏の徒然日記

                              Go言語(Golang)では、複数の戻り値を返すことができるようです。 CとはJavaだと戻り値は1つなので、結構新鮮です。 [calc/devide.go] package calc func Divide(a int, b int) int { return a / b } func Reminder(a int, b int) int { return a % b } func Divide2(a int, b int) (int, int) { return a / b, a % b } Devide2関数を新たに定義して、商と余りの2つのint型の値を返すようにします。 戻り値が複数ある場合は、カッコで囲って、その中に型を羅列すればいいようです。 そして、return文でも、カンマ区切りで羅列すればOK。 (順番は当然意識しないといけないですが…) [main/main.go]

                                Go言語の学習 その9 (複数の戻り値を返す関数) - Cou氏の徒然日記
                              • 結局ユーザーパスワードはどう保存すればいいんだ?

                                はじめに ユーザーパスワードの管理は、システム開発において最も重要なセキュリティ課題の一つです。 OAuthやAWS Cognitoなどの認証サービスを利用することで、パスワードの管理を外部に任せることもできますが、 プロジェクトによっては自前でパスワードを管理する場合もあります。 では自分たちでパスワードを管理する際に、どのように暗号化すればいいのでしょうか? 万が一パスワードが漏洩した場合ちゃんと対応できるのでしょうか? 本記事では、ユーザパスワードいくつの暗号化手法及びそのリスクについて解説したいと思います。 前提知識 まず暗号化の三兄弟 - Encode, Hash, Encrypt の違いを理解しておきましょう。 Encode 単に文字列を別の形式に変換するだけ キーがなくても元に戻せる 例:Base64エンコード、URLエンコード Hash 一方向の変換 キーがないため元に戻せ

                                  結局ユーザーパスワードはどう保存すればいいんだ?
                                • Go言語の学習 その10 (エラーハンドリング) - Cou氏の徒然日記

                                  Go言語(Golang)では、複数の戻り値を返すことができるのですが、その代わり、Javaのような例外スローというものがないです。 といっても似たような機構はあり、Go言語では、エラーハンドリングの慣習としては、戻り値の最後に errorsパッケージで作ったエラーを返すというもの。 そして上位(呼び出し側)は、その戻り値をチェックするようです。 [calc/devide.go] package calc import "errors" func Divide2(a int, b int) (int, int, error) { if b == 0 { return 0, 0, errors.New("Do not divide by 0.") } return a / b, a % b, nil } 上記のように最後の戻り値として「error」オブジェクトを返すようにします。 その際、 エ

                                    Go言語の学習 その10 (エラーハンドリング) - Cou氏の徒然日記
                                  • research!rsc: Hash-Based Bisect Debugging in Compilers and Runtimes

                                    Setting the Stage Does this sound familar? You make a change to a library to optimize its performance or clean up technical debt or fix a bug, only to get a bug report: some very large, incomprehensibly opaque test is now failing. Or you add a new compiler optimization with a similar result. Now you have a major debugging job in an unfamiliar code base. What if I told you that a magic wand exists

                                    • Go 1.23リリース連載 range over funcとiterパッケージ | フューチャー技術ブログ

                                      はじめにこんにちは。CSIG 所属の棚井です。 Go 1.23 Release Notes の内容を紹介する「フューチャー技術ブログ Go 1.23 リリース連載」の記事です。 今回は2つの反復(Iterator、イテレーション)処理を取り上げます。 range over funciter パッケージRelease Note, Discussion, Proposal, Issuerange over func と iter パッケージ のリリース内容を確認していきます。 range over func がデフォルトで有効にGo1.22 では GOEXPERIMENT とされた range over func が、Go1.23 からはオプション指定なしで利用可能となりました。 Go 1.23 makes the (Go 1.22) “range-over-func” experiment

                                        Go 1.23リリース連載 range over funcとiterパッケージ | フューチャー技術ブログ
                                      1