タグ

Clomieのブックマーク (1,232)

  • 【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
    Clomie
    Clomie 2024/07/13
  • GitHub Appを使ってDependabotが作るpull requestを自動マージさせる - inSmartBank

    こんにちは。皆さんは自身がメンテナンスするソフトウェアが依存するパッケージの更新、いわゆるdependency updateをどのような形で行っていますか? SmartBankが提供するサービスB/43の開発では主にGitHubのDependabot version updates機能を用いて定期的なdependency updateを行っています*1。これは簡単にいえばGitHub repositoryにYAMLファイルを置いておくだけで自動的かつ定期的にversion updateのpull requestを作ってくれる便利なやつです。 便利ではあるのですが、アプリケーション規模やチーム体制によっては日々作成されるpull requestをさばくのに苦労することがあります。記事ではそのような運用課題を解決するために導入した、GitHub Appを使った自動マージについて解説します。

    GitHub Appを使ってDependabotが作るpull requestを自動マージさせる - inSmartBank
    Clomie
    Clomie 2024/07/11
  • ターミナルで画像を表示する Sixel Graphics について

    はじめに エンジニアの皆さんの中には、一日のほとんどをターミナルに引きこもって暮らしている方も多いのではないでしょうか? 多くの作業においてターミナルを中心に行うようにすることで、日常作業のほとんどの操作をキーボードで完結することができ、また工夫次第でスクリプティングによって自動化できる範囲も広がるので慣れるととても快適です。 一方、どうしても文字ベースの入出力を中心に発展してきたターミナルは画像の扱いが弱点になります。それでも実は、一部のターミナルでは画像を表示できることはご存じでしょうか? 例えば、libsixel (homebrew) を使うと、img2sixel というコマンドを用いてターミナル中にインラインで画像表示を行うことができます。 img2sixel による画像表示の例 単発の画像表示だけだとなかなか使いどころが限られてしまいますが、工夫次第では画像版 ls ともいえる

    ターミナルで画像を表示する Sixel Graphics について
    Clomie
    Clomie 2024/07/03
  • OpenAPI Specification v3.0.3のコーディング規約を公開しました | フューチャー技術ブログ

    はじめにフューチャーの有志メンバでOpenAPI Specification(OAS) v3.0.3に対応したコーディング規約を作成しました。 https://future-architect.github.io/coding-standards/documents/forOpenAPISpecification/OpenAPI_Specification_3.0.3.html 2023年7月にv2.0の規約を公開してから約1年ぶりのアップデートとなります。 フューチャーの現場でもv3系の利用が主流となる中、有識者のナレッジを集める形で標準化を行っています。 まだ荒削りな部分は多々ありますが、早期に公開してフィードバックを得ながらブラッシュアップしていく方針のもと、公開に踏み切りました。 内容へのフィードバックは、GitHub Issueを起票いただくか、Xアカウント(@future_te

    OpenAPI Specification v3.0.3のコーディング規約を公開しました | フューチャー技術ブログ
    Clomie
    Clomie 2024/07/03
  • golangci-lintのModule Plugin Systemが良さそうなので使ってみた

    はじめに この記事では、golangci-lintのv1.57.0でリリースされたModule Plugin Systemについて既存のPlugin機構を交えて解説します。 弊社サービスSNKRDUNKのバックエンドはGoで実装されておりLintergolangci-lintを使っています。 Pluginで動かしているLinterもあり、その影響でローカル環境でgolangci-lintを実行するのがやや手間になっており、何か良い方法がないかと調べていたらModule Plugin Systemというものがリリースされていたので、自分自身の理解のためにも今回の記事を書くに至りました。 golangci-lintのPlugin Systemについて まずはじめに、golangci-lintlinterを追加する方法は以下の2通りあります。 1. public linterとしてgolan

    golangci-lintのModule Plugin Systemが良さそうなので使ってみた
    Clomie
    Clomie 2024/06/13
  • キーボード自作してみた【40%分離+タッチパッド搭載】 | ヒロフカ

    どらびです. ブログ更新は半年ぶり,自作関連記事に至っては2年ぶりの投稿になってしまったようです. プライベートで色々あって趣味の方にあまり手を出せていない今日この頃です. さて,前置きはこの辺にして久々の自作案件としてキーボードを自作しました. 以前も一度作成したのですが,自作というにはちょっとお粗末だったので…それに対して今回は初の要素と自分なりのこだわりがそこそこあるので,ちょっとブログとして残しておこうかなと思っています. キーマップはgitにアップしていて,ビルドガイドやHW周りに関してもある程度別途公開予定なので,ここでは細かい話を備忘録というかあくまでブログとして残しておく場とします. ※名称募集中なのでなにか妙案がある方がいらっしゃればコメントでもXのリプorDMでも何でもいいので教えてもらえると嬉しいです. って感じでしょうか. 5.とか積んでるキーボード多いじゃんって思

    キーボード自作してみた【40%分離+タッチパッド搭載】 | ヒロフカ
    Clomie
    Clomie 2024/05/25
  • 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 buildDockerfile のステップで行っており、イメージとして以下のような内容になっています。 FROM

    GitHub Actions 上での Go の Docker ビルドを高速化する
    Clomie
    Clomie 2024/05/15
  • クラウドでもsuが出来る! GCPにPAM(特権管理)がついに登場

    はじめに Linuxの良い所の一つにsuやsudoと言った特権管理の仕組みがあります。普段は通常アカウントで入って、例えばインストールなどの特権作業が必要な時だけsu/sudoで一時的な権限昇格が可能ですし、/etc/pam.dで誰がどのユーザにスイッチ出来るかなどは細かく制御できます。 一方で、クラウドの権限管理は悩みの種で、誤操作が怖いので普段はRead Onlyの権限にしておきたいのですが、手軽に権限を昇格する方法がありません。なので、別の管理者ユーザを作って、そちらでログインしなおしたり、それを半自動化するCyberArkやBeyondTrustといったPAM系ソリューション、あるいは最近流行りのCIEM(PAM機能を持つもの)を導入する必要がありました。 Azureでは結構以前からPIM(Privileged Identity Management)がネイティブで組込まれており非

    クラウドでもsuが出来る! GCPにPAM(特権管理)がついに登場
    Clomie
    Clomie 2024/05/11
  • 本番環境へのアクセス管理と、GCPの特権アクセス マネージャー(Privileged Access Manager)

    はじめに 私ごとですが先日GCPのProfessional Cloud Security Engineerの資格を取得しました。 (他にもProfessional Cloud ArchitectとProfessional Cloud Developerを持っています) そして、記事執筆時点で私が所属している株式会社スリーシェイクはSREの文化が根付いており、セキュリティの向上やtoil削減への情熱を持っています。 そのような環境で、幸運にもセキュリティの向上とtoil削減の両方に関わる「番環境のアクセス管理」というテーマで検証や導入支援等を行う機会があったため、知見をシェアしたく記事を執筆しました。 概要 Google Cloud Next '24で紹介されていた番環境のアクセス管理のお話です。 先月プレビュー公開された特権アクセスマネージャー(Privileged Access Ma

    本番環境へのアクセス管理と、GCPの特権アクセス マネージャー(Privileged Access Manager)
    Clomie
    Clomie 2024/05/11
  • Self-hosted GitHub Actions runners in AWS CodeBuild を試す

    CodeBuild プロジェクトを使用して Webhook を設定し、GitHub ACtions ワークフローの yaml を更新して CodeBuild マシン上でホストされているセルフホストランナーを使用できる GitHub への認証は PAT か OAuth App を使う まとめというかわかったこと ※間違ってることや、こうすればいいよなどがあったらコメントください。 良かった点 セットアップは楽 ephemeral である 起動時間は EC2、Lambda 共に 1 分程度だった 個人的には十分速い マネージドイメージに加えて Docker カスタムイメージを指定可能 jobs.<job_id>.runs-on に -<image>-<image-version>-<instance-size> を追記すると、設定不要で様々なアーキテクチャのイメージを使える jobs.<job

    Self-hosted GitHub Actions runners in AWS CodeBuild を試す
    Clomie
    Clomie 2024/05/05
  • bpftraceによるGoアプリケーションのトレース|hayajo

    はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

    bpftraceによるGoアプリケーションのトレース|hayajo
    Clomie
    Clomie 2024/03/30
  • BigQuery Emulator をアップデートしました - Route54

    BigQuery Emulator の v0.6.0 をリリースしました。 今回のリリースでは、Recidiviz社 の @ohaibbq さんが多大な貢献をしてくださいました。Recidiviz社ではかなり前から BigQuery Emulator を使ってくれているようで、以前から Issue や DM などでそのことを伝えてくれていましたが、@ohaibbq さんが今Qエミュレータの改善にコミットできるということで、 Recidiviz社側で fork して使っていたものに加えていた patch をたくさん送ってくれました。 かなり多くの改善が入っているので、以前エミュレータを試して動かなかったクエリを再度試す良い機会かなと思っています。 @ohaibbq さんからは、嬉しいことに今後も貢献してくださると言っていただけているので、今後の改善も速いペースで進んでいくと思います。素晴らし

    BigQuery Emulator をアップデートしました - Route54
    Clomie
    Clomie 2024/03/20
  • カウシェにおける Cloud Run のネットワーク構成のこれまでとこれから

    こんにちは、株式会社カウシェの Architect かつ Google Cloud Champion Innovator(Modern Architecture と Serverless App Development の分野)の伊藤です。 稿では、Google Cloud が提供するサーバーレスなコンテナ実行環境である Cloud Run のネットワーク構成について、「カウシェにおける現状の構成」と「Cloud Run の新機能を利用した今後の改善」を解説します。 Cloud Run のサービス間通信カウシェでは Cloud Run を用いてマイクロサービスを構築しています。 カウシェにおける Cloud Run 上のマイクロサービス上図の場合、「Service A」は他のマイクロサービスからの通信を受け付ける必要はありますが、インターネットから直接通信を受け付ける必要はないので、Le

    カウシェにおける Cloud Run のネットワーク構成のこれまでとこれから
    Clomie
    Clomie 2024/02/27
  • GCP版Dataformで冪等性を担保する設計ポイント3つ - TVer Tech Blog

    データエンジニアの遠藤です。 TVer Advent Calendar 2023の24日目の記事になります。 はじめに 年(2023年)、Google Cloudのビッグデータ基盤として展開されるBigQueryでは、データガバナンスツールであるDataformがGA(Generally Avaialble)になりました。 cloud.google.com このDataformの登場により、BigQuery上でデータを利活用しやすいように変換する(データマートを生成する)システムの構築が容易になりました。 記事では、Dataform上において、定常実行やリトライ実行を容易にするために、冪等性が担保される設計のテクニックを3点紹介します。(Dataformの基的な使い方については触れませんのでご注意ください) 1. SQLX内のクエリに変数を用いる DataformSQLXと呼ばれる

    GCP版Dataformで冪等性を担保する設計ポイント3つ - TVer Tech Blog
    Clomie
    Clomie 2024/02/23
  • Cloud RunサイドカーとURLマスクを活用したWINTICKET Webの検証環境改善 | CyberAgent Developers Blog

    今回、Dark Canaryリリースの仕組みを拡張し、Pull RequestごとにDark Canary(以後PR Dark Canary)環境を作成する仕組みを整備しました。これにより、番と同じURLでPull Requestごとの環境に接続して動作確認ができるようになりました。記事ではその技術構成や運用について紹介します。 開発プロセス上の課題 WINTICKET Webの開発プロセスは、フィーチャーフラグを用いたトランクベース開発を中心に行われています。しかし、複雑なリファクタリングや大規模な機能追加の場合など、フィーチャーフラグでは管理しきれないケースも存在します。 このような場合、Pull Requestに連動したプレビュー環境での品質管理(QC)を試みますが、ドメインの違いやCDNの非配置など、開発環境との差異によって動作検証が困難なケースがあります。この場合、開発環境(

    Cloud RunサイドカーとURLマスクを活用したWINTICKET Webの検証環境改善 | CyberAgent Developers Blog
    Clomie
    Clomie 2024/02/23
  • BigQuery 向けデータパイプラインサービス「Dataform」の基本的な使い方

    この記事は Google Cloud Japan Advent Calendar 2023 (入門編) の 20 日目の記事です。 こんにちは、Google CloudでDataAnalyticsを担当している山田です 日はDataformの紹介をしたいと思います! Dataformとは BigQuery上でデータ変換を行う複雑なSQLワークフローを開発、テスト、バージョン管理、スケジュール設定することが出来ます。 Dataformのようなパイプライン管理ツールを使わない場合、SQLのバージョン管理や、テーブルAの後にテーブルBを作りたいといった依存管理などをどうするか考えなくてはいけません。 そのような課題を解決してくれるのがDataformになります。 Dataform自体の利用には料金がかからないというのも大きな特徴です! Dataformの構成要素 Dataformは以下の4つの

    BigQuery 向けデータパイプラインサービス「Dataform」の基本的な使い方
    Clomie
    Clomie 2024/02/20
  • 非機能系を中心にログイン時の処理について考えてみる

    Clomie
    Clomie 2024/02/18
  • Cloud Run から内向きが「内部」なCloud Run にアクセスしたい

    はじめに Cloud Run から 別の Cloud Run へアクセスするときに、その Cloud Run って「すべてのインターネットからアクセスさせる」必要ってあるのかな?という疑問がありました🤔 公式ドキュメント[1]を読むと Cloud Run からのアクセスをInternal (内部)として扱う方法について記載がありました。 3つの方法があるようですが、どうも理解が進まないので実際に検証してみたいと思います。 やりたいこと 検証プロセスの概観 Cloud Run を2つ作成します。以下はそれぞれのコードです。 client-node : server-node に対して、HTTPリクエストを投げる Cloud Run。この Cloud Run は常に 内向きは「すべて」とする。 リクエスト先 Cloud Run の公開URLを環境変数として設定している server-node

    Cloud Run から内向きが「内部」なCloud Run にアクセスしたい
    Clomie
    Clomie 2024/02/18
  • Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える

    前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに

    Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える
    Clomie
    Clomie 2024/02/06
  • 日向坂46・松田好花が持つ“涙の花粉症”というラジオパーソナリティとしての稀有な才能 - QJWeb クイック・ジャパン ウェブ

    「相変わらず泣いてますか? 松田はすごい感動屋さんというか、なんでも感動して涙を流してしまいます(中略)それはとってもいいことだと思うんですよね。どんなことにも感受性のアンテナが敏感に反応している。涙の花粉症という感じだと思いますんで」 坂道グループのプロデューサー・秋元康がこう評するのが、日向坂46の松田好花だ。そんな彼女の豊かな感受性が大いに発揮されているメディアのひとつがラジオである。さらに、2023年10月より『オールナイトニッポン0(ZERO)』で月1パーソナリティを務める松田は、現在の“アイドルとラジオ”の関係を象徴する存在でもある。 ここでは、松田好花のラジオパーソナリティとしての魅力に迫りつつ、アイドルとラジオパーソナリティの“推し活”には共通点が多い理由についても紐解いていく。 “アイドルとラジオ”の関係を象徴する存在 若いラジオリスナーに話を聞いていると、「アイドルの番

    日向坂46・松田好花が持つ“涙の花粉症”というラジオパーソナリティとしての稀有な才能 - QJWeb クイック・ジャパン ウェブ
    Clomie
    Clomie 2024/01/28