AWS-UG 千葉支部 Vol.3 -AWSスタートアップあるあるに参加しました!

JAWS-UG 千葉支部 Vol.3 -AWSスタートアップあるあるに参加してきた。
新浦安、思ったよりよさ気なところだったけど遠い…

以下セッションの内容

スタートアップのためのAWSピーク対策入門

スタートアップ支援されているAWSの高山さんによるスタートアップ向けのお話。
全般的にスタートアップを考えている人は知っといたほうがいい感じの内容だった。
特に

  • テレビ露出をなめないほうがよい
  • サーバーを20台増やして使用率10%なら笑い話だけど増やさずに落ちたら大変

なのでメディア露出時は思い切って増やしましょうって話は経験者は語る的な感じですごく説得力があったw
あと個人的にはランディングページをS3に置くって発想がなかったのでいいなと思った。

eXcaleによるAWSの利用方法

うちのボスの西谷さんがeXcaleのAWS事情について話しました。

AWSの困った話とバッドノウハウ

アールラーニングの小田島さんのAWSバッドノウハウの話…になるはずが話せなくなったとのことw
良いパターンとかhogehogeを実現した方法って情報として出まわるけど、ネガティブな情報とか完成に至るまでにハマったところとかってなかなか見つからなかったりするのでバッドノウハウ聞きたかった…

スタートアップの成長とAWSの活用

freeeの横路さんがスタートアップから今までのインフラ史を語ってくれていた。
freeeの場合はセキュリティ要件があってHerokuからAWSに移行して、その後色々置き換えて今に至るって感じらしい。
最近の自分はスタートアップに興味があって、色々試行錯誤してインフラが成長していくさまをしれたのはすごく良かった。
横路さんには懇親会でも色々お話を伺いました。ありがとうございました。

AWSでセキュリティをここまで高められる〜PCI DSS運用もAWSで〜

cloudpackの吉田さんのお話。
本題とは別に話されていた先日のJAWS DaysでやっていたCTOトークセッションのまとめや、iretさんの初期のお話がおもしろかった。
あと非公表ながらRIインスタンスについての調査結果がすごく参考になった。
自分もベンチマークとか料金とかのみんなが気になるデータを調査して発信するようなことしたいなーとか思ったり。

FluentdとAWSを使ったログ運用

今回はeXcaleがスポンサーだったので簡単なFluentd使ったAWS上でのログ運用についてLT枠でお話させていただいた。
喋っている人みんな凄かったので内容のレベル間が合わなくて若干辛かったw
まぁそこはLTだからということで。

Node.js でS3にアクセスしてみよう。

蛭田 聡司(@web_se)さんのお話。
タイトルの本題より最近のクラウドサービス事情のお話の方が長かったようなw
GoogleComputeEngineとか自分はまったく触ったことないので新鮮だった。

opsworks本番前提でopsworksを使わないで開発する話

AWSの荒木さんの俺流opsworks(?)のお話。
開発環境でopsworks使うとお金がかかるので、開発環境でダミーopsworksを使う方法について話されていた。
開発環境と本番環境の差異ってできるだけ無くしたいけどいろいろな事情で完全に差異なしってのは難しくてこういうノウハウは勉強になるなー

まとめ

スタートアップでAWSを選択するのはもはや必然に近い状況なんじゃないかなーと思ったり。
最初はPaaSっていう選択肢もあるけど、ある程度成長したら卒業するものだと思うしいずれはAWSに乗ることになるんじゃないかな。
そのときに引っ越しするときとか、AWSの乗った後で各マネージドサービスに移す際のノウハウなんかが共有できるといいんじゃないかなーと思います。

Markdownエディタ「Haroopad」を使ってみた

経緯

僕はブログ記事をMarkdownで書いている。
当初はvimで書こうと思っていたのだけども、プレビューを表示させようとすると色々限界があって、使っていなかった。
かといってソフトをわざわざインストールするまでもないだろうということで、今まではオンライン上のツールを使っていた。

だが先日オンライン上で書いてる途中で事故で消してしまったこともあってローカルでやるべきだと思い知ることとなる。
今回はそのお試し1号としてHaroopadを試してみる。

ダウンロード

ダウンロードは下記サイトから

http://pad.haroopress.com/

Mac版があるのでそれをダウンロード。
dmgで落ちて来るので開くと以下のような感じでドラッグドロップすれば良い。

f:id:syguer:20140320214943p:plain

起動するときに以下のような画面がでたらcommandを押しながらopenするお約束

f:id:syguer:20140320214908p:plain

使い方

開くと一般的なMarkdownエディタと同じくエディタとプレビューが並んだ感じになる。

f:id:syguer:20140320214926p:plain

vimキーバインドを使うときは以下のオプションを有効に。

f:id:syguer:20140320214958p:plain

行数を表示するときは以下のオプションを有効にする。

f:id:syguer:20140320215014p:plain

使い心地

編集自体は普通なのだが、Google日本語入力と相性が悪いのか、日本語入力をしている時にスペースを叩いても変換候補が出てこなくて2回叩く必要がある。
これは若干使いづらい…
他は特に問題なし。
普段Markdownで書いてるとかいいつつもハイライト忘れたりするんだけどメニューから挿入できるのは良い。

f:id:syguer:20140320215035p:plain

まぁこの程度の機能は他のMarkdownエディタにもついてるだろうけど

結論

日本語変換の候補がなぜかスペース一発ででないのは残念極まりない。
他のものも試してみようと思う。

Macで時計をクリックした時にカレンダーを出す

Mac使い始めてからずーーっと気になってたところを解決するアプリを発見したのでメモ

Windows育ちの悲しみ

おなじみOS界のデファクトスタンダードWindowsでは画面の右下に時計があって、クリックするとカレンダーが表示されるじゃないですか
僕がWindowsを使っていた頃(といっても会社の事務PCは今でもWindowsだが)は割とその機能を多用していたから、Macを使ってる今でもよく使おうとして

f:id:syguer:20140210012112p:plain

こんな感じで「またやってしまった」と毎度思っていた

解決するアプリ

ここで登場するのが「Day-O
こいつを動かすとまんま期待した動作をしてくれる。

f:id:syguer:20140210012317p:plain

使い方はzip落としてアプリ起動するだけ
起動するとシステムで表示してた今までのやつとダブるので消しましょう
Preference…でフォーマットを変更できるので自分好みに。但し日付を表すアイコンみたいのは左端から動かないっぽい

vimが自動認識するファイルタイプを自分で設定する

自動ファイルタイプ検出

vimでは起動時(厳密にはバッファに展開時)に自動でファイルの拡張子に対応したファイルタイプを選んでくれる機能がついている これを有効化するには、.vimrcに

filetype on

と記述すればよい

だが、一般的なファイルタイプについては自動で設定が反映されるものの、少し外れると設定が無かったりする
そんなときは自分で、

:set filetype=hoge

や、その短縮形である

setf hoge

などとして都度読み込む必要がある
これは非常にめんどくさい

解決策

vimは起動時にfiletype.vimというファイルを読み込むことでこの自動検出を行っている
僕のMacでは/usr/share/vim/vim73/filetype.vimに存在しているが、この中を見ると以下の行がある

runtime! ftdetect/*.vim

この行はftdetect以下の*.vimを全部読み込むぜ!と言っているらしい!すばらしい
というわけで~/.vim/ftdetectというディレクトリを作って、その中に以下のようなものを入れておくと自動で読み込んでくれる

ftdetect/ejs.vim

au BufNewFile,BufRead *.ejs setf html ".ejsを開くときはファイルタイプをhtmlにする

これでejsを開くときはhtmlとして認識してくれる
僕は他にもcapistranoの.capをrubyにしたりしている

あまり使う機会はないかもしれないが、覚えておくと便利かも

jQueryで単純に色を取得して使おうとしてもうまくいかない

最近フロントエンドへの興味が高まっている
フロントエンドと言うより、正確にはデザインへの興味かな
グイグイ動く「それっぽい」アプリケーションを作りたいってのが動機
何事も見た目が重要で、実際大したことないものでもデザインによってユーザーがいい感じに思わせられれば勝ちなわけで。少なくともそこで損しないように作れるスキルは必須ですよねっていう

そんなわけで誠にお恥ずかしながら今更jQueryをちゃんと始めてみた
そして早速軽くハマったので備忘録がてら書いておく

ハマったこと

jQueryがどんなものかとか基本的な書き方とかは知ってたので実践がてら、以下のようなコードを書いてみたけど動かない

$(function(){
      $("#test").click(function(){
         if($(this).css("background-color") == "red"){
           $(this).css("background-color","blue")
         }
         else{
            $(this).css("background-color","red")
         }
      }) 
})

やりたいことは赤だったら青、それ以外だったら赤に変えるってだけなのだが…
色指定が"#xxxxxx"形式じゃなきゃダメなの?と思って変えてみるも変わらず

原因と解決策

実は条件分岐のところで使用している$(this).css("background-color")の返り値は以下の形式になっている

rgb(xxx, xxx, xxx)

なので、条件のところを書き換えてやるとうまくいった

$(function(){
      $("#test").click(function(){
         if($(this).css("background-color") == "rgb(255, 0, 0)"){ /* 条件分岐の条件を変更 */
           $(this).css("background-color","blue")
         }
         else{
            $(this).css("background-color","red")
         }
      }) 
})

正直こんなことも知らなかったとか恥ずかしい限り
何事も概要だけ知っててもまったく扱えないものだと反省

これからはちゃんと自分でがんがん書いて行こうと思う