Akamai x UNIQLOコラボのTシャツのデザインが、エンジニアからすると目を引くようなものだった。
本日、Akamaiは @UNIQLO_JP のチャリティTシャツプロジェクト「PEACE FOR ALL」に参画したことを発表4月21日(金)より グローバルで発売されます。このデザインには人々の安全、安心を守りたいというAkamaiの願いが込められています。https://t.co/HVxINmoEzd#AkamaiPeaceForAll #Uniqlo #アカマイ pic.twitter.com/dIS9YOQVZM
— アカマイ・テクノロジーズ (@akamai_jp) 2023年4月14日
Akamaiのリリース記事を読むと、
Akamai、ユニクロのチャリティTシャツプロジェクト「PEACE FOR ALL」に参画|アカマイ・テクノロジーズ合同会社のプレスリリース
このデザインに使われている「texture」というコードは、さまざまデジタル体験の裏側にある共通言語を表現しています。
と書かれており、どんなコードなのかさらに気になったので、解読してみることに。
写経
写真をみた感じGoっぽい感じがする。とりあえず写経してみる。
ぱっと見でわかったことは
- HTTPサーバっぽい
- channelが多用されていそう
- コードの右端が途切れてそう
- Goっぽいけどセミコロンがたくさんある(1行に書くため?)
くらいだった。右端が切れていることからコピペしただけでは動かないことがわかる。 整合性が取れていなさそうに見受けられる部分もありそうなので、補うだけではダメで、若干の修正も必要そう。
解読
ということで、前後の文脈を頼りに整合性をとりながら、コンパイルが通るようにしたコードがこちら。1時間くらい掛かってしまった。
何をするコードなのか
コンパイルは通るようにしたが、実行すると全てのgoroutineが停止してしまうため、panicする。 httpサーバっぽいコードだが、listenする処理などがないため、それはそうだろうという感じがする。
雰囲気から察するに /admin
と /status
2つのエンドポイントを持っていて、/admin
は
type controlMessage struct { Target string Count int }
このようなメッセージを受け取ったら何かの処理をするサーバのようだ。 /status
は処理中かどうかがわかるようだ。
それ以上の隠された何かは特に見つけられなかったので、知っていたら誰か教えてください。
このコードからの学び
statusPollChannel := make(chan chan bool)
チャネルのチャネル(chan chan
)という使い方は見たことがなかった(意識してないだけかもしれない)ので、確かにそういう使い方もあるかという学びになった。
何か特定の自分がリクエストしたものに対しての応答を待ち受けるような実装があれば使えそう。
ここまでやってから気づいたこと
Tシャツのハイライトされた文字だけ読むと、、ということなのか😇
感想
ここまでTシャツのデザインを凝視したことはなかったので、ユニクロに立ち寄った際にこのTシャツが売っていたら買おうと思う。