互联网络

返回一个条件表达式树的拓展方法

之前做了一个这样的功能,一个页面的查询功能,需要支持很多条件,然后可以点击添加一个条件,类似于Navicat的这种代码如下///<summary>///根据条件返回表达式树///</summary>///<typeparamname="T"></typeparam>///...

前端数据管理

总结了vuexmobx和dva,发现他们在数据管理方面的处理方式非常雷同:vuex:  mobx:  dva:  相似点1:将异步操作与数据声明放在一起相似点2:将数据和数据的操作以块文件的形式进行分类相似点3:都采用相同的格式{state:{},同步修改:{...
代码星球·2020-08-08

数据工程师

我们在介绍我们的职业的时候,通常会说我们是app开发的,或者我们是网站开发的,或者我们是服务器开发的,但是我觉得这样介绍好像很难让别人一下子就懂得我们到底是干什么的,我们其实就是数据处理工程师:  我们程序员一般都会依赖于平台,有的是PC,有的是手机号,有的是网站,就算是服务器开发人员也要依赖sql...
代码星球·2020-08-08

测试驱动开发(二)

测试驱动开发的具体实现步骤:  1:按照面向对象的思想将需求转化为一条条用例  2:针对每一条用例设计出测试用例  3:随便挑选一个测试用例作为开始  下面是官方的步骤  4:使用代码实现测试用例(提前运行一下,保证测试用例可运行)  5:编写产品代码使得测试用例通过(可以借助伪实现和显性声明等方式)  7:修改测试用...
代码星球·2020-08-08

ramda其他方法

判断  判断是否nullundefinedNaNdefaultTo  判断是否以指定值作为结尾endsWith  判断是否是指定类型的空isEmpty  判断是否是nullundefinedisNil 运算  ...
代码星球·2020-08-08

测试驱动开发(一)

测试驱动开发是  通过不断的有序的编写测试用例并附带写出为了使测试用例运行成功的代码的一种开发模式,在这种编程方式下测试用例是主角,产品代码只是为了让测试用例通过的一个辅助手段,最终当所有测试用例都通过后,我们可以说我们的代码实现了产品的需求,并且经过了测试。  然后我们利用测试用例的保护,开始快速的对代码进行重构。&...
代码星球·2020-08-08

npm与yarn

版本号:<主版本号>.<次版本号>.<修订版本号>主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。阶段版本号(1...
代码星球·2020-08-08

app内嵌H5的时候 所需要考虑的一些东西

1:桥接的设计  因为app不像h5那样可以随意替换,每次一个app版本发布出去,都是一个完整的产品,一个无法再更新的软件,而随着业务不断发展,产品不断更新,总是会存在新的需求出现,这个时候就会出现h5需要调用原生的方法来实现业务需求,但是在老的版本上是不存在这个方法的,所以在设计桥接的时候,桥接需要加上一个功能,即e...

宇宙中如何传回图片

一直很好奇,今天终于有机会好好研究一下:我把整个过程分为图像的采集,图像的保存,图像的传输,图像的接收,图像的回显。1:图像的采集与保存光的原理:  从上图可以看到,我们日常生活中看到的7种颜色是由最基础三种颜色构成,即在外层的红黄蓝,我们可以通过不同的组合方案构造出其他四种颜色,这样我们就可以随意的组合出任意图案了。...
代码星球·2020-08-08

中间层与中间件的区别

中间层是一种思想,我们在很多设计中都可以看到这种思想,他的主要目的是屏蔽底层差异性,并给上层提供一致的接口,他是对上层负责的,但是却需要面对底层无规则无协议环境复杂的问题,它通过把不同平台的差异给屏蔽掉后,这样上层可以专注于解决业务,而不需要耗费精力去解决差异型。中间件也是一种思想,他是指通过某种手段,在当前平台的数据...
代码星球·2020-08-08

我理解的代码

C、C++、Java、javascript、数据库语言 我想从上面五个具有代表性的语言,来整理我对代码的理解:  在起初,没有编程语言,计算机刚发明的时候,计算机只认识二进制,即0和1,而且只能完成数学运算,因为二进制十进制本质上是数字的不同表达方式,虽然仅仅只能完成数学运算,但是我们可以编写一道方程让计算机...
代码星球·2020-08-08

可维护性组件的编写原则

可维护性可扩展性:   1:活用组件继承  2:活用slot  3:使用props灵活表现界面元素  4:父子拆分协作性:  1:使用computed对props进行二次封装  2:css使...

lambda演算感想之规则

在lambda演算中,丘奇创建了丘奇数,在理解丘奇数的过程中,逐渐颠覆了一些以前的认知,丘奇数用自己的方式重新定义了数字,即:0是 lambdasz.z 1是 lambdasz.sz 2是 lambdasz.s(sz)在理解丘奇数的过程中,我一直在纠结于为何丘奇就可以创...
代码星球·2020-08-08

lambda演算感想从进制理解计算的本质

10+10=100;这个公式如何理解呢?从十进制角度看是:10+10=100;从二进制角度看是:10(1010)+10(1010)=100(1100100)最终无论是通过10进制还是2进制我们都可以得出一坨东西+另一坨东西=另一坨东西,这应该是数学的本质。首先将一坨东西用数字进行概念抽象化,然后发明了加减乘除,表述了这...

font-size line-height vertual-align的复杂关系

vertual-align的正常使用在于基线的确定而基线会受到line-height的影响,同时不同字体大小也会影响到基线,当line-height使用继承方式或者使用数字的时候,line-height是不确定的,同时导致基线也不确定,这就会表现出使用vertual-align出现飘忽不定的情况。然而在安卓手机下当字体...