シリアライズ
シリアライズ seralize (しりあらいず)
「シリアライズ」とは、「シリアルにする」ということ。
「シリアルである」とは、字義的には、「一本の直線的な状態である」ということ。
つまり、もともとは「一本の直線」とは言えなかったような複雑な構造物を、「一本の直線」として表現すること。
...と書くだけだと、抽象的すぎて分かりにくいが、「シリアライズ」はそもそも何のためにするのかという話をすれば、もう少し話が見えやすくなるかもしれない。
「別の機器やシステムに、手元のオブジェクトについての情報を送信したい」というニーズがしばしば発生する。
そのときに、オブジェクトそのものを送信するのではなく、オブジェクトについての情報の一部のみを、文字情報に変換し、それを転送する。
「シリアライズ」とは、この「文字情報に変換する」のような、「一本の直線」にする作業のことである。
たとえば、この用語集内の「イテレート」という言葉についての解説の情報は、サーバ内のデータベースに格納されている。
それを、Pythonが取り出してクラスのインスタンスとして利用している。
このウェブページでは、「イテレート」という言葉についてデータベースに格納されている一連の情報を表示したい。
ただし、たとえばPythonクラスのインスタンスの情報をそのまま送信したとしても、ウェブページへのデータ送信量が必要以上に多くなる。
また、それでは受け手側がPythonクラスのインスタンスの情報を受け取って解釈する仕組みがなければならず、受け手側に必要な用件が重たくなる。
このような問題を解決すべく、Python側で、以下のようなJSON形式のデータに「シリアライズ」してからウェブページに送信する。
{
'id': 9,
'slug': 'iterate',
'term': 'イテレート iterate',
'kana': 'いたれーと',
'text': '要素を順番に処理していく反復作業のこと。関連の言葉として、「イテラブル(iterable)」→「反復可能」などがある。',
'refer_to': None,
'created': '2022-02-10T10:11:12+09:00'
}
これにより、ウェブページは、必要な情報だけが含まれた単純な形式のデータを受け取ることができる。
そして、ウェブページは、この情報を元に、このページに表示するコンテンツを生成する。
「シリアライズ」は、オブジェクトに関する情報を別の機器に情報を伝達するニーズがあるこのような状況でされることが多い。
掲載用語一覧:
TOPへ(新着順に表示できます)i18n
アセンブリ言語 (assembly language)
アンスコ
イテラブル (iterable)
イテレート (iterate)
イミュータブル (immutable)
インスタンス (instance)
WSGI
ウェルノウンポート (well known port)
API
SQL
m17n
MTVフレームワーク (mtv framework)
MVCフレームワーク (mvc framework)
l10n
LTS
演算子 (operator)
オブジェクト指向プログラミング (object oriented programming)
仮想環境 (virtual environment)
関心の分離 (separation of concerns)
git
github
キャメルケース (Camel Case)
クッキー (Cookie)
クライアント (client)
クラス (class)
クラスの継承 (class inheritance)
CRUD
ケバブケース (kebab case)
高階関数 (high order function)
コンパイラ (compiler)
サーバ (server)
CMS
JSON
識別子 (identifier)
辞書 (dictionary)
車輪の再発明 (reinventing the wheel)
シリアライズ (seralize)
スネークケース (snake case)
セッション (Session)
多重継承 (multiple inheritance)
dunder
ディストリビューション (distribution)
デシリアライズ (deserialize)
DRY
認可 (authorization)
認証 (certification)
パスカルケース (Pascal Case)
ハッシュ (hash)
バッテリーインクル-デッド (battery included)
バリデーション (validation)
引数 (argument)
ビルトイン (built in)
フレームワーク (framework)
プロトコル (protocol)
ポート番号 (port number)
メソッド (method)
メンバー (member)
UUID
ライブラリ (library)
LAMP
リクエストメソッド (request method)
RESTful
レンダリング (rendering)
この用語集はこんな人が書いています
2025年05月14日 10:40
小川 慶一さん
2025年05月14日 09:33
AIユーザさん
2025年05月14日 09:33
jinoseさん
2025年05月14日 09:32
AIユーザさん
2025年05月14日 09:32
jinoseさん