DEAD MAN CODING

FOOOLING.COM

把kindeditor中的高亮从prettify换为syntaxhighlighter

2013-12-12 01:13:57

kindeditor自带一个插件 (/kindeditor/plugins/code.js)

使用了prettify能识别的格式来输入代码。

其实本质上是通过select一个语言类型,然后构造一个


 cls = type === '' ? '' :  ' lang-' + type,
 html = '<pre class="prettyprint' + cls + '">\n' + K.escape(code) + '</pre> ';
这种格式的pre标签


而我们的syntaxhighlighter需要的是<pre class="brush:type">这种类型的标签

于是我们修改这段代码为


cls = type === '' ? '' : type,
html = '<pre class="brush:' + cls + '">\n' ...

阅读全文

换个博客,换个心情

2013-12-11 14:58:23

呵呵,原来的老博客太花哨了,无法静下心来码字。

找了个简单的主题,顺便回顾了下django框架的使用。

由于博客的需求比较简单,两三下完成了大致的编码,大概看看还不错。

最近在做本科毕业设计,也在看各种高大上书,为了更好的记录学习过程,希望能够把这个博客利用起来。

这段时间接下来的内容主要应该以openflow,网络编程,mysql有关。

阅读全文

几个java多线程的东西

2013-11-05 15:49:30

Java中有个java.util.concurrent包, 此包早在1.5版java就已出现。所以这里要说的,也不是什么新的东西,就是一些日常使用的记录。

首先,不得不说的,是Future.

Future是Java中一种常见的实现“异步”的方式。 如其名,Future表示一种未来才去关心的结果,工作执行与否、正确与否、是否被取消,这些都可以暂且不管。Future的一种最常用的实现类是FutureTask. 用于包装一个Runnable或者一个Callable的任务,通过把Future交给线程或者丢进线程池,使得其中的任务能够“异步”执行。异步打引号的原因当然是因为这并不是一个真真意义上的异步内核调用,只是简单开了个线程做这个Task,而当前线程并不会立即阻塞从而显得像“异步”一样。结果会保存在Future对象中,直到调用其get()方法,此时线程会阻塞直到任务结束或被取消。get()有意思之处还在于能够加上一个timeout,例如

future.get(2000,TimeUnit.MILLISECONDS)

意义是等待2000毫秒去get这个任务的结果。可是2000毫秒以后呢?

恩,2000以后当然超时了。。 这时会抛出一个TimeoutException,只需要捕获一下就好了。利用这个特性,可以使得等待更可控,但我还是更倾向于get()这种一直阻塞的方式,因为节约资源嘛。。Future还有一个特性就是能够取消任务。cancel() 方法需要传个boolean进去,为true意味着需要发送interrupt给执行任务的那个线程,恩, 还是比较好用的。。

那么,这时你就会想,如果我是执行多个任务,那么我要对每个任务进行get么, 要阻塞多个线程去等这些状态么? 或者对每个线程等一会儿?

当然有更方便的方法,这时可以引出闪亮亮的CompletionService,这个接口相当于是对ExecutorService线程池的一层封装,原理其实是使用了一种继承了FutureTask的Future包装,复写了done()方法,在每次执行完包含的Task之后,执行了done()里的方法,把Future丢进一个BlockingQueue,这个特殊的队列对写入不阻塞,而对读取阻塞,当无法take()读取时,线程会阻塞在队列上,直到队列有元素进来。而done方法是在任务完成后立即调用的,试想如果此时正好有个线程卡在队列的take这里,那么他将立即获取到这个future。于是。。华丽丽的回调就出现了。。虽然比较费力,但是至此就能达到多任务回调的需求了。

恩。打字打累了。就说到这,有什么好玩的下次再说吧。

阅读全文

Linux 下 less 命令显示颜色问题

2012-10-27 03:10:56

经常在很大文件中使用grep抓取关键字
grep很好用,能够高亮显示关键字
可是当同时开了screen时,对超过一屏的内容不易管理(可能是我screen用得不够好)
于是就有了以下命令
    cat ./some.txt | grep something | less
这样就能很好翻页查看
但造成了一个问题,less把grep好用的高亮去掉了
很不爽,于是研究了下使用说明
最后找到了让less保持高亮的方法
    cat ./some.txt | grep --color=always something | less -R
这下problem solved
喝喝

阅读全文

LINUX下 编译VERILOG的方法

2012-10-06 04:02:13

想起来写下博客。

常听人说


Windows 能做而Linux不能做的事,就是不需要做的事


作为一个verilog的入门者,我需要去安装一个叫Modelsim 的货来写verilog。由于经常使用linux,本能地想看看linux能否写verilog。然后touch了一个test.v 使用vim打入module  发现自动高亮了。于是找到了iverilog和gtkwave这种小巧的开源软件。

简单说下这两个软件

iverilog  用来编译verilog  算是相当好的编译器  ubuntu有包,源码自行谷歌

gtkwave  适用于桌面版linux 可以显示VCD波形  下载同上

iverilog命令类似gcc


iverilog -o file module.v testbench.v 

这条命令在module.v中使用testbench.v 编译产生可执行文件file

然后

vvp -n file -lxt2

可生成vcd波形文件

最后用gtkwave打开即可看到波形了

阅读全文

友情链接