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
こんにちは。技術部技術基盤チームの@k1LoWです。 久しぶりにオンラインで画面越しに会話した弟からLightning Boltというバンドを教えてもらい、うろたえながらもなかなかにハマっています(Apple独自規格のアレではありません)。音源よりも、まずは是非ライブ動画を観てほしいです。 今回は、複数のAPIエンドポイントをまたぐテストを go test で実行するための仕組みについて紹介します。 複数のAPIエンドポイントをまたぐテストを書きたい 現在私はGo言語によるAPIサーバーの開発に参加しています。HTTPでリクエストを受け、データの永続化にはリレーショナルデータベースを使う、よくあるAPIサーバーです。 APIエンドポイントの設計にはOpenAPI Specification v3とそのエコシステムを使用しており、openapi-generator でサーバーとクライアントの
Admin message The 17.0 major release is coming on May 16, 2024! This version brings many exciting improvements to GitLab, but also removes some deprecated features. We are introducing three breaking change windows during which we expect breaking changes to be deployed to GitLab.com. You can read more about it on our blogpost. The first breaking change window begins 2024-04-22 09:00UTC and ends 202
I’m porting the TypeScript Type Checker tsc to Go, and not Rust. As the creator of SWC, an extensible Rust platform, this might sound strange. Let me explain. Why port tsc?# As TypeScript continues to rise in adoption, large projects are facing a dilemma: type checking is one of the slowest parts of their workflow. Developers want type safety without the tradeoff of slower iteration cycles. The Ty
こんにちは, メディア開発部の今村です. この記事はGunosy Advent Calendar 2021の23日目の記事です. 昨日の記事は洪さんの「Swift Concurrencyの気になるところ」でした. グノシーの社内管理画面用APIはGo + GraphQLで作っており, ライブラリはgqlgenを使っています. 開発開始からある程度経って使い方も固まってきたので, この記事ではgqlgenをどのように使っているかを紹介します. (主旨は事例紹介なのですが, 記事を書いていて「あまりメジャーな使い方じゃないしもっといい方法もあるな...」という気持ちになったのでこんなタイトルになっています. 詳しくは後半に書きました.) gqlgenの紹介 プロジェクトの構成 resolverとdomain serviceの依存関係 リクエスト次第で不要な処理を飛ばす 型変換にFOPを使う そ
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
本記事は「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 を開
はじめに こんにちは、Google Cloudでオブザーバビリティを担当しているものです。Cloud Operations suiteをよろしくおねがいします。(宣伝終わり) この記事はGo Advent Calendar 2021 その1の22日目の記事です。昨日は @sago35tk さんの「ESP32 向けに TinyGo をセットアップする」でした。TinyGoのコアな情報を日本語で教えてくれるtakasagoさんには本当にいつも感謝しています。 さて、今日はGo製のアプリケーションをdockerlessでコンテナ化できるkoの紹介をします。koは本当にイチオシのツールで、みんなに使ってもらいたいのでぜひ使ってください。 github.com DockerによるGo製アプリのコンテナ化 まず最もポピュラーと思われるDockerを用いた場合のGo製アプリケーションのコンテナ化の方法に
はじめに 「Goの正規表現は遅い」 そんなふうによく言われていました。(最近はあまり聞かなくなりましたが) たとえば、↓の記事ではPythonの正規表現と比較して1.5倍くらい遅いという結果になっています: この話には「Goの正規表現は最悪時間が短くなるように安定したアルゴリズムを採用しているから」という回答があります: ↑の記事の比較では、GoがPerlに対して約10倍以上高速という結果が出ているので、「Goの正規表現は遅くない!はい、論破ー!」というわけですね。 なんでこうなるのかも↑の記事で説明されているとおりですが、Perl(などのバックトラック型エンジン)が入力長に対して指数関数的に実行時間が伸びていくのに対し、Goの正規表現エンジンは入力長に対して線形時間で実行時間が伸びていくアルゴリズムを採用しているため、入力が長くなると急激にGoのほうが有利になるからです: 一方で、入力が
こんにちは、REALITY Advent Calendar 2021 2日目担当サーバエンジニアのゆーしです。開発合宿は1歳の愛娘と離れるのがつらいので、リモートでの参加となりました。 今回の合宿ではREALITYのコメントシステムをGoで書き直すことに挑戦しました。 REALITYのコメントシステムについて現在のREALITYのコメントシステムは、node.js + express + Redis Pub/Subを用いたWebSocketサーバとなっています。コメント以外にも、REALITYではWebSocketを使った仕組みが数多くあり、それらは全て同様の構成になっています。詳しくは以下の記事などをみてもらえればと! 一方で、REALITYのAPIサーバはGoで実装されているので、この機会にAPIサーバと同じアーキテクチャでコメントシステムを実現できないか試してみることにしました。
https://gocon.jp/2021autumn/sessions/io-fs-fs-testability-abstraction/ Go 1.16から追加されたio/fsパッケージが提供しているインターフェースについて、皆さんはどのような目的で活用していますか? 私は、主に2つの目的で活用しています。1つはテスト容易性(テスタビリティ)、もう1つはファイルシステムとしての抽象化です。 本発表では、具体的な事例を元に上記の2つの目的での使い方を紹介します。 また、fs.FSインターフェースを使ったことで失敗した事例も紹介したいと思います。 本発表を通じてio/fsのインターフェースの利用イメージを持ってもらえれば嬉しいです。
ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし本当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ
概要 Goでコマンドラインツールを作成する場合の選択肢としてspf13/cobraがあると思いますが、遂にv1.2.0 がリリースされました👏👏👏。大きな機能追加として completion が追加され、大枠の使い方とシェル補完の生成についてこのブログではやっていくメモ書きになってます。それ以上に言及しようと思ったのですが完全に体力不足でーす。 やっていく install CLIがあるので利用するさまざまな日本語での入門記事がcobra には存在するので詳しくはその辺を参照してください。ちなみに、公式ドキュメントが最高で公式ドキュメントに誤りがあればコントリビューションのチャンス。 $ go get -u github.com/spf13/cobra って思ったら雑な備忘録を自分も書いてましたが一切の参考にならん syu-m-5151.hatenablog.com init コマンド
IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Amper Edu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く