分享我的发现、想法与心得

0%

git flow 普片认为最早是由荷兰独立软件工程师Vincent Driessen在2010年发表的一个成功的Git分支模型(A successful Git branching model)这篇文章提出的。文章中提到文森特早在一些项目中使用git flow,并证明它是成功的。文中提及使用git flow的根据分支策略解决自动构建和部署问题。文森特后来制作了nvie/gitflow工具用于扩展git实现git flow功能,gitflow思想也推广了出去。

阅读全文 »

关于持续集成工具对比

持续集成工具:

三方对比

Jenkins GoCD drone
Github Stats 12K 4.6K beta 16.9K
(正式版本不开源)
优点(top5) 内部托管
免费开源
非常适合构建,部署或启动任何异步
大量的集成
丰富的插件和良好的文档
开源
管道依赖性
管道结构
可以并行运行作业
非常灵活
开源
建在docker上
免费开源
GitHub集成
灵活的脚本
缺点 缺少插件文档
声明性管道的能力有限
缺少插件
可怕的UI

对比内容参照: drone-io-vs-go-cd-vs-jenkins

Jenkins作为人尽皆知的持续部署工具,由于其庞大的插件和生态支持使它无所不能,规模较大的团队更喜欢使用Jenkins。GoCD是ThoughtWorks在做咨询和交付交付项目时自己开发的一款开源的持续集成工具,满足更复杂的部署实现,但是入门门槛却比其他两款CI高得不少。GoCD贯彻管道(pipeline)概念使其可以组合串行、并行执行任务,实现复杂的、精细的工作流。相比Jenkins也能在官网和社区的插件支持下实现类似效果,可是对比下来Jenkins中的管道只是相当于GoCD中一个单独的任务,如果不是存在复杂的部署需求不建议使用GoCD

最后能看出drone受关注程度比其余两者都高,是因为drone简单的UI和灵活的设计导致备受关注。对比Jenkins和GoCD在通道方面没有提供更多的支持,但是正由于其简单的设计容易理解之余扩展也十分简单。值得一提的是drone虽然插件没有Jenkins多,但是提供的插件文档和插件例子能作为自制插件提供很好的参考。可惜的是正式版本(1.0之后的版本)不再开源,如果是在小团队中使用还是非常值得考虑的。

参考:

记一次翻译站经历

做这个记录之前,刚完成使用drone作为公司前端项目的持续交付工具的实践,打算写的教程前先把官方文档扒下来做个翻译站。在实践一番后,卡在不能频密调取google翻译这块上,项目无法进行下去。最后觉得经历的过程涉及的内容挺多的所以记录一下同时分享给大家。

这次经历涉及以下知识:

  • wget抓取网站
  • 使用基于python的翻译工具
  • 使用nodejs调取命令行
  • 使用nodejs读写文件
  • express添加jwt
  • 基于express实现上传文件
  • nodejs环境下读取并编辑html文件

我们一点点来说。

阅读全文 »

目前见到存在三种思路:

  • 使用本地服务解析md,并输出json,前端加载显示
  • 使用本地服务解析md,并输出html直接使用
  • 以SPA方式,异步加载并解析md文件,实现显示

相关的工具:

安装坑

在安装一些扩展时会出现下面这种错误:

1
2
3
4
5
go get -u -t -v github.com/golang/lint/golint
github.com/golang/lint (download)
Fetching https://golang.org/x/tools/go/gcexportdata?go-get=1
https fetch failed: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 172.217.10.241:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata" (https fetch: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 172.217.10.241:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

由于国内环境被墙了导致下载失败,此时可以用以下方式解决:

1
2
3
4
5
6
7
8
# 创建目录
mkdir -p $GOPATH/src/golang.org/x
# 进入
cd $GOPATH/src/golang.org/x
# 从github拉取备份下来,具体可以在这里找到golang的源码备份:https://github.com/golang
git clone https://github.com/golang/tools.git
# 再安装一次
go get golang.org/x/tools
阅读全文 »

webpack 作为目前主流的构建工具,其较快的版本迭代和复杂的配置方式,使得每次开发前不得不规划相当部分时间来调试。这里将记录整个环境的搭建过程,为新手提供基础思路。

就像我在开发vue-sitemap时一样,构建工具往往需要达到下面几个需求:

  • 构建生成 CommonJS/UMD/ES Modules 三种模式的代码提供给使用者
  • 需运行测试和检查测试覆盖的进度
  • 开发时候使用 VS Code 编辑器进行断点调试

以上三个作为开发一个组件(package)是基础中基础的需求,当然还有更多细节内容需要添加,由于篇幅过长另加文章再说吧。(欢迎各位读者评论留下你认为需要的功能( • ̀ω•́ )✧)

阅读全文 »

从国内外种种数据分析显示,中国的进口葡萄酒行业俨然是一个朝阳行业。来自海关的数据显示,今年7月全国葡萄酒进口量同比大增54.9%;1-7月增长29%。按照葡萄酒数据互联网提供的数据,2014年,中国的进口葡萄酒消费人数急剧飙升至3800万人,相当于2011年消费人数的两倍。于是,越来越多的人涉足进口葡萄酒这个行业,但是不趟入这个水,不知道水有多深!今天,笔者根据实战经验,盘点出经营进口葡萄酒常见的10个误区,希望能对大家有所启发和警示。

阅读全文 »

观点改变

十年前,大部分中国人只知道两种葡萄酒(红葡萄酒和白葡萄酒),对奢侈品的需求刚刚出现。当时有人怀疑,购物者——无论富裕与否——是否会抛弃在上海襄阳路市场或北京秀水街随处可见的仿制品。也有人说,中国人只会选择最著名的牌子。

当然,他们都错了。2016年,在全球奢侈品消费者中,有近一半是中国人,他们为各个领域的品牌提供了不可估量的市场需求。

阅读全文 »

KISS原则是英语 Keep It Simple, Stupid的首字母缩略字,是一种归纳过的经验原则。KISS 原则是指在设计当中应当注重简约的原则。总结工程専业人员在设计过程中的经验,大多数系统的设计应保持简洁和单纯,而不掺入非必要的复杂性,这样的系统运作成效会取得最优;因此简单性应该是设计中的关键目标,𧗊量回避免不必要的复杂性。同时这原则亦有应用在商业书信[1]、设计电脑软件、动画、工程上。

词条起源

这个首字母缩略词根据报导,是由洛克希德公司的首席工程师凯利约翰逊(U-2 和 SR-71 黑鸟飞机等的设计者)所创造的。虽然长久以来,它一直是被写为“保持简洁,愚蠢”,但约翰逊将其转化成“保持简单愚蠢”(无逗号),而且这种写法仍然被许多作者使用。 词句中最后的 S并没有任何隐涵工程师是愚蠢的含义,而是恰好相反的要求设计是易使人理解的。

说明这个原则最好的实例,是约翰逊向一群设计喷射引擎飞机工程师提供了一些工具,他们所设计的机具,必须可由一名普通机械师只用这些工具修理。 因此,“愚蠢”是指被设计的物品在损坏与修复的关联之间,它们的难易程度。这个缩写词已被美国军方,以及软件开发领域的许多人所使用。

另外相类似的概念也可作 KISS原则的起源。例如“奥卡姆剃刀”,爱因斯坦的“一切尽可能简单”、达芬奇的“简单是最终的复杂性” 、安德鲁·圣艾修伯里的“完美不是当它不能再添加时,它似乎是在它不能被进一步刮除时实现的”。

KISS原则

什么是轻度认知功能障碍?

轻度认知功能障碍(MCI)是处于正常认知衰老和痴呆之间的一种临界状态。它的核心症状是认知功能的减退,但日常生活能力没有受到明显的影响。

既然MCI是一种临界状态,说明它有可能会发展成为痴呆症,特别是单纯记忆障碍型MCI。我们总结前人的研究,患有轻度认知功能障碍的老年人存在海马萎缩、内侧颞叶结构改变、脑血管病变、大脑活动异常等病理和神经机制异常,而且MCI越严重,这些病理和神经异常与轻度阿尔茨海默症(老年痴呆)患者越相似。有研究显示,MCI患者具有更高的痴呆患病风险。每年有10-15%MCI患者发展为阿尔茨海默症,而认知正常的人们的患病率仅为1-2%。而随着年龄的增长,正常衰老转化为MCI的风险也越大。2002年的调查显示,每年有1%的60岁老人转化为MCI,而85岁老人的转化率达到11%。这样的高风险说明尽早发现MCI并进行干预,对于降低老年痴呆症的发病率、保护老年人的身心健康具有重要意义。

阅读全文 »