开发周记(2017/4/3-2017/4/9)

作者: 随风而行之青衫磊落险峰行 | 来源:发表于2017-04-04 17:12 被阅读300次

    上周开始,进行开发研究记录,效果不错,继续前进。
    记录开发与生活的点滴。

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

    2017/4/3(周一):

     天气不错,带孩子出去游玩,并吃了好吃的生日蛋糕
    
    满园春色.jpg 生日欢乐.jpg 生日蛋糕.jpg
    关于oauth2.0服务器,原本自己实现
    目前发现有更好的选择:
    使用github进行oauth2.0验证授权
    

    撰写OAuth2.0实战1(分析简书的微信登陆及实现)

    2017/4/4(周二):

    竟然发现微软的chakracore javascript引擎可以完美的与c++进行互调,现在感觉蛮爽的。
    
    chakracoreDemo.jpg
    为了更好的了解chakracore javascript引擎,就写篇文章吧!
    名字叫: ms chakracore js引擎之初体念
    

    2017/4/5(周三):

    上午:
    花了两个小时,终于搞定了google v8引擎的链接问题。
    碰到很多链接问题,查找需要的链接库,一个个试过去
    终于弄齐所有链接库,成功生成v8test.exe程序!
    成功的将测试程序在VS2015中顺利运行起来,真是不容易啊!!

    庞大的V8静态链接库,Release版静态链接库文件超过2个G,
    编译后的程序链接需要花200秒,好在exe文件尺寸还能接受。
    
    v8compile.jpg v8test.jpg
    目前,三大JS Engine都已经编译成功,
    并且已经在ms chakra和google v8中成功的运行起来,
    接下来就是使用moliza spidermonkey运行一个Demo.
    
    spidermonkey还是很好用的,比较容易上手
    
    spidermonkeyDemo.jpg
    未来是属于JavaScript的,要选择一个JS引擎作为脚本解释器使用。
    

    下午:

    为OAuth2.0实战教程制作登陆页面
    简单期间,直接参考简书html/css
    花了半个小时,抽取出必要文件。
    
    登陆页面.png 简书登陆.png
    花了两个小时,边学vue2.0,边将上面的页面移植到vue中去
    并且将没用到的css去除掉,这样就干净利落了
    整个页面html25行左右,css 100行,看着也心情舒畅
    
    login-html.png login-vue2.png icon字体引入出错.png
     今天的成果还是蛮多的啦,很满意!
    

    2017/4/6(周四):

    上午:

    研究一下iconfont相关知识,
    发现现在前端都在使用。
    那肯定也要掌握一下!
    
    icomoon图标.png
    通过icomoon网站,生成iconfont
    然后在vue2中使用,图标正确显示出来了
    

    下午:

    有事出门会客
    

    晚上:

    构造loopback服务器,建立oauth2.0登陆数据库模型:
    
    1. 构造数据库对象:
      user
      userIdentity
      userCredential
      accessToken

    2. 配置datasource为mongodb

    3. 设置model-config,建立起数据库对象和数据源的关联关系

    4. config cookieSecret 用于session cookie技术

    5、配置 session密码,用于session cookie技术

    6、npm passport-facebook以及passport-github

    7、http以及https支持

    8、编写loopback初始化代码,让服务器运行起来

    2017/4/7(周五):

    上午:

    继续昨晚的工作,编写Loopback服务器程序
    
    • localhost:3000后进入首页

      首页.png
    • 点击早餐页面,由于没登陆,因此转跳到登陆页面

    进入登陆页面.png

    在loopback中,只要使用如下代码,就可以完成上述功能
    关键是 ensureLoggedIn('/login') 这句代码

    //早餐页面
    app.get('/breakfast', ensureLoggedIn('/login'), function(req, res) {
        res.render('breakfast.html');
    });
    
    授权成功,将验证数据写入mongodb,并跳转到需要的页面
    
    github_oauth2_授权成功_mongodb数据.png 早餐页面.png
    现在是11.30分,上午工作结束,吃饭运动
    

    下午:

    增加cookie和session支持
    花了一个半小时,搞定cookie和session在loopback中存储问题
    原本是存储在内存,导致每次服务器启动都会重新登陆
    现在则存储在mongodb,当然也可以存储在内存服务器中
    

    目前已经可以支持github ouath2.0授权,并且通过cookies和session(持续化到mongodb),在accessToken失效前不需要重新授权登陆了

    开始实现local注册登陆方式,既需要注册,
    并且发邮件验证后才能给予注册通过并登陆
    
    本地邮箱注册成功 验证邮件.png

    jacky11cn@aliyun.com的邮箱进行注册,自动从47178234@qq.com进行验证回复

    完成本地用户注册并登陆
    

    2017/4/8(周六):

    上午/下午:

    带着孩子出去玩
    

    晚上:

    整合本地登陆,你会发现整个逻辑需要增加多个页面
    目前服务器端基本的注册,登陆差不多都好了
    现在需要的是对应的页面,目前也就主页,登陆页,早餐页
    由于本地登陆,要引入注册页,退出页等
    现在除了登陆页外,其他都是jquery,现在开始需要研究
    vue2,特别是单页路由的方式和原理
    在JQuery中,我使用mobilebone作为单页切换,效果不错
    现在开始要使用vue2中的路由功能
    
    微软chakra版nodejs.png
    编译通过微软chakracore js 引擎版 nodejs,试着测试一下。
    

    2017/4/9(周日):

    上午:

    孩子学校要进行系鞋带比赛,目的是树立良好的
    生活自理能力及增加安全性。
    发现一个不错的系鞋带方式
    孩子学了5分钟,练习了20分钟,系出的鞋带又牢又好看!
    重要的是,再也不会过半小时就散开,并且避免自己踩到
    鞋带而发生本可避免的悲剧!
    
    do1.jpg do2.jpg

    下午:

    继续vue2.0之旅,研究一下其体系结构
    

    我个人理解,并不表示是正确的!

    vue中的指令和组件
    

    组件我可以看成自定义标签,或者理解为一个UI控件
    指令我可以堪称标签的属性,或者理解为一个UI控件的属性

    v-model 指令在表单控件元素上创建双向数据绑定。
    它会根据控件类型自动选取正确的方法来更新元素
    

    v-model 本质上不过是语法糖,它负责监听用户的输入事件以更新数据,并特别处理一些极端的例子

    假设v-model用于text类型的input上,实际执行的是下面的绑定:

    <input type="text" v-bind:value="dataA" v-on:input="dataA = $event.target.value" />

    v-model是动态绑定值到value,然后监听input的input事件获取值后赋给dataA的一个过程

    加.lazy


    <input v-model.lazy="msg" >

    加.number

    将用户的输入值转为 Number 类型
    <input v-model.number="age" type="number">

    加.trim

    自动过滤用户输入的首尾空格
    <input v-model.trim="msg">

    在 Vue.js 中,父子组件的关系可以总结为 props down, events up 。
    父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息

    相关文章

      网友评论

      • 小飞牛牛:这个和通常windows下的nodejs有什么区别吗?
        随风而行之青衫磊落险峰行:突然发现,网上很多h5程序都喜欢用饿了吗作例子
        我其实也很喜欢饿了吗的订餐页面,特棒的设计和页面交互流程
        随风而行之青衫磊落险峰行:我只是在研究目前三大js引擎,然后选一个作为脚本引擎基础
        目前chakra-nodejs还是实验版
        在不涉及到使用c++开发的程序时,基本也没啥大问题,速度也很快
        但是目前有很多Nodejs程序使用v8 c++方式写的,然后前台用js来调用
        在这种情况下,chakra就无能为力了
        因为v8版的c++导出要遵循它自己的规则的
        但是总体来说,chakracore非常好,而且对es6支持棒棒的

      本文标题:开发周记(2017/4/3-2017/4/9)

      本文链接:https://www.haomeiwen.com/subject/ipggottx.html