使用git archive可以将传入的文件列表打包为一个zip档案。对于一些大系统,如果只是修复bug,可以做到热替换的话(比如php,js等解释型语言),可以使用此命令将修改的文件添加到zip档案,以提交局方升级。
more
将整个仓库打包
继续阅读 »
GitHub 不再使用字体来输出图标了。我们把代码中所有的 Octicon 替换成了 SVG 版本。虽然这些改动并不那么明显,但马上你就能体会到 SVG 图标的优点。
切换到 SVG 以后,图标会作为图片渲染而非文字,这使其在任何分辨率下都能很好地以各种像素值显示。
more
为何使用 SVG?
图标字体渲染问题
图标字体从一开始就是一种 Hack。将图标作为 Unicode 符号生成一个自定义字体,并通过打包后的 CSS 来引入图标,这样只需要在任意元素上添加一个 class,图标就可以显示出来,然后我们通过 CSS 就能即时改变图标的尺寸和颜色。
然而,虽然这些图标是矢量图形,但在 1x 显示屏下的渲染效果并不理想
继续阅读 »
方法的安全性
在这个步骤之前,这款应用的任何用户都可以修改数据库的任何部分,在一个非常有意思的小项目或者演示项目中可能已经不错了,但是任何一个真实的应用都需要对这些数据进行权限控制。
在Meteor上,最好的方法就是通过声明方法。以此来直接取代客户端的代码。这些方法叫做insert, update, 还有remove,这将会替换执行的方法。它将会确认用户是否有权限完成这么一整套操作。那么随后在客户端中做出的任何对客户端的改变都会发给数据库
继续阅读 »
Linux 终端常用快捷键
more
移动光标
ctrl+b: 前移一个字符(backward)
ctrl+f: 后移一个字符(forward)
alt+b: 前移一个单词
alt+f: 后移一个单词
ctrl+a: 移到行首(a是首字母)
ctrl+e: 移到行尾(end)
ctrl+x: 行首到当前光标替换
继续阅读 »
这篇中有几个点是受到瑛那同学的指导翻译出来的,表示感谢
添加多用户账户
Meteor带来了一套账户系统然后顺便还带了用户界面来让你可以在几分钟之内在你的应用中添加多用户功能
目前,这套UI组件使用Blaze作为默认的UI引擎,在未来,可能会以React的专有组件来将其替换。
继续阅读 »
前面讲到了工厂模式,今天来讲讲策略模式,工厂模式只是单纯的封装了行为。使用策略模式能把算法对象分别封装起来,让它们之间可以互相替换,减少了各种算法类与使用算法类之间的耦合。
我们来看看策略模式是怎么工作的:
[][1]
继续阅读 »
Effective CPP 学习笔记
1.Cpp 是一个语言联邦
2.以const,enum,inline替换 #define
预处理器会带来诸多问题,但还是有很大的用途,所以这条仅适用于能用以上三种的情况。
3.尽可能使用const
high-level const :从右至左的第一个const (* 右边 指针自身是const)
low-level const :从右向左看的第二个const(* 左边 指针所指对象是const)
const成员函数:const的成员函数中是不能对类本身进行改变的所以说是bitwish的,mutable可解决这个问题。
使用const成员函
继续阅读 »
html
css
.no-fancy{
margin-top:20px;
}
但也并非一定要如此,我们可以通过 CSS 为加载失败的图片定制样式,提供更好的体验。
more
关于 img 标签的两个事实
要了解如何为破裂的图片定制样式,需要先搞清楚连个事实:
我们可以为 元素指定字体样式,这些样式将用于破裂图片的替代文字,不会影响正常显示的图片。
元素实际上是一种替换元素,其外观和尺寸由外部资源定义,所以通常情况下 :before 和 :after 这两个伪元素都不起作用,一旦图片加载失败时这两个伪元素将出现。
正是基于以上两点,我们可以为破裂的图片定制样式,而不会影响正常加载的图片。
实践
使用下面的
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 echo替换字符串
```bash
$ s="123abc123abc"
$ echo ${s/123/456}
456abc123abc
$ echo ${s//123/456}
456abc456abc
继续阅读 »
新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持。本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译。
Gradle是什么?
Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。
使用gradle的目的:
更容易重用资源和代码;
可以更容易创建不同的版本的程序,多个类型的apk包;
更容易配置,扩展;
更好的IDE
继续阅读 »