開發(fā)周記(2017/4/3-2017/4/9)

上周開始,進(jìn)行開發(fā)研究記錄,效果不錯(cuò),繼續(xù)前進(jìn)。
記錄開發(fā)與生活的點(diǎn)滴。

上周周記(2017/3/26-2017/4/2)

2017/4/3(周一):

 天氣不錯(cuò),帶孩子出去游玩,并吃了好吃的生日蛋糕
滿園春色.jpg
生日歡樂.jpg
生日蛋糕.jpg
關(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)在感覺蠻爽的。
chakracoreDemo.jpg
為了更好的了解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文件尺寸還能接受。
v8compile.jpg
v8test.jpg
目前,三大JS Engine都已經(jīng)編譯成功,
并且已經(jīng)在ms chakra和google v8中成功的運(yùn)行起來(lái),
接下來(lái)就是使用moliza spidermonkey運(yùn)行一個(gè)Demo.

spidermonkey還是很好用的,比較容易上手
spidermonkeyDemo.jpg
未來(lái)是屬于JavaScript的,要選擇一個(gè)JS引擎作為腳本解釋器使用。

下午:

為OAuth2.0實(shí)戰(zhàn)教程制作登陸頁(yè)面
簡(jiǎn)單期間,直接參考簡(jiǎn)書html/css
花了半個(gè)小時(shí),抽取出必要文件。
登陸頁(yè)面.png
簡(jiǎn)書登陸.png
花了兩個(gè)小時(shí),邊學(xué)vue2.0,邊將上面的頁(yè)面移植到vue中去
并且將沒用到的css去除掉,這樣就干凈利落了
整個(gè)頁(yè)面html25行左右,css 100行,看著也心情舒暢
login-html.png
login-vue2.png
icon字體引入出錯(cuò).png
 今天的成果還是蠻多的啦,很滿意!

2017/4/6(周四):

上午:

研究一下iconfont相關(guān)知識(shí),
發(fā)現(xiàn)現(xiàn)在前端都在使用。
那肯定也要掌握一下!
icomoon圖標(biāo).png
通過icomoon網(wǎng)站,生成iconfont
然后在vue2中使用,圖標(biāo)正確顯示出來(lái)了

下午:

有事出門會(huì)客

晚上:

構(gòu)造loopback服務(wù)器,建立oauth2.0登陸數(shù)據(jù)庫(kù)模型:
  1. 構(gòu)造數(shù)據(jù)庫(kù)對(duì)象:
    user
    userIdentity
    userCredential
    accessToken

  2. 配置datasource為mongodb

  3. 設(shè)置model-config,建立起數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)源的關(guān)聯(lián)關(guān)系

  4. 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è)面

進(jìn)入登陸頁(yè)面.png

在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è)面
github_oauth2_授權(quán)成功_mongodb數(shù)據(jù).png
早餐頁(yè)面.png
現(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è)通過并登陸
本地郵箱注冊(cè)成功
驗(yàn)證郵件.png

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中的路由功能
微軟chakra版nodejs.png
編譯通過微軟chakracore js 引擎版 nodejs,試著測(cè)試一下。

2017/4/9(周日):

上午:

孩子學(xué)校要進(jìn)行系鞋帶比賽,目的是樹立良好的
生活自理能力及增加安全性。
發(fā)現(xiàn)一個(gè)不錯(cuò)的系鞋帶方式
孩子學(xué)了5分鐘,練習(xí)了20分鐘,系出的鞋帶又牢又好看!
重要的是,再也不會(huì)過半小時(shí)就散開,并且避免自己踩到
鞋帶而發(fā)生本可避免的悲劇!
do1.jpg
do2.jpg

下午:

繼續(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ā)送消息
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • (2017年3月26日) 進(jìn)行技術(shù)分享的同時(shí),決定自己做一個(gè)基礎(chǔ)項(xiàng)目,先進(jìn)行技術(shù)可行性研究。 以每周為單位,如實(shí)的...
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,535評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評(píng)論 25 709
  • 1.我長(zhǎng)的丑是后天形成的,小時(shí)候到青春期我家那兒誰(shuí)都說劉家這孩子真俊,成年之后胖了幾十斤,五官全都被肥肉擠變形了 ...
    情話信使閱讀 2,660評(píng)論 0 5
  • 1.《局外人》 載體:紙質(zhì)書 閱讀時(shí)長(zhǎng):兩小時(shí) 了解來(lái)源:知乎「有哪些超越時(shí)代審美的作品」中@回首已是百年身 作者...
    KaTing閱讀 512評(píng)論 0 1

友情鏈接更多精彩內(nèi)容