タグ

jsonとTOMLに関するdiet55のブックマーク (2)

  • Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog

    2018年新卒入社し、SOCにてインフラ管理を担当。その後、マルウェア解析や検証業務などに従事。2022年度からは、社内のSREチームにて兼務を開始。主な保持資格は、CISSP, OSCP, GREM, GXPN, RISS, CKA, CKSなど。バイナリを読むのが好きで、一番好きな命令はx86の0x90(NOP命令)。 はじめに 私は、業務でマルウェア解析のようなリバースエンジニアリングをしており、業務効率化のために自作ツールを作ることがあります。皆さんは自作のツールの設定ファイルに、どのようなファイル形式を利用していますか。昨今は、KubernetesやAnsibleなどで用いられるYAMLや、フロントエンド界隈で頻繁に利用されるJSONなどが多い印象です。そんな中、今回はTOMLと呼ばれるファイル形式の紹介をします。プログラミング言語Rustのパッケージ管理ファイルに利用されていた

    Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog
    diet55
    diet55 2023/01/23
    TOMLは「Windowsでよく用いられるINI形式と似ており」「YAMLと異なり、階層が深くなることがない」「JSONと異なり、コメント機能を有する」/※参考:書き込みについて→11/10 gihyo.jp https://gihyo.jp/article/2022/11/monthly-python-2211
  • Python 3.11から新たに仲間に加わったTOMLパーサー | gihyo.jp

    いずれの形式でも、簡単なデータを表す場合はそれほど違いがありません。同一のデータがそれぞれのフォーマットでどのように表現されるか、簡単な例を使用して見比べてみます。 TOMLでは以下のように簡潔に表現できます。 [app] app_name = "example" environment.NAME = "sandbox" environment.VERSION = "0.0.1" volumes = ["vol1", "vol2"] YAMLでは以下のようになります。このデータにおいてはシンプルで可読性も悪くありません。 しかし、YAMLはインデントを使用してデータ構造を表現することから、ネストが深くなってしまうことがあります。ネストが深くなると可読性が悪くなり、インデントがずれてパースエラーや意図しない階層構造で読み込まれてしまうことがあるので注意が必要です。 app: app_name

    Python 3.11から新たに仲間に加わったTOMLパーサー | gihyo.jp
    diet55
    diet55 2022/11/10
    「YAMLはインデントを使用してデータ構造を表現することから、ネストが深くなってしまうことがあります。」「JSONは波括弧でデータの括りを表現するため、複雑な構造になるほど波括弧の位置に注意して書く必要があり」
  • 1