2017年4月3日月曜日

開発環境

Head First Python (Paul Barry (著)、O'Reilly Media)のChapter 9.(The Context Management Protocol: Hooking Into Python's With Statement) の SHARPEN YOUR PENCIL(No. 6522) を JavaScript で取り組んでみる。

Relational Database は MySQL、MariaDBの代わりに IndexedDB(とDexie.js、JavaScript library) を使用。(大雑把なイメージだけ。)

SHARPEN YOUR PENCIL(No. 6522)

コード(Emacs)

HTML5

<button id="run0">run</button>
<div id="output0">

<script src="https://cdnjs.cloudflare.com/ajax/libs/dexie/1.5.1/dexie.min.js"></script>
<script src="dbcm.js"></script>

JavaScript

let div = document.querySelector('#output0'),
    run = document.querySelector('#run0');

let useDatabase = (config) => {
    let db;
    let that = {
        enter () {
            db = new Dexie(config.database);
            db.version(1).stores({});
            db.open();
            return db;
        },
        exit () {

        }
    };
    return that;
};
let dbconfig = {'host': '127.0.0.1',
                'user': 'vsearch',
                'password': 'vsearchpasswd',
                'database': 'vsearchlogDB'};

let ud = useDatabase(dbconfig);
let db = ud.enter();

run.onclick = () => {
    div.innerHTML += `${ud}<br>`;
    for (let p in ud) {
        div.innerHTML += `${p}: ${ud.p}<br>`
    }
    div.innerHTML += `${db}<br>`;
    for (let p in db) {
        div.innerHTML += `${p}: ${db.p}<br>`
    }
};

0 コメント:

コメントを投稿