【ChatGPT】エンジニアが開発業務にChatGPTを使ってみた感想
ポストネッコ
アソビアソート
以前、WordPressの権限データが連想配列をシリアル化したものだということを突き止めました。
このおかげで権限周りの実装の幅が広がりました。
ところで、WordPressを基盤としたWebシステムを開発しているとバックグラウンド処理をPythonに任せたいときがあります。
PHPでも可能ですが、単独のプロセスとして実行したときWordPressのDB操作に特化した$wpdbオブジェクトが使えなかったので断念しました。
しかし処理にユーザー権限が絡むと、PHP特有の形式でシリアル化格納された権限データをDBから取得してPython上で値に戻したり(アンシリアライズ)、Pythonの変数をPHPと同じ形式でシリアル化できるのかという懸念材料があります。
そこでPythonでもPHPのserialize、unserializeができないかChatGPTに聞いてみたら、なんとライブラリを教えてくれました。
PHPのserialize、unserialize関数に相当する処理をするライブラリは「phpserialize」というそうです。
次のコマンドでインストールします。
1pip install phpserialize
ChatGPTが出力してくれたサンプルを実行してみます。
まずはシリアライズされた権限データを変数にしてみます。
1import phpserialize
2
3serialized_string = 'a:1:{s:6:"editor";b:1;}'
4value = phpserialize.loads(serialized_string.encode('utf-8'))
5print(value)
6
7# 出力結果
8# {b'editor': True}
OKですね。
次は反対に辞書型の変数をシリアライズします。
1import phpserialize
2
3data = {'editor': True} # 例としてPythonの辞書を作成
4
5serialized_data = phpserialize.dumps(data)
6print(serialized_data.decode('utf-8'))
7
8# 出力結果
9# a:1:{s:6:"editor";b:1;}
こっちもOKですね。
PHPのserializeと同じ結果になりました。
ChatGPTは主に実装が面倒なコードの生成に使っていましたが、適したライブラリがある場合は教えてくれるんですね。
また1つAIの使い方を覚えることができました。
収穫 収穫!