シュナッ☆による輝きたい!ブログ☆

シュナッ☆による輝きたい!ブログ☆

どうしたら輝けるのでしょうか?
ときどき頭がおかしい記事を書きますw 温かく見守ってあげて下さい。

Amebaでブログを始めよう!


ジョジョに登場するキャラクター「シーザー・アントニオ・ツェペリ」のコスをさせていただきました(^O^)/

衣装も自作なのだぁ♪
一ヶ月も前に予定あったのに、前日に徹夜で作ったなんて秘密だよ( ´艸`)

$シュナッ☆による輝きたい!ブログ☆

全身はこんな感じヘ(゚∀゚*)ノ
$シュナッ☆による輝きたい!ブログ☆



という感じでジョジョ立ちしてみたり…


シュナッ☆による輝きたい!ブログ☆

シュナッ☆による輝きたい!ブログ☆



シャボン玉が武器なので
実際にシャボン玉作ってみたり
シュナッ☆による輝きたい!ブログ☆
シュナッ☆による輝きたい!ブログ☆


そんな感じでしたぁヘ(゚∀゚*)ノヘ(゚∀゚*)ノヘ(゚∀゚*)ノ



あと、ターミナルで画像縮小する時のおまじないは
$ sips -Z 1500 *.JPG
だよ(一応メモ)

MongoDBをNode.jsから使ってみた時のメモです。
MongoDBは NoSQL の1つとも言われているデータベースの一種です。


Mongoose のインストール

$ npm install mongoose
$ sudo port install mongodb

でインストールし、

$ mongod --version
db version v2.0.5, pdfile version 4.5

で動作確認できれば完了。

MongoDB を起動するには、

$ mkdir data
$ mongod --dbpath data

とすれば起動し、待ち状態になります。

つぎに、node.js から MongoDB を操作します。

var mongoose = require('mongoose');
//mydbの部分はデータベース名(好きな名前を選べます)
mongoose.connect('mongodb://localhost/mydb');

//Mongoose はスキーマ定義を書くのが流儀です。
var Schema = mongoose.Schema;
var Article = mongoose.model('articles',
 new Schema({
  title : String,
  body : String,
  date : { type:Date, default:Date.now }
 })
);

//新規ドキュメント
var obj = new Article();
obj.title = 'hello';
obj.body = 'hello body';

//JavaScript オブジェクトをそのまま save メソッドに渡せば MongoDB に保存されます。
obj.save(function(err){
 if(err) throw err;
});

次に、Mongodb に保存したデータを表示させてみましょう。

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydb');

var Schema = mongoose.Schema;
var Article = mongoose.model('articles',
 new Schema({
  title : String,
  body : String,
  date : { type:Date, default:Date.now }
 })
);

var body = "none";
Article.find({title:'hello'},function(err, docs){
 body = "none";
  docs.forEach(function(doc){
  if(err) throw err;
  body = doc.body;
 );
 if(body === "none"){
  console.log("ログインエラー = "+body);
 }else{
  console.log("hello = "+body);
 };
});

Article.find({title:'syunakira'},function(err, docs){
 body = "none";
 docs.forEach(function(doc){
  if(err) throw err;
  body = doc.body;
 });
  if(body === "none"){
    console.log("ログインエラー = "+body);
  }else{
    console.log("hello = "+body);
  };
});

------------------- 出力 -------------------
hello = hello body
ログインエラー = none

ブラウザで簡単に遊べるオンラインゲームを作るべく、それを実現させるために自分が手を出そうと決めたものは WebSocket でした。
その第一段階として node.js で書くことのできる Websocket サーバーをさくらVPSで構築し、リアルタイムチャットプログラムを書き動作確認したのでメモ。

作ったリアルタイムチャットはこんな感じの↓
$シュナッ☆による輝きたい!ブログ☆



では、構築までの過程をまとめます。

ステップ1
さくらVPSの node.js と websocket の環境を構築しよう!

さくらVPSのコンソールで以下のコマンドを実行して下さい。
node.jsのインストール
cd ~/
git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install

node.jsのパッケージマネージャーのnpmをインストール
sudo chown -R $USER /usr/local
curl http://npmjs.org/install.sh | sh
sudo chown -R root /usr/local

WebSocket通信を行うためのライブラリをインストール
npm install websocket-server

Socket.IOのインストール
npm install socket.io

以上で、さくらVPS上に環境は構築できたと思います。
node.js プログラムを実行する時は、node プログラムファイル名.js で実行できます。


ステップ2
サーバープログラム

var app = require('http').createServer(handler)
 , io = require('socket.io').listen(app)
 , fs = require('fs');
app.listen(8888);

function handler(req, res) {
 fs.readFile(__dirname + '/client.html',
 function (err, data) {
  if (err) { res.end("no file"); return; }
  res.writeHead(200);
  res.end(data);
 });
}

var logs = [];
var id = 0;

io.sockets.on('connection', function (socket) {

 console.log("接続あり!");
 id += 1;
 for(var i=0; i < logs.length; i++) {
  socket.emit('addchat', logs[i]);
 }
 socket.emit('yourid', {
  id:id
 });
 console.log("ログ送信完了!");


 socket.on('addchat', function(data){
 console.log("受信!addchat");
 var d = new Date();
 data.time = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
 io.sockets.emit('addchat', data);
 logs.push(data);
 if (logs.length > 2000) logs.shift();
  console.log("送信!addchat");
 });
 socket.on('reset', function(data){
  io.sockets.emit('reset', data);
  logs = [];
 });

 socket.on('defect', function(data){

 });
});


サーバーはポート8888番で待機し、アクセスがあると client.html のhtmlファイルを送信し、ユーザーのブラウザ上で表示されることによって通信が確立するというもの。


ステップ3
クライアントプログラム

シュナッ☆による輝きたい!ブログ☆
シュナッ☆による輝きたい!ブログ☆
シュナッ☆による輝きたい!ブログ☆

自分自身がまだ JacaScript に慣れていないので、かなりぎこちないプログラムになってますが、特に説明することもないくらい簡単です。


ステップ4
実行

サーバープログラムとクライアントプログラムをサーバー上の同じディレクトリに置き、サーバープログラムのある所で
node サーバープログラム名.js
とサーバーを起動させます。
クライアントはブラウザを立ち上げ
http://サーバーのipアドレス:待機しているポート
とURLにぶち込むとできます。

まず、白いちょっとしっかりした紙をノートの大きさに合わせて切ります(・∀・)
100ショップの紙もしっかりしていてバカにならないw
$シュナッ☆による輝きたい!ブログ☆
↑100円ショップで買ったカッターと工作版w

次に!
先ほどの紙を印刷し、横の部分も一応黒く塗っておきます('-^*)/
デスノートのノート
↑紙の横に色塗るのって楽しいよね!w

そして!
ノートに貼付ければ、表紙は完成です!ヘ(゚∀゚*)ノ
デスノートのノート
↑100円ショップで買った両面テープを使ったよ♪

裏面は黒い紙をただ貼るだけ=( ̄▽+ ̄*)
デスノートのノート

最後に表紙と同じ要領でノートの内側に HOW TO USE を貼付ければ完成о(ж>▽<)y ☆о(ж>▽<)y ☆
デスノートのノート

作るの楽しかったー><!!!!


作るにあたってお世話になったサイトです☆
表紙などの画像データはコチラからいただきました。
http://www.geocities.jp/bydenmo/note/note.html

DEATH NOTE (4) (ジャンプ・コミックス)