语义化版本 2.0.0

转载自语义化版本-2.0.0,版权归原作者所有。

摘要

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当你做了不兼容的 API 修改,
  2. 次版本号:当你做了向下兼容的功能性新增,
  3. 修订号:当你做了向下兼容的问题修正。

先行版本号及版本编译元数据可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

简介

在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。

在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你专案的进展因为版本依赖被锁死或版本混乱变

阅读全文

Python 的包管理利器:pipenv

众所周知,Node 项目自带 npm 包管理机制,能够有条理的处理项目的依赖,在项目移植的时候可以很方便的建立起一致的工作环境。但 python 并没有自带类似的包管理系统。之前对待 python 项目都是采用暴力方法,运行的时候看到哪个包报错就安装哪个包,由于也不是经常把项目移来移去,倒也没有太大影响。但不管怎么说,这种方法毕竟不够规范和优雅,也无法保证工作环境的一致性。

pipenv 就是一个和 npm 类似的包管理机制。简单的讲它有两方面的功能:一是虚拟环境的创建和管理,类似于 virtralenv;二是一个包管理系统,类似于 npm。你可以利用它为每个项目创建不同的虚拟环境,在每个虚拟环境中,你可以使用不同版本的 python 解释器和安装不同的依赖,而不会互相影响。它可以生成 pipfile 和 pip

阅读全文

利用相对单位构建 Vue 项目

这次公司的产品要参加某国际展会,需要为产品做一个 Demo 软件对其进行控制和展示(采用 electron + vue 的架构),这就跟平常的需求不同了。一般来说,响应式适配通常是保持内容元素的大小不变(或变化较小),而改变内容显示区域的大小以显示更多/更少的内容。而在展会上,考虑到观众是从远处观看屏幕,而且内容是固定的,因此合适的解决办法是等比例缩放所有内容,这样在笔记本上进行配置和在大显示器上进行展示时,都能获得较好的显示效果。

要等比例适配 UI,那就需要用到相对单位。在 CSS3 中,新增了许多相对单位,例如 rem, vw, vh, vmin, vmax 等。

目前传统中使用较多的方法是使用 rem,它以根元素字体大小作为单位。如果我们要根据窗口宽度来等比例缩放所有元素,就必须使用一段 js 代码,来动态

阅读全文

简讯:Necessarius - 必要な悪

这两天终于开始了 Ghost 主题的开发,选取了官方一个最精简的主题 Attila 作为基础,主要是有个基本框架。

Ghost 真的是一个值得令人兴奋的博客系统。它采用了模版化的语言进行构建,结构清晰,html 和 js 分离,不仅开发的时候简单快速,运行起来也有很高的效率。同时,它的后台界面也更现代化,可以使用 MarkDown 语言进行写作。

新的主题命名为了 Necessarius,查了一下,好像这并不是一个单词…然后到万网查了下域名,com 和 org 都被注册了… 都是明年到期,我已经设置好提醒事项了,这两个网址都没有在使用,看提示信息,一个是被加拿大的英语使用者注册了,一个是被日本人注册了…希望能够抢到。

目前暂时完成了 Typo 的部分,现在更适合中文阅读了,代码的字体采用了我最喜欢的 SourceCo

阅读全文

为什么编号应该从 0 开始

本文(译文)转载于 Docle の Blog,版权归原作者所有

前言

在我们平时接触使用的大多数编程语言中,编号都是从 0 开始的。接受了这是一个惯例后,很少有人会去想为什么是从 0 开始?如果这是惯例,为什么不是其他的惯例呢?Edsger W. Dijkstra 教授的这个小备忘录也许可以解开我们的疑惑。

原文链接:http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html

译文

为了不使用有害的三点(…)表示一个自然数的子序列 2, 3, …, 12,我们有四个惯例:

a) 2 ≤ i < 13

b) 1 < i ≤ 12

c) 2 ≤ i ≤ 12

d) 1 ≤ i ≤ 13

是否有理由让我们更喜欢其中的一个惯例呢?Yes。观察可得

阅读全文

前言

这个变化是关于“个人网站究竟有什么价值”的思考。最后的答案是,它的价值在于记录而非讲述,或者说,它不是给人看的,因为没人真心愿意去看。

因此,删除了原先 wordpress 站的数据,选用了更先进的 Ghost,来进行开发。关键词是 “手帐 & 笔记”。也就是:每天日常活动的简要记录,以及供随时随地查阅的笔记。同时,除了留言板,将不会有任何可以进行互动的元素,例如文章评论。

在最终完成之前,就这么挂着吧。另外,也许永远都不会完成,毕竟这不是件非做不可的事——何况我还得学学 ghost 的主题怎么写的,虽然比 wordpress 那种史前时代的架构简单多了。

阅读全文