查看详情
Nuclide是 facebook 针对Atom出的一款编辑插件,你可以通过它开发,调试 React 以及 React Native的程序。这也是FB首次将自己的开发流引入到第三方编辑器中。 当然这里记录的不是这个编辑器怎么用,怎么用可以看这里.这里主要是记录对源代码的阅读和解析。 目录结构 Nuclide 的目录结构并非和标准的 atom 插件生成包的目录一致。 + lib // 存放的是整个Atom 插件功能的JS资源 + node_modules + pkg // 依赖的包,插件功能的具体实现在这个里面 + nuclide-code-hightlight 代码高亮的功能 + nuclide-console 实现控制台输出功能 + ... + resources + package.json ... 不是很重要的文件 lib 目录 熟悉 Atom插件开发的应该都知道,我们实际上所定义的菜单按钮或者command的这些都是通过在这里面的JS实现的,而我们首先需要制定项目的入口文件,也就是lib/main-entry.js。 main.js main.js 实际为 nuclide 做了配置的主要事情,我们看源码就知道,它执行流程如下: 设置默认的配置 读取 pkg 目录下的包的package. 详情 »
已是3月底的北京,空气中弥漫着春天的气息,看着路旁飘落的花瓣,会觉得这个春天就要来了,虽然早起还会带有几丝寒意。 4月初的北京,天气正好,可以摆脱厚重的衣服,短袖和卫衣,可以从箱子里全然拿出来了。不过还是害怕飘起犹如雪花的柳絮,满大街都是,公交车里也都是。2014年的4月初结束了实习,从北京返校。特意选择了T3,和现在的室友一起返回长沙。他是湖南大学,和我也只是相隔一个天马公寓,在实习前也全然不认识。幸运的是现在都还在同一个地方上班。 最近毕业的寝室室友买房,帮他筹集资金,也确实费了很多神,不过真的很感谢身边的土豪朋友,都超级给力,确认后分分钟钟,就到账了。不过借钱真的是一件考验友情的事情,看来这些朋友都还是很不错的😄😄😄。不过自己也与比较冲忙,支付宝转到大学的卡里,看来要把那笔钱取出来得费一点时间了。 突然发现有很久都没和一些朋友联系。记得MomoJia曾经说起她曾经喜欢的一个人,突然就消失了,自己都很好奇为什么回突然就了无音讯的。哈哈哈,现在觉得或许那才是真的喜欢吧,相濡以沫不如相忘于江湖。所以还很庆幸自己在一个非常正确的时刻止步了。于自己而言也算得以维系一份友谊吧。 3月初入了股市,自己的大学室友们现在也喜欢讨论这个东西。一个月的经历,还是觉得太刺激,请慎重。其实现在想了想,真的会觉得以前的自己完全是没理财思维的 🐷。不过好在现在开始认真重视起来,尤其这次帮好友买房的事情后。 不知不觉在A厂,快有3个多月了,自己试用期也过了,虽然评价还没出来。自己有个摩羯座 详情 »
查看详情
Weex正如它的目标, 一套构建高性能、可扩展的原生应用的跨平台开发方案 Weex 给大家带来的无疑是客户端开发效率的提升,我们可以通过一套代码,实现web,android, iOS的三个平台上运行。自己最近尝试了一次借助weex的插件机制,使用Weex-Amap地图插件 可以开发 LBS 相关的应用。 首先我们先来看下运行的效果吧: iOS 版 Android 版 截图数据仅供参考 它大概具备下面的一些功能; 统计用户在运动过程中的距离累计,时间计算等。 存储用户的运动数据 使用地图定位和距离计算的API,实现距离统计。 显示地图折线,通过对定位的数据地理位置进行折线绘制 统计用户运动的数据,计算总距离和时间 点击用户的历史记录,可以查看轨迹 感觉和大家所用到的app功能相差不多了,但实际上我们借助 Weex 和 Weex-Amap 插件可以非常快速的实现这些功能,下面我们来看下具体怎么实现吧。 使用 weex-toolkit 创建项目 首先我们按照官网的教程安装weex-toolkit。如果已经安装过请忽略。 $ npm install -g weex-toolit 安装完成后,我们创建一个项目目录,比如running-app。 weex create running-app 大家可能会看到下面的提示,输入y安装即可。 详情 »
查看详情
weex-amap 一款高德地图 Weex 插件,它具备了地图的基本使用功能,包括地图展示,添加坐标点,控制地图缩放,在地图上添加折线或者圆形等图形,同时也具备地图的一些基本计算和判断等功能。而且如同 Weex 的能力,它是三端都支持运行,这样你可以通过一套代码实现三端的地图功能。 使用效果预览(iOS版): 快速开始 使用插件,我们需要初始化一个工程项目,然后将插件添加进去。 weex create mapapp cd mapapp # 你可以自行添加ios 或者 android weex platform add ios # 添加地图插件 weex plugin add weex-amap 请确保你安装了最新的 weex-toolkit 这样你的项目里就具备了高德地图的插件功能。 先来一段基本的地图展示,编辑你的weex文件 <template> <div class="container"> <weex-amap class= 详情 »
查看详情
带灯读完已是两周之前。 带灯开始读的时间大却还有印象,就是14来国庆去西安的火车上。这期间跨度,确实很大,但是去年冬天从新翻到了这本书,又从开始读起来。 自己喜欢贾平凹的小说是大二在路边摊买的一本合集,有长又短。而带灯的的确确是一本长篇小说。关于陕西的一个小镇的故事。 这部书读者会有很强的真实感。因为书中所写的内容,和自己成长的那个年月相差无几。只是那个时候还是孩童的我所看待这些事情,大多也都路人旁观者而已。 带灯是小镇上的干部,所以参与者的视角去看那些事情,自然有不同的维度思考。 过去十多年是中国快速发展的时代。对于每个城市,每个县城,都有自己的发展目标。在镇子上同样如此,所以 摆脱贫困,发展经济是每个镇子上首要任务。而这个任务是书记一手抓的,樱镇子上很多人的命运也就和要新建的工厂挂上了钩子。镇子很小,谁与谁有恩怨,谁跟谁是世家,都很清楚。因为镇子很小,人也很少,彼此都很熟悉。每家那本经,作为干部的带灯自然也很清楚。所有人在钱的节骨眼都不存在过去不,上访人的可以因为钱而放弃,也因为钱,两个大的家族都建设了沙场,最后也因此遭遇到最后的事故,弄的亲人故去,带灯夜因此收到意外伤害, 意识 渐去渐远。 还有一个关键词,就是维稳。维稳真的会是那个时代里非常重要的事情,带灯作为治安综合治理办的主任,最核心的任务就是安慰上访者。这个话题很敏感,但是小说还是描绘出不同上访人的心思,有含冤诉求者,有一己私利者, 详情 »
查看详情
最近花了些时间,更新博客的一些样式。说说一些小细节。 火影完结 上周四火影完结了,大概这是自己最喜欢的一部动漫,没有之一。这次博客改版,网站的图标和logo都换成了简版的 卡卡西风格。 去掉了iconfont 这次博客去掉了iconfont,把图标全部换成了svg,svg已经成为了主流,而且自己本来对图标的需求就不是那么大。不过自己还是很喜欢themify 这个字体,设计的很漂亮。 更新了slide 和 navigation 之前的slide是svg曲线过度效果,这次换成了旋转的切页效果,参考地址在这里: https://tympanus.net/Tutorials/SlidingHeaderLayout/layout-multi.html 博客内容后增加了个人的社交站点 主要是页是为了各个站点的互通,还有就是为了尾巴的一些友情链接,可以给朋友的站点留些位置 博客主题依旧是免费试用的: 你可以前往这里下载 Ghost-theme。欢迎反馈。 详情 »
写一些react插件,大家会引入CI集成测试。这样有助于开源项目的质量。尤其引入了karma 进行浏览器的自动测试。 自己写react.js的开源组件的时候用的是 Airbnb Enzyme + Karma的测试环境。这个时候我们需要调用chrome测试,通常我们在 karma.conf.js 指定 browsers 参数为['chrome']。但是在CI的测试环境中。会提示 Cannot load browser "[Chrome]": it is not registered! Perhaps you are missing some plugin? 这个时候需要我们对测试环境做个判断重新指定浏览器,参考如下: const path = require('path'); let browsers = ['Chrome']; // trvis env if (process.env.TRAVIS) { browsers = ['Chrome_travis_ci'] 详情 »
这次修洗衣机,感觉把整个初中学的物理知识差不多都用上了,感觉自己也可以去知乎上回答那个经典的问题:什么事情让你觉得读书真有用? 3月初和13亮到了新的地方,然后当时没有测试。后面才发现洗衣机不能正常工作。感谢梦一童鞋的帮忙和联系,房东打算换一个,但是自己的好奇心😂拆开了洗衣机,才开始以为只是开关坏了,因为其他开关都是好的。拆下来后,发现主开关下面却是有生锈,洗衣机也确实有些岁月了。 确实这次拆开有些费劲,有些螺丝已经生锈了,然后有螺丝刀一拧,整个螺丝钉大头这边开始出现锈迹脱落,只好后面改用平字螺丝刀。勉强弄出来。当然也有由于生锈弄的特别紧了,搞得我都开始怀疑人生,好歹自己是个男生,这必须得给拧出来,然后换了一个力矩大的落实到,终于弄出来。真的,这颗螺丝弄坏了我两个螺丝刀的梅花头(可拆换)。 拆开了电路板,的却很老。但是好奇心还没有止步。自己搜了下信息,说有可能水位开关和入水阀的问题,于是自己又开始拆了。整个机器的盖子几乎全部都拆下来。 然后一路拆下来,确实最后把继电器和入水阀都拆下来了。结果发觉都没什么问题,自己是真的确定没有阻塞住。 确定电路板问题后,就去淘宝找到了同款相比300多的官方更换,感觉自己这次确实是赚到了。因为淘宝只要45,没错就是45.邮寄过来后,要更换电路板。然而由于生锈,线路的插入开关真的又是紧到怀疑人生。好吧自己连杠杆都弄伤了,终于给拆下来了。 好了,电路板没问题了。打开开关可以洗衣服了。 详情 »
《关于我最喜爱的他》 这本书是去年当当折扣时候送的。至于为什么会选择这本书,原因只有一个,因为其他书没得选了。 简单说说吧,故事都是漫画,所以看着都很快,几十分钟可以搞定(可能看漫画比较快),不同的作者构建出不同的男主角。从女生角度去看不同的男生的态度。故事有甜有虐,到也没有什么值得留下深刻印象的。反而更加推荐《其实他没那么喜欢你》这本书就超级高能了。男同袍一定要读,揭了男生很多短,女童鞋也应该读读,让你知道如何判断渣男。 而我为什么要读,理由如上,这本书也是上次折扣一起送的。最近和大学同学聊,不知不觉就到了相亲的时候,可是也都还没到完全需要的这样地步。不过自己总结了下关于我室友送的几点还是很有用: 和你聊的来的很少,但是她们不一定会是喜欢,也许只是她们想找个人聊聊而已,其实你只要仔细想想和她聊的内容,看有木有她主动问候起你近况和你小时候的事情。 如果觉得感觉对了,就直接进一步吧,没必要想太多,不要以为你不说,对方就知道。 你喜欢就相处,你不喜欢就不想处。不要老是想 他喜不喜欢你,这是个伪命题。 努力可以,切记用力过度。 两个人喜欢和在一起是很长的一段路,不要想着太重,也不要看得太轻。 详情 »
查看详情
其实很多时候我们都是fork完别人的代码然后快速提交,然后发一个PR过去就好了。但有的时候我们也会遇到需要长期保持我们fork的项目与fork的源保持一致。粗暴一点的做法,就是删掉当前的repository然后再重新fork一个。当然我们还有更好的方法。 下面用自己fork的react-hot-loader作为例子。自己fork了gaearon的 react-hot-loader,然后自己clone了一个项目在本地。这个时候进入项目,我们可以使用git remote -v可以看到我们的clone源。比如过了几天,对方项目新增了分支或者新的代码,这个时候你希望自己的项目也能够保持与原项目代码进行同步。这个时候我们可以这样做: 1 配置远程的upstream 地址 git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git 而我这里的地址也就是我fork的地址 https://github.com/gaearon/react-hot-loader 2 这个时候你可以执行git fetch upstream 进行对upstram的代码更新。 大概你就能够看到一些更新的信息。 3 进行代码合并 这个时候我们可以用git merge合并我们希望从远程更新后的分支或者主干代码。比如: 参考 configuring-a-remote-for-a-fork Syncing a fork 详情 »