記録として残しておきたいブログ

主にプログラミングについて書きます。現在は http://tmg0525.hatenadiary.jp/ に書いています。

vagrant up できなくなった

$ vagrant up
Vagrant can't use the requested machine because it is locked! This
means that another Vagrant process is currently reading or modifying
the machine. Please wait for that Vagrant process to end and try
again. Details about the machine are shown below:

Name: default
Provider: virtualbox

となって、起動できない...

PC再起動したらできた

<Python> coding:utf-8 の記述するところ

# -*-coding: utf-8 -*-

を記述するところは一番上!!

そうしないと

SyntaxError: Non-ASCII character '\xe5' in file D:\Program Files (x86)\pleiades\workspace\commentRank\src\fileTest\fileT.py on line 16, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

こんなエラーが出る


気をつけよう

OJTで学んだこと

メモとして書いておく

・限られた時間の中で作業をしていくのは大変であること
・指摘されたところは再度指摘されないように細心の注意を払って修正を行うこと
・1日のスケジュールを立てることにより、やることが明確になり、仕事がやりやすくなること
・時間(納期)は絶対に守らなくてはいけないが、それ以上に品質が大切であること
・スケジュール作成時に、行うタスクの内容を少しでも確認することで時間の設定がしやすくなること
・成果物の確認後に、修正が出た場合にはその日のうちに修正をすること
・スケジュールで一番優先順位の高いタスクは、ほかの人が絡む作業(聞かないと進まない作業など)であること
・難易度が高そうな作業をするときには、自分の中で「この作業は難易度が高い」と考えておくことが大切。もし、考えないとただ闇雲に作業をして、時間だけが過ぎてしまう可能性があるため
・バグを直した後には、ほかの部分に影響していないかをよく確認すること
・仕様書がしっかりと作れていれば、後々の製作が順調に進めることができること

Node.js error: invalid frontend message type 0 ってエラー出た

var pg = require('pg');
var http = require('http');
var fs = require('fs');
var ejs = require('ejs');


var testEjs = fs.readFileSync('public_html/postgres.ejs', 'utf-8');

// httpサーバーの作成
var server = http.createServer();

var conString = 'postgres://postgres:tmgykng324@localhost/cas_db';
var client = new pg.Client(conString);

server.on('request', function(req, res) {
    if(req.url != '/favicon.ico') {

        // postgreSQLに接続
        client.connect(function(err) {
            if(err) {
                // エラー時
                return console.error('could not connect to postgres', err);
            }

            var userData = [2];
            userData[0] = [];   // user_id
            userData[1] = [];   // create_date

            // SELECTのSQLを実行
            client.query('SELECT user_id, create_date FROM m_user;', function(err, result) {
                if(err) {
                    // エラー時
                    return console.error('error running query', err);
                }

                // 表示用に格納
                for(var i = 0; i < result.rowCount; i++) {
                    console.log(result.rows[i].user_id + ' ' + result.rows[i].create_date);
                    userData[0][i] = result.rows[i].user_id;
                    userData[1][i] = result.rows[i].create_date;
                }

                var content = ejs.render(testEjs, {
                    'userData': userData
                });

                client.on('error', function(err){
                    return console.log(err);
                });

                client.on('drain', client.end.bind(client));

                res.writeHead(200, {'Content-Type': 'text/html'});
                res.write(content);
                res.end();
            });
        });
    }
});
server.listen(8888);
console.log('server listening...');


上のコードを実行してブラウザでlocalhost:8888に2回アクセスすると

error: invalid frontend message type 0


ってエラー出た

var client = new pg.Client(conString);


この記述はリクエストイベントの中で書くべきらしい。

client.connect();

の前あたりかな?




参考サイト
javascript - Can not close postgreSQL connection within Node.js script - Stack Overflow