Every man dies but not every man really lives.

2018-01-03
解决 Java 软件 macOS 上启动慢的问题

最近感觉 Java 软件在 macOS 上启动明显偏慢。例如我的 IntelliJ IDEA CE 启动居然耗时 2 分钟,Spine 启动耗时 30 秒。

表现为,在启动后迟迟看不到 splash 界面,只能看到一个标题栏名称.

查了一下资料,发现原因是 java.net.InetAddress 在 macOS Sirra 上的运行速度导致: java.net.InetAddress: getLocalHost() slow after MacOS Sierra upgrade?

可以通过设置 hostname 来解决这个问题:

  1. 运行 hostname 得到本机的值,例如我的机器为 zrong-mbp ;
  2. 编辑 /etc/hosts 文件,增加或者修改下面的配置:
1
2
127.0.0.1   locahost zrong-mbp
::1 localhost zrong-mbp

如此处理后,上述软件显示 Splash 界面的时间降低到 3 秒。

全文完

2017-12-21
【读书笔记】思考,快与慢(三)

系列

我的理解

第18章 如何让直觉性预测更恰当有效?

我们认为预测是一种天生的能力,但是这种能力是可以通过练习而习得的,而且有公式可以遵循。

根据直觉进行的预测往往是失准的,大脑常常这样做:

  1. 寻找因果关系。前面的读书笔记种讲到了大脑偏爱因果联系。对于一个没有更多数据提供的预测,大脑会探寻证据和预测目标之间是否存在因果联系,这种联系往往不是直接的。系统一能够摈弃无关活错误信息,但无法解决较小的瑕疵。眼见为实原则会发生作用,大脑会自动联想(脑部)出一个合理恰当的故事。
  2. 替代和快速配对。系统一会在证据不足的情况下将要预测的内容替换成一个更容易回答,资源更丰富的题目,然后选择一个合理的答案。

更概括的说:大脑被信息和问题激发起联想记忆,然后自我反馈,最后选择最具连贯性和合理性的解决方案。

无偏见预测四步法: 阅读此文

2017-11-28
Flask+uWSGI 的 Logging 支持

我在 部署Flask + uWSGI + Nginx 一文中详细讲解了如何部署一个 Flask 应用。但这篇文章忽略了生产环境的一个重要的功能: Logging 。 阅读此文

2017-11-24
在 Python+uWSGI 应用中使用缓存

uWSGI 采用的是多进程模式。如果在 uWSGI 中运行的 Python 需要共享数据,可以使用第三方服务如 Redis/Memcached 等。如果数据量不大,还可以使用 uWSGI 提供的 缓存框架 阅读此文

2017-11-20
【读书笔记】思考,快与慢(二)

系列

我的理解

这里的基础比率就是前面第7章中的比率忽略的内容。作为人类,我们常常会忽视基础比率,这是因为我们的系统一对更“特殊”的事物感兴趣,而我们碰到的大多数事情都是“一般”的。从另一个方面,系统一在快速判断的时候,又偏爱更“典型”的信息。这是在长期的进化中得到的经验:我们需要关注事物的特殊性以躲避危险,在文明社会之前,一点点的特殊性带来的后果都是致命性的。 阅读此文

2017-11-10
【读书笔记】思考,快与慢(一)

系列

这本书断断续续读了三遍,大部分都是用“听”的方式完成的。“听书”(具体方法详见 时间都去哪儿了?——善用工具形成高效习惯)可以充分利用随便时间来进行阅读,是个不错的读书方法。当把 TTS 引擎的读音调到正常语速偏快时,速度也远远小于“看”。也正是因为慢,在“看”的时候可能跳过的细节就会巨细无遗地提现出来。“慢”也给了我一个思考的时间。在听到简单论述的时候,大脑会想到作者后面会如何行文,然后比较作者后面的行文和我的思考之异同,这是一大乐趣。在听到较为复杂的论述时,语音并不会因为我需要思考的时间而停下来,为了能跟上节奏,我必须强迫自己加快思考的效率。当然,碰到重要的内容,我还是必须停下 TTS 进行思考。
阅读此文

2017-11-04
在 Flask-SQLAlchemy 中联表查询

SQLAlchemy 是一个功能强大的 ORMFlask-SQLAlchemy 是一个 Flask 插件,它让我们在 Flask 框架中使用 SQLAlchemy 变得更容易。

本篇介绍我在使用 Flask-SQLAlchemy 2.1 时进行联表查询的一些经验。 阅读此文

2017-10-15
Windows10 下安装 PyCrypto 以及迁移到 PyCryptodome

在 Windows 10 上安装 PyCtypto

PyCrypto 是一个 Python 加密库,核心使用 C 实现,因此在安装的过程中需要编译。

最简单的按照方法莫过于寻找编译好的 exe 版本进行安装。但由于这个库已经 3 年多没有维护了,目前能找到的编译好的版本基本上都针对较老的 Python 版本,例如 Python 3.3/3.5 等等,这些 exe 版本都无法在我需要的环境中安装成功。

我的环境:

  • Windows 10 x64
  • Python 3.6.2

要成功安装,首先必须安装 Microsoft 的编译工具。如果已经安装了 Visual Studio ,则可以跳过这一步。若还没有,而且后续也没有使用 VS 的需求,可以下载独立的编译工具 Visual C++ 2015 Build Tools

使用 pip 安装:

1
pip install pycrypto

在安装过程中会出现编译失败。这是由于新的 python 源码 include\pyport.h 不再包含 #include < stdint.h > ,导致 intmax_t 未定义。

我们需要在编译环境中设置 CL 参数才能成功编译。 阅读此文

2017-10-08
lftp [FEAT negotiation...]

lftp 是我一直在使用的 ftp 客户端。今天将其更新到 4.8.2 之后,出现了下面的错误: 阅读此文

2017-08-18
mitmproxy 应用(二)可编程代理

系列文章


mitmproxy 是可编程的,而且非常容易使用。先来看一个简单的例子: 阅读此文