“这个网站相当简单,所有你需要做的就是完成 X,Y,Z。你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来。”
我时不时的就会收到这样的 Email 。写这些邮件的人几乎都是跟技术不沾边的人,或正在研究他们的第一个产品。起初,当听到人们这样的话,我总是十分的恼怒。他们在跟谁辩论软件开发所需要的时间?但后来我意识到,即使我自己对自己的项目预测要花去多少开发时间,我也是一筹莫展。如果连我自己都做不好,我何必对那些人恼怒呢?
“这个网站相当简单,所有你需要做的就是完成 X,Y,Z。你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来。”
我时不时的就会收到这样的 Email 。写这些邮件的人几乎都是跟技术不沾边的人,或正在研究他们的第一个产品。起初,当听到人们这样的话,我总是十分的恼怒。他们在跟谁辩论软件开发所需要的时间?但后来我意识到,即使我自己对自己的项目预测要花去多少开发时间,我也是一筹莫展。如果连我自己都做不好,我何必对那些人恼怒呢?
假设要保持 keep.html 文件原样输出,不被渲染:
1. 将 keep.html 文件放在 source
目录下。
2. 打开 _confi.yml
配置文件,添加 skip_render:
,并声明 keep.html 文件如下:
1 | skip_render: keep.html |
3. 如果需要保持多个文件,可以按照如下声明:
1 | skip_render: [file1, files, ...] |
伴随着新的特性和功能, Android 6.0 (API 级别 23)带来了一系列系统和 API 行为的变更。这篇文章中将介绍一些在应用程序中需要理解和注意的主要变更点。
如果你之前已经发布过 Android 应用程序,要意识到这些变更对应用程序的影响。
Xcode -> Manage schemes…
点击左下角的 + 来添加新的 scheme。添加成功以后,勾选新的 scheme 后面的 Shared 将scheme 设置为共享,这样在版本控制系统中可以包含这个项目设置。参与协作的人获得这份代码,就可以共享这个 scheme。
+
,选择 Duplicate "Release" Configuraton
。原文:https://medium.com/@andrestaltz/2-minute-introduction-to-rx-24c8ca793877
可能你已经读过我之前写的教程。太长了?好吧。响应式编程也不是很难,甚至你自己也曾经发明了它。我们继续往后看。
你知道数组吗?当然,你完全知道。这下面的便是。
[14, 9, 5, 2, 10, 13, 4]
如果我告诉 你这是个不可变的数组,并让你拿走其中所有的奇数,你会怎么做?下面是比较流行的做法:
[14, 9, 5, 2, 10, 13, 4]
filter((x) -> x%2 == 0)
[14, 2, 10, 4]
这些其实都不是新东西。这些在 underscore.js,ECMAScript 5.1, LINQ,Guava 等当中都是司空见惯的东西。它来自函数式编程范式。
Apache Tomcat 是一个服务器应用,通常用来部署 Java 应用到 Web 。 Tomcat 是 Java Servlet 与 JSP 技术的一个开源实现,由 Apache 软件基金会发布。
这个教程涵盖了在 Ubuntu 14.04 上 Tomcat 7.0.x 版本的安装和基础配置。
有两种基本的途径来安装 Tomcat 到 Ubuntu 上:
在这个教程中,我们将使用最简单地方法: apt-get
。这将从官方的 Ubuntu 资源仓库安装最新的 Tomcat 发布包,这个包可能不是 Tomcat 的最新发布版本。如果你想要确保安装 Tomcat 的最新版,你可以下载最新的二进制发布包。
Jenkins 是一款一流的应用软件,用于监控重复任务的执行,包括一个软件项目的构建、由 cron
执行的工作等。在此基础之上,Jenkins 现在专注于以下两个方向:
CruiseControl
或者 DamageControl
。简而言之, Jenkins 提供一个使用简单地持续集成系统,使得开发人员更方便的集成项目修改,让用户更容易地获取较新的构建版本。自动化持续构建极大提高了生产力。cron
或 procmail
任务。拿 cron
举个例子,你将收到的是一些包含输出结果的常规电子邮件,提醒你勤快地处理它们,当它们出错时,也可以第一时间提醒你。 Jenkins 保存这些输出,并使得出现问题时的通知变得简单。Jenkins 所提供(拥有)的特性如下:
Subversion/CVS
生成一系列的修改列表来完成构建。这种方式也非常的前卫,因为减少了从存储库加载资源的步骤。latest build/latest successful build
“这样的永久性链接,可以很轻易的从其他地方链接过来。目前持续集成( CI )已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,只在缓和和稳固软件的构建过程,并且能够帮助你的开发团队应对如下挑战:
部署一个 CI 系统需要的最低要求是,一个可获取的源代码仓库,一个包含构建脚本的项目。
CI 系统的基本结构,如下:
该系统的各个组成部分是按如下顺序发挥作用的:
Jenkins 就是这样的一个 CI 系统。它的主要目标在于监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。
在整个开发过程中, CI 的作用主要是控制:当系统在代码库中探测到修改是,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么 CI 将通知相关人员,然后继续监视存储库。
这篇文章中,我们来在 Hueman 主题的侧边栏中添加微信公众号的二维码。
1. 找到 themes/hueman 下的配置文件 _config.yml,添加 weixin 变量配置为二维码地址。
1 | # 配置关注微信公众号 |
2. 在 themes/huema/layout/_widget 目录下新建 weixin.ejs 文件,添加如下代码
1 | <% if (theme.weixin){ %> |
这里根据是否存在1中的微信二维码链接来控制这个模块的显示。可以根据实际需要设置样式。
3. 修改 themes/hueman/_config.yml , 在 widgets 添加 weixin。
1 | widgets: |
本节中通过将微信公众账号的二维码作为一个组件( weixin.ejs ),利用 hueman 主题已有的侧边栏配置,非常方便的实现了微信公众账号二维码的添加。
同时也欢迎大家关注:非典型程序员