並び順

ブックマーク数

期間指定

  • から
  • まで

481 - 520 件 / 2563件

新着順 人気順

golangの検索結果481 - 520 件 / 2563件

  • Goで書いたツールの依存管理をdepからGo Modulesに移行した - $shibayu36->blog;

    昔作った notify-issues-to-slackの依存モジュールはdepのままで管理していたが、勉強がてらGo Modulesに移行することにした。 参考にした資料 Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm Go Modulesについてざっくり知ることができてよかった Modules · golang/go Wiki · GitHub ざっくり知った上でちゃんと理解するために公式ドキュメントを読む depからgo modulesへの移行と、移行時にTravis CI & GoReleaserでハマる(かもしれない)ポイント · horizoon 移行手順で参考にした Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ ツールも含めてgo.modに入れていく手順で参考にした やったこと

      Goで書いたツールの依存管理をdepからGo Modulesに移行した - $shibayu36->blog;
    • gocycloを使ってgo言語のプロダクトをシンプルに維持する|moli9ma

      1. 対象者 - go言語を使用している方 - 対象のプロダクトの可読性が悪いと感じている場合 2. 概要 ソフトウェアの品質を一定の水準に維持する方法には大きく、テストケースの網羅率を測定する方法とソフトウェアメトリクス(モジュールの依存度、ソースコードの行数、ネストの深さ、循環的複雑度.. etc)を測定する方法があります。今回は、これらソフトウェアメトリクスの内、循環的複雑度に着目してgo言語で実践する方法を紹介していきます。(go言語を取り扱いますが、概念自体は技術を制限するものでは無いので、他のプロダクトでも応用可能です。) 3. 循環的複雑度 循環的複雑度は、対象の関数やメソッドがどれだけ複雑さを持っているかを表す数値です。この循環的複雑度が高ければ高いほど、可読性が低く保守性が悪いコードである可能性が高くなります。 使用する技術によって、目安は変わってきますが、おおよそ20~

        gocycloを使ってgo言語のプロダクトをシンプルに維持する|moli9ma
      • Big Sky :: Go 言語で変数のシャドウイングを避けたいなら shadow を使おう。

        var hoge *Hoge if condition != nil { hoge, err := https://t.co/3dOQ15DCmc(ctx, hoge_key) if err != nil { return nil, err } fmt.Printf("%v", *hoge) } else { hoge = nil } こんな感じのコードで死んでたんですが、うっかりhogeがnil担っちゃうの防ぐにはどうしたら・・・(文字数 — chidakiyo (@chidakiyo) February 26, 2020 こういった場合に便利なのがオフィシャルが提供している解析コマンド shadow です。(相変わらずググらび...) インストールは以下を実行します。 $ go get golang.org/x/tools/go/analysis/passes/shadow/cmd/s

          Big Sky :: Go 言語で変数のシャドウイングを避けたいなら shadow を使おう。
        • skeletonで始めるGoの静的解析 | メルカリエンジニアリング

          はじめに メルペイのエキスパートチームの@tenntennです。Merpay Tech Openness Month 2022の4日目の記事です。本記事ではGoの静的解析ツールの開発を補助するskeletonというツールについて解説します。また、静的解析ツールの学習方法やGo Conferenceのメルカリブースで行うハンズオンについても触れます。 静的解析ツールとskeleton Goにおける静的解析 Goが開発された目的の1つに開発ツールの作りやすさがあります(参考1、参考2)。開発で使用するツールはソースコードを対象とした処理が必要になります。Goはソースコードを実行せずに解析する静的解析の機能を提供するgoパッケージが標準ライブラリとして用意されています。そのため、静的解析を用いたコードフォーマッタやLinterなどが作りやすい言語です。 標準ライブラリだけで構文解析をして抽象構文

            skeletonで始めるGoの静的解析 | メルカリエンジニアリング
          • minne の画像配信システムのリアーキテクトと作品画像の画質向上ついて - Pepabo Tech Portal

            minne 事業部のシニアエンジニアリングリードのshiro16です。最近は年末に組んだ PC でずっとエオルゼアを旅しています。 少し時間が経ってしまいましたが、昨年 minne では画像配信のシステムのアーキテクチャを刷新しました。 更にユーザが登録した作品画像を配信する際の画質の向上を行ったのでその内容をご紹介いたします。 画像配信システムのリアーキテクト そもそもリアーキテクトが必要になった経緯なのですが、以前の構成では okara と呼ばれる内製のツールが使われていました。okara に関しての詳細は弊社 yano3 が公開している資料を参考にして頂ければと思います。 長年 okara を使って来た訳なのですが yano3 が技術部から EC 事業部に異動した事により以前よりメンテナンスに時間を割けなくなってしまったという理由があり、okara のメンテナンスを事業部で行っていく

              minne の画像配信システムのリアーキテクトと作品画像の画質向上ついて - Pepabo Tech Portal
            • Google発のプログラミング言語「Go」の利用状況を調査した結果が公開中、どこでどのように使われているのか?

              2009年にGoogleで設計されたプログラミング言語「Go」の2019年における利用状況について、Googleのユーザーエクスペリエンス調査員であるトッド・クレッサ氏が調査を実施し、その結果を調査年ごとに比較して公開しています。 Go Developer Survey 2019 Results - The Go Blog https://blog.golang.org/survey2019-results 回答者が在籍する企業の従業員数の分布はこんな感じで、「100人から999人」の従業員が働いている企業が最多となっています。 回答者が仕事でプログラミング言語を使用している年数では、「3年から5年」と「6年から10年」という回答が同じくらい集まっています。これらの人口統計はStack Overflowでのアンケートと同じような傾向であり、調査結果の妥当性を保証しているとクレッサ氏は語って

                Google発のプログラミング言語「Go」の利用状況を調査した結果が公開中、どこでどのように使われているのか?
              • 日本語よみがなデータ取得を可能にする Gboard API のご紹介

                .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                  日本語よみがなデータ取得を可能にする Gboard API のご紹介
                • 初めてのGo言語

                  イディオマティックなGo言語の解説書。構文がシンプル、静的型付け、タイプセーフでメモリセーフ、バグが入り込みにくい、並行処理が得意、実行速度が速い……これらの魅力的な特徴を生かすためには、Go言語らしい書き方を可能にする「イディオム」を学ぶ必要があります。Go言語のイディオムをマスターすれば、効率的で読みやすいコードを書けます。本書では、Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説します。読者はベテランのGo開発者のように考える術を学べます。 関連ファイル サンプルコード 翻訳者による日本語版のサポートページ 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合

                    初めてのGo言語
                  • 非同期処理の基本とアクターモデルが解決する課題とは

                    はじめまして、マーベリック株式会社のリチャード 伊真岡です。この連載では非同期処理に役立つアクターモデルを学ぶため、JavaとScalaから使えるOSSであり、アクターモデルの実装を提供するAkkaを紹介します。連載の前半では非同期処理とActorの基礎的な部分を、後半では非同期処理から分散システムへと話を進めていきます。分散システムは現代のシステム構築において重要性を増しているので、Akkaが非同期処理のツールから始まって、どんな分散システムのアーキテクチャーのパターンを可能にしてくれるのかを紹介したいと思います。連載の第一回である今回は非同期処理の現状や歴史をおさらいし、そしてアクターモデルによって非同期処理の中でも、どういった問題が解決されるのかお話します。 非同期処理とは 現代のアプリケーション開発では非同期処理を扱う機会が数多くあるといえるでしょう。非同期処理[1]とは、処理を開

                      非同期処理の基本とアクターモデルが解決する課題とは
                    • メルカリ/メルペイを退職します - oinume journal

                      いわゆる退職エントリーというヤツです。表題の通りで、10月をもって4年3ヶ月勤めたメルカリ/メルペイを退職します。思い返せば、退職エントリーというものをブログに書くのは初めてです。少し緊張してます。 だれ? oinume です。Goが好きなBackend engineerです。 何をやっていたのか? 2016年5月に入社してからやってきたことを書き出すと以下のような感じです。メルカリ→ソウゾウ→メルペイと、気付いたらチームごと会社を異動しており、様々なプロジェクトに携わりました。一つの会社の中でこれだけたくさんのことをやったのは初めてで、様々な経験を積ませてもらい、とても刺激的でした。 ID Platform Teamでメルカリや周辺サービスのアカウントの統合 @メルカリ この記事でID Platform Teamについて詳しく説明されている メルカリ月イチ払い(現メルペイスマート払い)の

                        メルカリ/メルペイを退職します - oinume journal
                      • async/awaitは今後もベストフレンドであり続けるか - hadashiA

                        えーあーー みなさん聞こえますでしょうか。この記事はC# アドベントカレンダー17日めのために書かれました。 いくつかみかけた、async/await と java loom/goroutine的なものを比較する議論に興味があり、少し追ってみた感想です。実装まで深く調べられてません。 TL;DR Green Thread Experiment Results #2398 .NET の runtimelabにて、async/awaitの代替としてのグリーンスレッドを検証した結果が公開されていたが、今後も async/await でいくという結論になっている。 JVM (Java) は対象的に、コードの書き方をなにも変えなくてもランタイムが自動的にI/Oを非同期にしてくれる夢のVirtual Thread を導入した。 Rust界隈では「Why async/await ? why? why?

                          async/awaitは今後もベストフレンドであり続けるか - hadashiA
                        • Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記

                          Golangで作ったプロダクトを公開・配布するとき、課題となるのが利用するモジュールのライセンスです。 MITライセンスであれ、MPLライセンスであれ、利用するモジュールのLICENSEやNOTICEファイルを同梱することになるでしょう。 goxzとgo-licensesを使うと、クロスビルドした実行バイナリと利用モジュールのLICENSE等を含め頒布物を作成できるようになります。 最終イメージ 同梱されていることの確認 go-licenses ハマりポイント goxz まとめ 最終イメージ 最終イメージですが、以下のようなMakefileを用意しました。 プロダクトに設定したライセンスで利用できないモジュールがあるかどうかをlicense-checkで確認した後、cross-build.shを呼び出します。 .PHONY: license-check license-check: go-

                            Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記
                          • ソフトウェアエンジニアとして求職活動中です - valid,invalid

                            ※ (2020-07-12 追記) 2020年6~7月の求職活動に伴う募集は終了しました。 令和2年6月1日より、ソフトウェアエンジニアとして"求職活動"を開始します。職務経歴書 (CV) を以下のページで公開していますので詳細はそちらをご覧いただければと思います*1。興味をお持ちいただけた方はCVに記載のメールアドレスにご連絡いただけると嬉しいです*2。 ohbarye.github.io ※英語版はこちらです: https://ohbarye.github.io/en/cv/ *3 ※ (2020-06-03 追記) メールでの返信には~3日を要しています。Twitter DMは本記事公開以前から無法地帯となってしまっているため確認しておりません。 ※ (2020-06-12 追記) 2020-06-12 21:00 JST 時点までに送られたメールについて、すべて一次回答はさせていた

                              ソフトウェアエンジニアとして求職活動中です - valid,invalid
                            • tcコマンドとDockerコンテナを用いて遅いネットワークをシミュレートする - kkty’s blog

                              「手元で、できるだけ実際の環境に近い環境でプログラムの挙動を確認したい」ということがあるかと思います。そこで今回は、遅い(レイテンシの高い)ネットワークをDockerコンテナを用いてシミュレートする具体的な方法を紹介します。 準備 以下のファイルを作成していきます。 docker-compose.yml client/Dockerfile server/Dockerfile server/main.go docker-compose.yml ネットワーク周りをいじるため、cap_addでNET_ADMINを指定する必要があります。 version: "3.0" services: client: container_name: client build: ./client tty: true cap_add: - NET_ADMIN server: container_name: serv

                                tcコマンドとDockerコンテナを用いて遅いネットワークをシミュレートする - kkty’s blog
                              • Golang IO Cookbook

                                In the last couple of days I made a program called Horcrux which allows you to split a file into any number of horcruxes, a subset of which can then be recombined to resurrect the original file. In the process I learnt a lot about the io.Reader and io.Writer interface, and thought I would do a writeup to help build intuition for all the people out there who inevitably will find themselves using th

                                  Golang IO Cookbook
                                • Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ

                                  はじめにGo1.22リリース連載 の5本目です。 本記事ではGoの標準ライブラリである net/http の ServeMux におけるルーティング周りの強化について取り上げます。 関連する Release Note と Issue はこちらを参照してください。 https://tip.golang.org/doc/go1.22#enhanced_routing_patterns https://github.com/golang/go/issues/61410 変更点HTTPメソッドの指定が可能にServeMux.Handle や ServeMux.HandleFunc を使用してハンドラを登録する際に GET /xxx のようにHTTPメソッド指定して、ハンドラを呼び分けることができるようになりました。 mux := http.NewServeMux() // GETを指定したハンドラ

                                    Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ
                                  • Zig探訪 - comptime編

                                    イントロ さあ、やって参りました。 第1回Zig探訪のお時間です。 今回担当するのは、Zigを使い始めて早くも半年・永遠のニートことsmallkirbyです。 Zig探訪では、Zigの機能や特徴の中で面白いんじゃないかと思うものをピックアップして紹介していきます。 紹介しないこともあります。 第1回のテーマは、Zigの中でも特に重要なコンセプトであるcomptimeについてです。 Zigとは - Everything is Explicit Zigについておさらい 第1回ということで、最初に軽くZigについておさらいしておきましょう。 Zigは、2016年に開発が始まったコンパイル型汎用プログラミング言語です。 Rustが2015年に1.0リリースされた翌年に開発がスタートしたんですね。 最新のリリースはv0.12.0であり、大体1年くらいでマイナーアップデートされるようです。 まだ1.0

                                      Zig探訪 - comptime編
                                    • `*sql.DB` を観察する #golang | Wantedly Engineer Blog

                                      Photo by Abo Ngalonkulu on UnsplashPeople tribe / Backend squad の @izumin5210 です。もう12月ですね。自分は Advent Calendar に登録しすぎて後悔するのが得意です。 この記事は Go3 Advent Calendar 2019 の4日目です。 TL;DRSQL のメトリクス・トレースを収集したいは driver.Driver をラップするのが常套手段コネクション取得までの待ち時間まで見たい場合は、DBStats を見るのがよさそうことの発端Wantedly では Application Performance Monitoring に New Relic を利用しています。New Relic APM には様々な機能が存在しますが、例えばエンドポイントごとに「どの処理でどれくらいの時間がかかっているか

                                        `*sql.DB` を観察する #golang | Wantedly Engineer Blog
                                      • インフラが苦手な人の個人開発(ECS、terraform) - Qiita

                                        はじめに 本記事は 個人開発 Advent Calendar 2019 25日目の記事です。 最近connpassに掲載されている勉強会を地図を見ながら検索できるようなサイトを作りました。 (もともと同僚が勉強会でこんな感じのアプリを作っておりそれに触発された) https://connpass.net/ 使った技術としては フロント: typescript、react、redux、circleci、cloudfront、s3、terraform バックエンド: go、gin、docker、nginx、circleci、ecs、terraform な感じです。 仕事ではあまりインフラまわりを触ることがなく、CI/CD環境の知見があまりないが、それっぽいものを自分で作ってみようとしました。 フロント アプリケーション アプリケーションの土台はcreate-react-appを使いtypesc

                                          インフラが苦手な人の個人開発(ECS、terraform) - Qiita
                                        • さらに高速なウェブへの移行に向けて

                                          .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                            さらに高速なウェブへの移行に向けて
                                          • Go格言集に込められた詩情とダブルミーニング|TechRacho by BPS株式会社

                                            Go言語には、かなり初期から「Go Proverbs」と呼ばれるGoの格言集があります。 Go Proverbs 同サイトに記載されている格言は、2015年のRob Pikeの講演動画にもリンクされています。 日本語訳はいくらでもネットに落ちているので探せばすぐに見つかるでしょう。 銀座Rails#38の発表「TechRacho翻訳記事の裏舞台」の中でこのGo Proverbsについて少し触れたのですが、惜しくも途中で時間切れとなってしまったのでここで供養したいと思います。 【銀座Rails#38発表紹介】 @hachi8833 さんより「TechRacho翻訳記事の裏舞台」 Ruby/Railsの技術記事・海外の記事翻訳を継続的に公開されているTechRachoの担当者から、翻訳記事の舞台裏について発表頂きます(5/8) #ginzarails https://t.co/aaDkwbVS

                                              Go格言集に込められた詩情とダブルミーニング|TechRacho by BPS株式会社
                                            • ミラティブでインフラストリーミングチームにインターンとして参加してカルチャーショックを受けた話 - Mirrativ Tech Blog

                                              紳士淑女、エンジニア、あるいはそれを志す皆様おはようございます。かさいさん @streamwest1629 です。 今この記事を書き始めたのは午後3時。普段、私が個人的な趣味で書く記事だと、冒頭は 「依存関係逆転則含む諸原則に苦しめられた方々,いかがお過ごしでしょうか」 であるとか、「Gopherの皆様、いかがお過ごしでしょうか」 であるとか、ある程度対象読者層を絞った文言で始めています。しかし、この記事の読者層をどの程度絞って書いたものかと少し悩みながら上記冒頭文を選びました。 さて、タイトルにある通り私はこの夏に1ヶ月半という短い期間ではあるのですが、ミラティブのインフラストリーミングチームにてインターンをさせていただきました。 自分の技術力にはある程度自信があったので、心理的に余裕を持った状態でミラティブのインターンに参加しました。 しかし、実際にミラティブのインターンとして参加しイ

                                                ミラティブでインフラストリーミングチームにインターンとして参加してカルチャーショックを受けた話 - Mirrativ Tech Blog
                                              • 以前の TLS バージョンのサポート終了に伴う Chrome UI の変更点

                                                .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                  以前の TLS バージョンのサポート終了に伴う Chrome UI の変更点
                                                • Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ

                                                  Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ Googleが中心となってオープンソースで開発されているGo言語の次期バージョン「Go 1.21」では、WebAssembly System Interface(WASI)が実験的にサポートされることが明らかになりました。 これによりGo言語で簡単にファイルアクセスなどOSの主要なAPIを呼び出しつつ、特定のOSに依存しないポータブルな実装のWebAssemblyアプリケーション開発の実現が期待されます。 Go 1.21 Release Candidate 3 is released! Run it in dev! Run it in prod! File bugs! https://t.co/Ul1xGhvlkf Announcement: https://t.co/5Ncs1od

                                                    Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ
                                                  • A Guide to the Go Garbage Collector - The Go Programming Language

                                                    Introduction This guide is intended to aid advanced Go users in better understanding their application costs by providing insights into the Go garbage collector. It also provides guidance on how Go users may use these insights to improve their applications' resource utilization. It does not assume any knowledge of garbage collection, but does assume familiarity with the Go programming language. Th

                                                      A Guide to the Go Garbage Collector - The Go Programming Language
                                                    • How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber)

                                                      How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber) Introduction As part of Uber engineering’s wide efforts to reach profitability, recently our team was focused on reducing cost of compute capacity by improving efficiency. Some of the most impactful work was around GOGC optimization. In this blog we want to share our experience with a highly

                                                        How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber)
                                                      • なぜ僕たちはサーバレスでJavaを諦めTypescriptを採用したか - Qiita

                                                        この記事は個人ブログのうち技術に関する箇所のみを抜粋した転載です。 なぜ僕たちはサーバレスでJavaを諦めTypescriptを採用したか -Junks, GC cannot sweep- またブログには書いたのですが、諸事情により先に英語版が存在します。 こちらも書いたのは僕なので、剽窃などではないことはご了承ください。 [元記事]: Why we replaced Java with Typescript for Serverless in dev.to はじめに サーバレス(serverless)は昨今もっとも注目を集める設計手法の一つで、おそらく多くの開発者が大なり小なり自分のプロダクトに応用し始めているのではないでしょうか? 僕自身、完全にサーバレスに魅せられてしまい、昔ながらの自分でサーバやミドルウェアを管理しながら運用するみたいな世界には戻れる気がしません。 そもそもスケーリ

                                                          なぜ僕たちはサーバレスでJavaを諦めTypescriptを採用したか - Qiita
                                                        • 【インターンレポート】KubernetesのOperator Patternを用いた効率的なHypervisorの更新システムの構築

                                                          LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog 概要 LINEのインフラは50,000台以上の物理マシンによって構築され、インフラエンジニアはそれらマシンの能力を最大限発揮すべく日々開発を行っています。LINEの各種サービスを支えるプライベートクラウドのVerdaも同様に規模を拡大しています。規模の拡大に伴って、規模に応じたオペレーションの問題が出てきました。その問題の一つとして、既存の管理システムによるデプロイは4時間を超えるオペレーションになりました。 この問題を解決するために、今回の技術職 就業型コースのインターンシップで、私は効率的なVerdaのHypervisoの更新システムを構築しました。その設計にはKubernetesのOperator Patternを採用し

                                                            【インターンレポート】KubernetesのOperator Patternを用いた効率的なHypervisorの更新システムの構築
                                                          • 個人開発のWebサービス構成(2021年)

                                                            / kyokomi note / blog個人開発のWebサービス構成(2021年)January 10, 2021 [Go | Web | 個人開発]※2021/1/5時点の構成次回変更時に振り返ることができるようにしておきたいと思ったので、変更点をまとめておくことにした。 Next.jsを使うようになった流行りの?Client側とSSRでハイブリットな感じにした。SPA特有の面倒くささがなくなったの一番の感動。 もともとは React + Redux-Toolkit でSPAして、FirebaseFunction でogp対応的な感じだった。 モチベーションAPIサーバー(Go)も自分で書くため、swaggerを元に生成したtypeをReduxのStoreとして再定義して管理みたいな感じになっており、面倒だな〜と思いつつやってたが、静的なページは getStaticProps や ge

                                                              個人開発のWebサービス構成(2021年)
                                                            • Migrating to Go Modules - The Go Programming Language

                                                              Jean de Klerk 21 August 2019 Introduction This post is part 2 in a series. Part 1 — Using Go Modules Part 2 — Migrating To Go Modules (this post) Part 3 — Publishing Go Modules Part 4 — Go Modules: v2 and Beyond Part 5 — Keeping Your Modules Compatible Note: For documentation, see Managing dependencies and Developing and publishing modules. Go projects use a wide variety of dependency management s

                                                                Migrating to Go Modules - The Go Programming Language
                                                              • isucon9q_bench.md

                                                                isucon9q_bench.md ISUCONのベンチマーカーとGo catatsuy メルカリSRE mercari.go #11 - connpass https://mercari.connpass.com/event/148913/ ISUCONとは http://isucon.net お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル 競技者は与えられたWebアプリケーションを高速化する 複数の言語による実装(ISUCON9予選ではGo/Perl/PHP/Ruby/Node.js/Python)を運営側が用意する ベンチマークを実行するとアプリケーションに対して仕様確認・負荷走行をしてスコアが出力される 私とISUCON ISUCON4:2位(初出場) ISUCON5:8位 ISUCON6:運営(本選) ISUCON7:予選敗退 I

                                                                  isucon9q_bench.md
                                                                • Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する|Dentsu Digital Tech Blog

                                                                  Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する 電通デジタルでバックエンド開発をしている齋藤です。弊社では社内/グループ会社向けのデジタル広告運用実績の管理システムのバックエンドAPIにgRPCを利用しています。 そこに、今年(2020年)の3月2日にGo公式のブログでGo Protocol Buffer Message API V2 の発表があり、4月13日にgolang/protobuf に Message API V2 対応版の v1.4.0 が正式リリースされました。これにより Go でも Reflectionが使えるようになりました。ブログ中で紹介されている、FieldOptionsを読み取ってフィールドをクリアする条件に使うなどより

                                                                    Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する|Dentsu Digital Tech Blog
                                                                  • Goの開発環境にAWS Cloud9をつこうてみる | DevelopersIO

                                                                    どうも、moriです。 AWS SDK for Goを使う開発で開発環境 (IDE)としてAWS Cloud9を使ってみたので、作成方法と実際にコードを書いてデバッグ実行するところまでを紹介したいと思います。 AWS Cloud9概要 ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。 コードエディタ デバッガー ターミナル が内包されており、多くの言語ツールがサポートされています。サポートされているブラウザは、Google Chrome、Safari、Firefox、Microsoft Edge の最新バージョンです。 大きな特徴として、以下が挙げられます。 ペアプログラミングサポートをサポートしている 開発環境をチームと共有し、ペアプログラミングを一緒に行うことができます。 リアルタイムで確認できるので、拠点の離れたメンバーともやりやすいか

                                                                      Goの開発環境にAWS Cloud9をつこうてみる | DevelopersIO
                                                                    • 【Golang】で【Amazon API Gateway Lambda オーソライザー】と【FirebaseAuth】を利用しての認証をやってみた - カミナシ エンジニアブログ

                                                                      初めに 初めまして。2021年3月より株式会社カミナシにジョインすることとなりました、エンジニアの@Takuと申します。 業務とは直接関係ないのですが、API Gateway Lambda オーソライザーとFirebaseAuthを組み合わせた認証をやってみたので記載させていただきます。 概要 以下のチュートリアルを元に Amazon API Gateway Lambda オーソライザーを利用した認証機能を作成しました。 docs.aws.amazon.com Amazon API Gateway Lambda オーソライザーを利用することで、 認証・認可部分をAPI Gateway側で共通化できるため、 マイクロサービス化(認証・認可と業務の責務分け) サービスを提供するサーバーの負荷軽減 などのメリットが見込めるのではと考えております。 その際チュートリアルから変更した点として、 OA

                                                                        【Golang】で【Amazon API Gateway Lambda オーソライザー】と【FirebaseAuth】を利用しての認証をやってみた - カミナシ エンジニアブログ
                                                                      • sqlcを新規サービスに採用してみた!

                                                                        golang.tokyo #35 〜カンファレンス 後夜祭!〜 LT会登壇資料 https://golangtokyo.connpass.com/event/317973/

                                                                          sqlcを新規サービスに採用してみた!
                                                                        • サーバーサイド未経験の大学生が4日でGolang×CleanArchitectureのAPIを構築した話 - Qiita

                                                                          【追記:2019/9/17】 記事で誤りがあった部分を修正いたしました。 またサンプルも正しいものに修正しておりますので、是非ご確認ください。 【追記:2019/9/10】 コメントでもご指摘を頂いておりますが、一部誤った内容が含まれております。 すぐに修正に取り掛かりますが、内容の修正まで今しばらくお待ち頂けますようお願いいたします。🙇‍♂️ また、今回多くの方に誤った内容をお伝えしてしまったこと、深くお詫び致します。 (多くのいいねを頂いており、ストックに登録して頂いている方もいらっしゃると思いますので、非公開にせず修正又は内容の削除で対応致します。) 先日インターンでソシャゲ用のAPIを作った時に、サーバーサイド未経験ながらGolang&クリーンアーキテクチャ(的な)のAPIを構築しました。 特にインターンで用意されていた内容というわけではなく、個人の課題としてクリーンアーキテクチ

                                                                            サーバーサイド未経験の大学生が4日でGolang×CleanArchitectureのAPIを構築した話 - Qiita
                                                                          • 帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog

                                                                            帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入 電通デジタルでバックエンド開発をしている齋藤です。 今回は Protocol Buffers v3.12 のリリースで追加された Field presence 機能について調べたことをご紹介します。 前提:v3.12 以前の Protocol Buffers v3 における optional な値の扱いProtocol Buffers v3 (proto3) では v2 (proto2) にはあった optional ながなくなり、optional を扱うにはひと工夫必要でした。加えて、Message の Filed に値を入れなかった場合は、Fieldの型のディフォルト値が送られてきたとみなす仕様になっています(各型のディフォルト値はこちら)。 そのため、開発者は

                                                                              帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog
                                                                            • オープンソース脆弱性管理ツールyamoryを使ってみた!

                                                                              オープンソース脆弱性管理ツールyamoryを使ってみた!投稿者: adachin 投稿日: 2019/09/012019/09/01 ビズリーチさんがセキュリティ事業を始めたということで、新サービスである、オープンソース脆弱性管理ツール「yamory(ヤモリー)」がリリースされました。実際に3年前くらいにRuby/Railsで作った掲示板アプリ(メンテしてない)にどのくらい脆弱性があるのか、Vuls推進している私にとってセキュリティツールは興味があるので試してみましたが、これは笑えないレベル….というわけで簡単にブログします。 ■オープンソース脆弱性管理ツール「yamory」とは https://www.bizreach.co.jp/pressroom/pressrelease/2019/0827.html https://yamory.io/ GitHubで連携して、利用している開発言語

                                                                                オープンソース脆弱性管理ツールyamoryを使ってみた!
                                                                              • Apple Silicon MacのCPU E-/P-CoreやGPU、ANE、メモリ使用率、消費電力などを確認できるGo言語で書かれたターミナルベースのモニタリングツール「mactop」がリリース。

                                                                                Apple Silicon MacのCPU E-/P-Coreや、GPU、消費電力などを確認できるターミナルベースのモニタリングツール「mactop」がリリースされています。詳細は以下から。 Apple Silicon Macでベンチマークや負荷の高いアプリを実行する際、Apple SiliconのCPUやGPU、ANE(Apple Neural Engine)、メモリ使用率、消費電力などを確認したいときがありますが、その用際に便利なターミナルベースのモニタリングツール「mactop」がリリースされています。 mactop is a terminal-based monitoring tool “top” designed to display real-time metrics for Apple Silicon chips. It provides a simple and effic

                                                                                  Apple Silicon MacのCPU E-/P-CoreやGPU、ANE、メモリ使用率、消費電力などを確認できるGo言語で書かれたターミナルベースのモニタリングツール「mactop」がリリース。
                                                                                • その後のgolangと(Dockerと)OOM — KaoriYa

                                                                                  前の記事:golangとDockerとOOM を書いた後で Go側の事情に変化があったため、 あの記事に書かれた方法は現実的な選択肢ではなくなってしまいました。 この記事では私が使っているGo 1.14以降でのOOM対策と、 どうしてそうせざるを得なかったのか解説をお届けします。 TL;DR Goの64ビット版はVSZの最小要求量が大幅に拡大した (500MB超) 前の記事で紹介した方法が現実的ではなくなった VSZの制限をRSSに転用する=最低でも500MBのRSSを設定することになる 代わりに自プロセスのRSSを監視して閾値を超えたらアポトーシスするようにした RSS取得用のkoron-go/phymemパッケージを作成した Background あの記事を書いた翌月末にGo 1.14がリリースされました。 その変更点の中に以下の記述があります。 The page allocator