FizzBuzz問題というのをやってみる


 調べ物でネットをふらふらしてたら、「プログラマの採用時にFizzBuzz問題ってのが便利です」とかいうのを見付けて、どんな問題だろうと思って恐る恐る見てみた。

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

 …え?

for ( 1..100 ) {
  print if $_ % 3 != 0 and $_ % 5 != 0;
  print "Fizz" if $_ % 3 == 0;
  print "Buzz" if $_ % 5 == 0;
  print "\n";
}

 こんな感じでいいんだよね?
 最初ちょっと仕様を読み間違えたけど気にしない(笑)。真面目に速度を出せ、とか言われたらもう少し悩みそうだけど。

 つーか、プログラマには本当に簡単に解けるのに、プログラマ以外にはえらい時間掛かったりするらしい。そういうものなのかー。面白いなあ。
 でも、俺が(何故か)採用する側になった時って確か、適当な二枚の絵をクロスフェードさせるコード書いてきて、とか言ったような気が。何でもいいんだよな。そして出来なかった人を採用した気もする(笑)。その人は確か半年後くらいにアドベンチャーゲームのシステム一本きっちり書き上げてたから問題無いよな。無いよね。


コンパイラ頑張れ超頑張れ


 いよいよこいつはSFINAEの出番か、と思ったけど、何かやっぱ新しい機能っぽい香りが漂いまくってるんでやめた。
 大体、アセンブラマクロみたいなC言語をベースにメタプログラミングとかまで取り込もうってんだから無理があるに決まってるんだ。無理と設計ミスだらけなのは分かり切ってるが、それがまた好きなんだという部分もあるかもしれない。386の仕様が286の影響でぐちゃぐちゃしてるのとか好きだしな。だが8086の64k境界は許さない。
 絵とかも、好みのタイプの人はもがいてるような絵が時々(または頻繁に)出てくるんだよなあ。完全に楽になっちゃってる人の絵は大抵面白くないっつーか即飽きる。ただ往々にして前者のタイプは悩みすぎて描かなくなるのだが。


メモリバリアうぜえ


 インデックス変数の書き換え前だけバリア張ってたけど、もしかして書き換え後にもバリア要るんじゃねーのかと思ったので書いた。まあ、状況的に恐らく両方とも書かなくていいんだが。
 あと、何でもかんでも_ReadWriteBarrier()じゃなくて、_ReadBarrier()や_WriteBarrier()も使い分けたい気もするんだけど、いまいちよく分かってないし。
 まあ現状だと吐くコードも変わらんのだし、必要になったら覚えよう。実際に必要な状況なら、適当にテストコード書いてコンパイル掛ければ簡単に覚えられるんだしな。


文字参照うぜえ


 コードの引用が多くなると、t2t_pipe&lt;int&gt;とか書かなきゃいけないのをt2t_pipe<int>と書いちゃって、<int>のとこが消えてただのt2t_pipeとしか見えなくなって困る。しかも気付かないんでうざい。
 しかもこの文章を書く為には、冒頭のとこは「コードの引用が多くなると、t2t_pipe&amp;lt;int&amp;gt;」とか書かなきゃならなくて激しくうざい。しかもこの略。
 まあ、勝手に変換してくれるモードとかもありそうだけど、それだとタグを直接埋められないとかありそうだから、結局このまま行くんだろうけど。


WordPressが楽だけどうざいけど楽


 何か自動更新とかあるんですよ。
 管理画面に入ると、最新版あるよーアップデートしようぜー、って出てて、そこからクリック数回で自動更新。最初に自分とこのFTP鯖とかIDとかパスワードとか入れとくだけ。素晴らしい。
 でも、更新には数分は掛かるし、結構ちょくちょく更新されるし、「ネタもある気がするし何か書くか」って気分の時に出るからうざい。
 でも、書き上げてから自動更新掛けりゃいいし、セキュリティアップデートも止まってるようなのよりはずっといいし、やっぱ楽だよなあ、と思い直したのであったことよ。