Pulpcode

捕获,搅碎,拼接,吞咽

0%

如果有人问我:“你觉得北京离你远不?”,我想一想会说:“远!”。因为如果坐火车,那也要做一天。

如果有人问我:“你觉得月亮离你远不?”,我肯定会说:“不远”。因为每天抬头都能看见月亮那么大的挂着,而且月亮走我也走,我和月亮……

这是不是看上去很可笑?但是我们在生活中却常常会犯这样的错误。

如果跟朋友们出去吃饭,如果对面坐的那个人想要发财,那么会讲些“马云,王石”的故事,如果对面坐的那个人喜欢电影,又会扯些什么“姜文,昆丁塔伦提诺。”如果对面坐的那个人觉得自己智商高,又会给你谈些什么,
爱因斯坦,霍金的故事。如果他还热爱军事,哲学,音乐,心理学之类的,一些什么弗洛伊德,巴赫,尼采,隆美尔之类的名字也会出现。他们能将这些人成功的原因分析的如此透彻,然后又将这些人犯下的错误理解的如此深刻。

可是即使你对这些名人在怎么谈笑风生,有一天你也会发现,在生活中想要超越一个比你稍微牛逼一点点的人,都难得要死。

阅读全文 »

最近打算写一系列博客总结版本控制系统。工作的第一年我使用的是git,工作的第二年我使用的是svn。

我现在是一个实用主义,所以我想总结一些跟实际用途有关的东西,比较偏的技巧我是不会去找的。没有必要的比较我也不会去总结。比如git是分布式的,在本地保存了所有库而svn没有。我也不会用命令行装逼,实际上当你了解了原理之后,图形界面(比如TortoiseSVN),确实很好用。

我从以下几个方面进行总结:

  1. 原理(并不是一些死扣底层的原理,而是真真实实能被我们用到的原理。)
  2. 使用方法(这要与现实相结合,我不想写一堆空旷的使用流程,而是在建立在某个情景上的使用方法。)
  3. 问题解答(对一些疑问提出解答)

什么是版本控制器?为什么要用版本控制器?

版本控制器相当于用一个数据库维护你的代码,而你编写代码的地方被称为是工作目录,你对代码的改动,都可以去提交到代码数据库中。这样你可以方便的去查找或使用早期某个版本,或者在一个分支上开发新功能,或者多人开发不同的功能,最后统一到一个代码数据库。你可以试想一下,如果没有版本控制器,单靠互相考文件,备份文件是怎样一种工作量。

阅读全文 »

我一直好奇,编辑器的undoredo是如何实现的,而且因为不了解uodoredo工作原理到底是怎样的。常常会发现它并不能我所想的去工作。

这篇文章用一种模型解释undo和redo,我在编辑器上试过这种思路是没问题的,但我不能把握这种模型一定是对的,如果在以后的学习中发现还有问题,我会进一步修改。

清晰的思路

首先要明白,为什么有的时候我们点击redo是没用的,因为只有undo的才能redo,你在一个新操作上redo是没用的。

而且,虽然看上去在操作过程中,我们是在保存每一次的状态,但是在底层实现中,程序员是不会蠢到把每一次的缓冲区都保存为状态,真实情况就是只保存变化。这还真算是编程里面的一个范式了。版本管理器的原理也是如此。

阅读全文 »

这篇文章用来总结自己对emacs的理解。本人之前使用过vim和sublime,现在主要使用emacs

Start

就编辑速度来说,是不会有编辑器比vim更快的了。我也常常将代码片段,或者日志,xml,考到sublime进行分析。多行编辑很实用。

但我在平时,主要还是使用emacs,无论是用它写博客,写代码,执行代码,写GTD,管理文档…都非常的方便。

键绑定

一个高效的编辑器,就是能够做到不用鼠标,编辑时在鼠标和键盘之间进行切换是一件很恼人的事情。这点在你抱着笔记本进行写作的时候会深有体会。

阅读全文 »

python2.x中处理中文,是一件头疼的事情。网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章。

我也会在以后学习中,不断的修改此篇博客。

这里假设读者已有与编码相关的基础知识,本文不再再次介绍,包括什么是utf-8,什么是unicode,它们之间有什么关系。

str与字节码

首先,我们完全不谈unicode。

1
s = "人生苦短"

s是个字符串,它本身存储的就是字节码。那么这个字节码是什么格式的?

阅读全文 »

非原创,从网上收集的,但是写花了些功夫,因为网上的大多数例子是错误的。

如何将一个金额转换为中文的大写形式

程序

1
2
3
4
5
6
7
8
9
10
11
/// <summary>
/// 此函数用来将一个金额数字转化为大写
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
public static string ConvertToChinese(decimal x)
{
string s = x.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))", "${b}${z}");
return Regex.Replace(d, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"[m.Value[0] - '-'].ToString());
}
阅读全文 »

前段时间院里请来一位老一辈的摄影艺术家,在全国都是很有名气的,他讲到这样一则故事:

XXX公司的老总,在事业有成之后,为了圆自己年轻时候的文艺梦,找了几个摄影师去非洲拍摄一组照片,给他们发工资,但他们照得这些照片都算要算是他的作品。
之后这些照片在北京展出,引起了不小的轰动。但是有许多摄影者对此并不认可,认为这不能算是他的作品,因为他是靠金钱获得的,不是自己的努力。

老艺术家在讲到这里时,顺便带出这样一句话:“穷人么,就这样的思维呗。”

阅读全文 »