まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

2013/12

ブログネタ
2013年を振り返って一番印象に残った出来事は何ですか? に参加中!
ライブドアブログがこのテーマでブログを募集しているようなので乗っかります。

自分にとっては変化の大きな1年になりました。

8月に、転籍を含めて20年近くお世話になった前の職場を自分の意志で退職し、ご縁のあった今の会社に転職しました。以前とは全く異なる環境に移ったため、それまで身につけていたスキルや知識そのものは直接役に立たないことが多く、戸惑うことも多いのですが、その一方で以前から自分がやりたかったことをやらせていただく機会を提供していただいています。また新しい職場での周囲は年下ばかりで、とても新鮮でバイタリティに溢れ、モノ覚えがいいというか、モノ忘れが激しくないというか・・・で、影響を受けることも多いです。 忙しいながらも充実しています。

年の後半はこの環境の変化もあって、自分のフィットネス維持に時間が取れなくなったことは反省点です。とりあえず長年通ったフィットネスクラブを退会して、少し厳し目の所と契約して前金を多めに払っておきました。これで逃げ場はありません(笑)。自称「ダビデ像のようなカラダ」を今後も維持できるよう、来年も引き続きがんばります。



少し早いですが、来年の豊富も。

年の後半は以前の職場でお付き合いのあった方に引き続きお世話になる機会も多くありました。本当に有難いことで、とても感謝しています。

でも好意に甘え続けるのもよくないと思っています。自分のやりたいことをやりたくて外に飛び出したのですから、好意というぬるま湯に浸かり続けることなく、もっと自分を出していける年にしたいと思っています(そういうウェブサービスを作ろうとしている、とこの場で表明しておきます)。




 
 

これの続き。ほんの少しずつだけど進展がありました。
1回目2回目3回目4回目

前回は約半月前12/08 のエントリでした。状況を簡単におさらいしておくとこんな感じ:
・Google Wallet から見に覚えのない請求があり、登録しているクレジットカードから引き落とされた
・調べた結果、同様の現象が数多く報告されている
・原因はクレジットカードそのものがハックされたのではなく、Googleアカウントが流出した可能性が高い
・Google アカウントのパスワードを変えるなど、セキュリティは強化済み。その後同様の請求はない

で、前回のエントリではクレジットカード会社が「これから返金手続きをしてみます」って所でした。


進展というか、その後クレジットカード会社から連絡があり、「問題のあったクレジットカードを停止しないと返金要請は受け付けない、と◯ISAが言っている」とのことでした。今度は V◯SA を持ちだしてきたか、って感じ。自分の印象ではこの担当者(だけの問題じゃないかもしれないけど)は Google にせよ、◯ISA にせよ、相手から言われたことを交渉なしにそのまま俺に伝言してくる人、って感じ。こいつをすっ飛ばして俺が交渉するわけにはいかんのか?前にも書いたが流出元は Google の可能性が高いので、カードを変えてもセキュリティが強化されるわけじゃないのに・・・ まあとにかく◯ISA はそういうことらしい。 わかった、次からはお前の所じゃないクレジットカード会社で作った JCB をメインカードとすることにする。 ついでに、実は自分はその会社の株主だったのだが、その株を売って縁を切る決心もついた。今までどーもありがとよっと。

長年使ってきたカードをメインから外すのは手続きが色々面倒だけど、まあ「潮時」なんだろう。で、やっと返金要請をしてもらうことに。ここまで1ヶ月半、なんでこんなにかかるわけ。。。

なんか、もともとはブログエントリのタイトルにもあるように「Google Wallet の不正利用」に関する報告エントリだった。当初は Google もわけわからない対応だったけど、英語で本部チームと連絡を取るようになってからは、すごく真摯に対応してくれた。その一方で「GMail のアカウントを変えろ」とか言ってくるクレジットカード会社の対応は・・・でいつの間にかクレジットカード会社の悪口ばかりになってしまったw そのせいか、俺のアカウントを流出させたと思われる Google の方が好印象を残す、という皮肉な結果になりつつある。


希望的観測では次回のこのエントリで「返金されました」報告をしたいところ。何ヶ月先になるか分からないけどね。




先日のこのブログエントリの続きであり、こちらのブログからのリレーブログでもあります。

ちょっとした隙間時間や空き時間をプログラミングに活用したい、そんな想いから先日の「通勤プログラミング」を書きました。 今回のテーマはその上級編、「脳内プログラミング」です。
nonai


私は暗算とか苦手ですが、あんな感じなんでしょうかね。与えられたテーマに対してプログラミング環境や(ケースバイケースですが)紙&鉛筆もなしに、頭の中だけでアルゴリズムを組み立ててコードに書き起こしていく、という作業です。

私自身、コードに書き起こすとなるとそれなりの準備というか道具が必要になりますが、「ランニングしながらアルゴリズムを考える」のは結構やってます。走る苦痛を妄想でごまかしているだけですけど。 あと会議中の「明らかに自分は関係ないなあ・・」という話題の時も、脳内ではシステムの設計してたりアルゴリズムを考えたりしてることはあります、はい。

悪く言えば職業病なんでしょうけど、よく言えば刺激的で楽しいから自然とやってる、という感覚です。その意味ではソリティアとかクロスワード、クイズに近い感覚なのかもしれません。


で、そんな脳内プログラミングですが、「そもそも何をプログラミングするの?」という方もいると思います。 もちろん脳内でできる範囲のプログラミングなので大規模な内容のは無理でしょう。上でも触れましたが、ちょっとしたクイズ感覚で空いた時間を健全な妄想で過ごす、というものです。この「ちょっとしたクイズ感覚」になるようなプログラミングのネタを探すのが簡単ではないのかもしれません。


で、そんなみなさんに私から提案。「CodeIQ やってみませんか?」

CodeIQ(コードアイキュー)はエンジニア向けのプログラミングチャレンジサイトです。与えられたお題に(多くの場合で)プログラミングで回答します。プログラミング言語の条件があるものやないものもあり、単に解ければいいものだったり、その実行速度が求められたり、なるべくコンパクトなコードに仕上げる必要があったり、、、と多くの問題から自分が解けそうなものを選んで挑戦できます。その結果フィードバックを見て、エンジニアとしての自分のスキル確認もできます:
https://codeiq.jp/

各設問の難易度にもよりますが、CodeIQ の問題を解くこと自体は(回答条件を満たしているかどうかはともかく)かなり簡単だと思っています。出題内容そのものは覚えられる程度で、そのロジックを頭の中で考えて、で時間のある時にコードに書き起こす、と。言ってみれば「脳内プログラミングにピッタリ!」だと思っています。

以上、僕が少し関わっている CodeIQ の宣伝でした(笑)。









一度、この話題でブログを書いてみたかった。

私は業務でもシステム系プログラマーですが、それとは全く別に、プライベートでも自分のためのウェブサービスを作ったり、たまにそれを公開したりしています。 ただ平日はほぼ朝から夜まで業務に携わっていて、プライベートでのプログラミング時間はかなり限られています。

そんな自分の時間をなるべく有効にプログラミングに充てるため、必然的に思いついたのが「通勤プログラミング」です。通勤時間をうまくプログラミング時間として活用しています。

ただ通勤プログラミングにはいくつか条件があります。まず「座れる」こと。座ってノートPCを取り出して膝の上でキーボードを開いて・・・というスタイルなので、立ったままではちと難しいです(まあ立ったまま「脳内プログラミング」をすることもありますが、こちらはかなり上級編だと思ってます)。いかに座席を確保できるか、というのも非常に大きな要素になります。私自身は電車の始発駅に居住していることもあって、「駅で少し待てば座れる」立場です。座ってしまえば最初の乗換駅まではプログラミングに充てられるため、それなりの時間を確保できます。

次に「通信手段の確保」も必要になることが多いです。駅にいる間は公共 WiFi を使えるケースもあるかもしれませんが、通勤での移動中はそうもいきません。タブレットで開発できるものであればタブレット自体の通信機能が使えるかもしれませんが、Eclipse を使うなどの本格的なプログラミングをするとなると現状はタブレットではなく、まだノートPCが必要になってきます。そしてノートPC単体では通信機能を持っていないケースがほとんどだと思うので、WiFi ルータなどのいわゆる「テザリング」環境を用意する必要があります。 プログラミング自体は通信なしでも可能ですが、サーバーアプリの動作を確認したり、デバッグやログを見る目的でサーバーインスタンスにリモートログインしたり、分からないことをちょっとググって調べたり、という際にネットワーク環境が必要になったり、あると便利だったりするので、この通信手段が確保できるかどうかも効率に影響します。

最近は「限られた短時間内で何をするのか?」を明確にしておくことも大事だと分かってきました。業務ではプログラミングに集中していて気が付くと1~2時間経っていた、なんてことも珍しくないのですが、通勤で座っていられるのは自分の場合はせいぜい30分程度です。この時間内に区切りが付くことをする、その1回のゴールを明確にしておくことも大事です。当たり前のことですが、この30分はプログラミングというか、コーディングのためだけに使いたいので、そのためにも前提となる設計や方針など座っていなくてもできることは可能な限り事前にまとめておき(あるいはプラットフォームで待っている間に脳内で行なっておき)、座ってノートPCを開いたらコーディングに集中する、というスタイルが理想です。

余談ですが、この超短期的なゴール意識は普段の業務にも好影響を与えているように思います。設計の時間と実装の時間を明確に分離することで、コミュニケーションを取る時間と一人で集中する時間のメリハリを付けるようになりました。集中できる時間はどうしても限られてしまうのですが、このスタイルを続けることで逆に集中しない時間をうまく活用できるよう、意識が変わってきていると感じています。

と、まあ簡単ですが、僕の通勤プログラミングはこんな感じ。 プログラミングに限らず、通勤中にノートPCを広げる人はたまに見かけるので同じようなことを考えている人はいるかもしれません。また、なるべく腕を動かさず、キーボード音もならないよう心掛けているつもりですが、それでも迷惑に感じている人がいるかもしれません。申し訳ないです。

本当は通勤プログラミングを快適に行う(笑)ためのアイテムやらコツやらにも触れたいのですが、それはまた別の機会に。こんな通勤プログラミングをしている人が他にいらっしゃるようであれば「PCは何使ってるの?」とか色々お話ししてみたいです。





 

アマゾン(http://www.amazon.co.jp/) のトップページの文字コードは Shift_JIS でした。
ama1
 
ここで検索ボックスにキーワードを入れて検索してみると、その結果ページの文字コードは UTF-8 ・・・
ama2

更に検索結果から1つ選んで詳細ページに移ると・・・ 今度はまた Shift_JIS でした。
ama3

いっそ最後は EUC-JP にでもすればいいのに・・・
 

このページのトップヘ