一次React+Redux实践及思考

2016-05-14
阅读 11 分钟
6.4k
这是笔者第一次将React+Redux应用到一个较为复杂的项目中,这个项目初期遇到最大的问题是以何种粒度进行组件拆分,因为该项目没有专配的UI,所以是程序猿直接按照自己的理解进行开发,在这种情况下,笔者习惯性的先写了一个包含菜单以及常见控制项的整体项目,然后再进行拆分。笔者在本文中就是把一些迭代和自己感受到的...

基于Redux思想与RxJava的SpringMVC中Controller的代码风格实践

2016-04-30
阅读 49 分钟
11.9k
在笔者之前关于RARF的描述中,曾提及基于MVC风格的业务模块代码架构中存在的一些问题。彼时笔者推崇的是基于URFP的链式逻辑组织,换言之,一个完整的业务逻辑有数个ResourceHandler链接完成。但是在实践中这种方式并不是适用于全部的情况,很多时候,从一个正常的思维角度来说,我们还是习惯于去写面条式的代码,即在一...

Google Enjarify:可代替dex2jar的dex反编译

2016-04-24
阅读 2 分钟
9.4k
Enjarify 是一个将Dalvik字节码转化为等价的Java字节码,然后可以用一系列的Java分析工具去分析Android应用。之前我们一直使用Dex2jar来完成这个工作,不过Dex2jar已经算是一个非常老的工具咯。Dex2jar在绝大部分情况下都挺不错的,但是如果碰到了些模糊的特性或者特殊案例就会出错或者默默地吐出一些错误的结果。相比之...

【转】HTML的HEAD中放啥?

2016-04-22
阅读 7 分钟
4.7k
HEAD 一系列的你需要放在<head>标签里的东西 Elements {代码...} Meta Element {代码...} Link Element {代码...} Favicons {代码...} All About Favicons (And Touch Icons) Social Facebook / Open Graph {代码...} Facebook Open Graph MarkupOpen Graph protocol Twitter {代码...} Twitter Cards: Getting St...

HTTPS 理论详解与实践

2016-04-22
阅读 27 分钟
24.7k
在进行 HTTP 通信时,信息可能会监听、服务器或客户端身份伪装等安全问题,HTTPS 则能有效解决这些问题。在使用原始的HTTP连接的时候,因为服务器与用户之间是直接进行的明文传输,导致了用户面临着很多的风险与威胁。攻击者可以用中间人攻击来轻易的 截获或者篡改传输的数据。攻击者想要做些什么并没有任何的限制,包括...

[译] Martin Fowler - Web 应用安全基础

2016-04-21
阅读 12 分钟
5k
现代的软件开发者已经有点像瑞士军刀了,首先,你需要来保证完成用户的功能或者业务需求,并且要保证又快又好地完成。其次,你希望你的代码能够拥有充分的可理解性或者可扩展性:能够随着IT需求的快速变迁而有着充分的扩展空间,与此同时还需要稳定与可用。开发者必须列举出有用的接口,优化数据库,以及频繁地建立或者...

在Android设备上运行Swift代码

2016-04-18
阅读 4 分钟
4.9k
目前,Swift的标准库stdlib可以被编译运行在Android armv7环境下,这就意味着我们可以在一个承载着Android系统的移动设备上运行Swift代码。本部分也就是说明如何在Android设备上运行熟知的Hello World。如果你在实践的过程中发现了什么问题,可以在这里寻求帮助。

HJSON:可添加配置的JSON扩展

2016-04-16
阅读 3 分钟
9.2k
You only need to add quotes if the key name includes whitespace or any of these characters: {}[],:.

单元测试中Mock与Stub的浅析

2016-04-14
阅读 4 分钟
19.2k
本部分主要介绍所谓的Test Double的概念,并且对其中容易被混用的Mocks与Stubs的概念进行一个阐述。在初期接触到的时候,很多人会把Mock对象与另一个单元测试中经常用到的Stub对象搞混掉。为了方便更好地理解,这里把所有的所谓的Test Double的概念进行一个说明。我们先来看一个常用的单元测试的用例:

I/O并发编程总结

2016-04-10
阅读 21 分钟
9.6k
在传统的网络服务器的构建中,IO模式会按照Blocking/Non-Blocking、Synchronous/Asynchronous这两个标准进行分类,其中Blocking与Synchronous基本上一个意思,而NIO与Async的区别在于NIO强调的是Polling(轮询),而Async强调的是Notification(通知)。譬如在一个典型的单进程单线程Socket接口中,阻塞型的接口必须在上一个...

iOS开发中Cordova的使用

2016-04-07
阅读 7 分钟
10.1k
在iOS的WebView开发中,经常会把Cordova作为增强版的WebView使用。关于本部分的实例可以参考笔者的iOSBoilerplate,可以在REAME.md中查看使用说明,也可以git clone 之后直接运行,按照指导进入相关页面。

Redux生态系统枚举

2016-04-06
阅读 35 分钟
6k
本文是对redux-ecosystem-links的Fork与翻译。本文包含了一系列Redux的插件或者与之有紧密关联的项目的集合。本文包含了Redux官方文档中的 Ecosystem page 以及 Awesome-Redux 列表, 并且包含了很多笔者自己搜集的项目列表。列举在某个具体的目录下的项目没有特定的顺序,只是按照我添加的顺序来。

Java8 Lamda详解

2016-03-16
阅读 4 分钟
6.5k
闭包一般指存在自由变量的代码块,它与对象类似,都是用来描述一段代码与其环境的关系。在Java中,Lambda表达式就是闭包。事实上,内部类一直都是闭包,而Java8中为闭包赋予了更吸引人的语法。一个Lambda表达式包括三个部分:

我的编程之路——知识管理与知识体系

2016-03-15
阅读 12 分钟
36.2k
六年前笔者开始接触到C语言,写了第一行HelloWorld。三年前开始进入工作岗位进行实践,前前后后参与了公司里、学校里也有十来个项目,自己也有多次自主创业的经历。在不懂事的时候,笔者自诩“全栈架构师”,从前端的Android、iOS、Web,到中间件的Apache、Nginx,再到后端的Laravel、Spring、Rails、NodeJs,还有MySQL、R...

RARF:基于响应式抽象资源流的深度 RESTful 实践

2016-03-14
阅读 10 分钟
10.6k
本文仅代表个人思考,若有谬误请付之一笑。若能指教一二则感激不尽。另外本文所写是笔者个人的思考,暂未发现有类似的工作。不过估计按照笔者的智商可能世界上已经有很多大神早就解决了笔者考虑的问题,若有先行者也不吝赐教。

JavaScript中怎么不带括号的调用函数

2016-03-14
阅读 2 分钟
6.1k
(1)作为构造器调用 利用new关键字可以不带括号地调用函数: {代码...} new操作符的语法为: {代码...} (2)隐性实现 toString 或者 valueOf 的调用 另一个例子就可以隐性调用toString或者valueOf方法: {代码...} 可以利用这种方式调用任意的函数: {代码...} 或者使用 valueOf: {代码...} 如果要使用valueOf的话,可以...

Apache流计算框架详细对比

2016-03-13
阅读 13 分钟
15.8k
几个月之前我们在这里讨论过[]([链接]目前对于这种日渐增加的分布式流计算的需求的原因。当然,目前也有很多的各式各样的框架被用于处理这一些问题。现在我们会在这篇文章中进行回顾,来讨论下各种框架之间的相似点以及区别在哪里,还有就是从我的角度分析的,推荐的适用的用户场景。

基于TensorFlow的分布式机器学习框架,终于出来了!

2016-02-27
阅读 4 分钟
23.2k
首先,需要构建一个TensorFlow的服务端可执行版本(grpc_tensorflow_server) 以及一个基于gRPC的客户端。目前只能基于源代码进行自构建, 但是会包含在未来发布的二进制版本中。可以使用如下命令进行构建:

Android Support Library 23.2:特性介绍

2016-02-26
阅读 8 分钟
8.8k
对于Android Support Library,我们并不能简单地认为它是一个巨石型的库,而应该是一整个致力于提供向后兼容的API的库的集锦。最新的23.2版本的库依然添加了很多的新特性,本文中就会进行一些说明。

Swift思量与初探:我需要学习Swift吗?

2016-02-24
阅读 5 分钟
8.1k
最近,除了N多的基于Swift的服务端开发框架,笔者不由深思,到底该这么评价Swift呢?不可否认,在iOS的开发领域,Swift是比OJC拥有着优势,那么在通用语言这个层次上比较时,它又如何呢?

Vapor:基于Swift的类似于Laravel的服务端框架

2016-02-22
阅读 3 分钟
5.9k
好像最新的OSX系统是自带Swift的,不过笔者本机的版本是2.1.1,而Vapor的要求是2.2以上版本,因此还是要来Swift.org官网来更新一波的。 首先需要在这嘎达下载下安装文件,然后进行配置。

ECMAScript笔记之数据结构要点

2016-02-19
阅读 23 分钟
3.8k
在JavaScript中,基本的变量声明可以用var方式。JavaScript允许省略var,直接对未声明的变量赋值。也就是说,var a = 1 与 a = 1,这两条语句的效果相同。但是由于这样的做法很容易不知不觉地创建全局变量(尤其是在函数内部),所以建议总是使用var命令声明变量。

你并不需要Underscore/Lodash

2016-02-19
阅读 19 分钟
20.3k
Lodash 和 Underscore 是非常优秀的当代JavaScript的工具集合框架,它们被前端开发者广泛地使用。但是,当我们现在是针对现代化浏览器进行开发时,很多时候我们利用的Underscore中的方法已经被ES5与ES6所支持了,如果我们希望我们的项目尽可能地减少依赖的话,我们可以根据目标浏览器来选择不用Lodash或者Underscore。

动态规划

2016-02-18
阅读 5 分钟
7k
动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。

我的Docker笔记(补全ing)

2016-02-18
阅读 26 分钟
14.5k
Docker helps developers build and ship higher-quality applications, faster." -- What is Docker

2015-我的前端之路:数据流驱动的界面

2016-01-12
阅读 15 分钟
30.6k
本文从属于笔者的Web 前端入门与最佳实践,2016年度版本在:2016-我的前端之路:工具化与工程化 撰写本文的时候笔者阅读了以下文章,不可避免的会借鉴或者引用其中的一些观点与文字,若有冒犯,请随时告知。文列如下: RePractise前端篇: 前端演进史 前端的变革 致我们终将组件化的Web 我感觉到的前端变化 解读2015之前端...

Java 8 Stream的性能到底如何?

2015-12-20
阅读 3 分钟
41.4k
Java 8提供的流的基于Lambda表达式的函数式的操作写法让人感觉很爽,笔者也一直用的很开心,直到看到了Java8 Lambda表达式和流操作如何让你的代码变慢5倍,笔者当时是震惊的,我读书少,你不要骗我。瞬间我似乎为我的Server Application速度慢找到了一个很好地锅,不过这个跟书上讲的不一样啊。于是笔者追本溯源,最后找...

高性能的OkHttp

2015-12-15
阅读 4 分钟
14.3k
OkHttp 是笔者在为为 Khan Academy开发这个 Android app时候的必用库之一。OkHttp库本身已经提供了非常优秀的功能配置,但是下面是我们在实践中总结出来的一些能够有效增加资源利用率的步骤:

CSS实战之Flex详解以及其在微信中的兼容实现

2015-12-13
阅读 12 分钟
15.8k
Box是传统的通用的容器属性,我们首先来介绍下Box的基本用法。因为在下文讲解Flex时候会提及,鉴于部分浏览器并不能支持Flex的全部特性,所以很多时候我们需要利用一些工具或者手写的方式将新版的Flex的语法转化为旧版的Box的语法。如果需要定义一个容器为Box的话,只需要做如下声明:

前端之Angular2实战:Angular2语法清单

2015-11-30
阅读 5 分钟
22.7k
Bootstrapping import {bootstrap} from 'angular2/angular2'; bootstrap(MyAppComponent, [MyService, provide(...)]); 将MyAppComponent作为根组价来初始化整个应用,并且配置依赖注入的容器 Template syntax <input [value]="firstName"> 将value属性绑定到firstName表达式的计算结果 <div [attr.role]="myA...