読者です 読者をやめる 読者になる 読者になる

Developers Summit 2016で登壇しました(チラ裏)

今年も縁あってDevelopers Summit、いわゆるデブサミでの登壇機会を頂いたのでお話してきました。

内容的にはクラウドネイティブなアーキテクチャな話だったんだけど、発表が終わった今、少し思うところがあるので反省というか自戒も込めて。
完全にチラ裏エントリです。
 
ちなみに発表内容はこちら。
 
内容的には、
 
という感じでそれぞれを浅く広くという感じで話したんですが、まあぶっちゃけウケなかった。
 
元々はもっとGeneralな内容にするつもりだったんだけどついつい要らぬ欲が出て前半殆どがサービス紹介みたいになってしまった。
その結果、後半は時間が足らずかなり駆け足な内容に。
 
そういう意味ではクラウド(というかマイクロサービス)な開発の話をもう少し詳しくした上で前半に持ってきて、後半にそれをAWS上で動かす場合の話をすれば良かった。今さら言っても仕方がないが僕の伝えたかったことは「AWSを使ってマイクロサービス」ではなくて「マイクロサービスってどういうもので実装上気をつけるのはココだよ」であってそれを下支えするツールとしてのAWSだったのだ。これはこれでAWSのソリューションアーキテクトとしては正しかったのかもしれないが。なお誤解のないよう言っておくと、別に会社からこういう体裁でやれと言われたわけではないし、そのあたり割りと自由な会社だと思っていてそれはすごく感謝している。
 
話を戻すと後半のDevOpsなんてあのレベルならバッサリと削ってしまってよかったと思ってる。
 
さて、そういった話とは別にもう一点ある。それは本セッションのタイトルにもある「クラウドネイティブ」について。
この用語自体がとても実体のないフワフワした用語である。自分もこれまで使ってきたのだが、今回改めて考えたところ「クラウドネイティブ」とは何なのかわからなくなってしまった。いや、自分なりに腹落ちのする説明をつけれなくなったというか。その結果が苦しまぎれ(と言ってもいいと思う)なスライド中のあの自分なりの定義なのだ。というわけでこの用語に関しては答えを見つけるまで使うことを控えようと思う。
ただし、この言葉自体を否定しているわけではないので他の方がその方の文脈で使う分にはとやかく言うつもりは全くない。
 
※唯一良かったと思えるのは後半飛ばし気味だったとはいえ時間ピッタリに最後まで終わらせたくらいか。
 
と、まあこういう辺りを踏まえて次回大阪でお呼ばれしているInnovation Eggではお話をしたいと思います。
次回はこちらでお話をさせて頂きます。
 

innovationegg.doorkeeper.jp

Innovation EGG 第7回 『クラウドネィティブ化する世界』
2016-03-19(土)12:00 - 18:30
会場 エムオーテックス 新大阪ビル 大阪市淀川区西中島5-12-12

 
タイトルに思いっきりクラウドネイティブって入ってるけどwww
 
 
 

gitignoreで指定する前にaddしてしまった場合のメモ

慣れない言語とかフレームワークIDE使っていて後からgitignoreしたい場合にどうやればいいか忘れてしまったので備忘録がてらのメモ

インデックスから削除すると同時にファイルも削除する場合

$ git rm -f hogehoge~


インデックスからだけ削除する場合
※つまりファイルはそのまま

$ git rm --cached -f hogehoge~

こちらもどうぞ

[初心者向け]こんなときどうする⁉︎ GitのTips25選! - Sweet Escape

Gitポケットリファレンス

Gitポケットリファレンス

Fakerで嘘っぱちなデータを生成する

嘘っぱちっていうかいわゆるダミーデータね。
ちょっとしたコードをRubyで書いていて、適当に名前とか生成してくれるライブラリないかなーと探してて見つけたのがこれ。

Faker https://github.com/stympy/faker

そのものズバリな名前だけど各種フェイクデータを生成してくれるRubyのライブラリ。
生成してくれるデータは名前、住所以外にもメールアドレスなど多岐に渡る。

インストールは簡単でgem install fakerするだけ。

で、実際のコードはこんな感じ。

#coding utf-8

require 'faker'
require 'Set'

puts Faker::Code.ean #=> EANコード
puts Faker::Name.name #=> 氏名
puts Faker::Lorem.sentence #=> loremな文章


で、実行するとこんな感じでフェイクのデータが作成される。

$ ruby sample.rb 
8227509485998
Osvaldo Trantow
Nihil voluptatem voluptatem ut.

ちなみにLoremってのはいわゆるLorem ipsumで、一種のダミーテキストのことだ。

このFakerの便利なところは多言語対応していてロケールを切り替えれば各ロケール固有のフェイクデータを作成できるのだ。
例えば日本にセットすれば日本名の姓名が生成される。
単にlib/localesにあるメッセージファイルに記載しているだけなのでここに追加すればバリエーションを増やすことも可能と思われる。

Faker::Config.locale = :ja

puts Faker::Name.name #=> 日本語氏名
puts Faker::Address.

生成できるデータの種類は多岐に渡り、インターネット関連だとメールアドレス、ドメイン、URLなど。それ以外にも各種住所関連、クレジットカード番号とか電話番号が生成できる。
加えてそれぞれ結構細かい単位で生成することもできて痒いところに手が届く感じ。

テストコードなんかでダミーのパラメータを用意するときとか地味に面倒なのですごく役に立ちそう。

セブ語学留学体験①

5/31からフィリピンのセブ島に語学留学に来ている。
期間は3週間。ちょっと短いけれど、今回転職するにあたっての有給消化期間を利用するので仕方ない。
というわけで何回かにわけてフィリピン留学とか実際に行った学校(MBA)とかの良い面も悪い面も、両方について率直に言及したいと思う。
今回はこちらへ来てから一週間ほどたったのでそのインプレッションと主に環境面について。

きっかけ

きっかけはまさに転職。
IT系エンジニアであれば、昨今誰でも避けられないのが英語だと思うけど多くの日本の会社では英語できなくても何とかなるのが実情。
でも、転職を機にこれじゃいかんな、と思ったわけ。
ちなみに自分の場合、読むのはまだ何とかなる。でもリスニングとスピーキングに課題を感じていた。

実はちょうど転職のプロセスが進んでいるときに八子さんのこのエントリから始まる一連のエントリ(これとかこれ)を見ていて、将来もし行くことがあればMBAにしようと考えていた。
初めて行くなら知ってる方が絶賛していたところのほうがいいだろう、と。
従っていくつかの学校を比較検討したわけでもないし、他の学校に行ったことがあるわけでもないのでそういった比較はできないので許してください。

そもそも、英語の語学留学でフィリピン!?と思ったのは事実。
恥ずかしながらそれまでフィリピンでは英語が公用語になっていることも知らなかった。レアジョブとかもフィリピン人が先生になっているのは知っていたが特別な人を囲っているだけだと思っていた。
が、しかしである。wikipediaのこのページによると英語の話者数のランキングでフィリピンは世界で5番目に位置しているではないか。
※ちなみにこの表では日本がランキングに入っていないがそれは未調査なのか単に圏外なのかは不明。
ということで次の会社が決まり、入社日の調整がつき次第申し込むことにした。

今回自分が選んだ学校は、ユナイテッドリグロース株式会社が経営するMBA(Master of Business English Academy)というところ。

フィリピン「オトナ留学」で海外進出 - ユナイテッドリグロース㈱

フィリピン留学なら、社会人限定のオトナ留学MBA -


ユナイテッドリグロースさんは主にフィリピン進出支援をターゲットにしたベンチャーMBAの経営の他に同じくセブにAJITOというコワーキングスペースを経営していたりしている。
なお、このコワーキングスペースMBAの生徒ならば無料で利用可能。だが、まだ行ったことはない。

料金だが、自分の場合は3週間かつオーソドックスなスクールコースなので入学金と授業料合わせて196,000円。
ただし、これに加えて現地払いで空港からのピックアップ費用(1500ペソ)、SSP取得費用(6000ペソ)、ホテルのデポジット(500ペソ/週)が必要になる。
ホテルのデポジット水道光熱費にあてられ、チェックアウト時に精算されるとのこと。もちろん、エアコン等を使いすぎたなどでオーバーした場合は精算時の残りを払う必要がある。
さらに希望者にはポット、扇風機、携帯電話を有料で借りることができます。ポットと扇風機はそれぞれ500ペソで何ヶ月滞在しても500ペソ限り。
携帯電話は実際には端末だけ貸してもらえるのでプリペイドカードを自分で買ってロードする必要がある。
最初は携帯を借りるつもりでいたけれど、聞いたら国際電話が使えないということだったので借りるのはやめた。なのでこのあたりは注意が必要。

このあたりの料金に関しては同様の語学学校のパッケージと比較して少し高めらしい。知らなかったんだけど他は昼夜のご飯もついてるしね。
でも部屋の質、WiFiの有無などを考慮すると相応の値段かと思っていて値段設定に不満はない。
なお、この学校は原則として学生がいないということも良い。正直この歳で大学生ノリとかがいると厳しいものがある。

ちなみに、航空券は自分で手配した上でスタッフに伝える必要あり(ピックアップのため)。
自分の場合は1ヶ月を切ってから手配したのでフィリピン航空の往復で約67,000円と少し高め。
エクスペディアで予約したのだが座席指定はフィリピン航空に電話しないとできず、機体も古くパーソナルモニタなんかはあるわけもなく。
まあ、今回の件以外では乗らないだろうな。
現地までは約5時間。空港を出たところでピックアップの人が待ってくれている。そこから滞在先のホテルまではタクシーで40分くらいかかったかな。

目的

今回は3週間ということもありそれほど多くのことは期待できない。
従って、英語に関してはまず会話する際の心理的な障壁を減らすことを目的とした。
また、MBAで重視しているのは大人留学ならではのネットワーキングであり、これは自分の目的でもある。
実際にこっちへ来てから知り合った人たちと話してみて、やはり社会人になってからある程度のお金を出して留学している人たちっていうのは金銭的にも時間などの意味でも志が高かったり、アッパーポジションな人だったりが多いと感じた。

授業について

今回、自分が選択したスクールコースの場合、1コマ60分で1日あたり6コマ。1コマを除いてマンツーマンのレッスンで、その1コマはグループクラスとなる。
また、毎週金曜日の午後はプレゼンテーションの発表会が催され、その後その週で卒業される方の卒業式が行われる。
MBAではその他にも柔軟なコース選択ができるようになっていて、実際に午前中だけクラスがあって午後は仕事している、なんて人もいたり。
このあたりの詳細はMBAのサイトを見てくれるといい。

さて、マンツーマンのクラスはそれぞれ以下のような感じになっている。

Business English

これが核となるクラスでこのクラスの先生がいわゆる担任のような位置づけとなる。
このクラスは一日に2コマあり、ビジネスの現場で使われるような英語をスピーキングを中心に行っていく。スモールトークなんかもここでやる。
また、定番フレーズの暗記テストが毎日あったりする。

Speech Communication

話し方に重きを置いたクラス。
発音や発話法について教わることになる。
例えばアメリカンイングリッシュのアクセントやワードコネクションについてはここで習う

Current Event

ピーキングのクラスだが、時事ネタなどを元にディスカッションすることに重点がおかれている。
題材となるネタは事前のアンケートや担当の先生と相談して初日にすり合わせることになる。
自分の場合、IT関連、特にWebサービス関連や起業に関するネタにしてもらっている。

General Speaking

こちらもスピーキングのクラスだが、どちらかというとグラマー重視。
主に学生時代にならったようなことを英語でならいつつ、表現の幅を広げたりするような感じ。

Group Class

こちらは生徒のレベルに応じてグループ分けされた少人数で行うクラス。
何らかのテーマに沿って行われることが多いが、そのテーマ自体もディスカッションして決めたりしている。
自分が経験したものでは、面接のロールプレイやとあるトピックに関して自分の意見を述べた上でディスカッションするような感じ。
なお、この時間は生徒間の会話もすべて英語。

それぞれのクラスはかなり内容的に融通が効き、初回のクラスやその後の会話の中で少しずつアジャストしていくことになる。テーマとか自分が苦手と思っている部分、特に学びたい部分に関してリクエストすることができるのは非常にいいと思ったし、最大限の効果をあげるためには積極的にリクエストすべし。

また、先生にもよるが各クラスで宿題が出ることもある。ただし、嫌だといえば宿題はない模様。
自分の場合、宿題として映画やショートムービーを見た上で内容を説明したり、セリフを書き起こすなんていうそこそこハードな宿題を課せられているが、3週間という限られた時間でできるだけのことをやろうと思っていたのですごくいい。

先生の質に関しては日本も含めて他の学校に行ったことがないので比較材料がないが、自分にとってはあっている。若い先生も多いし人によって少し聞き取り辛いなどもなくはないが許容範囲だと思う。ちなみに先生のモチベーションは高く意欲も高い。フィリピン人って結構いい加減らしいんだけどすごく一生懸命やってくれるし、そんな素振りは全く見られない。
遠慮せずにガンガン質問しているけど嫌な顔一つせず真摯に向き合って教えてくれる。特に微妙なニュアンスの違いなんかは面倒な類の質問だと思うけれどどの先生もすごく丁寧にわかるまで説明してくれる。
英語力の問題も相まって細かいことに関する質問はしづらいんだけど、こちらの拙い英語を必死に理解してくれようとしてくれるので遠慮なく質問してちょっとした疑問をクリアにしていったほうがいいと思う。

ホテルおよび近隣の環境

ホテルは非常に綺麗なほうだと思う。聞くところによると同様のその他の学校の宿は古かったり汚かったりという話を聞いたので自分にとってはすごくよかった。
とはいえ、フィリピンクオリティであることを踏まえておく必要はある。

自分の場合、27階の一人部屋で、異なる条件だとまた違うかもしれないが、

  • バスタブはなし
  • アメニティとしてシャンプーとボディソープ、歯ブラシはある。コンディショナーはなくボディソープと言っても全然泡立たない固形石鹸だ
  • 水圧はかなり弱め
  • トイレットペーパーは実費と案内されていたが、実際はハウスキーピングのたびに1ロールだけ置いていってくれる
  • タオルはバスタオル×7、トイレのタオル×1のみ。これもハウスキーピングの際に交換してもらえる
  • ハウスキーピングは週に2回、必ず本人がいるときにやって来ることになっている。つまり授業中だ。
  • インターネット環境はかなり貧弱。部屋自体にはWiFiも有線も無料・有料問わずインターネット環境はなし。ロビーでは無料WiFiが使える。
  • ポケットWiFiが一人一台貸し出され、普段はLTE通信が可能。ただしLTEとは言っても速度は遅い。また、電波も悪く3Gもしくは2G(!)になることも多々ある。3Gの場合は実際のところは繋がらないに等しい。ちなみにキャリアはSMART。
  • ポケットWiFiは1ヶ月ごとにプリペイドのロードが切れるらしく、切れるとスタッフに更新してもらうまでまともに使えない。これは自分のようなオフライン恐怖症にはかなりの痛手なので強く改善して欲しいと思ったところ。
  • 冷蔵庫があるので飲み物なんかは買って冷やしておける
  • 流しはあるがコンロはなく、火気厳禁。そういうわけで今のところ使うことはないが長期滞在ならIHのコンロとか買って部屋で作ってもいいかもね(実際にやってる人もいる)
  • 部屋の中は禁煙だがベランダで吸うのはOKらしい
  • すぐ近くにセブンイレブンがあるのは非常に助かる
  • MBAの生徒は徒歩数分の系列ホテル(Crown Regency)のジムとプールが無料で使える。なお、利用の際は日本と違って特に上履きに履き替える必要はない。ちなみに更衣室はない。
  • Crown Regencyにはスタバあり。またここへ行く途中にマックとJollibeeがある。
  • 他の学校と違い、3食ついているわけではなく朝食だけ。昼と夜はどこかに食べにいくか買ってくる必要があるが近隣にはそれほど食べるところがない。かつローカルフードが多い。すぐ近くのタイレストランは現地の相場から見ると少し高めだが結構おいしくて毎日のようにお世話になっている
  • 徒歩10分くらいのところにロビンソンというモールがありここで大抵なんでも揃う
  • 現地の移動はほぼタクシー。めっちゃ安い。
  • 割りと近めのところにAyala CenterとSM City Mallという大きなショッピングモールがある。タクシーで行くが片道60ペソから80ペソくらい
  • 両モールには飲食店がいっぱい入っていて、ローカルフード以外も多くある
  • 両替はロビンソンでも可能だし、新生銀行の国際キャッシュカードがあれば街なかのATMでも下ろせる。自分はなんとなくモールのATMでしか下ろしていないが
  • マクタン空港でBaggage Claimを出たすぐのところに両替所あり
  • 洗濯はホテルに入っているクリーニング屋で。3kgまで90ペソ。レギュラーだと2日後にできあがり土日もやってる

ちなみに、セブ島といえばリゾート地のイメージだが学校のあるセブシティは全然リゾートではない。
と、こんなところで最後にとりあえず最初の1週間を過ごしての感想を。

一週間過ごしてみて

  • 到着した次の日はいきなり何もない日なので相当ヒマ
  • 初日は各コマで自己紹介を繰り返すことになり、自己紹介スキルだけがあがっていくw
  • 英語を集中して聞き続けるということに慣れていないので特に初日は疲れた。他の生徒も同様のことを言っていたので多かれ少なかれみんなそうなのかと
  • 2日目からは先生の言っていることが突然聞き取れるようになりだいぶ楽になった。おそらく初日を経てスピードなどをアジャストしてくれたからだと思われる
  • 意見を言ったときになぜそう思うのか理由や根拠を徹底的に聞かれるのは結構大変。英語で自分の言いたいとこを表現するのも大変だし、そもそも大して理由がない場合もあるw
  • 自分の場合、宿題として動画を見るってのがあって大変だけどこれはこれであり。宿題でもなければ字幕なしで映画とかドラマとか見る機会はないので。ただし、わからなくてめっちゃ凹む可能性もありw
  • グループクラスに関しては正直今も悩んでいる。というのも英語とはいえ同レベルの人とのディスカッションであること、マンツーマンクラスと比べて自ずと発言の機会は減ってしまうことから追加費用を払ってマンツーマンクラスに変えたほうがいいかとも思ったり
  • 夜は割とヒマなので飲みに言ったり、宿題したり人それぞれ。自分の場合は誘われたら飲みにいくけどあとは部屋で宿題したりDuo眺めたりしてる
  • 色んなバックグラウンドを持った人がいる。普段の生活では知り合うことはなかったと思うのですごく良い。なお、IT系が多めではある。
  • 思った以上に東南アジア感すごくてアレ。自分は初東南アジアだったので余計そう感じるのかも知れないが。
  • 食事は不味くはない。が、好みではない。イタリアンとかアメリカンな洋食好きの自分にとっては少々苦痛。
  • 物価が安いのはいい。ご飯とかも安い。ただし、Ayalaとかに入っている欧米系のブランドとかは日本とあまり変わらない
  • 国際キャッシュカードはやはり便利だ。国際キャッシュカードでお金をおろした場合のレートは2.5円/ペソだった。ただし、200ペソの手数料がかかるのでそれを高いと思うかは人それぞれかと。
  • 想像はしていたがネット回線は貧弱なのでiTunesで映画ダウンロードして観るとかは無理。諦めたほうがいい。
  • なんか最近お腹痛いのでヤクルト買ってきて飲み始めてみた。というかヤクルトってこっちでも売ってるのね!
  • お酒はすごく安くていい。でも炭酸水とかトニックウォーターとかがどこを探して売ってなくて困ってる。
  • お店で飲めるお酒はほとんどが薄味のビール。たまにワイン。それ以外の酒はバーとか行かないと無理。ちないにバーでジントニック頼んだけど炭酸を感じない何とも微妙なものが(不味くはない)

写真とか

滞在中のホテルの部屋。見たとおり綺麗。
f:id:Keisuke69:20140531202940j:plain

ホテルから見た夜の景色。左に見えるカラフルなビルがCrown Regency。27階なので綺麗。
f:id:Keisuke69:20140531204732j:plain

到着した日の夕飯。店とかわからないので最寄りのセブンイレブンで。
f:id:Keisuke69:20140531212759j:plain

翌朝の風景①
f:id:Keisuke69:20140601070748j:plain

翌朝の風景②
f:id:Keisuke69:20140601070803j:plain

Ayala Center。開店早々なのでまだほとんど人がいない。
f:id:Keisuke69:20140601102402j:plain

Ayala Center近辺の風景。このあたりは高層ビルも多く都会的。
f:id:Keisuke69:20140601115734j:plain
f:id:Keisuke69:20140601135639j:plain

ただし、これがセブの日常の風景である。
f:id:Keisuke69:20140607200915j:plain

最寄りのセブンイレブン
f:id:Keisuke69:20140608131740j:plain

毎日のようにお世話になってるタイレストラン。
f:id:Keisuke69:20140608131849j:plain

SM City Mall。Ayalaよりこちらのほうがローカル色強し。
f:id:Keisuke69:20140608143317j:plain

とある日の夕飯。これでたったの140ペソである。日本円にして350円くらい。
f:id:Keisuke69:20140608174430j:plain

SinatraでModuler Application書いたらテストでハマった

仕事で初めてまともにSinatra使って少しハマったのでメモ。

Sinatraでアプリ書く場合にはClassic StyleとModuler Applicationていう2種類がある。よく見るサンプルなんかは大抵Classic Styleで書かれているものが多いかと。

Sinatra::Base - Middleware, Libraries, and Modular Apps

今回、Moduler Applicationていうタイプでコードを書いてたんだけどテスト書いててハマった。
というのも Testing Sinatra with Rack::Test を見ながら書いてたんだけど、どうにもテストがうまく動かない。

上記ページに載ってるサンプルのうちRack::Testとrspecを使った場合は次のような感じ。

以下のサンプルアプリに対して、

require 'sinatra'

get '/' do
  "Hello World #{params[:name]}".strip
end


テストコードのサンプルはこんな感じ。

ENV['RACK_ENV'] = 'test'

require './hello_world' 
require 'rspec'
require 'rack/test'

describe 'The HelloWorld App' do
  include Rack::Test::Methods

  def app
    Sinatra::Application
  end

  it "says hello" do
    get '/'
    expect(last_response).to be_ok
    expect(last_response.body).to eq('Hello World')
  end
end

このテストはもちろんそのまま動く。
問題はこのサンプルはClassic Styleで書かれているってことで、自分のコードではModule Applicationとして書いていた。
例えば、同内容をModuler Applicationとして書き直すとこんな感じになる。

require 'sinatra/base'

class App < Sinatra::Base
  get '/' do
    "Hello World #{params[:name]}".strip
  end
end

大きな違いはrequireしているのがsinatra/baseになる。
そしてこの状態になると先ほどのテストコードは動かなくなる。
何も修正せずに上記のテストを実行するとこんな感じになるはず。

The HelloWorld App
  says hello (FAILED - 1)

Failures:

  1) The HelloWorld App says hello
     Failure/Error: expect(last_response).to be_ok
       expected ok? to return true, got false
     # ./hello_world_spec.rb:16:in `block (2 levels) in <top (required)>'

Finished in 0.03446 seconds
1 example, 1 failure

Failed examples:

rspec ./hello_world_spec.rb:14 # The HelloWorld App says hello

結論から言ってしまうとModulerスタイルで書いた場合はRack::Test使うときに必要になるappというメソッド内で定義しているSinatra::Applicationを自分のアプリのクラス名にする必要があるってこと。

つまりこうする必要がある。

ENV['RACK_ENV'] = 'test'

require './hello_world' 
require 'rspec'
require 'rack/test'

describe 'The HelloWorld App' do
  include Rack::Test::Methods

  def app
    HelloWorld #=> Sinatra::Application ではなく自分のアプリのクラス名
  end

  it "says hello" do
    get '/'
    expect(last_response).to be_ok
    expect(last_response.body).to eq('Hello World')
  end
end

なんでこうなるかを簡単に言うと、Classic Styleで require 'sinatra' すると実はsinnatra.rb内では上述のsinatra/baseが呼ばれていて、実体としてはSinatra::ApplicationというModuler Applicationが定義されてる。
つまり、Classic StyleとはModuler Application + α だということ。ここのαの部分にbuilt-in serverなんかが定義されてたり。

というわけでModuler Applicationの場合はSinatra::Applicationではなく自分のクラスを使いましょうということ。
ちなみにModuler Applicationの場合はbuilt-in serverがないのでconfig.ruを用意してrackupしたりするよね?
そのときに指定するクラスは自分のクラスになるわけで、つまりはそういうこと。

require './hello_world'
run HelloWorld

知ってる人からすりゃ当たり前な少し恥ずかしい話でした。

RubyでHipChatにメッセージ通知

今日は自分の携わっているeXcaleが出展しているDevelopers Summitに来ています。
※ちなみにeXcaleはサインアップキャンペーン中で今なら新規登録でクーポンもらえます

隣のブースがAttrasianだったので、久々のブログのネタとしてHipChatにRubyから通知してみます。
HipChat万歳!

続きを読む

Zapierで各種Webサービスを自動連携させてみる

Zapierというのは各種WebサービスのAPIを利用してWebサービス間の処理を自動で連携してくれるWebサービス。
同様のものにIFTTTというのがあるけどZapierはより多くのWebサービスに対応してるらしい。
対応してるサービスとしてはTwitterとかFacebookGmailといったものからAWSのいくつか、Amazon S3とかAmazon SNSあたりも対応してる。

一定範囲までは無料で使えるので早速、TwitterとHipChatをZapierを使って連携してみる。
なお、一部のサービスは無料では使えないっぽい。

サインアップはメールアドレスだけでできるので省略。

続きを読む