<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Soichi Sumi Tech Blog</title>
    <link>https://soichisumi.net/</link>
    <description>Recent content on Soichi Sumi Tech Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Sun, 04 Dec 2022 23:03:15 +0900</lastBuildDate><atom:link href="https://soichisumi.net/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>コンテキストスイッチの生産性への影響とその対策、改善例</title>
      <link>https://soichisumi.net/2022/12/switcing-cost-in-brainworkers-and-how-to-avoid-it/</link>
      <pubDate>Sun, 04 Dec 2022 23:03:15 +0900</pubDate>
      
      <guid>https://soichisumi.net/2022/12/switcing-cost-in-brainworkers-and-how-to-avoid-it/</guid>
      <description>&lt;p&gt;この記事は &lt;a href=&#34;https://ginco-tech-blog.super.site/&#34;&gt;株式会社Gincoのテックブログ&lt;/a&gt;兼&lt;a href=&#34;https://qiita.com/advent-calendar/2022/developer-productivity&#34;&gt;開発生産性 Advent Calendar 2022&lt;/a&gt;の4日目の記事です。&lt;/p&gt;
&lt;p&gt;作業に中断が発生し、元の作業状態へ戻るのに時間を要したことは多くの人は経験があるでしょう。&lt;/p&gt;
&lt;p&gt;このような事象をコンピュータサイエンスの用語からコンテキストスイッチと呼びます。&lt;/p&gt;
&lt;p&gt;生産性を上げるにはコンテキストスイッチを取り除き、やりたいことに注力できる状態を作ることが必要です。&lt;/p&gt;
&lt;p&gt;本記事ではコンテキストスイッチの作業への影響やその発生条件、対策、業務改善例について書きます。個人やチームに対し、作業を効率化するために避けるべきこどのように作業を進めればいいかという情報を提供することを目的としています。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>フォーカス、アラインメント、トラッキング、ストレッチにより圧倒的成果を生む / OKRのバイブル「Measure What Matters」を読んだ</title>
      <link>https://soichisumi.net/2022/06/book-review-of-measure-what-matters/</link>
      <pubDate>Thu, 30 Jun 2022 23:03:15 +0900</pubDate>
      
      <guid>https://soichisumi.net/2022/06/book-review-of-measure-what-matters/</guid>
      <description>&lt;p&gt;より効果的なマネジメントを学ぶため、GoogleにOKRを布教したジョン・ドーア氏によるマネジメントの名著「&lt;a href=&#34;https://amzn.to/3ORSzrP&#34;&gt;Measure What Matters&lt;/a&gt;」を読んだ。&lt;/p&gt;
&lt;p&gt;本記事では、OKRが必要な理由と運用方法について解説し、最後に本書の中で特に参考になった部分を紹介する。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>[ ]byte フィールドをbase64変換しない json.Marshal/Unmarshalライブラリを作った</title>
      <link>https://soichisumi.net/2020/12/json-marshal-wo-base64-encoding/</link>
      <pubDate>Sat, 19 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2020/12/json-marshal-wo-base64-encoding/</guid>
      <description>&lt;p&gt;この記事は &lt;a href=&#34;https://qiita.com/advent-calendar/2020/go&#34;&gt;Go Advent Calendar 2020&lt;/a&gt; の20日目の記事です。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>2019年の振り返り</title>
      <link>https://soichisumi.net/2019/12/looking-back-on-2019/</link>
      <pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2019/12/looking-back-on-2019/</guid>
      <description>&lt;p&gt;こんにちは。鷲見(&lt;a href=&#34;https://twitter.com/soichisumi&#34;&gt;@soichisumi&lt;/a&gt;)です。&lt;/p&gt;
&lt;p&gt;今年も1年を振り返っていきます。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Go &#43; gRPC の interceptorでメソッドごとの処理を記述する</title>
      <link>https://soichisumi.net/2019/12/grpc-interceptor-method-setting/</link>
      <pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2019/12/grpc-interceptor-method-setting/</guid>
      <description>&lt;p&gt;この記事は &lt;a href=&#34;https://qiita.com/advent-calendar/2019/go5&#34;&gt;Go5 Advent Calendar 2019&lt;/a&gt; の2日目の記事です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grpc/grpc-go&#34;&gt;grpc-go&lt;/a&gt;ではログやメトリクス取得、権限チェックなど、gRPCサーバの全てのメソッドで共通して行いたい処理を interceptor で行います。&lt;/p&gt;
&lt;p&gt;本記事では、interceptor でメソッドごとの処理を記述する方法を紹介します。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>成果を上げるチームの条件 / Google re:Work -「効果的なチームとは何か」を知る を読んだ</title>
      <link>https://soichisumi.net/2019/06/the-condition-of-efficient-team/</link>
      <pubDate>Sun, 02 Jun 2019 16:10:39 +0900</pubDate>
      
      <guid>https://soichisumi.net/2019/06/the-condition-of-efficient-team/</guid>
      <description>&lt;p&gt;最近、チームの成果の最大化を職務として請け負うようになった。そこでどのようなチームが高い成果を上げるのか知るため、Googleが公開している組織の働き方についての研究結果をまとめた記事、&lt;a href=&#34;https://rework.withgoogle.com/jp/guides/understanding-team-effectiveness/steps/introduction/&#34;&gt;re:Work&lt;/a&gt; を読んだ。&lt;/p&gt;
&lt;p&gt;re:Workでは、高い成果を上げるチームの条件を突き止める過程も含めて述べられており若干複雑である。そこで本記事では、チームに対する評価とチームが上げる成果を測るための指標を紹介し、その指標を最大化するチームの条件について端的にまとめる。&lt;/p&gt;
&lt;p&gt;各条件の詳細な解説については別記事にまとめる。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Prometheus &#43; Grafana &#43; Helm で Kubernetesクラスタのモニタリング環境を構築する</title>
      <link>https://soichisumi.net/2019/05/setup-prom-and-grafana-on-k8s/</link>
      <pubDate>Sun, 12 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2019/05/setup-prom-and-grafana-on-k8s/</guid>
      <description>&lt;p&gt;サービスが期待通りに動作することを保証するためにモニタリングは重要です。Kubernetes 上で動作するアプリケーションのモニタリングは、モニタリング用の OSS ( Prometheus など) 、SaaS ( Datadog など )、クラウドプラットフォームのコンソール ( GCP など) を使う方法があります。本記事ではモニタリング用の OSS である Prometheus と Grafana を使って Kubernetes クラスタとクラスタ上で動作するアプリケーションをモニタリングするダッシュボードを構築する方法を紹介します。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>protodepでProtocol Buffersの依存管理を楽にする</title>
      <link>https://soichisumi.net/2019/05/managing-proto-files-with-protodep/</link>
      <pubDate>Wed, 01 May 2019 00:03:15 +0900</pubDate>
      
      <guid>https://soichisumi.net/2019/05/managing-proto-files-with-protodep/</guid>
      <description>&lt;p&gt;gRPC + Protocol Buffers でバックエンドを開発していると、他サービスや Protocol Buffers プラグインの proto ファイルの管理をしたくなる場合があります。
よくある Protocol Buffers のプラグインではリポジトリを go get してコンパイル時にパスを通すよう指示されますが、どのリビジョンの proto ファイルを使ってスキーマを定義しているのかが不明瞭になります。また、 proto ファイルの場所が散らばるのでコンパイルのコマンドも複雑になります。&lt;/p&gt;
&lt;p&gt;本記事では、Protocol Buffers とは何かから、なぜ依存管理が必要か、依存している proto ファイルを管理するにはどうすれば良いかについて述べます。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>grpc-gatewayのエラーレスポンスをカスタマイズする</title>
      <link>https://soichisumi.net/2019/04/grpc-custom-error-response/</link>
      <pubDate>Sun, 14 Apr 2019 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2019/04/grpc-custom-error-response/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/grpc-ecosystem/grpc-gateway&#34;&gt;grpc-gateway&lt;/a&gt; は gRPC のエラーコードと HTTP のステータスコードをよしなに変換してくれますが、クライアントにエラーの理由を知らせる場合にはエラーレスポンスをカスタマイズする必要があります。&lt;/p&gt;
&lt;p&gt;本記事では &lt;a href=&#34;https://github.com/grpc/grpc-go&#34;&gt;grpc-go&lt;/a&gt; + &lt;a href=&#34;https://github.com/grpc-ecosystem/grpc-gateway&#34;&gt;grpc-gateway&lt;/a&gt; でカスタムエラーレスポンスを返す方法について、実装例を出しながら紹介します。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>OpenCensus meetup vol.1 参加記</title>
      <link>https://soichisumi.net/2019/04/opencensus-meetup-v1/</link>
      <pubDate>Fri, 05 Apr 2019 09:13:15 +0900</pubDate>
      
      <guid>https://soichisumi.net/2019/04/opencensus-meetup-v1/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://opencensus.connpass.com/event/123885/&#34;&gt;OpenCensus Meetup vol.1&lt;/a&gt;に参加してきました。本記事ではイベントで話されたことをまとめます。&lt;/p&gt;
&lt;p&gt;イベントでは OpenCensusの概要紹介や、OpenCensusを使ってみて便利だったところと辛かったところ、辛さを解消するために行ったことについて話されていました。&lt;/p&gt;
&lt;p&gt;OpenCensusの概要の把握や、深掘りするかどうかの判断の参考になれば幸いです。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>2018年の振り返り</title>
      <link>https://soichisumi.net/2018/12/looking-back-on-2018/</link>
      <pubDate>Mon, 31 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2018/12/looking-back-on-2018/</guid>
      <description>&lt;p&gt;こんにちは。鷲見(&lt;a href=&#34;https://twitter.com/soichisumi&#34;&gt;@soichisumi&lt;/a&gt;)です。&lt;/p&gt;
&lt;p&gt;今年は新規プロダクトの開発、転職、イベント登壇などいろいろありました。1 年の振り返りもブログに書いていこうと思います。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Stackdriver Traceと分散トレーシングフレームワークOpenCensusで処理時間を可視化する</title>
      <link>https://soichisumi.net/2018/12/stackdriver-trace-opencensus/</link>
      <pubDate>Thu, 20 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2018/12/stackdriver-trace-opencensus/</guid>
      <description>&lt;p&gt;本番環境でのみ起こるようなパフォーマンス問題の調査は、簡単ではありません。そのようなボトルネックの調査では、どの処理がどのような入力で時間がかかるかを特定することが重要です。&lt;/p&gt;
&lt;p&gt;本記事では、メトリクスの収集や処理のトレースを行うためのフレームワークであるOpenCensusとその可視化、分析サービスのStackdriver Traceを使ってGoのアプリケーションの処理時間を可視化する方法を紹介します。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Cloud Functionsにデプロイされている全ての関数を定期的に起こす</title>
      <link>https://soichisumi.net/2018/12/warmup-function/</link>
      <pubDate>Thu, 06 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://soichisumi.net/2018/12/warmup-function/</guid>
      <description>&lt;p&gt;Cloud Functions には、しばらく関数が使われないとスリープし、スリープ後、最初のリクエストの処理に時間がかかるという性質があります。関数全てを定期的に叩くことで、リクエストの処理に時間がかかってしまう問題を避けることが可能です。本記事では、Cloud Functionsにデプロイされている関数全てを定期的に叩く方法を紹介します。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Firestore の Go SDK でリアルタイムアップデートを取得する</title>
      <link>https://soichisumi.net/2018/12/firestore-realtime-update-go-sdk/</link>
      <pubDate>Sun, 02 Dec 2018 17:13:15 +0900</pubDate>
      
      <guid>https://soichisumi.net/2018/12/firestore-realtime-update-go-sdk/</guid>
      <description>&lt;p&gt;Cloud Firestore を使う利点の一つとしてリアルタイムに変更を取得できる点が挙げられます。公式ドキュメントでは Go SDK はまだサポートされていないと書かれていますが(2018/12/5 時点)、機能自体は SDK に実装されています (&lt;a href=&#34;https://github.com/GoogleCloudPlatform/google-cloud-go/releases/tag/v0.21.0&#34;&gt;v0.21.0 リリースノート&lt;/a&gt;)。本記事では、Firestore の Go SDK で Firestore のリアルタイムアップデートを取得する方法について述べます。&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
