KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

「gRPC」から「関心の分離」にたどりついた話


ハローつるたです。
ケイズで唯一エンジニアではないつるたです。

IT業界は専門用語のオンパレード。
知らない言葉に出会ったらその都度調べるようにしています。
調べれば調べるほど、さらに知らない言葉が出てきて
「これどこまでいくのかな~」と思うこともしばしば。

いちいち小難しい言葉で説明するのやめてほしいネ!
最近は私達が作ってるシステムで多用されている(らしい)「gRPC」を調べて、
芋づるモリモリ体験をしました。

まずgRPCを調べる。
(wikipediaはお友達!)

・gRPC

RPC(Remote Procedure Call)を実現するために、Googleが開発したプロトコル。Protocol Buffersを使ってデータをシリアライズし、高速な通信を実現できる点が特徴。
https://qiita.com/oohira/items/63b5ccb2bf1a913659d6

え。ぜんぜんワカンナイー。

・RPC(Remote Procedure Call)

遠隔手続き呼び出し
(引用:wikipedia)

よし、これは理解。(完)

・Protocol Buffers

インターフェース定義言語(Interface Description Language)で構造を定義する、通信や永続化での利用を目的としたシリアライズフォーマット。
(引用:wikipedia)

出た出た!

・インターフェース定義言語(Interface Description Language)

ソフトウェアコンポーネント間のインターフェースを記述するのに使われるコンピュータ言語。
(引用:wikipedia)

わざとかい?

・ソフトウェアコンポーネント(Software Componentry)

ソフトウェアシステムのさまざまな機能を、関心の分離によって分割したもの。
(引用:wikipedia)

キタ!関心の分離!

・関心の分離

プログラムを関心(何をしたいか)毎に分離された構成要素で構築すること。
(引用:wikipedia)

意外と言葉通りの意味なのね。いちいちそれっぽい言い方しないで!

・シリアライズ

1.ある一つの資源を、複数の主体が利用しようとするときに、それを調整して、一つの時点では一つの主体だけがそれを利用するようにすること。
2.ある環境に存在しているオブジェクト(のネットワーク構造)をバイト列に変換すること。

(引用:wikipedia)

2個意味がある。
今回の場合は 2 の意味があてはまるらしい。(かめいさん談)

ふぅ、やっとここまできたから、gRPCの意味をまとめるよ!

gRPCとは…

遠隔手続き呼び出しするためにGoogleが開発したプロトコル。
何をしたいかによってデータを変換するので、通信も早い!

こんな感じでしょうか。
(違うよ!って時はご一報ください)

少し頭がよくなった気がする…

つるたは レベルが あがった!
テレレレッテッテレー♪