タッチ・アンド・スリープ・アンド・ゴー

つまらないことしか書きません

いいから俺の夏の思い出を見てくれ!(2017)

色々ありました。

ヴァージョン2016: nasustim.hatenadiary.com

六月

IAMASのプロジェクトに配属されて、オープンハウス(オープンキャンパス)で展示する作品を作り始めました。

作りたいモノを決めずにプロジェクトに入ったので、配属早々に先行事例100個調べてこいを命ぜられた思い出。(もしかしたら今もやるべきなのかもしれない)

七月

ツイッターの知り合いのアルファロメオお兄さんたちの集会BBQにちゃっかり参加しました。当方マツダアクセラです。

学校のみんなでCIRCUS TOKYOに行ってクラブイベントをしました。全ての関係者様に感謝。

オープンハウスで秀作と作業机を展示しました。

恐らくわたけみさんか永松さんの知り合いと思われるキラキラ女子ズに、展示すごーいってめちゃめちゃ言われました。さらに精進しようと思いました。

八月

お祭りと聞いて駆けつけました。

泊めてくれた大学同期と、岐阜までの帰り乗せてくださった大和さんに感謝。

台湾に行きました。

総評

遊びすぎて修士研究がやばい。

node + express周りの基本 - 備忘録

大学院のプロジェクト(研究室みたいなやつ)の一環で習作を作っています。その中で、サーバサイドをnode + expressで作りこんでいます。
今まで、nodeのCLIを少しとexpress未経験だった僕としてのちょっとした備忘録。

導入

開発環境がmacなのでmac向けに書きます。今のmacにはデフォルトでnodeとnpmが入っているので、面倒くさいバージョン管理は抜きにしてプリインストールのシステムを使います。

$ mkdir project && cd project  
$ npm init  

質問に答えていく

$ npm install express  

作ったディレクトリにexpress(node環境のwebアプリケーションフレームワーク)をインストール 。
npmではnodeをベースにしたプロジェクト単位でパッケージを入れられる。

$ npm install ejs  

expressで使えるテンプレートエンジン。PHPみたいに使える。
ejsとjadeの2種類がある。
ejs => 今までの静的ページの資源を再利用し、PHPのように実行部分を付け加えられる。
jade => Rubymiddlemanとかあんな感じのノリでHTMLへ変換するための記述していくやつ。

$ mkdir views && cd views  
$ cat > index.ejs  

テンプレートファイルやHTMLファイルは $WEB_ROOT/views の直下に置いていく。

$ cd ../  
$ vim srv.js  

サーバサイドのプログラムを記述。
後述。

$ node srv.js  

サーバアプリを起動。

コーディング

var express = require("express");
var app = express();

// テンプレートエンジンにejsを使う指定
app.set("view engine","ejs");

// まずはwebサーバを8080ポートで開く。
var server = app.listen(8080,function(){
    console.log("express is running at "+server.address().port);
});

// $WEB_ROOTにGETリクエストが送られて来た時の処理
// req => 来たリクエストのデータが格納されている。
// res => レスポンスを送るためのインスタンス。renderメソッドとかsendメソッドでクライアントにレスポンスできる。
// next => よく存じ上げていない。今のところ使っていない。
app.get("/",function(req,res,next){
    res.render("index",{});
});

// $WEB_ROOT/api とかにPOSTリクエストが来た時の処理。
app.post('/api',function(req,res){
    //renderの場合はview以下の第一引数で指定したテンプレートファイル/HTMLファイルがクライアント側に返されて表示される。
    //第一引数の文字列からは拡張子は省略できる
    res.render("api",{});
    //sendはデータをレスポンスで返せる。
    //ObjectとかArrayで返すと便利。
    res.send([
        {taskName: "帰る", taskPriority: 1},
        {taskName: "寝る", taskPriority: 2},
        {taskName: "学校に来る", taskPriority: 3}
    ]);
});

この際なので.bashrcを作り込んだ

Githubでターミナル起動時のスクリプトを公開してる人が多かったので、僕もちょっと整理して書いてみた。

続きを読む

タロアニ!2016に来てくれ! #タロアニ

twipla.jp

続きを読む

JavaScriptのclassの変数周りで嵌ったので記録

今日の話

続きを読む

いいから俺の旅の思い出を見てくれ!

8月の16日から昨日までベトナムホーチミンっていう所に居た。

撮った写真たちを公開しないのは勿体無いのでこのブログで供養させて欲しい。

 

続きを読む