Avatar_small

算法复杂度不等于性能,list的性能陷阱

在学习数据结构和算法的时候,我们一般都会通过分析算法复杂度,来对某个问题选择合适的数据结构和算法。 下面就是一个经典问题: 我们需要一个容器,容器中存放的是int数据。容器中的元素是有序的,对容器有一个插入操作,要求是插入后容器中的元素仍然是有序的。我们应该选择list还是vector? 让我们先从算法复杂度的角度来简单看一下这个问题。首先一点是有序...

Avatar_small

(lib)Tcl 现代方法:变量

之前有人问到如何从 C 端访问 Tcl 变量,此处做一总结。庶几不失「现代」之名。有关 Tcl_Obj 的维护者资料击此。 于是终于回到了主线。《Tcl 现代方法》本来是作为记录 Tcl 现代用法的系列博文,一开始是介绍 C 库的,但是后来 Tcl 脚本的内容反倒更多,结果现在纯粹谈起来 C 库又会导致歧义,因此在标题前加上 lib 标记,以示内容是 C 库而非 Tcl...

Avatar_small

Windows 下配置 Tcl 开发环境

之前写过一篇一样的,不过丢失了,这次再写一次,权当帮助初学 VS 并且对嵌入 Tcl 感兴趣的人。

Avatar_small

恋爱与网络编程

从前,恋爱像 TCP 一样,一旦建立了连接,就永远地连接上了,直到生命结束。而现代,恋爱像 UDP 一样,连接上一个 peer 之后,也随时可以断开连接,重新连接到另一个地址。

Avatar_small

又写了个油猴脚本

来个总结吧。 首先,是如何看到脚本出错信息。脚本出错的信息,只有在全浏览器的控制台下面,才可以看到。按 Ctrl + Shirt + J, 可以进入浏览器的控制台。在过滤窗口,输入脚本的名字的一部分,可以过滤出错信息。网页上的 javascript, 普通写得烂,出错信息一堆堆的,不过滤 ,有用的信息就会被淹没。 临时调试脚本,可以使用 Firefox 自带的代码片段速...

Avatar_small

Tcl 现代方法:你知道几种写类的方法?

本文是从底向上逐步构建其 TclOO 大框架的,如果你更喜欢自顶向上的,可以参考别的教程。 另外,本文只是入门级别,读完本文后再去看文档或者其他教程应该会容易些,毕竟是汉语写的。这里我推荐 Ashok 写的《Tcl Programming for Windows》中的 TclOO 一章。 除去协程,面向对象编程也是现代编程语言不可或缺的一部分。Tcl 在...

Avatar_small

mariaDB 普通用户远程连接

env : vps CentOS 6.5 x32

Avatar_small

Tcl 现代方法:协程(coroutine)

协程已经是现代语言的必备要素了。Tcl 的协程仿效的是 Lua,在 8.6 版本中引入。(感谢 NRE 引擎!)

Avatar_small

Fossil 的分支处理

MemMaster 的开发是用 Fossil 做版本管理的。最近需要分支开发,于是研究了一下 Fossil 的分支处理。(但是在研究过程中对我的仓库造成了永久性不可恢复的损害……)

Avatar_small

Tcl 现代方法:TclHttpd 入门

TclHttpd 是 Tcl 界人尽皆知的有名软件,功能强大,易于使用。在其原作者不再维护之后,Cliff 和 Sean 于最近接手维护,使之支持最新的 8.6。

Avatar_small

使用 Python 自制 expect 功能

Tcl 的 expect 工具是一个十分有用的自动化工具,经常被用来喂 ssh 密码什么的。不过配置 ssh Control Master英文介绍, 中文翻译之后,我发现第一次连接之后退出,expect 脚本不肯退出了,而且Ctrl-C什么的都不管用,除非我杀掉实际连接到远程主机的 ssh 控制进程。很显然,这是因为 ssh fork 出来的 ssh 进程依旧保持着伪终端的打开状态,e...

Avatar_small

MSYS2 + MinGW-w64 + Git + gVim 环境配置

以前用 MSYS 的多,最近重装系统顺带把环境重新配一下,发现 MSYS2 挺顺手的。 一、安装 MSYS2 先装 MSYS2 的好处是之后可以将 $HOME 设为 /home/name/,再装其他 *nix 系工具时配置文件都会放在 MSYS2 的 /home/name 下,方便管理。 1. 到 http://sourceforge.net/projects/...

Avatar_small

python 正则小试

有一段日志,需要提取括号中的一些值,组成新文件. spawn runmqsc dcllf.mqm display queue('q_*') curdepth end 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. 启动队列管理器 dcllf.mqm 的 MQSC。 ...

Avatar_small

bio,request,request_queue的学习

bio:代表了一个io请求 request:一个request中包含了一个或多个bio,为什么要有request这个结构呢?它存在的目的就是为了进行io的调度。通过request这个辅助结构,我们来给bio进行某种调度方法的排序,从而最大化地提高磁盘访问速度。 request_queue:每个磁盘对应一个request_queue.该队列挂的就是request请求。 ...

Avatar_small

扇区、块、块缓冲区、段、页

扇区:扇区是在磁盘设备中,数据传送的基本单元,即硬件设备数据传送的单元。不允许传送小于一个扇区的数据,但是可以传送几个相邻扇区的数据。 块:块是VFS和文件系统传送数据的基本单元,也是映射层的映射单元。一个块对应着设备上一个或多个相邻的扇区。 页:内存的管理单元 块缓冲区:页中包含一个或多个块缓冲区,每个块缓冲区对应着上述一个块的内容,同一个页的块缓冲区可以不连...