2009年02月27日

コード量を減らす方に

昨日はヘキサドライブ創立記念日バースデー
そして、パーティーは来月予定とのことexclamation
それを楽しみにしつつも・・・・
我々プログラマーは今日も最適化ですexclamation×2
あ、本日担当のハラです手(チョキ)

前回に引き続きRuby言語を使って
コード量の最適化をしてみたいと思います。
まずはCSVファイルの読み込みでするんるん

require 'csv'
CSV.open("sample.csv", "r").each do | row |
p row # CSVの1行を出力しています
end

以上で読み込みと内容の出力は完了です。
4行・・・なかなかの少なさではないでしょうかexclamation&question
この先は、出力している部分を
必要とする機能に変えていくだけですね。

引き続いてYAMLファイルの読み込みでするんるんるんるん

require 'yaml
require 'pp'
# YAMLを読み込む
data = YAML.load(File.open("sample.yaml", "r"))
# データを表示する
pp data

以上で読み込みと内容の出力はOKです。
コメントを含めて6行、十分な少なさになったと思います。
ちなみに、↑の「sample.yaml」の中身と出力結果は
↓の通りです。

<sample.yamlの中身>
- name: sample_data
date: 2009/02/27
string:
- apple
- orange
number:
- 123
- 45678

<出力結果>
[{"name"=>"sample_data",
"number"=>[123, 45678],
"date"=>"2009/02/27",
"string"=>["apple", "orange"]}]

YAMLを読み込んだ後は、
配列と連想配列を組み合わせたデータ構造になります。
複雑な構造のデータが必要な場合は、
CSVよりこちらの方が向いているかもしれませんねひらめき

こういう形の最適化ができるスクリプト言語。
ちょっと魅力的に感じてきませんか?

次回は、残っているXMLも読み込んでみたいと思います。

posted by 管理人 at 13:35 | Comment(0) | ソフトウェア紹介

2009年02月26日

2周年!!

こんにちは、松下です。

本日は、2月26日。
2・26といえば、事件ですよね!

そう、皆さんもご想像の通り、本日は、
ヘキサドライブ設立記念日
です!

本日から設立3年目に入ります。
つまり、2周年記念となります。

去年は屋形船で貸切パーティをしたのですが、
今年のパーティはお仕事の都合で来月になりそうです。


振り返れば、この一年、あっという間でした。
新事務所への引越し、
さらなるスタッフの増加、
新しいプロジェクトの開始、
など、様々な事がありました。


スタッフをはじめ、クライアント様、
アドバイスをして頂いた先達の方々、家族、友人。
様々な人のご助力により、本日を迎えることが出来ました。

改めて御礼申し上げます。
ありがとうございました。
そして、これからも宜しくお願いします。


それでは3年目も、ヘキサドライブの更なる飛躍を目指し、
全社一丸となって、より良いコンテンツ作りに取り組んでいきます。

今後とも宜しくお願い致します。

posted by 管理人 at 13:06 | Comment(0) | 日記

2009年02月25日

ハッピー○○

こんにちは、ケイタですわーい(嬉しい顔)
2月も終わりに近づいてきて、だんだん暖かくなってきて
きましたねるんるん
そのかわり花粉も多く飛んできているようです。
花粉症の方は出かけるときに花粉対策をお忘れなくexclamationパンチ

さて、少し前の話になりますが、2月と言えば大きなイベント
としてバレンタインデーがあると思います。
今年は男性が女性にチョコレートを贈る「逆チョコ」も
流行したみたいですねぴかぴか(新しい)

実は、マーシーの誕生日も2月でしたひらめき
去年僕の誕生日に素敵なプレゼントを貰ったので、
マーシーの誕生日にお返しをと思い、こんなものを贈りました。

プレゼントかぶと虫成虫チョコレートプレゼント
(※虫が苦手な人は注意してください)
20090225_present.jpg


せっかくバレンタインデーと同じ月なので、何か面白い
チョコレートはないかと思っていたところに見つけたのが
この成虫チョコレートでした。
もちろんマーシーは喜んで受け取ってくれましたよわーい(嬉しい顔)

最近ブログで熱い「最適化」としては、バレンタインとバースデイ
プレゼントを「並列実行」したということで・・・あせあせ(飛び散る汗)
それでは、ケイタでした手(パー)

posted by 管理人 at 21:57 | Comment(0) | 日記

2009年02月24日

最適化?

こんにちは、マーシーです目
最適化についてみなさん熱く爆弾盛り上がっていますので、私も個人的に最適化できた話をさせてくださいわーい(嬉しい顔)

ヘキサドライブは大阪西区本町にあります。
で、私はいつも奈良から一時間以上かけて電車通勤電車をしているのですが、今年に入ってから近鉄からJRに路線を変更しましたひらめき

奈良から大阪に行くためにはいくつかのルートがあります。
今までの近鉄ルートだと乗り換えが西大寺→生駒→本町と二度発生していました。
しかし、JRルートだと天王寺→本町と乗り換えが一度ですみますぴかぴか(新しい)

ただ、JRルートは近鉄ルートに比べ、家から駅、駅から会社への距離が大幅に延びてしまいます。

この辺りはトレードオフといったところでしょうか?

とはいえ自分にとってこの問題は特に苦になるわけではありません。
朝歩くのは気持ちいいですし、なにより無駄な脂肪が少しでも燃焼されているのですから。
自分自身にも最適化がかかるというわけですぴかぴか(新しい)

…一応言っておきますが、
決して健康診断の体重が危ないとかメタボ検診がどうしたとか関係ありませんからね!

posted by 管理人 at 20:11 | Comment(0) | 日記

2009年02月23日

続・続・最適化

こんにちは。さいやん、こと齊藤です。

最適化の話が盛り上がっているので、私もこの流れに乗ってひとつお話をわーい(嬉しい顔)

毎回注文を言わなくても「いつもの」が出てくるのはさしずめ"キャッシュ"、注文すらしなくても出てくるのは"分岐予測とプリフェッチ"、複数のことを同時に行うのは"並列化"といったところでしょうか。

人それぞれ生活の中での最適化を楽しんでいるようですひらめき

私の生活の中でも最適化を行っていることがあるのですが、私の場合は「高速化」にあたるでしょうか。

私のライフスタイルでは見たいTV番組を生で見ることが少なく、基本的には録画したものを見ることが多いのですが、見る時に倍速再生で見ています車(セダン)ダッシュ(走り出すさま)
家にいる時はレコーダーで、外出時はPSPで録画した番組を見ているのですが、どちらにも高速再生機能があります(PSPはx0.1単位で速度調節できて便利ですひらめき

1時間番組でも30分で見終えることができるので、録画番組を見る時間がそれまでと比べてグッと短縮されました。
お笑いなんかの、 " 間 " が大切な番組はこの見方だと堪能できないんですけどねふらふら

ただ、再生速度が速いと番組の流れが速いですので内容についていったり聞き逃さないようにするにはそれなりに集中して見ないといけません。
この状態で他のことをやりながらの並列化をするのは難しく、シングルコアな私にとってはCPUパワーを一つに注ぐことによる高速化といった感じでしょうか。

見る、といえば去年最強の最適化を実行しました目
以前まで私はメガネやコンタクトなしでは手元ですらぼやけて見えるほどの近眼でしかも乱視も強かったのですが、視力回復手術(LASIK)を受けたのですexclamation
朝晩のコンタクトの付け外しや、日中の目への負担、ゴミが入って泣きそうになったりと以前はとても煩わしかったことが今は一切なくとても快適ですぴかぴか(新しい)
もはやソフト面というよりはハード面に手を入れていますので、若干最適化としては微妙なセンではありますが猫

posted by 管理人 at 17:58 | Comment(0) | 日記

2009年02月20日

続・最適化

こんにちは晴れ
イノウエです手(チョキ)


今日は、最近の最適化日記に対抗・・・
もとい、リンクして、今日は私の最適化話をしますいい気分(温泉)


ゲームプログラマには、日々のプログラムや勉強は欠かせませんが
同じくらい、ゲームをプレイする事も欠かせませんパンチ

しかし、やるべきこと、やりたいことで人生は溢れかえっています。

そこで!!
最近では、プログラマらしく並列処理を行い、最適化を図っていますグッド(上向き矢印)

テレビを見ながらインターネットで情報を集め、
参考書や漫画や小説を読み漁りながら
オンラインゲームにつなぎ、携帯ゲーム機で遊びつつ・・・

と、スレッド立ち上げすぎて、どれがメインかわかりませんねあせあせ(飛び散る汗)

限られた時間を有効に使おうという試みは、
プログラムで行っている事と同じで、
なんだかワクワクお得な気分になりまするんるん


結婚してからは、家に帰るとご飯があったりお風呂がわいていたり・・・
ちょうど食べたい物だったり、入浴剤が気分に合っていたりして・・・
もしや、これも最適化exclamation&question

いや、少し違うかたらーっ(汗)
いつもありがとうわーい(嬉しい顔)

posted by 管理人 at 11:09 | Comment(0) | 日記

2009年02月19日

最適化その2、その3

こんにちは、ナカムラです。

以前の日記にもありました最適化を、私も体験しましたので、今回はそのお話をさせて頂きます。

*

通勤途中にあるスター○ックスに、よく立ち寄ります。
ここ1年以上同じもの(カプチーノ喫茶店)を注文しているので、
「いつもの、お願いします。」
で通じるようになりました。最適化ですグッド(上向き矢印)
そしてヤクルト販売同様、こちらも更なる最適化段階に移行しました。
スター○ックスの入り口をくぐって、馴染みの店員さんと目があったとたん、その人が放った言葉は、

「…!はい、トール、カプチーノ1つ!わーい(嬉しい顔)

そうです!アイコンタクト目による注文です!
もう他のものを注文できないようなプレッシャーも感じますがふらふら、嬉しいものです!

*

毎日昼食時に利用しているお弁当屋さんは、毎週金曜日に割引チケットをくれます。
大抵はそのチケットを翌週の月曜日に使って、その週末にまたチケットもらう…というサイクルになるんですが、先日たまたまチケットが配られる金曜日当日に使う状態になりました。
当然チケットを使った後、またすぐ新しいものをもらう…という流れになるのかと思いきや、店員さんの反応は、

「あ、そのまま持ってて下さいわーい(嬉しい顔)

なるほど!どうせすぐに同じものを渡すんだから、チケットを見せた後、そのまま持ってても同じですよね。
もはや割引チケットというよりは、割引パスみたいになってますがたらーっ(汗)

これを根気よく繰り返せば、その内チケットを見せるという手間も省かれ、アイコンタクトだけで、金曜日には割り引いてもらえるようになるはずぴかぴか(新しい)
その最適化に成功した暁には、またこの場でご報告させて頂きます手(グー)

*

どの業界の人も効率化やサービス向上を考えてるんですね!
それを最適化と呼んでいるのは、プログラマーだけでしょうけど。
あれ、ヘキサだけexclamation&question

posted by 管理人 at 19:53 | Comment(0) | 日記

2009年02月18日

昨日は会社説明会でした

みなさん、こんにちは!
今日のblog担当はエリーですわーい(嬉しい顔)



先週の週末は凄く暖かく気持が良かったのに、
今週に入り季節はすっかり「冬」となりました雪
恥ずかしい事ながら、すっかり風邪を引いてしまいましたバッド(下向き矢印)

しかし、早めに病院に行ったのが良かったようで、
今日はすっかり元気ですぴかぴか(新しい)



ご存じの方もいらっしゃるかとは思いますが、
昨日2/17にヘキサドライブ会社説明会を開催しました。

ヘキサドライブでは「来てよかった」と思える会社説明会を目指して
日々、スケジュールを考えたり、資料を作成したりしています。
それはヘキサドライブのホームページや、就職サイトでは伝えきれない思い、考え、雰囲気を、少しでもわかって欲しいからです。

講義形式の質疑応答ではなく、ラウンドテーブルを採用しているのもその為なのですひらめき

ラウンドテーブルでは、

  「沢山の質問に答えたい」
  「この熱い気持ちをわかって欲しい」
  「職場の雰囲気を伝えたい」

等、いろいろ考える事があるのですが、私は個人的に
「ヘキサドライブの暖かさ」
を感じて頂けたら嬉しいでするんるん

『「ヘキサドライブの暖かさ」ってexclamation&question』と疑問に思われた方はどうぞこちらへわーい(嬉しい顔)
会社説明会会場にて感じて頂けたらと思っていますexclamation×2

posted by 管理人 at 17:45 | Comment(0) | 採用 -お役立ち情報も-

2009年02月17日

コメント文の重要性

こんにちは。ザンギエフ大好き、平尾です。
すごく暖かくなったと思ったら、急に寒さが戻ってきました雪
寒暖の差が激しいので体調を崩さないか心配です。
皆様もお気をつけください。

*

今回はプログラムを学んでいる学生に向けて、コメント文の話をしたいと思います。
コメント文は実際に処理として組み込まれるわけではないですが、大変重要なものです。
プログラマとして仕事をしている方なら、よりその重要性を感じているのではないでしょうか。

コメント文が役に立つ点としては以下のようなことが考えられます。
1処理の流れや要約を簡単に知ることができる
2制作者の意図を知ることができる
3今後のためのメモを残せる
当たり前なことばかりで申し訳ありませんあせあせ(飛び散る汗)
では順番に説明していきます。



1
処理の流れや要約を簡単に知ることができる。ごく普通の理由です。
ソースコードを見れば全ての処理を知ることはできます。
しかし処理を理解するのに必要なのは、まずはおおまかなアルゴリズムだったり、処理の流れだったりします。
そんなときはコンピュータに実行させる単位で見るより、人間に分かる単位で書かれたものを見る方が圧倒的に効率がいいわけです。
自分が作ったものでも、あまりにも前のソースだと忘れたりしますが、そんなときも役に立ちます。



2
制作者の意図を残せるというのも、また大切な要素です。
例えば次のような処理があったとしましょう。
    switch( mode ) {
case MODE_INITIALIZE:
initialize();

case MODE_UPDATE:
update();
break;
}
最初のケースの中、initialize(); の後にbreakが入っていないのはバグじゃないか?と思いますよね。
でも以下のように一文入っているだけで、
    switch( mode ) {
case MODE_INITIALIZE:
initialize();
// breakせずに引き続き更新処理を行います

case MODE_UPDATE:
update();
break;
}
ああ、これは意図された処理なんだ、と理解できます。
ソースコードだけではよく分からない微妙なニュアンスも残せるわけです。



3
今後のためにメモを残せるという項目についてです。
自分でルール付けをして書いておけば、後から行う最適化やリファクタリングのときに便利です。
例えば、今後するべきことを書いておく場合。
    // TODO:とりあえずバブルソートで実装。今は問題無いが、
// 処理が重くなってきたときに別のソートに置き換える必要あり。
といった風に書いておけば、TODO:でgrepして見つけることが出来ます。
こうやって書いておく癖をつけておけば、後でやることを忘れていた、なんてことが減ると思います。



exclamation&question
ただ、何でもかんでもコメントさえ書けばいいというわけではありません。
例えば次のようなものはNGです。
    // 登録個数ループ。
for( int i=0; i<count; ++i ) {
:
:
}
コードを見たまま書いているようなコメントではあまり意味がありません。
今まで説明してきたように、処理の流れや意図が分かるように書く必要があります。
次のような感じです。
    // 登録されているものから検索。一番始めに見つけたデータを使用する。
for( int i=0; i<count; ++i ) {
:
:
}
これならば中で何をしたいのかがよく分かると思います。

*

コメント文という、プログラムにおける初歩の話をしましたが、少しはお役に立てたでしょうか?
役に立つようでしたら、これからもこういった基礎的な話などを書いていきたいと思います。


P.S.
会社説明会のエントリー状況がとても好調で、3/25の東京会場は残りわずかとなっています。
弊社に興味のある方はお早めのエントリーをお願い致します!ぴかぴか(新しい)

posted by 管理人 at 16:05 | Comment(2) | プログラミング

2009年02月16日

13

おい〜っす、カトウです。

いや〜、ここ二日間ものすごく暖かかったですよねえ晴れ
今日はまた本来の寒さに戻り雪、すっかり体調を崩してしまいましたふらふら

花粉も飛散していて花粉症の僕にとっては踏んだり蹴ったりもうやだ〜(悲しい顔)
今年は例年より花粉の飛散も多いそうなので
どこか南国で物価が安くて花粉の無い国へ今すぐにも行きタイリゾート

ところで先週は13日の金曜日でしたよね。
特に最初は気にもしてなく
むしろ、バレンタインデーは土曜日でしたので、
社内の女の子たちからチョコを頂きましてプレゼント
幸先が良いと思ったぐらいだったのですがグッド(上向き矢印)

とあるバグにはまり、原因はとあるメンバー変数に問題があったのですが
ふと、チームの人が「それって、13番目のメンバーだったりして・・」
と言ったものですから数えて見たら13番目がく〜(落胆した顔)

そこから普段起きないような細かいミスが重なり
こりゃあ、13日が終わらんと予定作業が終わらないのでは・・・
という雰囲気になる始末あせあせ(飛び散る汗)

最後は皆の気合いでその日のうちに予定通り作業が終わり
一見落着パンチ

こんなオカルト的な事ってあるんですねえ。

とはいえ
その後の帰り道はものすごい強風霧、雨の中雨
自転車で13に関係する自宅に帰るのでした。。。。
(13日に帰るのやめてどこかで飲んでビール
帰宅しようかなと思ったくらいでしたw。)

posted by 管理人 at 20:12 | Comment(0) | 日記