ストレングスファインダーをやってみた
自分だけの特長的な資質 The Gallup Organizationが長年に渡って実施してきた調査によると、仕事を最も効果的に行うのは、自分の強みと行動を理解している人たちです。 このような人たちは、仕事や家庭生活で日々求められていることをやりこなす戦略的な能力に優れています。 自分にどのような知識やスキルがあるかを確かめることによって、基本的な能力はわかりますが、自分の本来の資質に気付き理解することによって、どのような行動を取ることで将来成功を収められられるかがわかります。 「自分だけの特長的な資質」のレポートは、あなたのStrengthsFinderの結果に基づき、上位5つの資質を強い順に並べたものです。 全34項目中、これらの資質があなたの強みの上位5つです。 「自分だけの特長的な資質」は、資質を最大限に活かし、将来の成功につなぐ手がかりとなります。 個々の資質に着目したり全体を概観することで、自分にどのような資質があるかをよく把握することができ、さらにそれらを強みとして成長させ、仕事やプライベートの両面で一貫してよい結果を得ることができます。
未来志向
「もし・・・だったら、どんなに素晴らしいだろうなぁ」と、あなたは水平線の向こうを目を細めてみつめることを愛するタイプの人です。未来はあなたを魅了します。まるで壁に投影された映像のように、あなたには未来に待ち受けているかもしれないものが細かいところまでみえます。この細かく描かれた情景は、あなたを明日という未来に引き寄せ続けます。この情景の具体的な内容―より品質の高い製品、より優れたチーム、よりよい生活、あるいはよりよい世界―は、あなたの他の資質や興味によって決まりますが、それはいつでもあなたを鼓舞するでしょう。あなたは、未来に何ができるかというビジョンがみえ、それを心に抱き続ける夢想家です。現在があまりにも失望感をもたらし、周囲の人々があまりにも現実的であることがわかった時、あなたは未来のビジョンをたちまち目の前に呼び起こします。それがあなたにエネルギーを与えてくれます。それは、ほかの人にもエネルギーを与えます。事実、あなたが未来のビジョンを目に浮かぶように話すのを、人々はいつでも期待しています。彼らは自分たちの視野を広げ、精神を高揚させることができる絵を求めています。あなたは彼らのためにその絵を描くことができます。練習しましょう。言葉を慎重に選びましょう。できる限りその絵をいきいきと描きましょう。人々はあなたが運んでくる希望に飛びつきたくなるでしょう。
収集心
あなたは知りたがり屋です。あなたは物を収集します。あなたが収集するのは情報――言葉、事実、書籍、引用文――かもしれません。あるいは形のあるもの、例えば切手、野球カード、ぬいぐるみ、包装紙などかもしれません。集めるものが何であれ、あなたはそれに興味を惹かれるから集めるのです。そしてあなたのような考え方の人は、いろいろなものに好奇心を覚えるのです。世界は限りなく変化に富んでいて複雑なので、とても刺激的です。もしあなたが読書家だとしたら、それは必ずしもあなたの理論に磨きをかけるためではなく、むしろあなたの蓄積された情報を充実させるためです。もし旅行が好きだとしたら、それは初めて訪れる場所それぞれが、独特な文明の産物や事柄を見せてくれるからです。これらは手に入れた後、保管しておくことができます。なぜそれらは保管する価値があるのでしょうか? 保管する時点では、何時または何故あなたがそれらを必要とするかを正確に言うのは難しい場合が多いでしょう。でも、それがいつか役に立つようになるかどうか誰が知っているというのでしょう。あらゆる利用の可能性を考えているあなたは、モノを捨てることに不安を感じます。ですから、あなたは物や情報を手に入れ、集め、整理して保管し続けます。それが面白いのです。それがあなたの心を常に生き生きとさせるのです。そしておそらくある日、その中に役に立つものが出てくることでしょう。
調和性
あなたは同意点を求めます。あなたは、衝突や摩擦から得るものはないという考えを持っているため、そのような争いを最小限にしようとします。周囲の人々が異なる意見を持っていることが分かると、あなたはその中の共通する部分を見出そうとします。あなたは彼らを対立から遠ざけて調和に向かわせようとします。事実、調和はあなたの行動を左右する価値観の一つです。人々が自分の意見を他人に押しつけるために無駄にしている時間の多さは、あなたには信じがたいほどです。もし私たちが意見を述べることを控え目にし、代わりに同意や支援を求めるようにすれば、皆がもっと生産的になれるのではないでしょうか? あなたはそうなると信じています。そしてその信念によって生きています。他の人が自分の目標や、主張や、強く抱いている意見を声高に話している時、あなたは沈黙を守ります。他の人がある方向に動き出すと、あなたは調和という名のもとに(彼らの基本的価値観があなたの価値観と衝突しない限り)、喜んで彼らに合わせてあなた自身の目標を修正するでしょう。他の人たちが自分たちのお気に入りの理論や考えについて議論を始めると、あなたは論争を避ける方向に持っていき、全員が賛同できる、実用的で地に足の着いた事柄について話すことの方を取ります。あなたの見方では、私たちは全員同じ船に乗り合わせていて、この船をこれから行こうとしている所に到着させる必要があるのです。それはしっかりした船です。単に自分が船を揺することをできることを示すために、わざわざ船を揺する必要などないのです。
内省
あなたは考えることが好きです。あなたは頭脳活動を好みます。あなたは脳を刺激し、縦横無尽に頭を働かせることが好きです。あなたが頭を働かせている方向は、例えば問題を解こうとしているのかもしれないし、アイデアを考え出そうとしているのかもしれないし、あるいはほかの人の感情を理解しようとしているのかもしれません。何に集中しているかは、あなたのほかの強みによるでしょう。一方では、頭を働かせている方向は一点に定まっていない可能性もあります。「内省」の資質は、あなたが何を考えているかというところまで影響するわけではありません。単に、あなたは考えることが好きだということを意味しているだけです。あなたは独りの時間を楽しむ類の人です。なぜなら、独りでいる時間は、黙想し内省するための時間だからです。あなたは内省的です。ある意味で、あなたは自分自身の最良の伴侶です。あなたは自分自身にいろいろな質問を投げ掛け、自分でそれぞれの回答がどうであるかを検討します。この内省作業により、あなたは実際に行っていることと頭の中で考えて検討したことと比べた時、若干不満を覚えるかもしれません。あるいはこの内省作業は、その日の出来事や、予定している人との会話などといったような、より現実的な事柄に向かうかもしれません。それがどの方向にあなたを導くにしても、この頭の中でのやりとりはあなたの人生で変わらぬもののひとつです。
回復志向
あなたは問題を解決することが大好きです。さらなる困難に遭遇するとうろたえる人もいますが、あなたはそれによって力を与えられます。あなたは症状を分析し、何が悪いのかを突き止め、解決策を見い出すという挑戦を楽しみます。あなたは現実的な問題を好むかもしれないし、抽象的な問題、あるいは個人的な問題を好むかもしれません。あなたはこれまでに何度もぶつかって、解決できる自信がある分野の問題を探し求めるかもしれません。あるいは、複雑で馴染みのない問題に直面したとき、あなたは最もやり甲斐を感じるかもしれません。あなたが実際に何を好むかは、あなたの他の資質や経験によって決まるでしょう。しかし確実に言えることは、あなたは物事に再び生命を与えることを楽しんでいるということです。底に潜む要因を明らかにし、その要因を根絶し、物事を本来あるべき輝かしさへ回復することを素晴らしいと感じるのです。もしあなたの介入がなかったら、たとえばこの機械は、この技術は、この人物は、この会社は、機能を停止してしまった可能性があると本能的に分かっています。あなたがそれを直したのです。それを蘇生させ、活気を取り戻させたのです。あるいは、あなたらしい表現で言えば、あなたはそれを救ったのです。
名言Adventカレンダー
この記事は、名言AdventCalendar 2015の17日目のエントリです。
Nginxを使用してロードバランシング
dockerを使って、複数サーバーアクセスした際の検証を行いたかったので ロードバランサーについて調べたことのメモ。 ELBしか使ったことなかったから全く知らなかったです。
http://nginx.org/en/docs/http/load_balancing.html
nginxではロードバランサーとして以下の機能があります。
- ラウンドロビン
- 最小接続(負荷分散)
- IPハッシュ
最小構成のconf記述
http { upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; } server { listen 80; location / { proxy_pass http://myapp1; } } }
特に設定しない場合はデフォルトでラウンドロビン方式になります。
HTTP,HTTPS,FastCGI,uwsgi,SCGI,memcachedに対してロードバランサーを適用できます。
以下の例では、least_connの設定になり、 各サーバーの負荷が均一になるようにバランシングされます。
upstream myapp1 { least_conn; server srv1.example.com; server srv2.example.com; server srv3.example.com; }
ラウンドロビンと負荷分散では、 同じユーザーが常に同じサーバーにバランシングされるわけではないことに注意をしてください。
upstream myapp1 { ip_hash; server srv1.example.com; server srv2.example.com; server srv3.example.com; }
IPハッシュの方式では、サーバーが使用できない状態にならなければ、 同じサーバーに対してアクセスが行われます。
重み付け
今までの例では、すべてのサーバーに対して同等に重みが扱われています。 重み付のパラメーターを設定することでバランシングのアルゴリズムに影響を与えることが可能です。
upstream myapp1 { server srv1.example.com weight=3; server srv2.example.com; server srv3.example.com; }
5リクエスト合った場合に、上記の例ではsrv1に3リクエスト、srv2,3に1リクエストずつバランシングが行われます。
ヘルスチェック
ロードバランサーではヘルスチェックを行います。 特定のサーバーからレスポンスがない場合はしばらくの間、 バランシングの対象から外します。
max_failsディレクティブは連続失敗試行回数です。 fail_timeoutは、ヘルスチェックに失敗したサーバーをバランシングの対象から外している時間です。
プログラミングの基礎とは?
上司からお前は基礎がなってないからハマっても解決ができないし、ハマるんだ。
このまま(エンジニアを)続けていても、基礎のない状態では伸びない。
とお言葉をいただく。
間違いなくその通りだと思います。
では基礎とは一体何だろうか・・? 何を学べば基礎を学ぶことになるのか?
コンピュータとは? TCP/IP的な? RFCの仕様? なぜインターネットは繋がるのか? なんだろう?
今回上司から一例として挙げられたのは、
httpリクエスト周りのヘッダーやボディの解釈方法。
今は便利なFWが多く存在しており、
それらが多くのことをやってくれるため、業務ロジックに集中することができる。
では、FWがやってくれることを理解しているのか。
自分で作れるのか。
という所。
確かにそこらへんは、あまり気にしなくても生きていける。と思っていた部分。
しかし今後、更なるレベルに上がるためには絶対に必要になるだろう。
という訳で、自分なりに勉強してみた。 やった内容は以下。
- 上司からの一例として、リクエストボディにJSON形式でデータがわかってきた場合にそれをどう解釈しパースするのか。
- FWではparamsとかいう変数があって大体 key,value(Hash)で含まれている。
- paramsをどう生成しているのか!!を解明する。
まず、最近 GrapeというRubyのAPIフレームワークを触っていたのでこれを見ていくことにした。
Grapeのリクエストってどう渡される?
開発時はrackupコマンドでrackを起動していた。
ではrackを学ぼう。とrackを学ぶ。
rackはアプリとwebサーバーを仲介するインターフェースであることがわかる。
今回rackを介して、webrickを起動していたので
リクエストを受けているのはwebrickである。
webrick(WEBサーバー) -> Rack -> Grape の流れでリクエストが処理される。
一旦はGrapeは置いておいて、Rackに載せる簡易的なアプリを起動した場合に
どのようにwebrickへ連携し、
どのようにアプリへリクエストが渡ってくるのか。
を、ソースを追うことにした。
また、前提として必要な知識が不足しているため以下の本を即日購入して読んだ。
一週間(5md)かかったが大枠としてリクエストの流れは追うことができた。 それらはテキストに雑にまとめてあるのでブログに載せるかも。
httpリクエストの処理の仕方もわかったし、 一番の収穫はRubyのFWやgemの読み方がわかってきたこと。 また、自然にソースを読む癖が付いたと思う。 今後便利なツール類が出てきてもすぐソースを読みに行くと思う。(Rubyなら)
さて、次はどんな基礎を学ぶか・・・。 今回ソースを追うにあたって細部まで見ていないところがあるので、 そこを追っていくか?(ソケット通信周り。とはいってもRubyの標準モジュールなのでCソースを読むことになるけど)
結局基礎ってなんだろう。
数学を学ぶにあたって算数を知らないと話しにならないとかそういうことだよね。
プログラミングを学ぶにあたって、必要な基礎。
パソコンの成り立ちとかOSの仕組みとかハードウェアとかかな。
結局全部知ってれば基礎はあることになるだろう。
いまのインターネットの普及までにあった技術的なことを学べばいい。
どうやって学ぶか含め調べつつ地道にやっていくことにする。
理解が深まるのは間違いないし、
今回やったことでかなり理解が深まったし。