上周開始,進(jìn)行開發(fā)研究記錄,效果不錯(cuò),繼續(xù)前進(jìn)。
記錄開發(fā)與生活的點(diǎn)滴。
2017/4/3(周一):
天氣不錯(cuò),帶孩子出去游玩,并吃了好吃的生日蛋糕



關(guān)于oauth2.0服務(wù)器,原本自己實(shí)現(xiàn)
目前發(fā)現(xiàn)有更好的選擇:
使用github進(jìn)行oauth2.0驗(yàn)證授權(quán)
撰寫OAuth2.0實(shí)戰(zhàn)1(分析簡(jiǎn)書的微信登陸及實(shí)現(xiàn))
2017/4/4(周二):
竟然發(fā)現(xiàn)微軟的chakracore javascript引擎可以完美的與c++進(jìn)行互調(diào),現(xiàn)在感覺蠻爽的。

為了更好的了解chakracore javascript引擎,就寫篇文章吧!
名字叫: ms chakracore js引擎之初體念
2017/4/5(周三):
上午:
花了兩個(gè)小時(shí),終于搞定了google v8引擎的鏈接問題。
碰到很多鏈接問題,查找需要的鏈接庫(kù),一個(gè)個(gè)試過去
終于弄齊所有鏈接庫(kù),成功生成v8test.exe程序!
成功的將測(cè)試程序在VS2015中順利運(yùn)行起來(lái),真是不容易啊!!
龐大的V8靜態(tài)鏈接庫(kù),Release版靜態(tài)鏈接庫(kù)文件超過2個(gè)G,
編譯后的程序鏈接需要花200秒,好在exe文件尺寸還能接受。


目前,三大JS Engine都已經(jīng)編譯成功,
并且已經(jīng)在ms chakra和google v8中成功的運(yùn)行起來(lái),
接下來(lái)就是使用moliza spidermonkey運(yùn)行一個(gè)Demo.
spidermonkey還是很好用的,比較容易上手

未來(lái)是屬于JavaScript的,要選擇一個(gè)JS引擎作為腳本解釋器使用。
下午:
為OAuth2.0實(shí)戰(zhàn)教程制作登陸頁(yè)面
簡(jiǎn)單期間,直接參考簡(jiǎn)書html/css
花了半個(gè)小時(shí),抽取出必要文件。


花了兩個(gè)小時(shí),邊學(xué)vue2.0,邊將上面的頁(yè)面移植到vue中去
并且將沒用到的css去除掉,這樣就干凈利落了
整個(gè)頁(yè)面html25行左右,css 100行,看著也心情舒暢



今天的成果還是蠻多的啦,很滿意!
2017/4/6(周四):
上午:
研究一下iconfont相關(guān)知識(shí),
發(fā)現(xiàn)現(xiàn)在前端都在使用。
那肯定也要掌握一下!

通過icomoon網(wǎng)站,生成iconfont
然后在vue2中使用,圖標(biāo)正確顯示出來(lái)了
下午:
有事出門會(huì)客
晚上:
構(gòu)造loopback服務(wù)器,建立oauth2.0登陸數(shù)據(jù)庫(kù)模型:
構(gòu)造數(shù)據(jù)庫(kù)對(duì)象:
user
userIdentity
userCredential
accessToken配置datasource為mongodb
設(shè)置model-config,建立起數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)源的關(guān)聯(lián)關(guān)系
config cookieSecret 用于session cookie技術(shù)
5、配置 session密碼,用于session cookie技術(shù)
6、npm passport-facebook以及passport-github
7、http以及https支持
8、編寫loopback初始化代碼,讓服務(wù)器運(yùn)行起來(lái)
2017/4/7(周五):
上午:
繼續(xù)昨晚的工作,編寫Loopback服務(wù)器程序
-
localhost:3000后進(jìn)入首頁(yè)
首頁(yè).png 點(diǎn)擊早餐頁(yè)面,由于沒登陸,因此轉(zhuǎn)跳到登陸頁(yè)面

在loopback中,只要使用如下代碼,就可以完成上述功能
關(guān)鍵是 ensureLoggedIn('/login') 這句代碼
//早餐頁(yè)面
app.get('/breakfast', ensureLoggedIn('/login'), function(req, res) {
res.render('breakfast.html');
});
授權(quán)成功,將驗(yàn)證數(shù)據(jù)寫入mongodb,并跳轉(zhuǎn)到需要的頁(yè)面


現(xiàn)在是11.30分,上午工作結(jié)束,吃飯運(yùn)動(dòng)
下午:
增加cookie和session支持
花了一個(gè)半小時(shí),搞定cookie和session在loopback中存儲(chǔ)問題
原本是存儲(chǔ)在內(nèi)存,導(dǎo)致每次服務(wù)器啟動(dòng)都會(huì)重新登陸
現(xiàn)在則存儲(chǔ)在mongodb,當(dāng)然也可以存儲(chǔ)在內(nèi)存服務(wù)器中
目前已經(jīng)可以支持github ouath2.0授權(quán),并且通過cookies和session(持續(xù)化到mongodb),在accessToken失效前不需要重新授權(quán)登陸了
開始實(shí)現(xiàn)local注冊(cè)登陸方式,既需要注冊(cè),
并且發(fā)郵件驗(yàn)證后才能給予注冊(cè)通過并登陸


以jacky11cn@aliyun.com的郵箱進(jìn)行注冊(cè),自動(dòng)從47178234@qq.com進(jìn)行驗(yàn)證回復(fù)
完成本地用戶注冊(cè)并登陸
2017/4/8(周六):
上午/下午:
帶著孩子出去玩
晚上:
整合本地登陸,你會(huì)發(fā)現(xiàn)整個(gè)邏輯需要增加多個(gè)頁(yè)面
目前服務(wù)器端基本的注冊(cè),登陸差不多都好了
現(xiàn)在需要的是對(duì)應(yīng)的頁(yè)面,目前也就主頁(yè),登陸頁(yè),早餐頁(yè)
由于本地登陸,要引入注冊(cè)頁(yè),退出頁(yè)等
現(xiàn)在除了登陸頁(yè)外,其他都是jquery,現(xiàn)在開始需要研究
vue2,特別是單頁(yè)路由的方式和原理
在JQuery中,我使用mobilebone作為單頁(yè)切換,效果不錯(cuò)
現(xiàn)在開始要使用vue2中的路由功能

編譯通過微軟chakracore js 引擎版 nodejs,試著測(cè)試一下。
2017/4/9(周日):
上午:
孩子學(xué)校要進(jìn)行系鞋帶比賽,目的是樹立良好的
生活自理能力及增加安全性。
發(fā)現(xiàn)一個(gè)不錯(cuò)的系鞋帶方式
孩子學(xué)了5分鐘,練習(xí)了20分鐘,系出的鞋帶又牢又好看!
重要的是,再也不會(huì)過半小時(shí)就散開,并且避免自己踩到
鞋帶而發(fā)生本可避免的悲劇!


下午:
繼續(xù)vue2.0之旅,研究一下其體系結(jié)構(gòu)
我個(gè)人理解,并不表示是正確的!
vue中的指令和組件
組件我可以看成自定義標(biāo)簽,或者理解為一個(gè)UI控件
指令我可以堪稱標(biāo)簽的屬性,或者理解為一個(gè)UI控件的屬性
v-model 指令在表單控件元素上創(chuàng)建雙向數(shù)據(jù)綁定。
它會(huì)根據(jù)控件類型自動(dòng)選取正確的方法來(lái)更新元素
v-model 本質(zhì)上不過是語(yǔ)法糖,它負(fù)責(zé)監(jiān)聽用戶的輸入事件以更新數(shù)據(jù),并特別處理一些極端的例子
假設(shè)v-model用于text類型的input上,實(shí)際執(zhí)行的是下面的綁定:
<input type="text" v-bind:value="dataA" v-on:input="dataA = $event.target.value" />
v-model是動(dòng)態(tài)綁定值到value,然后監(jiān)聽input的input事件獲取值后賦給dataA的一個(gè)過程
加.lazy
<input v-model.lazy="msg" >
加.number
將用戶的輸入值轉(zhuǎn)為 Number 類型
<input v-model.number="age" type="number">
加.trim
自動(dòng)過濾用戶輸入的首尾空格
<input v-model.trim="msg">
在 Vue.js 中,父子組件的關(guān)系可以總結(jié)為 props down, events up 。
父組件通過 props 向下傳遞數(shù)據(jù)給子組件,子組件通過 events 給父組件發(fā)送消息
