Play framework 2.3のインストールとチュートリアルのおぼえがき
Webアプリを作ってみよう!と思って、Play framework 2.3の環境を整えてみました。
学生時代の研究の試行にScalaでWebアプリを作りたくって、LiftとPlayで悩んでLiftを使ったことはあったんですが、、Playは初。(Liftももうすっかり忘れちゃいましたが、、、涙)
環境:Mac OS X Yosemite、Play framework 2.3.8
まず、インストールからチュートリアルまで。以下を参考にさせていただきました。
・Play Framework 2 for Javaのプロジェクト作成と開発環境 (Scala IDE on Eclipse)
http://qiita.com/shinobu_shiva/items/4bb16071a03418103cbf
・Play Framework インストール,プロジェクト作成,実行,eclipseでデバッグ(Windows編)
http://tekitoo.sakura.ne.jp/2014/12/20/play-framework-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E4%BD%9C%E6%88%90%E5%AE%9F%E8%A1%8Ceclipse%E3%81%A7%E3%83%87%E3%83%90/
・本家チュートリアル(2.2.x)
https://www.playframework.com/documentation/ja/2.2.x/ScalaTodoList
上記の本家のチュートリアルは、Play Framework 2.2.xようなので、そのままはできません。。
何が最も違うかというと、起動するコマンドが
play
↓
activator
になってることですかね…(最初混乱しましたw)
他はとりあえず意識せずできました。
Emacsと何かしらのIDEに環境を整えると安堵感。
なんか苦労した気がしたけどメモが雑であまり残ってない…
基本的なPlay(Scala)プロジェクトことはじめ↓
[1]プロジェクト作成
$activator new
で、
6) play-scala を選択。
アプリ名はSampleに。
[2]次に、eclipseプロジェクトを作成。
cd ~/さっき作った場所/Sample
./activator eclipse
[3]Eclipseへインポート。
Eclipseを起動して「インポート」からEclipseプロジェクトとして先のパスを指定。
※Copy projects into Workspace のチェックは外した。
★追記
とゆーメモを2014/12〜2015/3にとったあと、ふと今見たら、チュートリアル2.3.x用があった!
・本家チュートリアル(2.3.x)
https://www.playframework.com/documentation/ja/2.3.x/Home
次からは2.3.x用を参照します。。
あれ、でもPlayのサイトから「Documentation」を辿るとまずは2.2.xが出ますね。主流派2.2.xなのかな?
Playのバージョンも2.3.8から2.3.9が最新になってますねー。
どんな技術も更新が早くて、会社って枠を抜け出ると技術のスピードを実感します…。
GNU Emacs 24.5へアップデート
学部4年生のときから、基本エディタはEmacsです。 キーバインドに慣れてしまってるだけなので、Eclipseの「Emacs」キーバインドにしてC-hのバックスペースを足すぐらいで満足しちゃうぐらいにはライトユーザーですが;
今年度になってから、3年ぶり(?)にScalaを書こうとしていて、Emacsで簡単なのを書いたら、色づかなかった…。3年前に.emacsを吹っ飛ばしてからscala-modeを入れてなかったらしい。というわけでscala-mode2を入れました。そのときにEmacsアップデートが必要になったらつまずいたのでメモ。(メモ時点は、2015/4)
昔の記事「Scalaのインストールとかpluginとか(Mac OS X 10.6)」をみながら(懐かしい…!)ググったりしてたら、今はscala-mode2なるものがあるそう。
2.マニュアルのやり方で、gitから該当の*.elたちを持ってくる。
git clone git://github.com/hvesalai/scala-mode2.git
きたきた。で、.emacsに以下をいれる。
(add-to-list 'load-path "/path/to/scala-mode2/") (require 'scala-mode2)
…C-x, C-eで実行してみたらエラーなんだけど?
(エラーの内容はメモするの忘れてしまった。。)
もっかいさっきのページのReadme見てたら、
not available in emacs prior to version 24.
お、私のGNU Emacsのバージョンが23.xだった…。
というわけで、GNU Emacs 24.5へアップデート
サクッと使いたかったのもあって、最初は以下のサイトから.dmgを持ってきた。
ら、起動したら画面がおかしい…。スクショとるの忘れたけれど、スクロールするとゴミが残る、画面バッファの書き換えでの明らかにバグっぽい何か。
うそー。ビルドされたものもらってきたの悪かった?
以下のサイトを参考に、24.5verをダウンロード&ビルド。ちなみにIMEパッチはあててません。ことえりだし。
- 参考:木漏れ日の部屋へようこそ: Mac OS X MavericksにEmacs24.3をインストール
- 参考:OS X ハッキング!(331) Cocoa対応で大きく変わった「Emacs 23.1」(1) | マイナビニュース
wget http://core.ring.gr.jp/pub/GNU/emacs/emacs-24.5.tar.xz tar xfJ emacs-24.5.tar.xz cd emacs-24.5 ./configure --with-ns --without-x make make install cp -r ./nextstop/Emacs.spp /Applications/.
で起動してみたけど、先に持ってきたものと同じ画面バッファがうまく書き変わらないバグ…
以下のサイトを参考に再度。こちらでうまくいきました。。こちらはパッチも含めて従った。手取り足取りやってもらわないとできないのか…><
上でwgetで手に入れたtar.xzは取得し直してない。(一応元サイトのまま、curlで入れておいた)
make installのGZIP_PROG=''は入れてない。その他はコマンドまったく一緒。
curl -LO http://ftp.gnu.org/pub/gnu/emacs/emacs-24.5.tar.xz curl -LO ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-24.5-mac-5.7.tar.gz tar xfJ emacs-24.5.tar.xz tar xfz emacs-24.5-mac-5.7.tar.gz cd emacs-24.5 patch -p 1 < ../emacs-24.5-mac-5.7/patch-mac cp -r ../emacs-24.5-mac-5.7/mac mac cp ../emacs-24.5-mac-5.7/src/* src cp ../emacs-24.5-mac-5.7/lisp/term/mac-win.el lisp/term cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns ./configure --prefix=$HOME/opt/emacs-24.5 --with-mac --without-x make make install cp -r ./mac/Emacs.app /Applications/.
これだとうまく動いた…Emacsアップデートに1時間もかかってしまったw
で、無事scala-mode2も動きました。やたー。
けど、もともと.emacsにあったmodelineの設定とcsharp-modeが動かなくなったので、また後日直さないと〜。
KDP(Kindle Direct Publishing)での個人出版メモ(前編)
こんにちは、Newになったのに変化が見られないえみーです。
よ…ようやくKDPで出版したものの収入が手元に来そうなので、今までの経緯をまとめます。長くなったので前後編で。
↓ことあるごとに宣伝してる気がするので恐縮ですが、本はコレです。
執筆のもろもろ
続きを読むLINEの通信をWiresharkで覗いてみる
「フリーWiFiが危ない!」みたいな話ってよく聞きますよね。で、この前ワイドショーだか夜の不思議番組だかでフリーWiFiをオジサンが立てて実験してるのを見ました。フリーWiFiに繋いだ女子大生たちがLINEを使ったところ、「ほら、LINEの情報はこんなにだだ漏れです」みたいな感じ。実際にオジサンは女子大生のところに行って、「きみらLINE使ってたでしょー」と言う。女子大生ドン引き。「もう二度とフリーWiFiは使いません」とまで言わせる流れだった。
思わず、さすがに引いた。これが本当ならちょっとどうかと思うし、むしろLINE側の問題なんじゃ…?
ググった感じは、TLSで守られていそうだった。
というわけでiPhone (6Plus, au))のLINEのやりとりを覗いてみました。
ちなみに、Mac OS X YosemiteにインストールしたWiresharkで覗きました。iPhoneはiOS 8.1.3 でLINEは4.9.1。Wifi接続済み。(キャリアLTEではない) ====
■やり方
やり方は、以下のQiitaの記事のWiresharkの項を参考にさせていただきました。
■結果
通信先で確認できたのは以下。
IP | IPアドレスのwhois | DNS | メモ |
---|---|---|---|
203.104.131.24 | LINE Corporation | nelo2-col.nhncorp.jp | 203.104.128.0 - 203.104.159.255はLINEらしい |
203.104.142.1 | LINE Corporation | gw.line.naver.jp | LINE使用中ずっとやりとりしてた |
104.78.102.15 | Akamai Technologies, Inc. (AKAMAI) | scdn.line-apps.com.edgekey.net, ..., e1102.g.akamaiedge.net | メッセージやりとりぽ |
220.208.109.46 | Jupiter Telecommunications Co., Ltd. | dl.stickershop.line.naver.jp.edgesuite.net, ..., a908.g.akamai.net | スタンプ置き場 |
ちなみに、DNSは実験した日のWiresharkのログから。後日nslookupしたら全然違うドメインだったり、IPだったりした。IPアドレスのwhoisはこれを書きながら確認したもの。
通信先としては、LINE系とAKAMI系の2種だった。4番目のものはwhoisはJ:COMなのだけど、DNSはAKAMAI。我が家のネットがJ:COM(ケーブルTV)なので、そこのキャッシュだと思う。
通信の内容としては、上記にも書いちゃったけど、認証とメッセージ(テキスト)とスタンプと3種類ありそう。(メッセージいっぱい送ったんだけど、どうにも個数とは合わなかったから他にもあるかも…)
通信の種類 | 相手 | SSL/TLS | CipherSuite | メモ |
---|---|---|---|---|
認証 | LINEサーバ | TLS 1.0 | TLS_DHE_RSA_WITH_AES_128_CBC_SHA | 認証の後もずっとSSL 2.0でContinuation Dataなるものを送り続けていた |
メッセージ(テキスト) | AKAMAI | TLS 1.2 | TLS_RSA_WITH_AES_256_CBC_SHA | メッセージ送信の数に対しては少なかったが…。 |
スタンプ | AKAMAI | HTTP | - | 有料や期間限定のスタンプはメタデータ、最初から入ってるスタンプは画像データだった |
エラーメッセージは特に出ていなかったので検証できていない。スタンプは確かに平文で、何をGETしているかも見えた。そして少なくとも今は、同じGETをすると、メタデータか画像がちゃんと見えるという。スタンプだけで会話していたら筒抜けになる可能性はあるかもw ただし機械的にやらず、絵柄から意味を見出す高等テクニックが必要だけど。メッセージは暗号化的には当面十分そう。
■まとめ&雑感
さすがにフリーWifi使ってたからって瞬時にメッセージ内容がわかるわけではない。LINEを使っていることはわかる。スタンプの内容もわかる。
まあ…某番組では例にLINEをあげたからアレだったけど、平文送信がだだ漏れなのは間違いないのでフリーWifiは心して使おうというのは同意。
(SSLはともかく)TLSの内容が漏れるのは、Wifiそのものが引っ掛けだった場合と個人的には思ってる(中間者攻撃など)。携帯キャリアや喫茶店のではない、野良Wifiに繋がないようにしよう、は全面的に同意したい。あとは、クレジットカード情報やインターネットバンキングの利用も避けたい。通信観点ではなくても、そもそも外でそういう番号を入れること自体が危ないし。
LINEのセキュリティイメージを無駄に低く持っている人が多いのもメディアの書き方の気がするなあ。確かに後手に回っていたのは確かだろうけど。個人的には、便利な技術がセキュリティが原因で「使えない」のがもったいなくて。セキュリティの不安は、不安な感情に直結するから簡単じゃないのはわかるんだけどね…。
ゲーム業界キャリア系シンポジウムに行ってきました
少し間が空いたけれど、、2015/1/17(土)に行われた「ゲーム業界におけるキャリアパス、人材育成の過去・現在・未来」に行ってきました!
シンポジウム『ゲーム業界におけるキャリアパス、人材育成の過去・現在・未来』開催 | メディア芸術カレントコンテンツ
続きを読む
【告知】2/28にWebインフラなイベントをやります
みなさまこんにちは、えみーです。
こちらに書くのは久しぶりですね…!
技術系ブログとしては残しておく&今後もここに書いていくつもりですが、ブログのあり方についてちょっぴり見直し中です。 2月中にはなんらかの形で報告する予定です。
で、今回は告知です!
2/28にWebインフラなLT会&飲み会をやります。
Glory Web Infra 〜Webを支える技術について語る会〜 | Peatix
会の趣旨としては、顔の見える勉強会!ということを考えています。
素直に、全員が発表できて、全員がざっくばらんに話せたらいいなあと思っています。
そんなわけで、LT会にしちゃいました。
会場は、catatsuyさんのおかげで、ピクシブさんのオフィスをお借りすることになりました!(どうもありがとうございます!!!)
何か気になるところあればお問い合わせください〜。
どうぞよろしくお願いします!