2011年7月30日土曜日

Strength Finderをやってみた(昔の結果)

自分だけの特長的な資質 木村 圭佑

自分だけの特長的な資質

The Gallup Organizationが長年に渡って実施してきた調査によると、仕事を最も効果的に行うのは、自分の強みと行動を理解している人たちです。 このような人たちは、仕事や家庭生活で日々求められていることをやりこなす戦略的な能力に優れています。

自分にどのような知識やスキルがあるかを確かめることによって、基本的な能力はわかりますが、自分の本来の資質に気付き理解することによって、どのような行動を取ることで将来成功を収められられるかがわかります。

「自分だけの特長的な資質」のレポートは、あなたのStrengthsFinderの結果に基づき、上位5つの資質を強い順に並べたものです。 全34項目中、これらの資質があなたの強みの上位5つです。

「自分だけの特長的な資質」は、資質を最大限に活かし、将来の成功につなぐ手がかりとなります。 個々の資質に着目したり全体を概観することで、自分にどのような資質があるかをよく把握することができ、さらにそれらを強みとして成長させ、仕事やプライベートの両面で一貫してよい結果を得ることができます。

内省

あなたは考えることが好きです。あなたは頭脳活動を好みます。あなたは脳を刺激し、縦横無尽に頭を働かせることが好きです。あなたが頭を働かせている方向は、例えば問題を解こうとしているのかもしれないし、アイデアを考え出そうとしているのかもしれないし、あるいは他の人の感情を理解しようとしているのかもしれません。何に集中しているかは、あなたの他の強みによるでしょう。一方では、頭を働かせている方向は一点に定まっていない可能性もあります。内省という資質は、あなたが何を考えているかというところまで影響するわけではありません。単に、あなたは考えることが好きだということを意味しているだけです。あなたは独りの時間を楽しむ類の人です。なぜなら、独りでいる時間は、黙想し内省するための時間だからです。あなたは内省的です。ある意味で、あなたは自分自身の最良の伴侶です。あなたは自分自身にいろいろな質問を投げ掛け、自分でそれぞれの回答がどうであるかを検討します。この内省という資質により、あなたは実際に行っていることと頭の中で考えて検討したことと比べた時、若干不満を覚えるかもしれません。あるいはこの内省という資質は、その日の出来事や、予定している人との会話などといったような、より現実的な事柄に向かうかもしれません。それがどの方向にあなたを導くにしても、この頭の中でのやりとりはあなたの人生で変わらぬものの一つです。

戦略性

戦略性という資質によって、あなたはいろいろなものが乱雑にある中から、最終の目的に合った最善の道筋を発見することができます。これは学習できるスキルではありません。これは特異な考え方であり、物事に対する特殊な見方です。他の人には単に複雑さとしか見えない時でも、あなたにはこの資質によってパターンが見えます。これらを意識して、あなたはあらゆる選択肢のシナリオの最後まで想像し、常に「こうなったらどうなる? では、こうなったらどうなる?」と自問します。このような繰り返しによって、先を読むことができるのです。そして、あなたは起こる可能性のある障害の危険性を正確に予測することができます。それぞれの道筋の先にある状況が解かることで、あなたは道筋を選び始めます。行き止まりの道をあなたは切り捨てます。まともに抵抗を受ける道を排除します。混乱に巻き込まれる道を捨て去ります。そして、選ばれた道――すなわちあなたの戦略――にたどり着くまで、あなたは選択と切り捨てを繰り返します。そしてこの戦略を武器として先へ進みます。これが、あなたの戦略性という資質の役割です:問いかけ、選抜し、行動するのです。

収集心

あなたは知りたがり屋です。あなたは物を収集します。あなたが収集するのは情報――言葉、事実、書籍、引用文――かもしれません。あるいは形のあるもの、例えば切手、野球カード、ぬいぐるみ、包装紙などかもしれません。集めるものが何であれ、あなたはそれに興味を引かれるから集めるのです。そしてあなたのような考え方の人は、いろいろなものに好奇心を覚えるのです。世界は限りなく変化に富んでいて複雑なので、とても刺激的です。もしあなたが読書家だとしたら、それは必ずしもあなたの理論に磨きをかけるためではなく、むしろあなたの蓄積された情報を充実させるためです。もし旅行が好きだとしたら、それは初めて訪れる場所それぞれが、独特な文明の産物や事柄を見せてくれるからです。これらは手に入れた後、保管しておくことができます。なぜそれらは保管する価値があるのでしょうか? 保管する時点では、何時または何故あなたがそれらを必要とするかを正確に言うのは難しい場合が多いでしょう。でも、それがいつか役に立つようになるかどうか誰が知っているでしょう。あらゆる利用の可能性を考えているあなたは、モノを捨てることに不安を感じます。ですから、あなたは物や情報を手に入れ、集め、整理して保管し続けます。それが面白いのです。それがあなたの心を常に生き生きとさせるのです。そしておそらくある日、その中に役に立つものが出てくることでしょう。

未来志向

「もし・・・だったら、どんなに素晴らしいだろうなぁ」と、あなたは水平線の向こうを目を細めて見つめることを愛するタイプの人です。未来はあなたを魅了します。まるで壁に投影された映像のように、あなたには未来に待ち受けているかもしれないものが細かいところまで見えます。この細かく描かれた情景は、あなたを明日という未来に引き寄せ続けます。この情景の具体的な内容――より品質の高い製品、より優れたチーム、より良い生活、あるいはより良い世界――は、あなたの他の資質や興味によって決まりますが、それはいつでもあなたを鼓舞するでしょう。あなたは、未来に何ができるかというビジョンが見え、それを心に抱き続ける夢想家です。現在があまりにも失望感をもたらし、周囲の人々があまりにも現実的であることが分かった時、あなたは未来のビジョンをたちまち目の前に呼び起こします。それがあなたにエネルギーを与えてくれます。それは、他の人にもエネルギーを与えます。事実、あなたが未来のビジョンを目に浮かぶように話すのを、人々はいつでも期待します。彼らは自分たちの視野を広げ、精神を高揚させることができる絵を求めています。あなたは彼らのためにその絵を描くことができます。描いてあげなさい。言葉を慎重に選びなさい。できる限りその絵を生き生きと描きなさい。人々はあなたが持ちこんで来る希望につかまりたくなるでしょう。

回復志向

あなたは問題を解決することが大好きです。さらなる困難に遭遇するとうろたえる人もいますが、あなたはそれによって力を与えられます。あなたは症状を分析し、何が悪いのかを突き止め、解決策を見い出すという挑戦を楽しみます。あなたは現実的な問題を好むかもしれないし、抽象的な問題、あるいは個人的な問題を好むかもしれません。あなたはこれまでに何度もぶつかって、解決できる自信がある分野の問題を探し求めるかもしれません。あるいは、複雑で馴染みのない問題に直面したとき、あなたは最もやり甲斐を感じるかもしれません。あなたが実際に何を好むかは、あなたの他の資質や経験によって決まるでしょう。しかし確実に言えることは、あなたは物事に再び生命を与えることを楽しんでいるということです。底に潜む要因を明らかにし、その要因を根絶し、物事を本来あるべき輝かしさへ回復することを素晴らしいと感じるのです。もしあなたの介入がなかったら、たとえばこの機械は、この技術は、この人物は、この会社は、機能を停止してしまった可能性があると本能的に分かっています。あなたがそれを直したのです。それを蘇生させ、活気を取り戻させたのです。あるいは、あなたらしい表現で言えば、あなたはそれを救ったのです。


こんなもんかー(・ω・)

2011年7月25日月曜日

デザイナー&プログラマーハッカソンに参加してきたよっ

というわけで7/23に株式会社ブリリアントサービスさん主催の
デザイナー&プログラマーハッカソンに参加してきましたっ

とりあえず感想としては

楽しかった(*´ω`*)

うちのチームは少し困った編成になっていて、
デザイナー1,プログラマー3という
プログラマーが多い><チームでした

メンバーは
我らがスーパープログラマーの@sobachanko先生
可愛くそしてイケてるデザインしてくれた@HTM_Siiさん(綺麗な人だったっ)
いろいろ細かいお仕事してくれた@cathand11さん
そして途中までぐだぐだしてた僕@corosuke_kです

今回の作業
(注意:多少話しの流れが本来のものと前後している可能性があります。
だってそんなに正確に記憶してないんだもん・・・(´・ω・`


1st Phase : 企画段階
「電卓」というテーマにたいしてお昼になるまでブレインストーミングしてました。
なのでみんな平等の立場です(・ω・)

2nd Phase : デザイン草案決定
どういうデザインにしたら使いやすいかとか、
あとlayout xmlを組む人が困ると行けないので何pxでデザインするかとかも話しながら
紙の上でいったんワイヤーフレームをつくって@HTM_Siiさんがデザイン書いてる間、
実機で見れるようにCoronaでプロトタイプを僕が作ってました。
その間プログラマーの二人は電卓自体の機能実装してました。

2.5th Phase : 某世界的なカメラの会社のともさんからの悪魔の一言
チューターの@tomo_watanabeさん「iPhone版も作れば?」
僕「え・・・・(・ω・;」
この一言から・・・Coronaで機能実装を始めてしまった自分(かなり乗り気だった)
(本気でいままで作っていてもワイヤーフレームにしかならないよなーって思ってた)

3rd Phase : リソースの一部完成、プログラマー側もだいたい終盤へ
このあたりからぎゃーって言い始めるのがハッカソンのお決まりなパターン
@HTM_Siiさんは一人しかデザイナーがいないのでかなり大忙しにリソースをつくっていて、
@sobachanko先生達はバグがあったー><、ここ考えてなかったー><と言いながらキーボードをカタカタ
パッケージネーム何になってるーとかandroid特有の話し合いしたりしてました。

一方ぼくは・・・
「こんなのできたよー(*・ω・*)」
とかいって邪魔してた。
iPhone版が大分完成に近づく...

4th Phase : リソースどんどんできる、プログラムもどんどん書いてく、そして僕はプレゼンへ

ってわけでiPhone版が大分落ち着いたので僕はプレゼン資料書いてました。

そのプレゼン資料は、
にあります

.keyでごめんね(;へ;

で、こんな中@HTM_Siiさんがテーマを2つぐらいつくってくれたので、
iPhone版にも載せよーっと思ってリソース見たら
そうだ・・・android用のリソースなんだった・・・
横480px用だこいつ・・・と気づいてしまい、
急遽NexusOneを基準としたレイアウト設定にCoronaのソース書き換えて
無事iPhoneでも出力

そして出来上がったやつを見たそば先生が一言「もうけいくんのそれでいいんじゃん」
うああああああごめんなさいいいいいいいいいいい(;へ;←僕の心の叫び

ろくに手伝わず、あとからサッと書いてみんなの作業を奪った形に・・・
失敗だったなーと(´・ω・`

そんなこんなでわれらがチームカスタムがつくったものが以下のURLにapkとして載ってます
ソースコードの開示は勘弁して下さい(;へ;

あまりにも急ごしらえにつくってたところがあるのでMagicNumberが多用されているのです
あとソース汚い・・・


まとめ

意外とプログラマーからデザイナーに言えること(一緒に相談できること)って
結構あるんだなーって実感(あってるかどうかはともかくとして)
お互い専門職だからお互いの領分にはあまり踏み込まずに
相手の仕事は相手に任せる感があるけど、
勉強すれば歩み寄れる場所もやっぱりあるし、
喧嘩できるところは喧嘩して決めてったほうがいいものできるなーとおもう

結局はもっと密接に話し合いましょうってことになるのか・・・

次の機会があったらまた頑張りたいなーと思うころすけでした





2011年7月18日月曜日

なんとなく書いてみた・・・

なので気にするな
うん、この記事はお遊びで書いてるだけだよん

だって動くかどうかは気にせずにササッとかいただけw

module(...,package.seeall)

function new()

local super = require("somemodule").new()
local self = super
self.super = super

local privateA = 2
local privateB = 2

function self:getA()
return privateA
end

function self:getB()
return privateB
end

function self:getType()
if self.type then
return self.type
end

return self.super:getType()

end

function self:setType(t)
self.type = t
end

return self

end

2011年5月11日水曜日

Touch_the_numbersをつくってみました。

正直まったくもって納得してない

理由は簡単でAndroidだとレスポンスが悪い(ぼくの作り方が悪いからだと思いたい)

とりあえずソース公開します。

bitbucketなのでMercurialです。

さくっと残った課題を書いておきます。(ちゃんとやるよっていう意思表示という意味で)
1.OpenFeint対応
本家は自前サーバーでユーザーに手間をかけさせてないのがいいところ
2.リファクタリング
正直今のmoduleの名前が気に食わないったらありゃしないので直します。
3.パフォーマンスチューニング
徹底的に上げてみます。今の実装でダメな部分なんて大量にあるのでどんどんやります。
4.ちゃんとしたstartScreenの実装
スタート画面ぐらいないとね
5.Twitter連携
モジュールはできてるのでそれを使います。

今のところこんなトコロ・・・?
ちなみにアイコン入れてないのでiOSでは悲しいことになります、はい

(画像使ってないのに3MBはライブラリが重いからですね、はい)


2010年12月12日日曜日

RoboGuiceのInject関連のソース読んできた。

ぶっちゃけぼくはGoogle GuiceをつかったことがないのでRoboGuiceのソース読んでもこんなもんなのかなーという感じにしか読めなかったわけなのだがそれなりに面白かった。
(まだ全部はよんでいない)

RoboGuiceを使うこと自体にはGuiceの知識はそこまで必要ない(Springとか触ったことあるなら)
だけどRoboGuice自体Guice使って書かれてるので中身知りたくなった時点でGuiceの知識が必要になるからこんどGuice勉強してみる。

で、Injectionの話にもどる訳なんだけどまずRoboGuice固有のInjection用のannotationを並べてみる

@InjectExtra
@InjectPreference
@InjectResource
@InjectView

この4つ

一応書いておくと
@Retension(RUNTIME) ※1
@Targer(FIELD,PARAMETER,METHOD) ※2 です。(全部)

(※1 Runtimeはリフレクションつかってアクセスできるし、クラスファイルにもアノテーションの情報が残りますよって意味です。@Overrideなんかは@Retension=SOURCEなのでリフレクションつかってアノテーションの情報を取ってくることはできないし、クラスファイルにアノテーションの情報は残りません。コンパイル時に破棄されます)

(※2 フィールド変数、メソッドの引数、メソッドにこのアノテーションが付けられますよの意味)

さて、各アノテーションの詳細を書いてきます

1.@InjectExtra

@InjectExtraはString valueとBoolean optionalという二つの値を持っています。
このアノテーションはIntentによって呼び出されたActivityで呼び出される前にputExtra()で設定された値を取り出すとき(いつもならgetExtra()するとき)に使います。

下は一例(

@InjectExtra(value = "id")
Integer id;

(前回の記事にもちょろっと書いてありますけど、@InjectExtraを使う場所は基本的にはフィールド変数に対してです、と一応 (あとの3つも同様))

これでgetExtra("id")とか書いたときとおんなじようになりました。

で、うまくいったやったーとおもって終わりかと思えばoptionalってなんだったの?ということに
で調べてみると、どうやらデフォルト値を設定するかどうかを聞いてるようです(なにもしないとoptionalはfalseになっておりデフォルト値なんてないよってことになってるみたい)

optionalを含めて使ってみた

@InjectExtra(value = "id", optional = true)
Integer id = 0;


こうするともし"id"というkeyで取得できる値がなかったら0にしといてということになる。

ついでにvalueやoptionalとかの指定は省略して下のようにも書ける

@InjectExtra("id")
Integer id = 0;


で、この@InjectExtraの仕様で気をつけることがあって持ってくる値がnullであることを許容してくれません。
もしnullでもちゃんと持ってきてほしいとおもったら@Nullableをつけましょう。

@InjectExtra("id")
@Nullable
Integer id = 0;

これで@InjectExtraはおしまいです。
ちなみにたしか変数名と@InjectExtraのvalueは同じでなければならなかったはずなのでご注意を(確証はない。でもたぶんそうだったはず)

あとの三つですがoptionalがない(デフォルト値設定がない)というのとvalueの型が少し違うという以外@InjectExtraと特に違うところはありません
(@InjectPreferenceはRoboPreferenceActivityを継承したクラス内のみ使用可能というぐらいです)

一応使用例としてテキトーに書いたソースを下に貼っつけておきます。


class RoboWay extends RoboActivity { 
    @InjectView(R.id.name) TextView name; 
    @InjectView(R.id.thumbnail) ImageView thumbnail; 
    @InjectResource(R.drawable.icon) Drawable icon; 
    @InjectResource(R.string.app_name) String myName; 
    @InjectExtra("id") Integer id; 
    @InjectExtra("from") String from;

    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        name.setText( "Hello, " + myName ); 
    } 
}

2010年12月11日土曜日

RoboGuiceとかちょっと見てみた

いや、本当にまだ見てみただけ
今のところやったこと sampleのAstroboyの全ソース読んだぐらいです。

RoboGuiceのサイト
http://code.google.com/p/roboguice/

RoboGuiceってなーにって人用にちょっとだけ解説ー

一言で言うとandroid用のDIコンテナーです。
DIってなーにっていう方はJavaフレームワーク開発入門とか読んでみましょう。
まだ触るにははやいってことです(いや、僕も今読んでる途中ですけど)

どんなことができるか。
例えばいつもはこんな感じに書くコードを


// こんな感じ
Button myButton = (Button) findViewById(R.id.my_button);
次のような感じに書けます。

@InjectResource(R.id.my_button)
Button myButton;

アノテーション書けばかってにキャストして入れてくれるよってことですな。
でもまあ、これだけじゃ別にたいしたことないじゃんってやつですが、

LocationManager mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

とかいうのも
@Inject
LocationManager mLocationManager;


とかやればかってに初期化しといてくれます。
ちょっと便利

ほかにもたとえばIntentで自分がつくったActivityが起動されたときにsetExtra()でくっついてきた値を取るときにこんなふうに書けば取っといてくれます。


@InjectExtra("nameExtra")
protected String nameExtra;
意味はこれ
nameExtra=getIntent().getStringExtra("nameExtra")

あとよくありがちな@Nullableとかもあった。

androidによくあったResourceやIntent連携で起きるデータのやり取りとかのどうしてこうなったwという仕様(キャストが必要とか)をGuiceがやさしくしてくれる感じ

追記:上でやってたことはすべてField変数にたいしてです。

とりあえず見てみただけだからこのへんにしとく
詳しくは上のページにあるsampleのところにあるAstroboyを見るといいと思うのです。
astroboyは一時間もあれば読めると思うですよ(それぐらいRoboGuice君がやさしくしてくれた)

次回のRoboGuiceに関する記事の予定
RoboGuice使ってUnitTestやってみる
(Twitterで@vvakameさんがやれとかいってたので)
もしくは普通に導入手順とか書くかも(あとあと勉強会するときにもう一度調べるのめんどくさいから)

すこしBlogを一新したのです

いや、いろいろひどいことになってたのである程度戻しました。
そろそろBlog再開しますです