Raccoon Tech Blog [株式会社ラクーン 技術戦略部ブログ]

株式会社ラクーン 技術戦略部より、tipsやノウハウなど技術的な話題を発信いたします。

第2回技術部LT大会

こんにちは、たむらです。

先日第2回技術部LT大会を開催しました。
今回も個性的な発表が多く、実際に業務に使えるものからメンバーの趣味趣向が伺えるものまで幅広いテーマが取り上げられていました。


~発表されたLTタイトル~
「Spring Batch」
「WSHによるPC管理」
「Selenium。基礎の基礎から。」
「5分じゃ分からない内部統制」
「Windows Phone 8のハナシ」
「Raspberry Piで遊んでみた」
「社会学におけるネットワーク」
「Heroku使ってWEBアプリ1つ作ってみました」
「業務効率とUI」
「パズルを解くアルゴリズム」
「GIT DIFFのマニュアル読んでみた」
「ある2日間ハック」
「目の前の仕事を目的にしないための取り組み」


LT大会の様子

25 - 425 - 1325 - 1525 - 5

























































投票結果は以下の通り。
1位:「ある2日間ハック」
2位:「5分じゃ分からない内部統制」
3位:「Raspberry Piで遊んでみた」

1位になった「ある2日間ハック」は、請求書にカスタマーバーコードやEANバーコードを付けたいという要求にgo langを使ってさらっと対応できたというもの。発表者は社内のプレゼン研修等でもいつも上位にいるメンバーで、内容もプレゼンも素晴らしいものでした。

余り仕事で接点のないメンバーの興味や考え方を知る意味でも面白いイベントなので来年以降も続けていこうと思っています。

Mashup Awards

こんにちは。開発の野田です。
弊社の開発チームでは、普段2〜4人程度の小さなユニットを組んで開発を行っています。
それぞれのユニットは半期毎に目標を掲げて活動するのですが、私の所属するユニットでは
今期、会社外での取り組みを増やすという目標を掲げました。
その手段としてMashup Awardsへの参加という方法を取ったので、
その取り組みの様子をお伝えしたいと思います。 

7月にMashup Awardsのハッカソンに参加しました。
14689729902_2d8bf8f6ba_zハッカソンのテーマは「少し未来の食卓」でした。
14666984476_f684ccfa50_z初日中盤の様子。この頃はまだ元気がありますね笑
14511765838_3541c45054_z
ハッカソン2日目、最終プレゼンの様子です。
前日遅くまで開発、当日は早朝から開発し続け最後にプレゼン。体力的にはギリギリでした。
14696020994_53967f8462_z近所の居酒屋に無理言って親子丼を作ってもらいました。
世界広しと言えど、コントプレゼン中にご飯を食べるのは私位かもしれませんね。。
14695176491_d1a46bf51d_z












打ち上げで(株)じげんの具志堅さんとパシャリ。

短期間に刺激がギュッと詰まった経験が出来たと思います。
写真を選んでいると当時の疲労感とギリギリの緊張感と達成感が思い出されます。
このハッカソンの後はまさに現在行われているMashup Awardsの予選にも参加をしています。

社外での活動というのは個人的には結構勇気のいる事だと思っています。
ですが、その一歩を踏み出す事でしか経験出来ない事があると思います。
これからも勇気を持って、積極的に社外で活動していきたいと思いまーす!

第1回技術部LT大会

開発の阿部です。
先日、部内全員を対象とした技術部LT大会が開催されました。
LT大会では技術的なナレッジの共有やプレゼン力を鍛えるなどを目的としています。
現在の予定では冬に後半の第2回技術部LT大会まで開催が決定しています。
今回は前半という事で10名が発表を行いました。

LT大会の概要は持ち時間5分で、業務に関係する事、または技術に関係する事をテーマに発表する事です。
発表後に部内で投票を行い上位3名には賞が送られる事となりました。

発表者10名のテーマは
「Kinect for Windows v2を使ってみた」
「NetApp概要」
「クレジットカード決済の基礎知識」
「AngularJSいいよ。」
「SD売上純額表示のシステム側の話」
「AWS+Node.js+Sails.js+RedisによるスケーラブルWebSocket」
「コレックスイッチ」
「技術部 千年帝国の野望」
「OS開発入門」
「Windows To Go をメインのPCとして使う」

LT大会の様子 
4-r

3-r

2-r

1-r







































































最後に投票結果は以下のようになりました。
1位:「AngularJSいいよ。」
2位:「AWS+Node.js+Sails.js+RedisによるスケーラブルWebSocket」
3位:「Kinect for Windows v2を使ってみた」

各受賞者の方おめでとうございます!
プレゼンって大事だなぁと改めて思いました。
私の発表は後半の第2回目なので今からドキドキしていますが、上位狙って頑張りたいと思います。

AWS社内勉強会

AWSの社内勉強会を技術戦略部の松尾を講師として開催しました。

AWSは、2014年3月にサービスインしたCOREC(コレック)で使われ始めてから
社内で勢いを増してきています。


今回の勉強会は

1. VPC (Virtual Private Cloud)
2. EC2 (Elastic Compute Cloud)
3. RDS (Relational Database Service)
4. Route 53
5. SES (Simple Email Service)
6. S3 (Simple Storage Service)
7. IAM (Identity and Access Management)
8. SQS (Simple Queue Service)

の概要から説明していただき、
各自AWS マネジメントコンソールからEC2インスタンスの起動と終了を操作したり、
AWS SDK for Rubyを使ってS3へファイルをアップロードしたりしました。

IMG_0547

次回の社内勉強会は・・・まだ未定です。

サーバサイドでWebページのキャプチャ画像を作成する

開発の松尾です。
とある事情よりサーバサイドで任意のWebページのキャプチャ画像を保存したいという要件が湧いてきたので、比較的楽に実現できる方法について考えてみました。

CutyCapt

CutyCaptはAppleのSafariやGoogleのChromブラウザーなどのレンダリングエンジンのベースとなっているWebkitというライブラリを利用してWebページを画像やその他のフォーマットに変換してくれる非常に便利なツールです。
わたしが開発環境として利用しているUbuntu 14.04であれば下記のように簡単に導入できます。
$ sudo apt-get install cutycapt
使い方も簡単。
$ cutycapt --url=http://www.superdelivery.com/ --out=top.png
オプションの「--url」でキャプチャしたいページのURLを指定しつつ、「--out」で出力するファイルを指定するだけで問題なく使用できます。出力先のファイルの拡張子部分を見てフォーマットを推測しているようで、PNG形式に限らずPDF形式で出力することも可能です。

サーバサイドで動かすには?

たまたまわたしがUbuntu Desktopを手元で利用しているので簡単に導入と実行ができたわけですがサーバサイドでCutyCaptを動かすにはどうしたらいいでしょうか?
通常はサーバサイドでX Window Systemに類するサービスは動いていませんし、動かしたくもありません。
そこで、X Serverの仮想的フレームバッファを作るためにxvfbを利用します。

これまたUbuntuであれば導入も簡単。
$ sudo apt-get install xvfb
少しだけややこしいのですが、xvfbとCutyCaptを組み合わせて下記のように利用します。
$ xvfb-run --server-args="-screen 0, 1024x768x24" \
/usr/bin/cutycapt --url=http://www.superdelivery.com/
xvfb-runは「--server-args」で指定された内容の仮想フレームバッファを用意し、その環境下で任意のコマンドを実行します。
これでサーバサイドでも上手く動きそうです。実際にAWS上のインスタンスで試してみましょう。

AWSインスタンス上でCutyCapt

仮想的なX環境とCutyCaptを利用してサーバサイドでも簡単にキャプチャは実行できそうですが、ひとつだけ厄介な問題があります。
「普通のLinuxサーバには通常プロポーショナルな日本語フォントなぞインストールされていない」という問題です。つまり、日本語も含めてWebページをそれなりにレンダリングするためにはOSのパッケージを取捨選択して必要なものを揃える必要があります。
Ubuntuの膨大なパッケージ情報の中からCutyCaptが日本語も含めて綺麗にレンダリングできる環境の設定…。
「無理!」

ということで大雑把にいきます。

AWSのインスタンスをUbuntu 14.04 LTSから作成して下記のようにえいやっと。
$ sudo apt-get install ubuntu-desktop xvfb cutycapt
ubuntu-desktopパッケージはUbuntuのデスクトップ環境であるUnityであるとか、そのベースであるgnomeであるとかとにかく大量の関連パッケージを含んでおり、累計1.7GBものパッケージがインストールされるため実行中はコーヒーでも飲みに行って休憩するといいかもしれません。
途中でFirefoxやThunderbirdのような明らかにサーバに不要なものもずんずんインストールされて怖くなってきますが我慢します。あまり労力を払わずに整った日本語環境を手に入れるための試練です。明らかに不要なのにデカいものはあとで個別にremoveすりゃなんとかなりますって(汗

さて、実験。
標準では横幅800ピクセルでレンダリングされるので、ちょっと贅沢に「--min-width=1280」で試してみます。
$ xvfb-run --server-args="-screen 0, 1024x768x24" \
/usr/bin/cutycapt --url=http://www.superdelivery.com/ \
--out=superdelivery.png --min-width=1280
処理の内容を考えれば当然のことなんですが数秒の時間がかかります。

superdelivery

かなり綺麗なレンダリング結果が得られました。Ubuntuの整った多言語環境がサーバサイドでも力を発揮した瞬間です。
このクオリティで画像化できることがわかり十分に要件を満たせそうだと立証できました。

まとめ

  • サーバサイドでもUbuntuの他言語環境+CutyCaptを使って綺麗なWebページのキャプチャができる。
  • JavaScriptも動作するし必要が無ければOFFにできる。今のところ何故Flashコンテンツまでレンダリングされるのかが謎。
  • 反動で大量のパッケージがインストールされてしまったけど、えーっともう少し片付けます…

記事検索