‘Learning’ 分类的存档

欢迎光临Caspar Ant,如果您喜欢本站的内容,欢迎订阅我的RSS;如果您需要出于非商业性质的转载,请先阅读版权声明页面。这次学会了结构体的对齐,记录锁和QT的基本操作。顺便强烈推荐使用qt-creator进行开发。
当然还碰到个囧事,一个文件用r方式打开了,然后想往上面加写锁,加了半天就是报“错误的文件描述符”,郁闷之下man了下fcntl的内容,顿悟:
EBADF fd is not an open file descriptor, or the command was F_SETLK or F_SETLKW
and the file descriptor open mode doesn't match with the type of lock
[...]

...
2009年4月20日21:33 | 4 条评论
分类: Learning
标签: , , ,

因为我在KDE下不想装那个GNOME依赖关系超多的tomboy,所以暂时把这些非常过时的日常技巧发上来,众人不要怪我凑日志数哦~
1. MySQL授权用户:

GRANT ALL PRIVILEGES
ON `DATABASE`.`TABLE`
TO 'USER'@'DOMAIN'
IDENTIFIED BY 'PASSWORD'
WITH GRANT OPTION ;

Mysql 改密码:

mysqladmin -u root -p password 'NEW_PASSWORD'

2. 批量修改文本文件的编码:find . -iname '*.*' -execdir iconv -f GB18030 -t UTF-8 -o {} {} \;
批量缩小图片到50%: for i in *; do convert $i -resize 50%x50% sm-$i; done
3. HTML中使用脚本实现网页跳转:< script>window.location="http://url/to/be/redirected"< /script>
4. VIM中把TAB批量转为空格 :retab
VIM中使用F3键关闭粘贴时的缩进:set pastetoggle=< F3>
VIM中删除含特定字符串的行:g/str/d

...
2009年3月26日09:02 | 没有评论
分类: Learning

1. VIM操作
VIM在每行行首或行尾插入指定字符串:
行首 :%s/^/YOUR_STR/
行尾 :%s/^$/YOUR_STR/
删除^M标记 :%s/^M$//g,^M的输入方法为^V^M
2. Openoffice3.0在Ubuntu8.10中不能输入中文
将libstdc++和libgcc的so文件软链到OOo的ure路径下即可:

sudo ln -snf /usr/lib/gcc/i486-linux-gnu/4.3.2/libstdc++.so \
/opt/openoffice.org/ure/lib/libstdc++.so.6
sudo ln -snf /usr/lib/gcc/i486-linux-gnu/4.3.2/libgcc_s.so \
/opt/openoffice.org/ure/lib/libgcc_s.so.1

...
2009年1月9日14:28 | 4 条评论
分类: Learning

覆盖率(Coverage)的定义如下:
Coverage = (Object executed)/(Total objects) * 100%
常用的覆盖率指标有很多,这里只介绍我看到过的其中三种:
语句覆盖率(Statement Coverage),也称作“行覆盖率(Line Coverage)”、“段覆盖率(Segment Coverage)”,用于评价测试的代码语句覆盖率。
判定路径覆盖率(Decision-Decision Path Coverage, DDP Coverage),用于评价代码分支的覆盖率。
修正条件/决策覆盖率(Modified Condition/Decision Coverage, MC/DC),这个比较麻烦,稍后详述。

...
2009年1月7日23:28 | 3 条评论
分类: Learning

问题描述:The Cigarette-Smokers Problem. Consider a system with three smoker processes and one agent process. Each smoker continuously rolls a cigarette and then smokes it. But to roll and smoke a cigarette, the smoker needs three ingredients: tobacco, paper, and matches. One of the smoker processes has paper, another has tobacco, and the third has matches. [...]

...
2008年11月9日22:02 | 7 条评论
标签: , ,

在开始之前,请你想几个问题:

当你学Windows的时候,你花了多长时间?几小时?几天?几个月?还是现在仍旧有各种各样解决不了的问题?
当你在War3上为了手速记键盘操作快捷键的时候,你是否觉得记几个长度不超过10个字母的命令比这困难很多?
当你在Windows下碰到问题的时候,你是抱怨Windows这个系统太不人性化还是老老实实虚心向别人请教问题?

当你仔细考虑了这些问题之后,再往下看。
也许你接触计算机很早,但是在你面前的界面很有可能是带着窗口的系统——有可能是Windows 3.1,也有可能是Windows95。还记得你拿着鼠标努力记住左右键的作用的那一刻么,还记得你背诵104键盘的每个按键的名称的那一段时光么?当然一段时间之后,你解决了基本设备的问题,你开始使用你面前的这个带着窗口的系统。你开始经历蓝屏、死机、鼠标无响应,当你步入新千年,网络开始大面积普及的时候,你开始经历病毒、流氓软件。也许你右...

2008年9月28日15:17 | 10 条评论
分类: Learning
标签: ,

接着凌晨的文章说。
昨天说自己被Ubuntu养懒了,确实懒了,懒得自己连系统的某些工具的用处都不知道。比如pkg-config
以前一直不知道,Linux下那么多库,在./configure时时怎么判断它们存不存在的,难道是靠递归搜索?现在我才知道我zt了,pkg-config这个命令和/*/lib/pkgconfig下的一些.pc文件才是主角。
每个.pc文件定义了库的名字、路径、编译选项等,比如glib-2.0.pc文件:

prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: Glib
Description: C Utilitiy Library
Version: 2.14.4
Libs: -L${libdir} -lglib-2.0
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

...
2008年7月19日18:09 | 3 条评论
分类: Learning
标签:

自动调用toString方法——

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//A.java
public class A extends B
{
public String toString()
{
return "A";
}
}
 
//B.java
public class B
{
public String toString()
{
return "B";
}
}
 
//C.java
public class C
{
public static void main(String[] args)
{
Object o[] = {new A(), new B()};
 
System.out.print(o[0]);
System.out.print(o[1]);
}
}

...
2008年6月10日15:15 | 9 条评论
分类: Learning

不断更新中……
Q: 如何挂载ISO镜像到光驱(即虚拟光驱)
A: sudo mount -t iso9660 -o loop ./cdimg.iso /mnt/test
Q: 如何更改文件为可执行文件?何时需要更改?
A: 输入sudo chmod a+x filename 即可将文件改为可执行文件。当用文本格式编写了脚本之后,可以执行这个操作执行脚本。
Q: 如何在终端下执行可执行文件?
A: ./filename 即可。

...
2008年2月3日14:55 | 没有评论
分类: Learning
标签: ,
Page 1 of 212