jigインターンのみなさん、進捗どうですかー?
勉強会での経験を元に、フロントエンド、バックエンド、それぞれ分担しての開発。JSON(ジェイソン)でハマったという声があったので、少し解説。
JSONとは、JavaScript Object Notationの略で、JavaScriptのオブジェクトの表記方法を元に作られたテキストベースのフォーマットです。 同じテキストベースのフォーマット、XMLと違って仕様がシンプルで人間にも読みやすいのが特徴です。
CSVとの違いは階層構造の表現ができるところ。入れ子になっているデータ構造も表現可能です。逆に、入れ子がなく、ほぼ同じ項目がずらっと並ぶ配列はCSVにした方が軽くて、Excelなど表計算ソフトなどで開きやすくなります。 CSVで表現できるものはすべてJSONで表現できます。(CSV.jsを使えばJSONとの相互変換は簡単!)
ハマりやすいポイント1。JavaScript内での表記とちょっと違う。
正しくは、こちら
JSONの方が厳格なので、JSONフォーマットはJavaScriptではそのまま使えます。
JavaScriptオブジェクトとJSONの相互変換。
JavaScriptオブジェクト → JSON
ハマりやすいポイント2。文字列になることを忘れずに!
下記のように日時を表すデータをJSONにすると・・・
元のDateオブジェクトとして使いたい場合、new Date("2021-08-17T23:17:16.916Z") などと再度オブジェクトを生成する必要があります。
大きくても小さくても、気軽に保存したり送ったりできるJSON、楽しく使っていきましょう!
情報セキュリティ好きもいる、jigインターン2021夏。掲示板といえばどう荒らし対策をするかが気になりますよね!
電子署名(HANKO)を使った対策も、今風でおもしろいかもしれません。
「HANKO」src on GitHub
前回はEd25519のWebAssembly版で作ったHANKOを、AES-GCMで使ったオープンソースforge内のed25519.jsを使って再実装。
HANKO_ID: ea687927de2d824363b2b1cbc62d1c42ab7a0bd79d26574b816b4f60c05d1e36
メッセージ: jigインターン2021夏、スタート
電子署名: 2719b28c34e89d9c843799d12f022a4216af0b078c477505e7ff3335b4ae1f7c1b4c51c13d551ebbcc691eae38d0c7c7d4094791010a56badcf3b8653b0af006
こちら入れると検証できます。メッセージなどに少しでも改竄あれば、検証に失敗します。
使用したライブラリ、forge-es(src on GitHub)に、ECCを使った鍵共有ECDHもあれば完璧なんだけど・・・。
電子署名はネット時代のハンコ!原理は難解な数学でややこしいですが、使うのはシンプル。いろいろ遊んで学ぶ、情報セキュリティ。
2日目のjigインターンブログ、5チーム分、更新されてます!
「⭐jigintern diary⭐」