又是好久没有写博客啦,最近一段时间学习了Angularjs,Bootstrap,Promise,nodejs,express,其实本来就想学这些,正巧学校老师拜托我帮忙搞个迷你的项目来帮助他们管理一些事务,技术又不限,又考虑到这些事务其实是很简单的最基础的增删改查,就搭着这个顺风车学习了这些,还能实践
nodejs
nodejs的学习我是跟着《了不起的Node.js》这本书来入门的,其中书后面的connect,express等部分可能有点过时了(api之类的),但是其实这些框架学习了前面的知识后,稍微看一下这本书讲的理念,完全可以去看文档便能灵活掌握使用方法了,就nodejs这一块我感觉坑其实不多不深。 另外我觉得这本书不错~~(我不是书商啊大家不要随便轻信我的话)~~,是因为他让我对现在web后端的一些新的概念,新的理念,一些实际应用中的是如何实现有了一点概念,比如session(之前我还读season233),mongodb这些的,总算是感觉自己离这些看起来很高大上的东西其实只有几行代码的距离。在nodejs中,如果需要处理一些复杂的逻辑,回调函数用的多的话,那么Promise就有了用武之地,包括维护代码整洁,代码分层(?)这个样子是非常有帮助的,而且nodejs稳步实现ES6嘛所以Promise是原生对象(奇怪WebStorm为什么没有提示)。
Promise
AngularJS
整个Angularjs的学习过程我觉得是非常陡峭的,学的时候我并没有买书看,我先去看的视频,视频其实没有多少,然而反复看了三个礼拜(老忘),上手写了几段,而且视频看到最后说是声明式ui,恍然大悟(?),才算是感觉好像入门了。。。。(唉我说google的文档啊你能不能好好写啊,找着看真累)
双向绑定的’$scope’
用Angularjs来实现的前端的web应用(?),在其ngApp下的作用域的每一个DOM节点上都会有scope是双向绑定的灵魂所在。这个$scope是以原型链的方式来继承上一级节点的$scope的,因此在实现逻辑复用的时候,是不应该将函数啊什么的全部都往scope上来附,感觉就相当于全局变量污染(?),可读性和扩展性会比较差。
controller与directive
刚学习Angularjs的时候我对controller和directive很懊恼,玛德,怎么前面这个东西是个controller,后面这个东西怎么也有controller,后面这个东西还能依赖啊,那么多config项,什么compile啊什么link啊,然后当写了一点,体验了一些过后,controller这个东西,就是mvc中的controller,你可以在controller范围内的节点上声明ngClick调用controller,那就是mvc的结构咯,v->c,c->m,m->v,而directive这个东西其实是angularjs最后偏向的mvw的what,因为他什么都可以当,我现在比较喜欢拿directive当presenter,当我一直在考虑如何将代码的逻辑理顺,把代码结构分清,而且各司其职,我发现原来我更倾向于mvp这个模式。
按需加载 AngularJS 的 Controller
http://www.cnblogs.com/zhrj000/p/3383898.html
http://beginor.github.io/2014/12/20/angularjs-controller-load-on-demand.html
angularjs controller之间如何通信
https://segmentfault.com/a/1190000000639592
angularjs手动触发dirty check
https://segmentfault.com/q/1010000003796580
angularjs的一些坑(?)
在angularjs 中 jquery on是bind?我似乎在link中用jquery绑定的on并没有live的效果,最后还是用了directive来绑定link,感觉是不是小题大做了?
还发现了 input[type=text] 设置display
的时候,发现其并没有像个div占满一整行,反而像inline-block,觉得比较奇怪。。。
近期做的nodejs+express+AngularJS+BootStrap+Promise的实现
一个简单的实现,用户的增删改查,用户权限对模块的自由控制 https://dev点xingoxu.cn
用户名与密码都是12345678901,增加的用户学号是11位的,错误没有做太多的处理只是在主界面上禁用了所有交互并显示错误(没有花特别特别多的时间在这个上面)
不要玩坏了噻,总感觉自己做出来的东西特别容易塌。。。。。
前端: https://github.com/xingoxu/dashboard-with-angularjs
后端: https://github.com/xingoxu/crud-with-nodejs-mysql
改进点有很多了吧:
password
因为没有实际对它的处理经验,我感觉有两种处理方式,1是上https,随便怎么传(x),2是把密码用客户端一个会变的东西来进行加密,然后把这个会变的东西固定处理后发送到服务器,再进行解密,感觉2似乎还是有点不可靠?
合并http请求
现在的add,delete,update操作完成后还需要再refresh一次,其实可以把他们都合并到一个http请求里
异常处理
界面可以完善的更好
后端还有很多逻辑可以复用
最后
angularjs到此放一放,包括provider,包括实现原理等,可能需要等很以后有需要才能继续拾起来啦,接下来会细看一下html5+css3,js忍者秘籍和ES6
感谢肉排桑和监督桑在这一年来学习上的督促与教导,感谢他们我才能系统学习了这么多知识!真是非常感谢!
另外一些其他的存档: