またまた再開

例年通り、
三日坊主的にブログの更新がおろそかになっていたのだけれど、
まーふただび書き始めてみようと思う。


今年の目標は、3点。
「人に伝える技術を磨く」
「時間管理をもうちょいうまく」
「他の人のつくったものを意識的に見る」


ブログを書くのはもしかしたら、以上のコトを実現するのに、
結構有効なのではと思う。


とりあえず、現在、上の3点に関して、
自分が不満に思ってることを列挙しておく。
■メールの記述が遅い。
最悪だと一つのメールに1時間かかったりしてる。
#今日もmixiのメールの返信で気がついたら1時間くらいかかってた。。。
他の人のスピードをまともにみたことないから、
わからないけれど、もうちょい早く書けるようになると、いいなあと思う。


■思ったことを文章で伝えるのが下手。
上のメールのことと関連。
仕事でも、友達とのコミュニケーションでも、活字によるものがメイン。
表現のはばとか広げたい。
口で伝えるのも下手だけど、まーそれもおいおい。。。


■考えがまとまるのが遅い。
考え方の問題もあるが、
たぶん、まとめたりする回数が少ないからだと思う。
簡単なjことであれば、もうすこし脊髄反射的にまとめたい。


■一日の中で、まだまだやりたいことが全部できてない。
時間管理だけの問題ではなさそうだが、
とりあえず、もう少し使う時間とかのブラッシュアップを。
やることを絞るのも重要か。。。


■結構自分の中だけで考えてることが多い気がする。
外からの刺激をもう少し有効に取り入れられたらと思う。


ってなわけで。

【perl】配列からプレースホルダを作る

いい加減perlにも慣れてきたんで、
そろそろmapとかgrepとかバリバリ使いこなして
ソースのスピード化を推進していきたいと思う今日この頃。

とりあえず、今日は効率のいいプレースホルダの作り方について。

たとえば、

my @arr = (foo1 foo2 foo3);

から

INSET INTO TABLE(col1 col2 col3)VALUES(?,?,?);

のようなSQLのプレースフォルダを作る場合。

今まで。。。

my $param ='';
foreach my $val (@arr) {
$param .= '?,';
}
chop $param;


今日は

return substr('?,' x @arr, 0, -1);


でやってみた。

かなりシンプルだし、早くなった気がする。

けど、ソースの意味がわからん。
(出所 -> 配列から効率良くプレースホルダを作る

substr はなんとかわかるけど、x ってなに?
どっかで見たことあるような気がする。
でもどんな演算しだったかいまいちわからない。
で、調べた。


やっぱり、ポイントは「x」だった。
「x」 は 「String repetition operator」というもので、
文字列繰り返し演算子(?)というものらしい。
(Learning Perlより)

'?,' x @arr

という文脈の場合
'?,'を@arrの個数分繰り返すという意味らしい。

なるほど。
それでsubstrで最後の余分な','を取り除いて完了ってわけですな。

感謝

人に感謝されるというのは、
やっぱり、
気持ちいいもんだ。

18日に昔のバイト先の連中で集まって飲んだんだけど、
そのときの、僕の挙動に感謝を言われた。

単純にあいつとあいつがもっと話せるようになると、
いいんろうなとか思って、
勝手にうごいただけなんだけど。。。

ひとに感謝されるように動くように動くのも良いなと思う。