MathJax是WordPress的LaTeX for WordPress插件调用的library,用于在WordPress页面上渲染显示完美的数学公式,配置过程可以参考这个链接。
从2017.04.30开始,MathJax CDN服务正式关闭(官方通知在这里),因此,如果我们原来在LaTeX for WordPress插件中配置的“MathJax Server”选择的是“MathJax CDN”,那么就会有问题了——服务将不再可用,这会导致数学公式在WordPress页面上不能被渲染显示。
综合
[原创] 解决JAVA访问Elasticsearch的问题:org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
本文对应的的Elasticsearch(简写为ES,下同)版本:2.3.5
注:本文写作于多年以前,现在ES已经不提倡使用本文的 TransportClient 来操作ES了,而应使用RestClient。所以本文仅做参考! 2020.08.25
使用Elasticsearch的 JAVA API 来读取其存储的数据,如果遇到这个问题:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
此时,需要确认代码里写的一些配置是正确的。下面,就通过一个实例,来说明如何正确地读取ES里的数据。
[原创] 解决错误“class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package”
这是一个jar包冲突引起的Java程序错误,而且是runtime的错误,编译的时候不出错,一运行起来就挂。
[原创] 在IntelliJ IDEA中使用插件查看Maven conflict
如果Maven引入的jar包有冲突,可以使用IntelliJ IDEA的Maven Helper插件来帮助分析。
下面以IntelliJ IDEA 15.0.3为例,说明如何安装及使用这个插件。
[原创] 在Github上添加SSH key
如果你在Github上有一个项目,为了能让这个项目可以在多台计算机上开发,需要把目标计算机的SSH key添加到你的Github账户中,否则你以SSH方式git clone时会提示无权限,例如你可以试试:
git clone git@github.com:codelast/raspberry-pi.git
会输出类似于这样的错误信息:
Permission denied (publickey).
文章来源:http://www.codelast.com/
所以下一步就要在Github中添加SSH key,让你可以在目标计算机上进行开发以及代码提交。
其实Github上已经有完整的教程了,只不过我记性不好,每次都要去翻Github教程,所以特地写下来。
✔ 检查SSH key是否已经存在
检查文件 ~/.ssh/id_rsa.pub 是否存在,如果存在,就不用生成一个新的SSH key了,直接跳到下面的第3步。
如果该文件存在,但你不想使用它的话,那么就按下面的做法另外生成一个文件也可以(例如 ~/.ssh/id_rsa_github.pub)。
文章来源:http://www.codelast.com/
✔ 生成一个新的SSH key
如果第1步中的SSH key不存在,则需要生成:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
其中,your_email@example.com要修改成你的邮箱地址。
回车后输出如下:
… Read MoreGenerating public/private rsa key pair.
[原创] 让ThreadPoolExecutor的workQueue占满时自动阻塞submit()方法
使用Java的ThreadPoolExecutor可以并发地执行一些任务,它的基本用法是:
(1)创建一个 ThreadPoolExecutor 对象
ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(workQueueSize));
[原创] 使用ThreadPoolExecutor产生的 OutOfMemoryError: unable to create new native thread 错误
最近,在使用Java的ThreadPoolExecutor来实现一个并发功能的时候,发现程序刚执行起来不久,就提示了错误:
OutOfMemoryError: unable to create new native thread
并且服务器立即陷入类似于“无响应”的状态,无法用Ctrl+C结束掉我的Java程序,按Ctrl+C的时候,命令行只是不断地打印出类似于下面的消息:
Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
[原创] gnuplot调教记
gnuplot是命令行绘图的极佳选择之一。用它画出一副简单的图极其容易,但是对画出的图进行微调却很令人抓狂,这主要“得益”于gnuplot超级强大的功能,以及无穷无尽纷繁复杂的说明文档,通常让人没时间去细细研究。
如果你经常有gnuplot的使用需求,那么可以仔细研读一下它的文档,否则,还是像我一样,现学现用吧。
我折腾了一天多时间,把我想要的一副图给画出来了,里面涉及到了很多图像的微调过程,有些解决方案很难搜到,但我运气稍好,终究还是弄出来了,在此,作为一个使用案例来分析一下。因此,本文并不是gnuplot的使用教程,而是用gnuplot绘图时,对某些奇怪问题的解决办法的分享。
本文基于gnuplot版本:4.4,系统:RHEL 5.3
[原创] InputStream读取多次导致的Unexpected end of ZLIB input stream问题
有一次,在一个程序中,对jar包里的一个文本文件使用如下方式来读取:
InputStream fin = getClass().getResourceAsStream("/file_to_read.txt");
然后在后面的代码中,对 fin 进行读取:
BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
for (String line = reader.readLine(); line != null; line = reader.readLine()) {
//TODO: your code here
}
读一次是没有问题的,但如果对同一个InputStream对象读取两次,就会报类似于下面的错误:
… Read MoreError: java.io.EOFException: Unexpected end of ZLIB input streamat java.util.zip.ZipFile$1.fill(ZipFile.java:239)at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)at java.io.FilterInputStream.read(FilterInputStream.java:116)at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
[原创] 去除流氓插件“微度标签页”内置的“亿起发”返利链接跳转
写这篇文章实在是因为受不了“微度标签页”这个流氓插件内置的“亿起发”返利链接跳转,不得不愤怒地写此教程告诉大家如何去除它们的流氓行径。
注意:本文的方法无法防止流氓插件“微度标签页”的全部流氓行为——因为“微度”一旦升级,你修改过的本地插件数据可能就会被覆盖掉。所以,最好的方法就是:卸载它!大家可以换用Speed Dial 2这样的良心插件(云同步功能需要支付$2.99,我觉得完全可以接受,至少它一点流氓行径也没有)。
如果你非要自虐,继续使用“微度标签页”(我已经卸载了,改用Speed Dial 2),那么本文可以在一定程度上帮你去除其强制跳转的恶心行为,请继续往下看。
[原创] “不需要升级,您的WordPress数据库已经是最新的了!”导致进不了WordPress管理后台的问题
今天突然发现,进不去WordPress后台管理页面了,登录之后,屏幕上就两句话:
不需要升级您的WordPress数据库已经是最新的了!
于是问Google,查到这个问题是由于使用了object-cache缓存插件导致的问题,于是解决了,如下。
[原创] Java动态添加一个目录到classpath中
通常我们写程序,会用到一些配置文件,这些文件与程序在同一个父目录下,配置文件可能放在config之类的目录下,程序中会使用这些配置文件。
我遇到了这么件事情:因为一个特殊需求,需要把配置文件放到jar包中,最终部署出去的只能是一个jar包(所有东西都在jar包里,包括程序和所需的资源),然后在程序中使用 getClass().getResourceAsStream(文件在jar包中的路径) 的方式来读取配置文件。这也倒没什么不爽的,但是在单元测试中怎么办?
[原创]一些未归类的命令、操作方法或问题总结(5)
下面是一些未归类的命令及操作方法,专门记在此文中,以便将来查询。由于文章较长,请用Ctrl+F查询关键字来定位到你需要的内容。