Zydecx's Site

Debug code, debug life, debug today!

使用Source Insight查看Java项目代码

Time: , by zydecx

Source Insight是一款优秀的代码编辑和查看软件,提供了丰富的代码高亮、符号关联等功能,尤其对于代码查看及其方便。目前的最新版本是3.50.0076

使用Source Insight查看Java项目代码时,需要做以下工作:

  1. 关联JDK源代码
    Source Insight工作空间下提供一个Base项目,这是一个全局项目,工作空间下的其他项目均可访问该项目下的代码并建立符号关联。因此,可以将系统库文件放在Base项目下。对于Java项目而言,可以将JDK源代码置于Base项目下,使其他项目均可访问JDK的源码。

    配置方法为:
    ...more

Eclipse风格配置

Time: , by zydecx

一个看上去“舒服”的开发环境是有利于提高开发过程中的体验的。但个人之间对“舒服”的界定真的是仁者见仁智者见智了。以下分享的是本人使用Eclipse时的一些配置。

  1. 版本

    我是比较倾向于使用最新版本的,原因很简单:新、潮、体验好、功能全。比如我从Kepler SR2更新到Luna SR2,发现几个明显的改进:

    • 更新了dark主题,我不需要再安装Eclipse Monnrise UI Theme插件了;况且,一般而言,原生效果永远是插件所达不到的。
    • 更新了语法高亮,比如常量使用粗斜体显示,dark主题下方法、类名均加粗显示。
    • 更新了图标,尤其在dark主题下感受更为明显,马赛克的图标少了很多。
    • 支持JDK 8,至少可以有机会体验JDK 8中的一些新特性了。
  2. 中文字体

    Eclipse显示的中文默认很小,可以有两种方法解决这个问题:

    ...more

How to Convert Documents With Pandoc

Time: , by zydecx

What's Pandoc

According to official site, Pandoc is your swiss-army knify to convert files from one markup format into another.

Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, EPUB, or Haddock markup to

  • HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
  • Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
  • Ebooks: EPUB version 2 or 3, FictionBook2
  • Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup
  • Page layout formats: InDesign ICML
  • Outline formats: OPML
  • TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
  • PDF via LaTeX
  • Lightweight markup formats: Markdown, reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile
  • Custom formats: custom writers can be written in lua.
    ...more

进制转换-[什么是数学]读书笔记

Time: , by zydecx

问题:一个二进制的数,比如100011(二进制)可以直接转换成八进制表示吗?

忽略这个问题本身,先从数的基本问题-数的表示说起。

数的表示

数学来自于现实。从最简单的问题讲起:我种了一棵、两棵、三棵、四棵、五棵、六棵、七棵、八棵、九棵、十棵、十一棵或者三十棵数,我该怎么记录我种的树的数量呢?现在,我们可以很轻松的回答这个问题,无怪乎用1、2、3、4、5、6、7、8、9、10、11或30表示这些数量;而在罗马数字中,则分别使用Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、Ⅺ和XXX表示。表示方式可能是不同的,但无论是现在用的11,还是罗马数字中的Ⅺ,它们的概念却是一致的:即我种的这十一棵树。在这个问题里,十一棵就是现实中的数量,11或Ⅺ就是数学中表示这个数量的符号。说这么多,只是为了强调一点,表示数字的符号是人为定义的,如果历史出现某个巧合,可能我们现在使用的就不是阿拉伯数字了;但不管使用什么符号,它表示的概念——现实中的数量却是不变的。数字只是一个人为定义的符号,但有实际的现实意义。

...more

ObjectOutputStream追加写入导致读取报错的问题分析

Time: , by zydecx

问题现象:使用ObjectOutputStream向同一个文件写入多个对象,
A). 当ObjectOutputStream在打开后连续写入多个对象再关闭,可通过ObjectInputStream正常读取写入的多个对象;
B). 当每写入一个对象即关闭ObjectOutputStream并在写入下一个对象时重新打开,通过ObjectInputStream读取对象时,可以正常读取第一个对象,但读取第二个对象时报错。典型的报错信息如下:

Exception in thread "main" java.io.StreamCorruptedException: invalid type code: AC
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at com.demo.ObjectSerializationDemo.writeObjectsSeparately(ObjectSerializationDemo.java:69)
	at com.demo.ObjectSerializationDemo.main(ObjectSerializationDemo.java:17)
		

...more

使用Wubi安装Ubuntu 14.04

Time: , by zydecx

Wubi(Windows Ubuntu-Based Installer)是Ubuntu官方支持的一个安装工具。我们可以使用它在Windows像安装一个普通程序一样试用Ubuntu系统。Ubuntu 13.04起停止支持Wubi,但实际发现,在Windows 8.1中仍可以使用Wubi安装Ubuntu 14.04.1 LTS。

1、下载Ubuntu安装包

Ubuntu官网中下载Ubuntu安装包ubuntu-14.04.1-desktop-amd64.iso

2、使用Wubi安装Ubuntu

将安装包中wubi.exe解压到与安装包相同目录下,断开网络,运行wubi.exe,在弹出界面中配置安装的磁盘分区、分配空间大小、语言、用户名、密码等,安装Ubuntu。安装完成后重启,等待后续安装工作完成后,即可进入Ubuntu系统。

...more

RSA加/解密的Java实现

Time: , by zydecx

RSA算法是一种常用的非对称加密算法。所谓非对称性,是指加/解密的过程中需要两个不同的密钥——公钥和私钥,通过公钥对数据加密,通过私钥对密文解密。RSA算法的可靠性是建立在大数因数分解的难度上的。在数论中,对极大整数做因数分解的难度极大,因此决定了RSA算法的高可靠性。若想了解RSA算法的数学原理,可参考WIKI:RSA加密算法RSA算法原理

本文介绍在Java中实现RSA的加/解密操作。(测试环境:Windows OS, jdk_1.7.0_25)

...more

学习Highcharts(二)从示例中认识Highcharts

Time: , by zydecx

从“学习Highcharts(一)”就开始构思这篇文章。一直希望做个DEMO页面,可以形象、直观的介绍Highcharts的各个组件并展示示例。趁着公司培训,终于有了机会把它做出来。

Highcharts的主要组件有:title(标题)、legend(图例)、axis(坐标轴)、tooltip(提示框)、series(数据列)。点击下方DEMO中对应标签可看到相应组件的动画演示

...more

This is a magic phrase. You CANNOT see it(I'll really FULE you if you do that), but it does work. Why? You may feel confused. OK, at least it doesn't afftect your experience and it works. That is what we call MAGICE!