脚本是个好东西

Linux下使用shell脚本可以完成很多任务,如执行脚本部署测试环境、批量添加系统用户(之前做edusoho二次开发时用到)、监控项目运行情况(如果宕机,自动重启)等。

availableProcessors is already set to [8], rejecting [8]

错误详细信息:

1
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elasticsearchClient' defined in class path resource [org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.transport.TransportClient]: Factory method 'elasticsearchClient' threw exception; nested exception is java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8]

《设计模式之禅》之享元模式

一、享元模式的定义

享元模式是池技术的重要实现方式,其定义如下:
使用共享对象可有效地支持大量的细粒度的对象。

享元模式的定义为我们提出了两个要求:细粒度的对象和共享对象。我们知道分配太多的对象到应用程序中将有损程序的性能,同时还容易造成内存溢出,那怎么避免呢?就是享元模式提到的共享技术。

要求细粒度对象,那么不可避免地使得对象数量多且性质相近,那我们就将这些对象的信息分为两个部分:内部状态和外部状态。

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

错误背景:
使用Python2.7写一个简单爬虫报的错。

错误详细信息如下:

1
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

错误原因:
1.python默认使用ASCII处理字符流。

2.Unicode编码与ASCII编码的不兼容,Python脚本文件是由utf-8编码的。

解决方法(在当前python文件最上面加上如下代码):

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

《设计模式之禅》之解释器模式

一、解释器模式的定义

解释器模式是一种按照指定规定语法进行解析的方案,在现在项目中使用较少,其定义如下:
给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。