RxJava入门

2018-01-20Mobile
ReactiveX
ReactiveX

RxJava是ReactiveX的Java分支,除了Java版,ReactiveX还支持包括JavaScript、C#、C++、Swift、Python、Android、Unity、Kotlin、Go、PHP在内的众多平台和语言。

ReactiveX的核心是对观察者模式的扩展,并上升到了和命令式编程完全不同的编程方式的高度,称为响应式编程,优势在于处理异步、基于事件的应用程序。可以将数据或是事件都加队列中处理,优雅地解决了以前多线程交互、IO、并发、同步、异常处理这种编程的老大难问题。再加上Lambda表达式和链式编程,让程序变得更加简洁优雅。

查看全文...

React框架原理的思考

2018-01-06Frontend
React
React

React框架的整体思路是将DOM元素彻底改为由JS代码渲染,通过组件(Component)的层层嵌套,最终由ReactDOM.render()渲染到页面上。

React框架的核心概念:

  • 元素(Element) Recat认为元素是不可变的,创建后不能修改。React使用JSX技术将HTML代码直接作为常量使用。
  • 组件(Component) 组件是对元素的封装。拥有自身的生命周期函数。
  • 属性(Props) 属性可以看作常量,用于构建特定的组件。
  • 状态(State) 组件通过状态维护自身变化。组件通过调用setState()方法重新渲染。

React的理念是采取单一责任原则,自顶向下设计,一层层的拆分成只做一件事的Component

在做一个实际的项目时,采取先使用假数据画页面的方式,这个过程中只需要关心数据模型和页面。而不去关心逻辑交互。

此时Component为什么要分成PropsState就显而易见了,做页面时只关心Props,做交互时只关心State

Angular框架原理的思考

2017-12-28Frontend
Angular
Angular

Angular 框架的整体思路,很像 Spring 这样的后台框架。一层层的分解、解耦,天下框架莫不如此。

Angular 有 3 个重要概念:

  • 模块(Module)
  • 组件(Component)
  • 路由(Router)

Angular 通过将大型项目分割成一个个模块,松耦合,便于扩展和维护。

所谓组件,就是一个 MVC 块,每个模块会有很多组件,组件代表了一个页面,可以嵌套,因此可以更加细分下去,通过元数据做双向绑定。

所谓路由,就是一个分发器,不同的路径加载不同的模块或组件即可。

所谓元数据,就是 Java 注解。

Spring 那套,控制反转(IOC)依赖注入(DI)也被引入进来。

将业务逻辑封装到Service里,然后注入到各个组件中使用。业务代码就彻底被隔离到 Service 里了,不会侵入框架整体设计。

关于 Webpack:Webpack 在打包 Web 工程时,可以找到资源之间的引用,最小化压缩合并 CSS,JavaScript 文件。

使用JWT和Spring Security结合开发一套认证鉴权系统

2017-11-17Backend
jwt
jwt

为使用前后端分离的后端管理框架做准备,使用JWT目前看来是最佳选择。

知其然

  • 无状态
  • 服务化
  • 移动、web统统支持,后端提供相关接口即可

知其所以然

  1. 认证:通过调用登录接口,服务器颁发一个JWT(JSON Web Token)给客户端。
  2. 鉴权:客户端每个请求携带JWT,后端使用一个请求过滤器,从请求头中解析JWT,为本次请求授予相关权限
查看全文...
1...101112...16