並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 396件

新着順 人気順

goの検索結果321 - 360 件 / 396件

  • Big Sky :: Go に Fuzz testing が入った。

    みなさん Fuzz testing ってご存じでしょうか。 人間が作る物は必ずといっていいほどバグが存在します。そしてそのコードをテストする人間も必ずバグを見逃します。 想定していなかった境界値テスト等、人間には先入観という物があり、それが邪魔をして簡単にバグを見逃します。昨今、この様な誰も気付かなかったバグの隙間を突く様な脆弱性が沢山見つかっています。 物によっては重大インシデントに発展する物まであります。 こういった人間では想定できない様なバグを見付けてくれるのが Fuzz testing です。Fuzz testing を実施する事で、ソフトウェアは頑丈になり安全にもなりえます。 本日、Go の master ブランチに Fuzz testing の機能が入りました。 [dev.fuzz] Merge remote-tracking branch 'origin/dev.fuzz'

      Big Sky :: Go に Fuzz testing が入った。
    • Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持

      Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持 HashiCorpは、仮想環境をプログラミングできるツール「Vagrant」の開発言語を、これまでのRubyからGo言語切り替えることを明らかにしました。 Learn more about the new features, capabilities, and improvements we’re making on our journey toward Vagrant 3.0. https://t.co/49scP0FdqW — HashiCorp (@HashiCorp) June 11, 2021 時期未定ながら、今後約1年のあいだに登場するVagrant 2.3、Vagrant 2.4を経て、Vagrant 3.0でGo言語への移行が完了

        Vagrantが開発言語をRubyからGo言語へ切り替え、次のメジャーバージョンアップ「Vagrant 3.0」で。現バージョンとの互換性は維持
      • Goバイナリの脆弱性検知 - knqyf263's blog

        Trivyのv0.17.0をリリースしました。 github.com 長い道のりでしたが、ようやくこれでGoバイナリの脆弱性検知に対応できました。夜中0時ぐらいからリリース作業を初めて気付いたら朝5時でした。 概要 Go言語で書かれたプログラムをビルドすると依存しているモジュールがバイナリに含まれます。現代のソフトウェア開発において利用しているOSSのライブラリが0ということはまれなので、何かしらのOSSライブラリが作成されたバイナリに同梱されます。これらのOSSの古いバージョンには既知の脆弱性が含まれる可能性があります。これを手動で調べて追うのは手間なので最近では脆弱性スキャナを用いて検知するのが普通です。自分が開発したTrivyというOSSの脆弱性スキャナではコンテナイメージやファイルシステム上のGoバイナリに含まれるモジュールを特定し脆弱性を検知します。 Goのバイナリからどうやって

          Goバイナリの脆弱性検知 - knqyf263's blog
        • もっと log/slog を使おう

          はじめに この記事は Go アドベントカレンダー 2023 の最終日 25 日目の記事です。 皆さん log/slog 使ってますか。便利なのでぜひ使ってください。 slog は構造化ログを出力する為のパッケージで Go 1.21 で導入されました。これまでも zap や zerolog といったサードパーティ製のロガーを使う事で構造化ログを出力する事ができましたが、構造化ログを出力する機能が Go の標準ライブラリになりました。 slog とは 通常の log パッケージは、時刻とメッセージの単純な出力になります。

            もっと log/slog を使おう
          • 避暑キャンプなら白馬がおススメ!夏のキャンプに最適な7つの理由! - 格安^^キャンプへGO~!

            夏のキャンプの大敵といえば暑さですが、近年スキーリゾートで有名な白馬は夏でも涼しくオススメなアウトドアエリアに変貌しており避暑キャンプには最適です。 筆者は学生時代に毎年訪れていた長野県白馬村ですが、スキー場のイメージが強く温泉も豊富ですので夏キャンプにもおススメですよ。 長野県白馬村とは! 白馬が夏のキャンプにおススメ7つの理由! 【ポイント1】白馬は避暑地で夏でも涼しい! 【ポイント2】アウトドアショップが豊富! スノーピークランドステーション白馬 パタゴニア白馬/アウトレット THE NORTH FACE HAKUBA 【ポイント3】避暑キャンプ場が豊富! 白馬グリーンスポーツの森 キャンプ場 白馬森のわさび農園(オートキャンプ場) Hakuba47 マウンテンスポーツパーク 白馬キングパパイアオートキャンプ場 白馬アルプス オートキャンプ場 【ポイント4】温泉が豊富! みみずくの湯

              避暑キャンプなら白馬がおススメ!夏のキャンプに最適な7つの理由! - 格安^^キャンプへGO~!
            • Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm

              はじめに 今年の 8 月にリリースが予定されている Go 1.13 では、Go 1.11 で導入された Go modules に加え、Go module proxy といった新しいエコシステムが登場します。 そこで、そもそも Go modules は何を行っているのかや、何ができるのか、どういった要素で構成されているのかを紹介します。 また、古い Go バージョンから Go 1.13 へアップデートする場合や、 dep や Glide といったベンダリングツールから Go modules へ移行する際の懸念点も併せて紹介します。 先日発表した "Go Modules and Proxy Walkthrough" はこのポストがベースになっています。 TL;DR な人はスライドを見るのがおすすめです。 speakerdeck.com Go Modules Go modules という仕組みは

                Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm
              • golangではスタックとヒープを気にする必要が無い

                調べようと思ったきっかけは、golang では以下のように ローカル変数のアドレスを戻り値としても問題ないということ。 package main import ( "fmt" ) type Animal struct { Name string Age int } func main() { animal := allocAnimal() fmt.Printf("allocate animal structure %p", animal) } func allocAnimal() *Animal { return &Animal{} } C/C++ ではローカル変数のポインタを戻り値とした場合、 スタック領域のポインタを関数外に渡してしまうため、コンパイル時点で警告が表示されます (なぜエラーにしない) 実行時には最悪、セグメンテーションフォールトで落ちます そのため、malloc や n

                  golangではスタックとヒープを気にする必要が無い
                • Goならわかるシステムプログラミング第2版が出たので書評しますね - moriyoshiの日記

                  少し前になりますが、3月23日に、渋川よしきさんの著された「Goならわかるシステムプログラミング 第2版 」が発売されました。初版と比べてかなり加筆されておりパワーアップしているので、初版をすでにお持ちの方でもさらに興味深く読むことのできる内容に仕上がっている、というのが第一印象です。 残念ながら初版発売時に記事にする機会がなかったのですが、あらためて今回書評したいなと思いましたので、徒然書いていきたいと思います。 この本は実はシステムプログラミングの本ではないかもしれない 「システムプログラミング」とは何でしょう。正直私にもわかりません。その語をはじめに思い浮かべた人は、プログラミングという概念のその中にあえて「システムプログラミング」という分類を作ろうと思い至ったということですから、きっと「非システムプログラミング」というものもあるということでしょう。知らんけど。しかし、これは本書の位

                    Goならわかるシステムプログラミング第2版が出たので書評しますね - moriyoshiの日記
                  • 今日から分散トレーシングに対応しないといけなくなった人のための opentelemetry-go 入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

                    こんにちは。SRE/データストアチーム の飯塚です。 私たちのチームではデータベースを代理で操作したり情報を取得したりするサービスをいくつか作り、それをプロダクトチームが利用できるように gRPC 経由で提供しています。ところで、ある日突然「分散トレーシングを活用していくことになったので、あなたのチームのサービスも対応させてください」とお願いされたらどうすればよいでしょうか?私はこれまでにいろいろなカンファレンスで分散トレーシングや OpenTelemetry についての講演を聞いていたので、理念は理解した、便利そうだ、導入してみたい、と思ったことは何度かありました。しかし実際に導入しようとして SDK のドキュメントを開いてみると、理解しなければいけない(ように見える)概念や、使い方をマスターしないといけない(ように見える)API の数に圧倒されてしまい、後回しにしてしまっていました。

                      今日から分散トレーシングに対応しないといけなくなった人のための opentelemetry-go 入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
                    • Go vs Rust : 特徴量DBに適するのはどっち!? (2020-04-14 実験追記) - ABEJA Tech Blog

                      ABEJA で Research Engineer をやっている中川です.普段は論文読んだり,機械学習モデルを実装したり,インフラを構築したりしています.今回のブログでは,Insight for Retail の一機能として提供しているリピータ分析に用いる特徴量DBの改善に向けた言語選定について紹介します. ※ たくさんの方々からのコメントありがとうございます.いただいた観点をベースに「2020-04-14 追記」以下に実験を追加しました. モチベーション リピート分析では,任意の特徴量をクエリに最も類似した特徴量を数100msec以内に検索する必要があり,一般的なデータベースでは実現することが難しいという課題がありました.そこで,われわれは python で独自のインメモリデータベースを実装し運用してきました.このデータベースがサービスの成長に合わせて限界を迎えつつあるので,アルゴリズム

                        Go vs Rust : 特徴量DBに適するのはどっち!? (2020-04-14 実験追記) - ABEJA Tech Blog
                      • Goに三項演算子が採用されない理由

                        Goには「なぜ三項演算子がないの?」という意見を時々見かけます。言語開発側の意見と僕の見解をまとめていきますー。 FAQ その回答はGoのFAQに明瞭に書かれています。 Goに?:演算子がないのはなぜですか? Goには3項テスト操作がありません。 同じ結果を得るには、次を使用できます。 Goに?:がない理由は、言語の設計者が、操作が頻繁に使用されて不可解な複雑な式を作成するのを見ていたためです。 if-else形式は、長くなりますが、間違いなく明確です。 言語に必要な条件制御フロー構造は1つだけです。 ネストを許す GoもPythonもif-elseが文であり、式として扱えない方針を採りました。式として扱えないということは、一定の構文でのみ記述が可能ということです。三項演算子はその性質上式として扱えることになります。 式として扱える場合なにが書けるようになるのかというと、各項や条件に式が書

                          Goに三項演算子が採用されない理由
                        • GoのテストをCIで簡単に並列実行する | おそらくはそれさえも平凡な日々

                          https://github.com/Songmu/gotesplit gotesplitというかなり便利なツールを書いた。Goのテストをいい感じのサブセットに分割して、それを実行するものです。このアプローチで、社内のテストを15分から3分くらいまでに短縮しました。 これを使えばCI環境での高速なテストの並列実行を簡単に実現できます。 実例 CircleCIやGitHub Actions上で簡単に導入できます。 CircleCIの場合 parallelism: 5 docker: - image: golang:1.15.3 steps: - checkout - run: command: | curl -sfL raw.githubusercontent.com/Songmu/gotesplit/main/install.sh | sh -s bin/gotesplit ./... -

                            GoのテストをCIで簡単に並列実行する | おそらくはそれさえも平凡な日々
                          • Go関連の比較的新しいTips - Plan 9とGo言語のブログ

                            READMEにpkg.go.devのバッジを貼る godoc.orgはpkg.go.devに移行していくことが告知されているので、新しいプロジェクトではREADME.mdに貼っているバッジを移行しましょう。pkg.go.devのURLやバッジは // バッジ https://pkg.go.dev/badge/<package path> // リンク https://pkg.go.dev/<package path> の形を取ります。例えばgithub.com/lufia/backoffの場合は以下のように書きます。 # Backoff ...summary... [![GoDev][godev-image]][godev-url] ...description... [godev-image]: https://pkg.go.dev/badge/github.com/lufia/back

                              Go関連の比較的新しいTips - Plan 9とGo言語のブログ
                            • Stable Diffusionによる生成AIの基本から最新テクニックまで。グラビアカメラマンが教える、生成AIグラビア実践ワークショップ(第4回)参加者募集 | テクノエッジ TechnoEdge

                              テクノエッジ編集部では、生成AIグラビア実践ワークショップ第4回を開催します。講師は、人気連載「生成AIグラビアをグラビアカメラマンが作るとどうなる?」の著者である西川和久さんです。 高価なゲーミングPCがなくても自分で高速な画像生成ができるサービス「生成AI GO」を無料で使いながら、生成AIに関する知見とグラビアカメラマンとしての豊かな経験から得られた最新かつ実践的なテクニックを学べます。 なお、ワークショップ内で使用するプロンプトは、受講者向けにドキュメントとして公開し、その場でコピペするだけで画像生成を体験できる、非常に簡単な仕組み。生成した画像はその場で自分のパソコンに保存できます。 第4回は、1月23日、オンラインにて開催いたします。なお、今回お申し込みいただいた方は、第3回の動画アーカイブを視聴いただけます。 グラビアカメラマンが教える、生成AIグラビア実践ワークショップ 申

                                Stable Diffusionによる生成AIの基本から最新テクニックまで。グラビアカメラマンが教える、生成AIグラビア実践ワークショップ(第4回)参加者募集 | テクノエッジ TechnoEdge
                              • 今やゲームのDLソフト購入が当たり前になっていることを考えると、DL販売限定のPSP goは時代を先取りしすぎていたのか

                                まかべひろし @sinpen 今やDLソフトがパッケージよりもずっと売れてることを聞く度に、あの時みんなもう少し未来を見てくれてればなあ、なんて思ってしまう。 pic.twitter.com/NhV9PRr0cJ 2023-07-05 14:27:04 まかべひろし @sinpen 今思い返してみても、当時のソフト容量に対しての回線速度やストレージサイズの比率は、今とさほど変わりはなく、変わったのは「DL版で揃えると入れ替えなくて便利」という理解が進んだ程度。 当時だってDL版主流になる可能性はあったのに、無理解って悲しい。 2023-07-05 14:34:16 Christopher Dring @Chris_Dring Lots of folks asking about digital sales this month. We'll delve into it in the mon

                                  今やゲームのDLソフト購入が当たり前になっていることを考えると、DL販売限定のPSP goは時代を先取りしすぎていたのか
                                • 賞金3分の1、囲碁本因坊戦なぜ大幅縮小? 「どう考えても無理が」:朝日新聞デジタル

                                  ","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 -->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">\n <div class=\"

                                    賞金3分の1、囲碁本因坊戦なぜ大幅縮小? 「どう考えても無理が」:朝日新聞デジタル
                                  • Go言語低レイヤー入門 Hello world が 画面に表示されるまで (GoConforenceTokyo2021)

                                    Go言語低レイヤー入門 Hello world が 画面に表示されるまで @DQNEO (ドキュネオ) Go Conference Tokyo 2021 2021-04-24

                                      Go言語低レイヤー入門 Hello world が 画面に表示されるまで (GoConforenceTokyo2021)
                                    • CPUキャッシュがGoのコードに与える影響(翻訳)|TechRacho by BPS株式会社

                                      繰り返しますが、正確な図はプロセッサモデルによって異なります。ここでは見積もりのため、以下の目安で考えます。メインメモリのアクセスに60ns(ナノ秒)かかり、L1キャッシュへのアクセス速度はその約50倍高速だとします。 さて、プロセッサの世界には「参照の局所性(locality of reference)」と呼ばれる重要な概念があります。プロセッサがメモリ上の特定の場所にアクセスするとき、以下のように予測を立てます。 近い将来、メモリ上の同じ場所にアクセスする可能性が非常に高い これは「時間的局所性(temporal locality)の法則」です 近い将来、メモリ上のその場所からごく近い場所にアクセスする可能性が非常に高い これは「空間的局所性(spatial locality)の法則」です CPUにキャッシュが存在する理由のひとつが、この時間的局所性です。では空間的局所性を高めるにはど

                                        CPUキャッシュがGoのコードに与える影響(翻訳)|TechRacho by BPS株式会社
                                      • Go言語を習得するために、Goちゃんねるを作った

                                        先週、A Tour of Go やってみた TIL というブログを書いてみた通り、Go言語を始めた。 で、ちまちま勉強をしていたのだが、つい最近たまたま ISUCON の過去問をやる機会があって Go のスコアを見たら初期値ですら、チューニング済みの他の言語のスコアを超えていて、絶対に習得するぞの気持ちにさせられた。 ちなみに私はどう言うわけかフロントエンドのソースコードをビルドしたら vite が走ってファイルハッシュが全部変わって、ベンチマークからアクセスできなくなって0点でした。対戦ありがとうございました。 なにはともあれ、本番は絶対にGoでやるぞの気持ちを新たに Go の習得に励んでいた。前のブログでは、文法が分かったから HTTPサーバー DB Connection / Migration 境界値チェックや型推論 テスト スキーマ駆動開発 コンテナデプロイ あたりをやってみたいと

                                          Go言語を習得するために、Goちゃんねるを作った
                                        • GitHub - greymd/mamadm: ママ活の勧誘のメッセージを自動生成する

                                          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 - greymd/mamadm: ママ活の勧誘のメッセージを自動生成する
                                          • Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog

                                            こんにちは、バックエンドエンジニアの夏(なつ)です。今回はMirrativのバックエンドで使っているライブラリをご紹介します。 これらの記事のバックエンド版になります!(2年越し) tech.mirrativ.stream tech.mirrativ.stream ライブラリ一覧 https://pkg.go.dev/ オリジナルの The Go gopher(Gopherくん) は Renée French によるデザイン cloud.google.com/go/bigquery 分析チームが生成したユーザの特徴量などがBigQuery上に存在しているため、それらをバッチ処理でMySQL上に取得する際に利用しています。 tech.mirrativ.stream cloud.google.com/go/compute/metadata 開発環境などでしか動いてほしくない処理が本番環境上で動

                                              Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog
                                            • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

                                              はじめに こんにちは。ブランドソリューション開発本部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 本記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

                                                GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
                                              • なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices

                                                なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices

                                                  なぜ Go はマイクロサービスのための言語なのか - Why Go is a language for microservices
                                                • 実用 Go言語

                                                  業務プログラミングの現場でも採用されるようになってきたGo言語。文法はシンプルで学びやすいという特徴を持っていますが、複雑な要件を実現するには、プログラミング言語が提供する構成要素(文法やライブラリ)をさまざまに組み合わせる必要があります。 本書は、そんなGoを使う上でのポイントを単なる文法詳解ではなく「よりGoらしく書くには」「実用的なアプリケーションを書くには」といった観点から紹介します。 構造体やインタフェースの使い方からJSON、CSVファイル、Excel、固定長ファイルの扱い方、またログやテスト、環境構築など現場に即した幅広いトピックについて、「Goらしいプログラムの書き方」をその背景と共に教えてくれる先輩のような書籍です。 まえがき 1章 「Goらしさ」に触れる 1.1 変数やパッケージ、メソッドなどに名前を付けるには 1.1.1 変数名 1.1.2 パッケージ名 1.1.3 

                                                    実用 Go言語
                                                  • 少しずつ育てるGo言語のプロジェクト構成

                                                    23/9/21追記:この記事を読む前に ついにGoチームから、プロジェクト構成に関するガイドが公開されました! 本記事を読んでくださることも大変嬉しいですが、ぜひこちらのガイドもご一読ください! この記事は何 Go言語を書いたことがある方も、興味はあるけど触ったことがない方もこんにちは。 Goに限った話ではないと思いますが、ガリガリコードを書いていて、あるタイミングで気になるのがプロジェクト構成(ここではディレクトリ構成の意図)ではないでしょうか? それを裏付けるかのように、Go界隈では以下のリポジトリが話題に上がることがあります。Star数すごいですね😇 リポジトリ名から公式感が漂いますが、そういう訳ではないのがミソです。 こちらのリポジトリ冒頭にも記載されていますが、次の点に留意する必要があるでしょう。 これは、Goアプリケーションプロジェクトの基本的なレイアウトです。これは、コアと

                                                      少しずつ育てるGo言語のプロジェクト構成
                                                    • IAM Identity Center のロールで発行される一時認証情報をaws-sso-go 経由で 1Password に入れて利用する - 継続は力なり

                                                      タダです. 以前の記事で 1Passowrd Shell Plugin を使って IAM アクセスキーとシークレットアクセスキーを保存して AWS CLI を使うのをやってみました.この記事では IAM Identicy Center(旧 AWS SSO) のロールで発行される一時認証情報を 1Password に入れたり更新ができたらローカルにクレデンシャルを残さずに使えてセキュアになるため,その検証を行ったのをまとめていきます. sadayoshi-tada.hatenablog.com IAM Identity Center のロールで発行される一時認証情報を保管する 保管したクレデンシャルを使って AWS CLI を実行する まとめ IAM Identity Center のロールで発行される一時認証情報を保管する IAM Identity Center と 1Password の

                                                        IAM Identity Center のロールで発行される一時認証情報をaws-sso-go 経由で 1Password に入れて利用する - 継続は力なり
                                                      • Go をセキュアに書き進めるための
「ガードレール」を整備しよう / Let's Build Security Guardrails For Your Go Programs!

                                                        Go Conference 2021 Spring (B7-S) で使用した資料です。 - セッションの詳細: https://gocon.jp/sessions/session-b7-s/ - 発表者: https://twitter.com/lmt_swallow - 資料に誤りがあれば是非こちらにご連絡ください

                                                          Go をセキュアに書き進めるための
「ガードレール」を整備しよう / Let's Build Security Guardrails For Your Go Programs!
                                                        • https://twitter.com/igokyoto/status/1515332502050680835

                                                            https://twitter.com/igokyoto/status/1515332502050680835
                                                          • 有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です

                                                            tl;dr キーワードは「monotonic clock」です。 あらすじ Goで以下のようなコードを書いていた*1*2。あるAPIを叩くクライアントで、APIコールに必要なアクセストークンを4時間キャッシュしている。c.getToken() で得られたトークンを使ってAPIコールを行えばよい。 type Client struct { mu sync.RWMutex expiresAt time.Time token string } // トークンのキャッシュがあればキャッシュから返し、なければ更新してから返す func (c *Client) getToken() string { if cachedToken, ok := c.getTokenFromCache(); ok { return cachedToken } return c.refreshToken() } // トー

                                                              有効期限を過ぎても消えないインメモリキャッシュの謎 - 私が歌川です
                                                            • GitHub CLI

                                                              $ gh issue list gh pr status gh pr checkout gh pr create gh pr checks gh release create gh repo view gh alias set View and filter a repository’s open issues. Check on the status of your pull requests. Check out pull requests locally. Create a new pull request. View your pull requests’ checks. Create a new release. View repository READMEs. Create a shortcut for a gh command.

                                                                GitHub CLI
                                                              • AWS + Azure ADによるSingle Sign-Onと複数AWSアカウント切り替えのしくみ作り - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                こんにちは、生産性向上チームの五十嵐(@ganta0087)です。 今回はAWSアカウントの管理についてのお話です。 AWSアカウントをみなさんの組織ではどのように管理されているでしょうか? シングルアカウントで運用していると、人やチームが増えて規模が大きくなってきたときに権限管理が中央集権的になり、管理者への負担が増大してしまいます。また、新規ユーザーの登録だけでなく、退職時の削除漏れにも注意が必要です。利用者側としても管理するパスワードが増えるのは避けたいです。 そこで、生産性向上チームではマルチアカウント構成によるシングルサインオン(以下SSO)とチームに委譲できる権限管理のしくみを作ることでこれらの問題を解決し、社内でAWSを活用しやすくなるようにしました。 サイボウズには社員のアカウント情報を管理しているActive Directory(Azure AD)があります。今回はそのA

                                                                  AWS + Azure ADによるSingle Sign-Onと複数AWSアカウント切り替えのしくみ作り - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • PSP、修理受付終了 発売から約15年

                                                                  ソニー・インタラクティブエンタテインメント(SIE)は10月1日、携帯ゲーム機「プレイステーション・ポータブル」(PSP)全モデルの修理受付を9月30日に終了したと発表した。 PSPは2004年12月12日に発売。大型液晶ディスプレイによる美しい画面や、通信機能を使った対戦・協力プレイなどで人気になったが、2014年6月に出荷終了していた。 関連記事 PSPの国内出荷が終了 発売から約10年 「プレイステーション・ポータブル」(PSP)の国内向け出荷が6月で完了。 「PSP go」アフターサービスが7月に終了 「部品確保が難しいため」 「PlayStation Portable go」(PSP go)のアフターサービスが7月に終了。 関連リンク PSP

                                                                    PSP、修理受付終了 発売から約15年
                                                                  • テストのためだけに`interface`を書きたくないでござる — KaoriYa

                                                                    golangでテストのためだけにinterfaceを書くのが死ぬほど嫌だったので編み出した技を紹介します。 TL;DR テスト(=mock)のためだけにinterfaceは切りたくない 型エイリアスとビルドタグを組み合わせるとinterfaceがなくてもモックが作れる この手法に必要なモックを自動生成するプログラムを作った interfaceは本当に必要なシーンで使うべき Background 現在モックを使った単体テストは一般的です。 Javaでの例を挙げると、モックしたいコンポーネントについて予めinterfaceを定義しておき、モックではそのインターフェースを実装するのが定石です。 しかしgolangのinterfaceはJavaなどのそれとは若干性質が異なるため、テスト=モックのためだけにinterfaceを書くのはオーバーワーク気味です。 そうテストのためだけにinterface

                                                                    • Regexp::AssembleのGo実装 rassemble-go を作りました - プログラムモグモグ

                                                                      PerlにはRegexp::Assembleという便利なライブラリがあります。 複数の正規表現を受け取り、それらのいずれかにマッチする正規表現を構築するためのライブラリです。 my $ra = Regexp::Assemble->new; $ra->add( 'ab+c' ); $ra->add( 'ab+\\d*\\s+c' ); $ra->add( 'a\\w+\\d+' ); $ra->add( 'a\\d+' ); print $ra->re; # prints (?:a(?:b+(?:\d*\s+)?c|(?:\w+)?\d+)) このライブラリのGo実装を金曜日の夜から書き始めて、ようやく形になってきたので公開しました。 package main import ( "fmt" "log" "github.com/itchyny/rassemble-go" ) func main

                                                                        Regexp::AssembleのGo実装 rassemble-go を作りました - プログラムモグモグ
                                                                      • テストケースの名前には条件と結果を含めた方が良い - 感情を込める

                                                                        という考えにたどり着いたので、考えのスナップショットをとっておく。 Go言語における、テスト関数名とサブテストのname引数の値を「テストケースの名前」・「テスト名」と呼ぶことにしている。 (*testing.T).Run(name string, f func(t *testing.T)) bool テスト名に近いものとして、(*testing.T).Errorや(*testing.T).Logの引数がある。これらはテスト実行時の出力に含まれるが、テストケースを分かつものではない。あくまで、特定のテストケース内の情報を増やすものだ。対するテスト名は、(通常は)テストケースを分割できる最小単位である。 テストケースがテスト名の単位で存在するということは、テスト名はそのテストケースを十分に表現できていたほうがよいということだ。さもなくば、検証・変更しようとする仕様に対応するテストケースや、実

                                                                          テストケースの名前には条件と結果を含めた方が良い - 感情を込める
                                                                        • ECSとGoで構築したシステムにDatadogを導入する | おそらくはそれさえも平凡な日々

                                                                          追記: GoのアプリケーションをOpenMetricsを使ってObservableにする方法については別エントリを書きました。 → https://songmu.jp/riji/entry/2020-05-18-go-openmetrics.html ECSとGoで運用しているシステムに対するDatadogの日本語知見があまり無さそうだったので書いてみる。ちなみに以下の環境です。 ECS on EC2 (not Fargate) アプリケーションコンテナのネットワークモードはbridgeモード 動的ポートマッピングも利用 背景として3月にNature Remoのインフラアーキテクチャ改善をしていて、その前にもうちょっと監視を整えたほうが良いな、ということでDatadogを導入したのがある。テストがないとリファクタリングできないように、監視がないとアーキテクチャのアップデートもやりづらいとい

                                                                            ECSとGoで構築したシステムにDatadogを導入する | おそらくはそれさえも平凡な日々
                                                                          • プラットフォーム依存しない新しい「Docker Compose」 マルチコンテナをクラウドに簡単デプロイ

                                                                            DockerCon 2021 にあわせて、ひさびさに開催された「Docker Meetup Tokyo」 DockerConの振り返りのほか、Docker 20.10の新機能や、大幅に新しくなったDocker Composeについてお知らせします。ゴリラ氏からは、Docker Composeの概要について発表がありました。 Docker CLIに梱包された新しいdocker compose ゴリラ氏:「新しいDocker Compose」と題して発表します。よろしくお願いします。 軽く自己紹介をします。ゴリラと申します。好きなものはGo、Vim、Dockerとかで、最近はちょっとDenoにハマっています。趣味はVimのプラグインだったり、Goを使ったCLIだったり、開発が多いです。あとは興味がある分野の勉強だったり、記事を書いたりです。最近はジムに行っていて、ムキムキな体を目指しています。

                                                                              プラットフォーム依存しない新しい「Docker Compose」 マルチコンテナをクラウドに簡単デプロイ
                                                                            • Go + TypeScriptによるGraphQLスキーマ駆動開発 - 一休.com Developers Blog

                                                                              こんにちは。宿泊事業本部の宇都宮です。この記事では、GraphQLをベースに、GoとTypeScriptでスキーマを共有しながら開発を進める方法について紹介します。 この記事は 一休.com Advent Calendar 2019 の16日目の記事です。 GraphQLとは ライブラリの選定 コードファースト vs スキーマファースト Goによるサーバ実装 TypeScriptによるクライアント実装 おわりに 参考文献 GraphQLとは GraphQLは、Facebookによって開発された、Web APIのための クエリ言語 です。その特徴もSQLに似ていて、データの取得や更新を宣言的な記述によって行うことが出来ます。 仕様は公開されており、リファレンス実装として graphql-js がありますが、それ以外にも様々な言語でGraphQLサーバを実装できます。 GraphQLでは以下の

                                                                                Go + TypeScriptによるGraphQLスキーマ駆動開発 - 一休.com Developers Blog
                                                                              • Compile SQL to type-safe code

                                                                                You write SQL queries You run sqlc to generate code that presents type-safe interfaces to those queries You write application code calling the methods sqlc generated. Seriously, it's that easy. You don't have to write any boilerplate SQL querying code ever again. See the current list of supported programming languages and databases. Schema updates and poorly-written queries often bring down produc

                                                                                  Compile SQL to type-safe code
                                                                                • Go公式のlinter、Golintが非推奨になった

                                                                                  Goが公式で出していたGolintがdeprecated/frozenしました。 メンテがされていない 2018年から実質的な変更が加わってない Issueも放置されているものが多い golang orgに存在するlinterなのでGoが公式として推奨しているlinterに見える Go が実際には保守されていないプログラムを公式として推奨しているように見えてしまう 開発者は合理的に異なるスタイルを採用したい場合がある Golint単体で特定の警告を無視したりするなどの機能を持っていない ということからattractive nuisance(魅力的な迷惑者)になっているというProposalでした。 Issueの議論を見てもdeprecate/frozenすることに対して否定的な意見は少なく、一年ほど前にapproveされました。(なので「非推奨にしよう」なったの自体は少し前の話です) そし

                                                                                    Go公式のlinter、Golintが非推奨になった