2008年10月31日,一场社会实验开始,中本聪带着比特币和区块链出现。
十年间,伴随着比特币和区块链发展的不同阶段,极客、矿工、投机者与小白不断涌入,留下暴富、神话、骗局、信仰、革命等关键词。
十年后,比特币和区块链或已不再是中本聪的初衷,二者也不只是少数极客的玩具,而是俨然要掀起一场科技革命。
回顾这场科技浪潮的各大事件节点,不只是为了纪念,更是以史为鉴,砥砺前行。
more >>知行合一
2008年10月31日,一场社会实验开始,中本聪带着比特币和区块链出现。
十年间,伴随着比特币和区块链发展的不同阶段,极客、矿工、投机者与小白不断涌入,留下暴富、神话、骗局、信仰、革命等关键词。
十年后,比特币和区块链或已不再是中本聪的初衷,二者也不只是少数极客的玩具,而是俨然要掀起一场科技革命。
回顾这场科技浪潮的各大事件节点,不只是为了纪念,更是以史为鉴,砥砺前行。
more >>又是好久好久好久没有写技术文章了,主要是都在忙业务,唉,年初过个春节,然后搞了618,上半年就过去了,下半年中秋国庆一过,双十一忙到昏厥,一年也就这样过去了。。。作为阿里的程序员,有时候感觉时间过得真的好快,不知道自己又留下了些什么,可能确实留下了很多东西,比如每年的繁忙,业务的发展,技术的进阶,但是都是存在于深深的脑海里,好好想了想,还是想写下来,但是有的业务耦合太强的又不敢写,所以只好自己提炼一下纯技术的东西,放在博客里。今天这是RxJS的第一篇文章,后续会出多篇,变成一个完整的RxJS学习系列。
RxJS的全称叫做 Reactive Extension for JavaScript,Reactive Extension也可以简写为ReactiveX,至于Reactive Extension为什么要缩写为Rx而不是Re,我也不知道,总的意思就是JavaScript的Reactive Extension模式的实现,因为这只是一种实现的模式,和具体语言无关,所以除了RxJS,还有RxJava、Rx.NET、RxCpp、Rx.rb、RxPy等,这种。
在介绍Reactive Extension编程模式之前,我想先介绍两种其他的编程模式,就是响应式编程和函数式编程。
说起函数式编程,大家应该都不会陌生,顾名思义,函数式编程就是使用函数来解决问题的一种编程方式。用过Redux的同学应该都会明白,Redux就是纯函数式的编程,我们可以归纳一下Redux的几个特点:不修改老的state,而是返回新的state;入参一定的时候,出参数也一定;使用声明式函数;其实这就是纯函数最大的三个特点:1,不可变数据;2,纯函数;3,声明式。这里我就不做过多介绍了,有兴趣的可以下去自己查下资料看看。
这个响应式编程呢,举个最简单的示例,就是excel函数,比如大家在使用excel的时候,需要计算一列数值的和,我们只需要选中这列之外的一个空白的区域,然后在公式部分输入“=”,再用鼠标选中你所想要计算的那一列或一部分的区域,那么你选中的这个区域里的数值,就会自动变成你想要计算的那一列的值了,与此同时,不管你这一列中,任意位置的值想要怎么变化,最终结果的值也是会同时进行改变的,这也就是说,结果区域的值会随着你那一列的区域中值的变化而作出“响应”,这就叫响应式编程。
比特币(Bitcoin)是区块链中最火最大的一个项目,其原因就是因为去中心化(Centralization),或者我们可以认为,是“多中心化”,因为点对点(peer to peer)的操作,是任何一个点(peer),都成为了中心,当每点都成为了中心,也就可以粗略的认为没有了中心,因为中心太多了,也正是由于中心太多,所以这个项目不会受制与某一个人或某一个团体,不会被少部分人控制,大家的权利和义务都是一样的,保障了绝对的公平。
上面是比特币的特点,然后人们根据比特币的这个特点,从底层的技术中,提取出来了区块链(block chain)技术,也就造就了现在繁荣的区块链生态。
说起context,就要从原生的react数据流说起。
在以前,react的数据传递,都是通过父组件的prop,向子组件传递,当组件嵌套层级过多时,就需要一层一层的将prop传递下去,当组件嵌套的层级足够多时。。。那我只能说,代码给你,你来吧。
这里就需要说一下context,在之前,官方是没有context api的,并且也一直不推荐使用,就像redux一样,如果你不知道该不该用,或者不熟悉该不该用,那就不要用。
说了这么久,我们先来介绍下context是个什么东西吧,刚才说到,react的数据传递,都是通过父组件的prop,向子组件传递,当组件嵌套层级过多时,就需要一层一层的将prop传递下去,当组件嵌套的层级足够多时,就很蛋疼,所以就要解决啊,解决的思想是,将所有的数据,变成一个store,并且将这个store的位置提到最高,高于任何组件的,所以这个context,也就是指的“上下文环境”,让一个树状组件上所有组件都能访问同一个共同的对象
具体如下代码:
|
|
占位符~~~~~~详细内容稍后再完善~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~
不知不觉,2017年又过完了,当然,是阳历,中国传统的农历2017年,也还剩一个月多点,所以说一个月后,我也就要离开本命年,走进狗年,开始25岁的征程了。
去年就一个字吧,忙!
从年初在忙着找房子,年中忙着找工作,年末忙着找bug,这一年糊里糊涂地就过去了,光阴荏苒,岁月流逝,虽然累虽然经历了不少的麻烦与困难,不过所幸,结局都还是不错的。
年初的时候,一直舍不得家人,不知道为什么,和之前从重庆到杭州来的感觉不一样,这一次格外难过,可能是柯兰当时准备离职吧,毕竟我和柯兰在原公司过得都不怎么开心,不安的情绪也就一直在身边,所以心情比较down,感觉重庆有太多的舍不得,那一刻,我承认,我差点就打包行李回重庆或者成都了,想回去过悠闲的日子,可是还是没勇气,也割舍不下杭州的人和事,没办法,所以哭过了之后还是擦擦眼泪继续去上班,这算是2017年初的第一个小波折吧。
接下来是换房子,之前那个地方我已经厌烦了,之前一直不喜欢合租,没办法,终于去找了合租,也是巧合,沉木刚好也在找室友,他是挖财的,也是搞笑,第一次租的时候,沉木租出去了,后来被放鸽子,又叫我们回来租,还浪费了我500元的定金,虽然这笔钱最后是沉木出了呢,所以还是和沉木一起合租了,对了,还有个蚂蚁金服的女生,这个女生也是不断刷新了我的三观,足够懒,足够不爱卫生(或者说不爱护公共区域的卫生,那就是素质问题了),反正我也是很无语拿她无可奈何,女的要是不爱卫生,比男生狂多了,我在她面前感觉就是一个洁癖患者,要不是看在金都新城那房子确实不错的前提上,我早就想搬走了,唉。。。
房子的事解决了,就继续在mgj写代码,陪媛媛了。
夏天的时候和公司一起去舟山outting,虽然有苦有泪脚上有水泡,不过确实蛮有意思的,第一次徒步那么久,那么多人,为了一个目标一起努力的情景,人生也是难得遇见几次,很荣幸我遇见了一次,就是从小白脸晒黑了。
后面就是准备骑驴找马地换工作了,实话说,我在前公司的时候,没出来看看,一直还觉得不错,走出来看了就会发现,世界确实很大,可以说是众生万象,有很客气的大公司,也有很傲气的大公司,有很谦虚的小公司,也有很抠的小公司,在此,我还是要给滴滴北京技术平台部道个歉,毕竟后来没去是我的错,甚感惭愧,滴滴的那个领导(好像叫小泽)我也特别感激,说只要我以后想去,就算我被hr拉黑了他也会帮我,还跟我交流了很久,面试时谈得也十分nice,可是hr太厉害,我也深感无奈,也算巧合,刚好在我入职滴滴前的两周,又同时拿到了tmall的offer,工资倒是差不多,既然两个offer几乎没差别,但是我就找不到去北京滴滴的理由了啊~只能说时机真是妙啊。后面就是来了阿里,新零售供应链事业部下的零售终端技术部门,是天猫互动娱乐部门的原班人马,也就是寻微原来的部门,哦,寻微原来叫紫溪啊~~~阿里真是大啊,这是最直观的一个感觉,园区那么多,部门那么多,人数那么多,业务那么多,有好多东西需要学习的呢,就像你去图书馆一样,知识是免费的,但是需要自带容器。
入职阿里是9月底,刚好赶上双十一的开发时间,不知道算不算幸运,立马就披挂上阵,项目最忙的时候,通宵也是常有的事,最开始以为11点,12点下班算比较晚的了,后面却接着是第一次第二次第三次通宵,算是应了那一句话吧,没有经历过双十一的阿里人,不是真正的阿里人,我也很好的秉承了每逢大促胖三斤的原则,没能抵住夜宵的攻势,基本毫无招架之力就投降了,双十一的时候,园区内的活动还是比较欢乐的,各种有意思的活动,参与一次双十一还是蛮不错的,算是一段很丰富的经历了吧。
又是好久没有写博客了,之前写了太多纯技术相关的文章,后来吧,发现技术是技术,可是学习技术的最终点,是要在业务中实现落地,会的技能再多,不能在具体的业务场景下得到结果得到产出,都是不是好的技术,毕竟,公司也好社会也罢,都是结果导向的。
more >>最近在到处乱看一些项目相关的文档,发现了很很很麻烦的一个项目,刚好里面用到了redux,我发现简化一下的话,简直是redux的十分好的一个示例啊,比官网上简单的示例要难,又比难的简单,而且条理结构什么的又很清楚,挺不错的啊。
我先上图吧。
图1
图2
图3
图4
图5
图6
图7
图8
最近看了两篇不错的文章,都是和定时器(setTimeout)有关,所以我想写一篇博客,把那两篇文章能够融合、整理一下。至于标题,参照UC震惊部取的,笑一笑就好了。
话不多说,直接进入正题吧,看下面一段代码,结果会输出什么:
|
|
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true