ヌンタコのプログラミング学習ブログ

フィヨルドブートキャンプ37期生

Base64.decode64がMarshal.loadできないと怒られている

ここまでやったこと

sinatraの練習だと思って、こちらの書籍に沿ってwebアプリの作成をもくもく進めた。

で、この書籍の7章、cookieの使い方でつまづく。

何をした?

人とおりやっていることと詰まっていることはteratailに書いてみた。 解釈が合っているのかは自信がないけれど、 なんせ自分でできる範囲のことは調べたけれどお手上げ状態。

teratail.com

そもそもMarshalやencode とdecodeについて

エンコード・デコード

クライアントとサーバーのHTTP通信のやり取りで、1回のみのやりとりをセッションという。 そのセッションを継続して行いたい場合というのは例えばネットショッピングをしたときなどである。

ログイン情報を保持しつつ、色々な商品のページにアクセスする。 商品を購入するときはさまざまな商品ページの情報を一つのアカウントに紐づけて通信履歴を保持しておく必要がある。 それをセッション継続という。

このセッションを継続する際にはセキュリティ面を考慮する必要がある。

すごく色々端折るけど、通信やり取りを安全に暗号化させてしたいよね、ということで本番ではSSL環境を構築する。

けれども。SSLの概念理解として暗号と暗号解読キーのセットで情報を読み取れるような通信環境にしたいですね、試しにやってみましょうか。 という流れからエンコード・デコードの話に進む。

tech-unlimited.com

読むより実際に使ってみたほうが早い。

Marshalデータとは?

docs.ruby-lang.org

考えられる問題・・・

多分ASCII文字じゃなくてUTF-8になってるのが問題かなと思っている。 ただASCIIに変換する方法を模索中。

しかもこれが解決策にならないなら「詰んだ・・・」ってなってしまうかもしれない。

もしくはsessiontest.rbcookie値がうまく引き継げていないかとも思い出した・・・。

ほんと詰まるとずっと詰まる

これは長期戦だなと感じている。 早く脱出したいな^^;