Emacs相关笔记

一些常用的经常忘记的命令

文件查找

find-file-in-project-by-selected emacs配置见如下,需要设置变量 ffip-use-rust-fd 为t (C-v ffip-use-rust-fd) https://github.com/sharkdp/fd mac下需要先安装fd brew install fd

通过ripgrep进行文本内容搜索

spacemacs/helm-project-do-ag M-m s a p

打开所以之前打开过的文件

aborn/open-all-recent-files

打开当前所在的url连接

spacemacs/avy-open-url M-m j U

最近打开过的文件列表

recentf-open-files

magit相关

magit-diff-unstaged表示全项目的diff
magit-diff 默认表示当前文件的diff


magit-commit的命令失效,需要magit-commit-create替换

统计git的贡献情况: https://stackoverflow.com/questions/42715785/how-do-i-show-statistics-for-authors-contributions-in-git 添加到path里 export PATH=$PATH:/usr/local/go/bin:/Users/aborn/github/CodeSnippet/git 在Mac下还需要安装(awk替换成gawk) brew install gawk 命令如下: git-user-stats.sh --since="1 week ago" https://stackoverflow.com/questions/1828874/generating-statistics-from-git-repository?rq=1

打开所有历史文件 https://emacs.stackexchange.com/questions/52127/how-to-open-all-the-opened-files-from-a-previous-session

Magit的使用

将当前文件添加

相当于git add

M-x magit-status

然后定位到文件,按 s 键加入

或者,采用这个命令

M-x magit-stage-file

可以直接添加当前文件

Emacs高效检索

有这样的场景,其中之一为我们想快速查找到想要的文件;其二为我们能根据关键字快速找到相关文档:

纯文本检索

https://tech.marksblogg.com/meilisearch-full-text-search.html https://github.com/meilisearch/meilisearch 做纯文本检索

ripgrep 按关键字检索

下面这个作为命令行 https://github.com/BurntSushi/ripgrep  本地搜索 https://gist.github.com/pesterhazy/fabd629fbb89a6cd3d3b92246ff29779  如何在emacs里进行设置 rg -i "bixin”  命令行里关键字搜索

mac下需要先安装:

brew install ripgrep

fd-find 按文件名进行搜索

https://lib.rs/crates/fd-find

mac下需要先安装fd:

brew install fd

命令行下:

fd "测试"

Emacs下使用multi-term

Emacs里的multi-term相当于mac下的iterm,是emacs下非常好用的terminal。

载入multi-term.el文件

emacs使用multi-term作为terminal,首先要将multi-term.el文件放到你emacs的load-path里。

配置

;; ------------------------------------------------------------
;; set multi-term
;; ------------------------------------------------------------
(require 'multi-term)
(setq multi-term-program "/bin/zsh")
;; Use Emacs terminfo, not system terminfo, mac系统出现了4m
(setq system-uses-terminfo nil)

下面是几点需要注意的点:

  1. 我用的是zsh,如果你使用的是bash, 将"/bin/zsh"换成你的"/bin/bash"
  2. 如果你使用的是mac系统,发现multi-term每行出出了4m,在shell里运行下:
tic -o ~/.terminfo /Applications/Emacs.app/Contents/Resources/etc/e/eterm-color.ti
  1. zsh在mac下可能会出现中文显示为????的情况,这时候创建一个文件:~/.zshenv,其内容如下:
export LANG='en_US.UTF-8'
export LC_ALL="en_US.UTF-8"

快捷键

打开multi-term的命令是multi-term,你可能发现在multi-term模式下会出现与自己的快捷键冲突的地方。如果想保留自己在其他mode下的快捷键,将快捷键添加到 term-bind-key-alist这个列表中,例如我想把"C-j"保留我其他mode一样,如下:

(add-to-list 'term-bind-key-alist '("C-j"))

解决几个烦人的问题

1. 默认目录 我开始设置的是zsh,我发现,当我用$cd$命令改变工作目录的时候,emacs里的default-directory这个变量没有改变,使得C-x C-f调用打开文件时目录不是当前工作目录? 解决方法将下列代码放到zsh的配置文件 $~.zshrc$里,使得emacs能跟踪路径的改变,参考1参考2参考3

if [ -n "$INSIDE_EMACS" ]; then
    chpwd() { print -P "\033AnSiTc %d" }
    print -P "\033AnSiTu %n"
    print -P "\033AnSiTc %d"
fi

2. 光标位置处理 我希望当光标未处于最后一行时,"C-a"的作用是将光标移动到行首,当光标处于最后一行时,我希望"C-a"的作用是将光标移动到这行命令的开始处。解决方法:将下列 ab/move-beginning-of-line 绑定到快捷键"C-a"即可。

;; 当处于最后一行时 "C-a" 将光标移动到 terminal开始处而不是这个行的头
(defun ab/is-at-end-line ()
   "判断是否在最后一行"
   (equal (line-number-at-pos) (count-lines (point-min)  (point-max))))
(defun ab/is-term-mode ()
   "判断是否为 term 模式"
    (string= major-mode "term-mode"))
(defun ab/move-beginning-of-line ()
   "move begin"
   (interactive)
   (if (not (ab/is-term-mode))
              (beginning-of-line)
         (if (not (ab/is-at-end-line))
                    (beginning-of-line)
                (term-send-raw))))

3. 有个烦人的问题,你发现使用了"C-b" (backword-char 函数),你想在命令的中间插入新的字符,每次都插入到了这行的最后。解决方法:将下列ab/backword-char函数绑定到"C-b"

;; 只后当是term-mode并且是最后一行时才采用 (term-send-left)
(defun ab/backword-char ()
   "Custom "
    (interactive)
    (if (not (ab/is-term-mode))
               (backward-char)
          (progn (if (not (ab/is-at-end-line))
                          (backward-char)
                        (progn (term-send-left)
                                   (message "term-send-left"))))))

**4.**修改快捷键的map,如果你发你定义自己的快捷键与该major-mode的冲突,可以直接修改它的key-map

(define-key term-raw-map (kbd "M-n") 'ace-jump-mode)

更多见,我的multi-term配置

Emacs的书签功能

emacs的书签用于记录你在文件中的阅读位置。它有点类似寄存器,跟寄存器一样,因为它也能记录位置位置。 但同寄存器有两点不一样:1. 它有比较长的名字; 2. 当emacs关闭的时候,它会自动持久化到 磁盘。

设置一个书签

当我们阅读一个很长的文档,没能一口气读完时。我们希望记住当前文档的最后阅读的位置,以便下次再用emacs 阅读的时候能快速地定位到。那么,我们设置一个书签,通过bookmark-set 对应快捷键为 C-x r m

列出保存的书签

bookmark-bmenu-list 对应快捷键为 C-x r l ,它将打开一个*Bookmark List*的buffer同时 列出所有保存的书签。

书签列表*Bookmark List*

在*Bookmark List*这个buffer里,有以下快捷键可以使用:

  • a 显示当前书签的标注信息;
  • A 在另一个buffer中显示所有书签的所有标注信息;
  • d 标记书签,以便用来删除 (x – 执行删除);
  • e 编辑当前书签的标注信息;
  • m 标记书签,以便用于进一步显示和其他操作 (v – 访问这个书签);
  • o 选中当前书签,并显示在另一个window中;
  • C-o 在另一个window中切换到当前这个书签;
  • r 重命名当前书签;
  • w 将当前书签的位置显示在minibuffer里。

跳转到一个书签

使用 bookmark-jump 函数,可以跳转到一个特定的书签,它绑定的快捷键为 C-x r b 。 如果你的emacs中安装了helm 这个插件,你也可以使用 helm-bookmarks 这个命令 来快速查找书签,并跳转到书签位置。

helm-bookmarks

通过helm-bookmarks命令来查找并跳转书签如下图:

bookmark查找与跳转

修改默认排序

书签查找和跳转的时候,默认的书签排序是按字母排序的。如果想将最近访问的书签放在最前面, 将下面代码添加到你的emacs配置文件中。

    (defadvice bookmark-jump (after bookmark-jump activate)
      (let ((latest (bookmark-get-bookmark bookmark)))
        (setq bookmark-alist (delq latest bookmark-alist))
        (add-to-list 'bookmark-alist latest)))

删除一个书签

删除一个书签对应的命令为 bookmark-delete

保存书签

最新版本emacs(老版本的书签保存在 ~/.emacs.bmk ), 在退出的时候会自动保存书签。如果想手动保存书签的话,可以采用 bookmark-save 这个函数命令。默认的情况,emacs会将书签保存在 bookmark-default-file 变量对应的文件中。在我的机器中,对应的文件如下:

    ELISP> bookmark-default-file
    "/Users/aborn/.emacs.d/.cache/bookmarks"
    ELISP>

其他设置

有一个变量 bookmark-save-flag 。如果这个变量的值为一个数值,它表示修改(或新增) 多少次书签后,emacs会自动保存书签到磁盘。当这个变量的值被设置为1时,每次对bookmark的改 动,emacs就会自动保存内容到磁盘相应位置(这样可以防止emacs突然crash时bookmark的丢失)。 如果这个值设置为nil,表示emacs不会主动保存bookmark,除非用户手动调用 M-x bookmark-save

bookmark+

bookmark+ 是对bookmark的一个扩展的包。它有更多的功能:

  1. 原始的bookmark只能对文件位置记录,bookmark+对孤立的buffer(没有关联文件的buffer)也能保存书签;
  2. 支持对书签进行打tag;
  3. 对文档的某个区域保存为书签,而不仅仅是某个位置;
  4. 记录了每个书签的访问次数,及最后一次的访问时间,可以基于它们排序;
  5. 多个书签可以有相同的名字;
  6. 可以对函数、变量等加书签。

更多功能请参考: https://www.emacswiki.org/emacs/BookmarkPlus#Bookmark%2b

Emacs搭建racket开发环境

Java

ehcache调用

@(技术笔记)

ehcache是非常优秀的、轻量级的、本地缓存方案,它可以解决大并发情况下静态资源的快速保存与访问。

引入ehcache jar包

这里引入最新版本的ehcache jar包:

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.10.0</version>
    <type>pom</type>
</dependency>     

基本概念

1. CacheManager CacheManager是缓存的管理器,使用ehcache必需创建一个CacheManager,它的创建方式有两种: a. 单例模式:

private static volatile CacheManager cacheManager = CacheManager.create()

b. ehcache 2.x以后允许多个cacheManager存在,可以通过.xml配置新的cacheManager,如下demo-ehcache.xml

<ehcache name="DemoCacheManager">
</ehcache>

通过.xml文件初始化非单例模式的cacheManager,如下:

    private static volatile CacheManager cacheManager = CacheManager.newInstance(this.class.getClassLoader().getResourceAsStream("demo-ehcache.xml"));

2. cache(缓存) 一个CacheManager可以管理多个缓存,每个缓存在内存中都有其自己的属性,例如缓存元素(Element)的最大个数、缓存在内存中的最长存活时间、缓存的淘汰算法等。一个cache可以存储多个缓存元素(Element)。缓存在使用前都要进行注册,注册有两种方式:

  • 通过xml配置文件注册。配置文件可配置缓存的名字,缓存在堆中的最大个数,缓存的淘汰算法等,参数非常之多,下面是一个最简单的例子:
<ehcache>
    <cache name="demo"
           maxEntriesLocalHeap="10000"
           eternal="false"
           timeToIdleSeconds="300"
           timeToLiveSeconds="600"
           memoryStoreEvictionPolicy="LFU"
            >
    </cache>
</ehcache>

上面配置了一个缓存名为demo的缓存,它在内存中的最大个数为10000个,最长存活时间timeToLiveSeconds为10分钟(600s),最长可访问时间timeToIdleSeconds为5分钟(300s)。当个数超过最大个数限制时采用LFU算法进行淘汰。eternal表示缓存是否永久不失效,当这个值为true时,上面的最大存活时间和最长可访问时间无效。

  • 通过代码动态注册 下面是一个例子,与通过xml文件注册效果一样:
  Cache newMemCache = new Cache("demo",
          1000,         // 内存中最大元素个数
          MemoryStoreEvictionPolicy.LFU,   // 淘汰策略
          false,                 // 是否存到disk
          "/data/appdatas",                    // 存在disk的位置
          fale,   // 是否永久有效
          600,    // timeToLiveSeconds
          300,    // timeToIdleSeconds
          false,  // 是否在JVM重启的时候,是否保存到disk
          60 * 60,  // 多长时间跑一次disk超时的线程(这个参数没用)
          null    // 注册事件
  );
  cacheManager.addCache(newMemCache);

3. Element缓存元素 缓存元素是存储数据的最小单位,由其ElementKey和对象组成,如下定义:

Element element = new Element(elementkey, object);

注意:这里的object可以为任意对象!!

调用说明

1. add操作 往缓存中添加Element,如下:

  Cache cache = cacheManager.getCache("demo");
  if (cache != null) {
      Element element = new Element("demoElementKey", "demo object");
      cache.put(element);
  }

2. get操作 从缓存中取元素

  Cache cache = cacheManager.getCache("demo");
  if (null != cache) {
      Element element = cache.get("demoElementKey");
  }

具体例子

具体例子请参考我写的ehcahce-client

Java的事务

在Java语言中,我们经常用到@Transactional这个注释作为事务。

Java事务的生效条件

  1. 方法必需是 public 描述的,因为Java的事务是通过动态代理实现的
  2. 注意rollbackFor属性的设置,在代码中需要事务回滚的时候,需要throw相关的异常
  3. 事务的传递机制,默认是传递的
  4. 超时设置,避免长事务出现

Rust

思考

语言与生态

许多年前,软件开发都处在单打独斗的时期,那时候没有github,各个公司都各自玩自己的。语言也仅仅是一种语言。但,随着开发工具的演进、软件开发的环境有了很大的改善。github平台的出现,给共享软件开发提供了可能,技术人员越来越多地分享自己的代码。这个时期,软件的开发已经进化到一个生态。

当语言还不是生态的时候

这几年,语言的发展越来越快,出现了很多新的计算机语言,比如go、elixir、rust。有些是领域相关的,有些是通用的。都各自有各自的市场。如果一种语言单单是一种语言,那它的发展必然是缓慢的。每种语言都有其特定的优势,能解决待定的问题,所以才有生存的空间。早期的C语言,后来的C++语言。这种系统级别的语言,一方面发展的缓慢,不是因为难学。

生态为什么那么重要?

一种编程语言就应该有其相应的生态,具体表现在以下几个方面:

  • 对用户友好的语言特性(语法);
  • 完善的构建工具链(工具);
  • 强大的包管理及依赖处理(包);
  • 优秀的框架(框架);
  • 高质量的库(库);
  • 活跃的生态体系(文化);

一种语言没有好的语言特性,它就很难吸引开发者对其关注。但仅有这些还不够。对于,语言创始人来说。他如果想让他的创造的语言有生命力,能大量运行在生产环境。他应该服务好技术开发人员,为他们提供好的构建工具。像Java有maven,elixir有mix,这些都是好的构建工具。有了这些还不够,用户怎样快速集成别人的模块,怎样发布自己的模块。这有赖于包管理的平台,像java有maven仓库,elixir有hex这样的仓库。不得不说,当拥有了这前三荐优势后,那已经很具有吸引力了。javascript的出现有二十多年了,但为什么这近几年它火起来了。不仅仅是v8虚拟机的性能,同时,有了像npm这种方便的包管理工具,同时再加上ts的加持。

合作者模式

软件开发模式进化到当前这种阶段,依赖于互联网的发展。以前,尽管你想把自己做的开源代码共享给其他人用,但没有好的发布渠道,那也是白搭。互联网的发展,使得这种模式成为可能。当然,之前公司基于自己版权和商业利益的考虑,软件的发布都是二进制模。使用都看不到源代码,发现问题,只能通过官方的渠道报告给软件开发者。这使得一个问题的问题周期过长。

当前,github的出现,越来越多的软件都开发源代码。当技术使用都采用了某个代码框架,如果发现问题。可以查看源代码找到问题的来源,并且fork原作者的工程,并对其进行修改。最后直接给原作者提交pull/request,问题的发现和解决周期大大缩短。同时,越来越多的人参与到这种模式中来。一个技术人员,不仅仅可以提交bug的PR,同时也可以提交feature的PR。这会带来以下好处:

  • 软件质量会越来越高,(发现bug和解决bug的速度越来越快)
  • 软件的迭代周期会缩短,(这已经不是一个单打独斗的时代,这是一个虚拟团队的时代)

生态的竞争

阅读清单

2024年阅读清单

  1. 《干法》 稻盛和夫 2024-01
  2. 《经济发展理论》 熊彼特 2024-02

2023年阅读清单

  1. 《战略与路径》
  2. 《影响力》
  3. 《答案在风中飘》
  4. 《痕迹识人》 王新宇 2023-08
  5. 《乐高工作法》 Bali Padda 2023-07-25
  6. 《像绅士淑女一样服务》 Horst Schulze 2023-07-14
  7. 《微信背后的产品观》 张小龙 2023-06-15
  8. 《幕后产品》
  9. 《视觉锤》 劳拉·里斯 2023-11-02
  10. 《宝贵的人生建议》 凯文凯利 2023-11-04
  11. 《商战》艾·里斯 2023-11-20
  12. 《大法官金斯伯格》 2023-12-05
  13. 《埃隆马斯克传》 2023-12-30

2022年读书清单

  1. 《足够》 John C. Bogle 2022-02-22
  2. 《原则》
  3. 《最重要的事只有一件》 2022-05-12
  4. 《经营人心》 2022-04-25
  5. 《第五项修炼》 2022-04
  6. 《宁静的力量》
  7. 《高绩效教练》 2022-03-16
  8. 《信任边际》 2022-03-05
  9. 《真北》 2022-02
    10.《组织的未来》 2022-01

2021年读书清单

  1. 《你要如何衡量你的人生》 克莱顿·克里斯坦森 2021-01-24
  2. 《领导梯队》
  3. 《关键对话》
  4. 《创新者的课堂》
  5. 《发现的乐趣》 2021-07
  6. 《工作的意义》 2021-05
  7. 《光环效应》 2021-07
  8. 《深度休息》 2021-06
  9. 《毛姆文学课》 2021-06
  10. 《写给大家看的设计书》 2021-05
  11. 《危机时代》 2021-05
  12. 《好战略,坏战略》 2021-05
  13. 《少有人走的路》 2021-05
  14. 《费曼学习法》 2021-04
  15. 《不拘一格》 2021-04
  16. 《经济发展理论》 2021-03
  17. 《冯唐成事心法》 2021-02
  18. 《善战者说》 2021-01
  19. 《救命的数学》 2021-01
  20. 《你要如何衡量你的人生》 2021-01

2020年读书清单

  1. 《要领》 John L Hennessy 2020-06-25
  2. 《一生的旅程》 罗伯特·艾格 / 乔尔·洛弗尔 2020-07-26
  3. 《如何达成目标》 海蒂·格兰特·霍尔沃森 2020-12-31
  4. 《卓有成效的管理者》
  5. 《稻盛和夫自传》 2020-12
  6. 《苏世民:我的经验与教训》 2020-05
  7. 《要领》 2020-06
  8. 《文明、现代化、价值投资与中国》 2020-07
  9. 《一生的旅程》 2020-07
  10. 《伟大的中国工业革命》 2020-07
  11. 《理性乐观派》 2020-08
  12. 《大器晚成》 2020-08
  13. 《债务危机》 2020-09
  14. 《价值》 2020-09
  15. 《分析与思考》 2020-10
  16. 《你所做即你所是》 2020-11
  17. 《复盘网飞》 2020-11

2019年读书清单

  1. 《重新定义公司》 埃里克·施密特 2019-01-10
  2. 《混乱》 蒂姆·哈福德 2019-01-20
  3. 《零售的哲学》 铃木敏文 2019-01-25
  4. 《百岁人生》 琳达·格拉顿 2019-02-11
  5. 《共生》 陈春花 2019-02-19
  6. 《曾国藩传》 张宏杰 2019-03-03
  7. 《内在成长》 塔玛·琼斯基 2019-03-11
  8. 《活出生命的意义》 维克多·弗兰克 2019-03-17
  9. 《认知天性》 Peter C. Brown 2019-03-25
  10. 《少有人走的路》 斯科特·派克 2019-04-09
  11. 《复盘+》 邱昭良 2019-04-17
  12. 《清醒思考的艺术》 罗尔夫·多贝里 2019-04-20
  13. 《最好的告别》 阿图·葛文德 2019-05-01
  14. 《系统之美》 德内拉·梅多斯 2019-05-12
  15. 《商业的本质》 杰克·韦尔奇 2019-05-18
  16. 《创新者的任务》 克莱顿·克里斯坦森 2019-05-25
  17. 《一网打尽》 布拉德·斯通 2019-05-26
  18. 《高效能人士的执行4原则》 克里斯•麦克切斯尼 2019-06-03
  19. 《能力陷阱》 Herminia lbarra 王臻 2019-06-07
  20. 《笑着离开惠普》 高建华 2019-06-10
  21. 《深度管理》 [美]大卫•戴伊 2019-06-15
  22. 《巴菲特致股东的信》 巴菲特 2019-06-26
  23. 《奈飞文化手册》 帕蒂·麦考德 2019-07-01
  24. 《驱动力》 丹尼尔•平克 2019-07-09
  25. 《一路向前》 霍华德·舒尔茨 2019-07-23
  26. 《思维的本质》 约翰·杜威 2019-08-02
  27. 《赢》
  28. 《魔鬼数据》 2019-08-27
  29. 《团队协作的五大障碍》

2018年读书清单

  1. 《陆犯焉识》 严歌苓 2018-01-07
  2. 《穗子》 严歌苓 2018-01-16
  3. 《床畔》 严歌苓 2018-01-21
  4. 《外婆的道歉信》 弗雷德里克•巴克曼 2018-01-29
  5. 《天浴》 严歌苓 2018-02-05
  6. 《金字塔原理》 Barbara(王德忠、张珣) 2018-02-12
  7. 《这个历史挺靠谱》 袁腾飞 2018-03-05
  8. 《给经理人的第一课》格鲁夫(巫宗融) 2018-03-15
  9. 《谁在世界中心》 温骏轩 2018-03-18
  10. 《第五项修炼》 彼得·圣吉 2018-03-30
  11. 《私人生活的变革》 阎云翔 2018-04-06
  12. 《基业长青》 吉姆柯林斯 杰里波勒斯 2018-04-13
  13. 《穷查理宝典》 美彼得·考夫曼 2018-05-09
  14. 《只有偏执狂才能生存》 安迪·格鲁夫 2018-05-17
  15. 《原则》 Ray Dalio 2018-06-12
  16. 《禅与日本文化》 铃木大拙 2018-06-24
  17. 《历史的教训》 威尔·杜兰特 2018-06-28
  18. 《千面英雄》 约瑟夫·坎贝尔 2018-07-13
  19. 《经营者养成笔记》 柳井正 2018-07-15
  20. 《终身成长》 卡罗尔·德韦克 2018-07-25
  21. 《跃迁》 古典 2018-08-01
  22. 《为什么精英都是时间控》 桦泽紫苑 2018-08-06
  23. 《我的职业是小说家》 村上春树 2018-08-09
  24. 《刻意练习:如何从新手到大师》 安德斯 2018-08-18
  25. 《风格感觉:21世纪写作指南》 平克 2018-08-25
  26. 《打破自我的标签》 陈虎平 2018-08-31
  27. 《规模》 杰弗里韦斯特 2018-09-08
  28. 《高效能人士的七个习惯》 史蒂芬·柯维 2018-09-12
  29. 《稀缺》 塞德希尔·穆来纳森 2018-09-22
  30. 《从优秀到卓越》 柯林斯 2018-09-30
  31. 《苏菲的世界》 乔斯坦·贾德 2018-10-07
  32. 《赋能:打造应对不确定性的敏捷团队》斯坦利 2018-10-15
  33. 《盗火》 史蒂芬·科特勒 2018-10-21
  34. 《企业生命周期》 伊查克·爱迪思 2018-10-29
  35. 《写作这门手艺》 约翰·麦克菲 2018-11-04
  36. 《今日简史》 尤瓦尔·赫拉利 2018-11-10
  37. 《怎样管精力 就怎样过一生》 奥迪尔·夏布里亚克 2018-11-18
  38. 《天才的编辑》 司各特·伯格 2018-12-05
  39. 《重新理解创业》 周航 2018-12-09
  40. 《未来简史》 尤瓦尔·赫拉利 2018-12-19
  41. 《人类简史》 尤瓦尔·赫拉利 2018-12-31

2017年读书清单

  1. 《未来简史》 尤瓦尔·赫拉利 (林俊宏译) 2017-02-27
  2. 《富甲美国》 山姆沃尔顿 (杨蓓译) 2016-07-01
  3. 《天才在左疯子在右:心理疾病漫谈》 宁安宁 2017-07-28
  4. 《达·芬奇密码》 丹·布朗 2017-08-04
  5. 《岛上书店》 加·泽文(Gabrielle Zevin) 2017-08-15
  6. 《月亮和六便士》 威廉·毛姆 (傅惟慈) 2017-08-18
  7. 《人类的群星闪耀时》 斯蒂芬·茨威格(吴秀杰) 2017-08-22
  8. 《麦肯锡方法》 艾森·拉塞尔 (张薇薇 ) 2017-08-26
  9. 《写出我心》 娜塔莉·戈德堡 (韩良忆 ) 2017-08-27
  10. 《刀锋》 威廉·毛姆 (冯涛、周煦良) 2017-09-04
  11. 《了不起的盖茨比》 斯科特·菲茨杰拉德 2017-09-09
  12. 《如何成为一个有趣的人》 王小圈 2017-09-12
  13. 《人间失格》 太宰治 (日) 2017-09-26
  14. 《慢慢来,一切都来得及》 meiya 2017-10-24
  15. 《怎样讲好一个故事》Mark Kramer 王宇光 2017-10-27
  16. 《流动的盛宴》 欧内斯特·海明威 2017-10-29
  17. 《专业主义》 大前研一 (裴立杰) 2017-10-31
  18. 《爆裂》 Joi Ito & Jeff Howe 2017-11-05
  19. 《傲慢与偏见》 简·奥斯丁 2017-11-19
  20. 《邓小平时代》 傅高义 2017-11-25
  21. 《领导力21法则》 John C. Maxwell 2017-11-30
  22. 《人件》Tom DeMarco Timothy Lister 2017-12-07
  23. 《北回归线》 Henry Miller 2017-12-12
  24. 《为什么是中国》 任志刚 2017-12-21

2016年读书清单

  1. 《谋杀与创造之时》 劳伦斯布洛克 (吕中莉译) 2016-03-01
  2. 《超越智商:为什么聪明人也会做蠢事》 基思斯坦诺维奇 (张斌译) 2016-03-12
  3. 《看不见的城市》 卡尔维诺 (张密译) 2016-03-31
  4. 《教室外的视野》 番红花(台) 2016-04-23
  5. 《吃一场有趣的宋朝饭局》 李开周 2016-05-02
  6. 《禅与摩托车维修艺术》 罗伯特M波西格 (张国辰译) 2016-06-22
  7. 《只是为了好玩》 Linus Torvalds (陈少芸译) 2016-07-15
  8. 《大教堂与集市》 Eric S. Raymond (卫剑钒) 2016-08-10
  9. 《蒋勋说唐诗》 蒋勋 2016-09-25
  10. 《蒋勋说宋词》 蒋勋 2016-11-20
  11. 《引爆点》马尔科姆格拉德威尔 (钱清 覃爱冬) 2016-12-07

2013年阅读清单

序号 书名 作 者 完成时间 类型 推荐指数

  1. 《江城》 彼得海斯勒 2013-01-08 小说 *****
  2. 《哲学的慰藉》 阿兰德波顿 2013-02-21 哲学 *****
  3. 《寻路中国》 彼得海斯勒 2013-03-03 小说 *****
  4. 《爱情笔记》 阿兰德波顿 2013-03-05 小说 ****
  5. 《万历十五年》 黄仁宇 2013-03-13 历史 ****
  6. 《旅行的艺术》 阿兰德波顿 2013-03-15 小说 ****
  7. 《自控力》 麦格尼格尔 2013-03-22 心灵 *****
  8. 《小王子》 埃克苏佩里 2013-03-28 小说 *****
  9. 《历史决定论的贫困》 卡尔波普尔 2013-03-30 哲学 *****
  10. 《批评官员的尺度》 刘易斯 2013-04-07 思想 *****
  11. 《七日谈》 刀尔登 2013-05-08 小说 ***
  12. 《杰克韦尔奇自传》 杰克韦尔奇 2013-05-23 自传 *****
  13. 《无组织的组织力量》 克莱舍基 2013-05-24 社会 ****
  14. 《重来》 贾森弗里德 2013-05-26 社会 ****
  15. 《认识盈余》 克莱舍基 2013-05-27 社会 ****
  16. 《重申自由主义》 安东尼雅赛 2013-05-31 思想 *****
  17. 《非理性的人》 威廉巴雷特 2013-05-31 哲学 *****
  18. 《生活在别处》 米兰昆德拉 2013-06-03 小说 ****
  19. 《无知》 米兰昆德拉 2013-06-03 小说 ****
  20. 《历史学家的修养与技艺》李剑鸣 2013-06-10 历史 *****
  21. 《幻影公众》 李普曼 2013-06-12 政治 *****
  22. 《不朽》 米兰昆德拉 2013-06-22 小说 ****
  23. 《安妮日记》 安妮弗兰克 2013-07-13 日记 *****

2012年阅读清单

序号 书名 作 者 完成时间 类型 推荐指数

  1. 《超越死亡》 肯威尔伯 2012-01-04 心灵 *****
  2. 《一九八四》 乔治奥威尔 2012-01-31 小说 *****
  3. 《目送》 龙应台 2012-02-05 散文 *****
  4. 《野火集》 龙应台 2012-02-05 杂文 *****
  5. 《趋光运动》 残 雪 2012-02-14 回忆 ***
  6. 《残雪文学观》 残 雪 2012-02-18 文学 ***
  7. 《白银时代》 王小波 2012-02-21 小说 ****
  8. 《罗素自传》 罗 素 2012-03-07 自传 *****
  9. 《通往天堂的最后那段路程》 薛忆沩 2012-03-10 小说 ***
  10. 《一万小时天才理论》 科伊尔 2012-03-13 励志 ***
  11. 《奇特的一生》 格拉宁 2012-03-15 小说 ****
  12. 《改变,从心开始》 罗伊马丁纳 2012-03-29 心灵 *****
  13. 《身心灵全面疗愈》 罗伊马丁纳 2012-04-07 心灵 ***
  14. 《做一个心灵富有的人》 吉纳维芺 2012-04-24 心灵 ***
  15. 《黑客与画家》 PaulGraham 2012-04-27 哲学 *****
  16. 《流动的房间》 薛忆沩 2012-05-09 小说 ***
  17. 《黑铁时代》 王小波 2012-05-21 小说 ****
  18. 《单刃毒剑中国民族主义批判》 刘晓波 2012-06-04 杂文 *****
  19. 《中国人史纲》(下) 柏 杨 2012-07-12 历史 *****
  20. 《中国人史纲》(上) 柏 杨 2012-07-13 历史 *****
  21. 《乱世枭雄曹操》 蔡大东 2012-07-17 传记 ****
  22. 《哈佛幸福课》 吉尔伯特 2012-07-21 人文 *****
  23. 《公正该如何做是好?》 桑德尔 2012-07-28 哲学 *****
  24. 《旧制度与大革命》 托克维尔 2012-08-02 政治 *****
  25. 《日本边境论》 内田树 2012-08-09 文化 ****
  26. 《沧浪之水》 阎 真 2012-08-20 小说 *****
  27. 《菊与刀》 本尼迪克特 2012-10-12 文化 *****
  28. 《蒋介石传》 布来恩 2012-10-19 传记 *****
  29. 《这些人,那些事》 吴念真 2012-10-27 人文 ***
  30. 《男女内参》 不加V 2012-10-31 人文 ****
  31. 《眨眼之间》 马尔科姆 2012-11-17 心理 ****
  32. 《送你一颗子弹》 刘瑜 2012-12-13 人文 ***
  33. 《怪诞心理学》 理查德 2012-12-17 心理 ****
  34. 《围城》 钱钟书 2012-12-19 小说 *****
  35. 《生命之书》 克里那穆提 2012-12-21 心灵 ****
  36. 《民主的细节》 刘瑜 2012-12-25 政治 *****

2011年阅读清单

2011年1月 在江大时:

编号 作品 作者 完成日期 是否推荐

  1.  《三毛作品集》             三毛       2011-01-23      是
    
  2.  《他人就是地狱》           萨特       2011-01-27      是
    
  3.  《丑陋的中国人》           柏杨       2011-01-27      是
    
  4.  《瓦尔登湖》               梭罗       2011-02-23      是
    
  5.  《柏拉图的智慧》           柏拉图     2011-02-26      是
    
  6.  《人生的智慧》             叔本华     2011-02-26      是
    
  7.  《林清玄散文》             林清玄     2011-02-28      是
    
  8.  《叔本华文集》             叔本华     2011-02-03      是
    
  9.  《再读胡适》               胡适       2011-03-03      是
    
  10. 《沈从文自传》             沈从文     2011-04-10      是
    
  11. 《名人传》                 罗曼罗兰   2011-04-13      是
    
  12. 《抵挡太平洋的堤坝》       杜拉斯     2011-04-14      否
    
  13. 《忏悔录》                 卢梭       2011-04-21      是
    
  14. 《罗素道德哲学》           罗素       2011-04-24      是
    
  15. 《中国近代史大纲》         蒋廷黻     2011-04-24      是
    
  16. 《时间的革命》             乔纳森邓恩 2011-04-27      否
    
  17. 《思想录》                 帕斯卡尔   2011-05-04      是
    
  18. 《忏悔录》                 圣奥古斯丁 2011-05-07      是
    
  19. 《踩蛇》                   川上弘美   2011-05-08      否
    
  20. 《形而上学的迷雾》         刘晓波     2011-05-20      是
    
  21. 《沉思录》                 西塞罗     2011-05-22      是
    
  22. 《简朴生活读本》           司各特     2011-05-24      是
    
  23. 《爱因斯坦传》             鄂华       2011-05-25      是
    
  24. 《马克吐温自传》           马克吐温   2011-06-01      是
    
  25. 《吸引力法则》                        2011-06-07      否
    
  26. 《百年孤独》               马尔克斯   2011-06-11      是
    
  27. 《老鼠爱大米》             余杰       2011-06-21      是
    

2011年9月 在复旦以后:

编号 作品 作者 完成日期 是否推荐
28. 《巨流河》 齐邦嫒 2011-10-20 是
29. 《异类》 马尔科姆 2011-10-31 是
30. 《幸福之路》 罗素 2011-11-24 是
31. 《生活十讲》 蒋勋(台) 2011-12-04 是
32. 《孤独六讲》 蒋勋(台) 2011-12-14 是
33. 《给青年艺术家的信》 蒋勋(台) 2011-12-17 是
34. 《给青年建筑师的信》 汉宝德(台) 2011-12-25 是

2010年阅读清单

序号 书名 作 者 完成时间

  1. 《我们要活得有尊严》 柏 杨 2010-1-7
  2. 《汪曾祺谈师友》 汪曾祺 2010-1-18
  3. 《忆往述怀》 季羡林 2010-2-24
  4. 《霜冷长河》 余秋雨 2010-3-3
  5. 《母亲》 高尔基 2010-3-19
  6. 《夏天》 高尔基 2010-3-19
  7. 《王小波散文》 王小波 2010-3-31
  8. 《自白》 梁晓声 2010-4-12
  9. 《千年一叹》 余秋雨 2010-4-21
  10. 《坟》 鲁 迅 2010-4-29
  11. 《贾平凹散文》 贾平凹 2010-5-13
  12. 《人性似水》 梁晓声 2010-5-23
  13. 《务虚笔记》 史铁生 2010-6-21
  14. 《我的梦想在燃烧》 余 杰 2010-6-21
  15. 《铁屋中的呐喊》 余 杰 2010-7-13
  16. 《我的不安》 龙应台 2010-8-14
  17. 《黄金时代》 王小波 2010-8-25
  18. 《谁的大学》 薛 涌 2010-9-8
  19. 《学而时习之》 薛 涌 2010-9-12
  20. 《修炼当下的力量》 埃克哈特[德] 2010-9-14
  21. 《海伦凯勒自传》 海伦凯勒[美] 2010-9-20
  22. 《富兰克林自传》 富兰克林[美] 2010-9-27
  23. 《弘道悟语》 钱弘道 2010-10-3
  24. 《美国是如何培养精英的》 薛 涌 2010-10-7
  25. 《北大批判》 薛 涌 2010-10-16
  26. 《火与冰》 余 杰 2010-10-23
  27. 《选择的批判 与李泽厚对话》 刘晓波 2010-10-28
  28. 《形而上学的迷雾》 刘晓波 2010-10-31
  29. 《美丽心灵纳什传》 西尔维娅[美] 2010-11-20
  30. 《尼采生在哲学》 尼 采[德] 2010-11-29

技术笔记

Git的使用

出现如下问题,中文的文件名显示异常,如下图: 效果图

解决如下,参考

git config --global core.quotePath false

生活

台湾自由行

台湾,一个绝对值得你一去的地方。它不像其他的旅游城市,基本上你想在旅游过程中看的景色 在台湾都能找到。有山,有水,有海,还有城市。说到山,自然是阿里山、太鲁阁;说到水,自然是日水潭; 说到海,当然,台湾四面环海,不过,去垦丁看海是最好的去处;在台北,你可以体验到一个自由、开放而 有序的城市风格。

行前的准备

海外旅游,我想行前的准备都差不多。签证、机票、及行程安排。

签证

去台湾旅游,与去国外其他地方不太一样。因为政治原因,去台湾要多办一证。总结起来是两证一签注。

  1. 台湾通行证,是大陆发的;
  2. 一次签注,也是大陆发的;
  3. 入台证(官方全称是:中華民國臺灣地區入出境許可證),台湾地区发的。

通行证和签注是非常好办的,自由行地区,去当地的出入境管理里中心就可以办理。我们是二月底办理,三月 上旬就拿到了通行证。注意:办通行证的同时,可以选择顺便办理一次签注(一次签注的有效期是半年, 所有,也不过太过早办理)。在上海的朋友可能要注意,有些出入境管理中心周六人特别多,所以去办之前 最好提前在网上预约,这样到那边以后直接打印个人申请表,就不用再填一次。

机票

我是在