ファンステージのゴリブログ

docker-logo-small

2015年7月9日
by ゴリ
コメントは受け付けていません。

Docker導入中

 

当社も流行りの技術、Dockerを取り入れてみようとチャレンジ中です。

 

まずはCI環境からスタートしてみるかな。。。と

DockerHub(https://hub.docker.com/account/signup/)で良さ気な

GitLabを選択してみました。

 

redis

MySQL

Gitlab

それぞれDockerコンテナとしてインストール、起動して

いざ稼働!・・・・・・反応なし。。。。

 

メモリパンクしとるがな。。

t2.microじゃ足りないか。。。そりゃそうか。。。とか思ってたら

Dockerさんはバーチャル環境っぽいけどメモリはunlimitedなのでした。

さっそく、メモリ指定(-m 512m)を入れて、MySQLはさすがに無理そうだからRDSにして。。。

 

いざ稼働!・・・・・お、割りとサクサク・・・・・・ん?

502がたまに登場、急に遅くなる。

(もしかして、HOST指定がlocalhostだからかな) ←イマココ

 

まだまだ道のりは遠そうです。

随時更新していきます。

2015年7月3日
by ゴリ
コメントは受け付けていません。

そのプロジェクト、足りてますか?

これまで建築、販売、店舗メンテナンス、ITと色々なプロジェクトを経験させてもらいました。

これは本当に運が良かった。

そこで、ITだけじゃなくて【プロジェクト】として上手くいくために必要なものをまとめてみました。

もちろん独断と偏見です。なので反対意見はなし!

 

ブレイクダウン型視点と積み上げ型視点

ブレイクダウン型視点とは大枠から足下のタスクまで落とす視点のこと。

積み上げ型は反対にタスクレベルから大枠まで考えを広げること。

ブレイクダウン型視点を持っている人はプロジェクトで何か問題があっても自分のアイデアを出して解決出来る人。(アイデアマンてことになるのかしら)

ただ、足下まで落とした時に落とし穴が多いのも特徴ですね。

積み上げ型視点を持っている人は足下のタスクから考え始めるので落とし穴はないですが、大枠まで積み上げると矛盾が生じることがあるのが特徴です。

何か気になることがあった時にわかりますね。

「要件・要望はなんだっけ?」(ブレイクダウン型)、「あれ?そこの画面(予算)どうなってたっけ?」(積み上げ型)

 

これが半々くらいのパワーバランスだとやりやすいプロジェクトチームになりますね。

 

主語は誰か

これも上に書いた内容と似てますが

議論になった時の言葉の主語が

「我々」とか「開発」とか「技術的に」という内向きの人。

「ユーザーは」とか「利用者は」という外向きの人。

これは6:4くらいのパワーバランスで「外向き」の人が多いほうがスムーズに運びます。

 

パワーバランスとは、人数とか声の大きさとかそういうことじゃなくて

その人の立場や力関係やその他諸々のバランスだと思いますのでヒトコトじゃ言えないけど

 

プロジェクトの様子を見て、視点や主語を状況に応じて変化させることができたら凄い人材になれるだろうな。。。

と思った今日このごろ。

であれば少し目指してみましょうかね!

 

2015年6月20日
by ゴリ
コメントは受け付けていません。

プロジェクトのコミュニケーションツールでSkypeを利用すべきではない理由

もちろん全部。とはいいませんが

僕が経験したプロジェクトの中で
プロジェクトのコミュニケーションツールとしてSkypeを利用しているプロジェクトは高い確率で上手く回って行かないです。

それも割りと高い確率で。

 

なぜだろう。。。。と自分なりに分析してみました。

 

・温度感が伝わりにくい

SkypeのUIの作りが良くない。このUIだと長文が見辛いからなるべく短文で済ませようとしてしまいます。
それ故に余計なことを省いてしまい、温度感が伝わりにくくなります

 

・ニュアンスは伝わらない

これも短文が故に。の問題ですね。ニュアンスはまぁ伝わりにくい。

 

・過去の文脈が探せない

とにかく検索機能が弱いですね〜。過去に振り返るのが本当に面倒くさい。
文章で残してあるし。というのはまず通じないと考えたほうがいい。

 

・通知が来ない。

これは僕の環境だけかもしれませんが、Skypeでつぶやかれても高い確率で通知が来ないんですよね。。

 

 

・プロジェクト単位とかでグループを作ったらもう手に負えない

検索機能が弱い、宛先指定にも工夫が必要、通知来ない。
こんな状況で多数の人がつぶやきまくったらもうそれは。どうすれば良いの!?

という状況で、コメント残した側は「言った気になっている」
もらった側は「見つけられない、気づかない」

という状況になりますよ。

 

という訳でSkypeを利用したプロジェクトは高い確率で失敗します。

 

ちょっとした伝言くらいに使う分には非常に便利なんですけど
メインのコミュニケーションツールとしては利用すべきではないと思います。

手を抜かず、対面、対談が一番です。

2015年1月16日
by ゴリ
コメントは受け付けていません。

MongoIdって文字列じゃないのね

MongoDbのIDって「5451c421c5e4d022738b4568」こんな。

どうみても文字列でしょ。これ。

 

で、文字列として検索してみたわけです。

が!Hitしない!なぜ!!!!!

となっていたら。。。よく見ると。。。

 new MongoId(“5451c421c5e4d022738b4568″)

とか何とか書いてあるじゃないですか!

 

つまり、文字列じゃないんですね。

MongoIdって型だったのです。

 

言語はPHP

というわけで、以下の通り検索したらうまくいきました。

find(“_id” => new MongoId(“5451c421c5e4d022738b4568″));

逆もまた然り。

このままだとテンプレで表示できませんでした!

ちょっとキタナイやりかたになっちゃいましたが。

template_id = “” . xxx['_id']

“”で文字列変換。

これで上手くいきました。

20150108011930

2015年1月16日
by ゴリ
コメントは受け付けていません。

大学で講演!!

先日、愛知工業大学さんにて講演させていただきました!

内容は「IT業界の動向と必要とされる人材について」情報処理を勉強している1年生に向けて1時間30分ほどお話させていただきました!
残念ながらシモネタではありませんっ!

20150116013521

技術を勉強している学生さん達なので本当は技術よりな話しを期待していたかもしれません。。。が。。。
ごめんなさい。あまり技術よりな話はできませんでした。

というのも、理由がありまして。

僕がIT業界に入ったのは17,8年ほど前。

Windows95が出てからインターネットが普及、IT技術は加速度を増して進んで行ってしまいました。
やっと落ち着いてきたかな。。。と思った矢先にスマホが出て、またまた加速度を増して進んで行って行きました。
最近はもっともっと加速度を増している気がしております。

そんな中で”現在の”技術の話をするよりは、動向の「追い方」。だったり、IT技術者はコミュニケーション能力が低い方々が多いのでコミュニケーション能力の鍛え方(とか「良く見える」見せ方とか)なんかを中心にお話させていただきました!

これが学生さん達の期待を”良い意味で”裏切ったらしく、思いの外好評頂き、ホッとしてますー。。。

公演が終わった後で

「クリエイティブな仕事もやってみたいのですが、どう勉強すれば。。」とか
「プログラミングが苦手で。。。」とか

学生さんからも個別で質問を受けまして、
ストレートで素直な子たちだなぁ。。となんだか感動してしまいました。

特にプログラミングについては僕が日頃から思っていることがあるので、僕の考えをお伝えしました。(これはまたの機会に書きます)

 

いやー楽しかったですわ。なんだかクセになりそうです。また機会があればこういう話や別のお話もしてみたいですね

a1180_016327_m

2014年12月17日
by ゴリ
コメントは受け付けていません。

◯◯と秋の空

 

「女心と秋の空」は僕の好きな言葉です
なんだか響きが好きで。

 

残念ながら今回は女心ではなく、
「お客様の心」になります。

 

ITの現場ではお決まりのごとく、よく聞く言葉があります

「お客様が決めてくれなくて。。。」
「お客様の言うことがコロコロ変わって。。。」

困りますよね。。。

良くシステム開発は建築に例えられます。

両方の現場にいた僕から見たところ
確かに似ている部分もありますが、似ていない部分もありますね。
異なる部分といえばシステム開発はお客様が途中経過を見ることが難しい。

というところが最も違う気がします。

大概のお客様はITのことは良くわかりません。
分かるなら自分たちで作っちゃいますもんね。汗

建築現場で例えるなら、図面だけを見て何となく仕上がりを予想して
あとは自分のお家が出来上がって、初めて見る。ような感覚なのではないでしょうか。

そりゃ。。。変わるでしょ

だったら変わる前提で進めましょうよ!

というわけで、ファンステージの開発手法は独特です。
当然、お客様も最初は面食らいます。。。が、かなりの高確率で評価を頂いております

デメリット。。。一緒に汗を書いてくれるパートナーがなかなか見つからないんですよね。。。
「そんなやり方じゃ開発できません!」とか普通に言ってくるし。
「やってみてください!」って。お客様含めて、自分たちも楽になるから!

開発手法はココでは書きません!ネタバレになっちゃうから笑

開発手法を聞きたい人は一緒に汗書いてみましょう!
一緒に汗書いてくれるパートナーを募集中です。

あ、あとお客様も募集中です。

 

2014年12月12日
by やなぎ
コメントは受け付けていません。

久しぶりに遭遇したものの、、、

やなぎです。

先日、遭遇した事態に対応したことのひとつ。

いつも必要なわけではないだろうけど、忘れそうなので、アップします。

https://github.com/stowball/jQuery-rwdImageMaps

 

html の map の座標を、レスポンシブにする際に、再計算してくれるプラグインです。

古い規格のページをレスポンシブする際に助かります。。。。

きっと作者の人も同じこと悩んだんだろうなあ。。。と思いつつ。

 

 

20141201081900

2014年12月3日
by ゴリ
コメントは受け付けていません。

やってみたらすげー楽しかった

今まで使っていたiPhoneケースの表面のシールが剥がれて真っ白ケースになってしまいました。

20141005081249

 

で、ファンステージにシールが余っていたので
こりゃちょうどいい。とウチの若手デザイナーに作ってもらいました

1920228_854699837887425_361241189605935186_n

 

ファンステージはみんながワチャワチャ喋っているイメージが強いので
ファンステージを中心に人数分の吹き出しでワチャワチャを演出。

これいいね!とお気に入りのケースでした。

 

で、1か月後、余り物のシールだとやっぱりアレですね。

ボロボロになったので、今度はウチの別のデザイナーにお願いしてみました。

20141201081900

 

僕といえばゴリ。で、ピンクシャツと白パンツが印象的だとか。

自分ではそんなに意識していなかったですが、そうみたいですね。

でファンステージのF型の木で遊んでいる。

これもいい!

 

こうなると面白くなっちゃいますね。

順番にデザインしてもらって、最終的に社内コンテストを開催しようかと密かに企画中です。
(内緒です)

 

みなさまもオリジナルiPhoneケース作ってみませんか?

ケースに直接印刷できるものもありますので、僕見たくボロボロにならずに済むパターンもありますよ!

 

これ、やってみたら面白いので是非オススメです。

 

groonga20

2014年11月27日
by ゴリ
コメントは受け付けていません。

そいつの名は、「グルン・ガー」!

そういうわけで、今回は技術のお話しです

 

先日、クライアント様のWebサービスが無事にオープン致しました!

 

内容は企業と企業をマッチングするためのサービスなのですが、ファンステージはこのサービスの検索部分の開発を請け負わさせて頂きました!

 

全文検索、もちろん高速に!ドリルダウン検索!カテゴリー検索!多言語もね!

と盛りだくさんの内容を一気に解決。。。。うーーーん。。。。

 

で、選択したデータベースが「Groonga」グルンガと読みます

今回の案件で出会った、尊敬する先輩からご紹介を受けまして、他のデータベースも含めて検討しましたが

とにかく、コイツが使いやすくて多機能!非常に便利!でして

諸々の要件を超短期間で一気に解決出来ました!

 

今流行のNoSQLはもちろん、ドリルダウンも全文検索もあれもこれも。。。。

今回はデータベースに助けられました〜(感泣)

高木さん、ありがとうございました〜!

 

印象としては、全文検索でSolrやらLuceneやらelasticナンタラやらを導入してどーのこーのするよりも何倍も早く、手軽に導入できます!

 

ここまで書くとGroonga売ってるの?って目で見られそうなので、欠点も。

多機能なので、ディスクは使います。検証してわかったのですがゴミデータも残りやすいです。

定期的にメンテナンスが必要ですね。ただ、メンテナンスは非常に楽です。

ですので、定期メンテを考えられることが前提。

大規模なシステムの基幹データベースとしては使いづらいかな。検索用として割り切ったらこの上なく使いやすいはず。

 

他のNoSQL系データベースと比較してみました。(僕が使ったことのある範囲で。僕の主観です。)

CouchDB・・・分散が苦手。めっちゃ高速。小規模向きなのかな

MongoDB・・・分散は得意(シャーディング、マスター/スレーブ両方できるし)。まぁまぁ高速。全文検索機能は持ってるけど日本語不対応

CouchBase・・・分散できる(マスター/スレーブしかやったことない)。まぁ高速。ちょっとした制約があってちょっと使いにくいイメージ。

有料で正式サポートを受けられる。ElasticSearchとの相性が良い(コネクタを持っている)

Cache・・・分散できる(マスター/スレーブしかやったことない)。まぁ高速。Javaとの相性はバッチリ!。有料のみ。

Groonga・・・分散できるらしい。まぁまぁ高速。全文検索あり。Rubyとの相性はバッチリ(Rronnga(Ruby版がある))

HTTPサーバーとしても機能するため、管理が簡単。

 

小規模ならCouchDB、中〜大規模でMySQL代替としてMongoDB、サポートがほしいならCouchBase、サポートが欲しくてDBクライアントがJavaならCache

ただし、今のところ全文検索エンジンは別途用意する必要があり。

 

検索用データベースとして割り切る事ができるならGroonga。

 

という感じでしょうか。

Mongo+ElasticSearchは王道ですが

Mongo+Groongaも近々試してみたいと思います。