- 博客(66)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 读书
================ Calendar for the read books ================Year 2011LeisureOn EE && CS && IT《幸福了吗》,白岩松C++ Primer Plus, Stephen Prata《搭车去柏林》,刘畅《集体智慧编程》,Toby Segaran
2013-01-14 23:39:46
1081
原创 timu
设计一个任务调度与执行工具。要求:1. 任务有输入输出和状态。并且支持内容自由扩展。(扩展任务执行内容,不包括扩展输入输出。)。2. 任务包括依赖关系,一个任务可以依赖另一个(只能是1个或0个)任务的输出作为自己的输入。并且任务按照依赖的顺序执行。3. 当一个任务的状态改变时,能自动一次执行依赖他的任务。依赖他的任务需要重新执行。
2014-06-05 13:38:28
799
原创 给驴的
#include#include#define N 10double dis[N]={0,1,2,3,4,5,6,7,8,9}; //距离数组double res[N]={0,0.8,3,0.8,2,2,0.5,1,2,0.2}; //加油站油量int record[N]; //临时加油方案int best_record[N]; //最优加油方案double x=1;//每升油跑
2014-06-05 11:18:35
632
原创 Reboooot
有三个月没来记录了近期事情多且纷杂,有必要回顾和整理一下:完成了两篇小论文(长文+短文),均是上学期工作的延续长文前后修改了n次,现终于交到老板手里,老板继续修改。。目测投Trans。短文使用了简化模型,仓促完稿(8天写+改)投Globecom,悲剧,仔细修改后改投别处。写论文是这三个月的主体工作,反复修改模型、仿真,修订句式、语法,一直改到恶心。除此之外,找了
2013-07-23 19:08:46
764
原创 OS复习-进程同步
一些概念:临界区 | 互斥量 | 信号量(信号灯) | 事件使用有限缓冲方案的的消费者-生产者模型,不能正确的并发执行,保证不了进程间同步,比如counter++/counter--语句:/* producer */while(1){ while(counter == BUFFER_SIZE) ; // 缓冲区满,等待 buffer[in] = next
2013-04-08 10:39:06
959
原创 利用moderncv自定制简历样式
最近想用mordencv做个中文latex简历,moderncv本来是个英文的模板,网上可以找到很多让其支持中文的方法(见“1. 让moderncv模板支持中文”)。不过后来发现英文版的简历上方会有大量的留白,改成中文后看起来很不紧凑,网上搜了半天也没有个统一的解决方法。于是自己研究了一下模板代码,找到了一些修改模板样式的方式,简单总结(见“2. 修改moderncv模板样式”)。(注:时间仓
2013-04-02 15:04:25
6175
原创 OS复习-进程管理
1.进程驻留在内存中就绪等待运行的进程保存在就绪队列上,用链表的形式存储其PCB(进程控制块)。等待I/O设备的进程(会被中断)列表称为设备队列(I/O等待队列),每个设备都有自己的设备队列。长期调度程序(作业调度程序)从磁盘中选择进程,短期调度程序(CPU调度程序)从就绪队列中选择进程。(还有中期调度程序,负责实现交换。Unix没有长期调度程序?)进程可以区分为I/O-bound和C
2013-04-01 15:52:27
1076
原创 OS复习-虚拟内存
虚拟内存的使用方便了更多的程序同时(宏观意义上的)执行,增加了CPU的使用率。它将物理内存与逻辑内存分开,允许文件和内存通过共享页为多个进程所共享。1. 虚拟内存的实现方式-请求页面调度请求页面调度 也就是在分页系统+交换,需要时再将进程载入内存。注意不是换入整个进程,而且是lazy swapper,也就是"Demand paging"和"和写时复制(Copy On Write)的
2013-03-27 21:41:54
1260
原创 与邮件传输有关的几个协议
HTTPS - Hypertext Transfer Protocol over Secure Socket Layer:是以安全为目标的HTTP通道,即HTTP下加入SSL层,简单讲是HTTP的安全版。HTTPS和HTTP的区别一、https协议需要到ca申请证书,一般免费证书很少,需要交费。(所以zkd用的是自己做的。。)二、http是超文本传输协议,信息是明文传输,https 则
2013-03-15 20:14:31
1387
原创 iptable学习
-------- Ref:HunterFu 运维之道 ---------(以下大部分内容摘自HunterFu的博客里) linux系统中,防火墙(Firewall),网址转换(NAT),数据包(package)记录,流量统计,这些功能是由Netfilter子系统所提供的,而iptables是控制Netfilter的工具(有人也把netfilter直接叫做iptable)。ipta
2013-03-08 15:56:58
1021
原创 类模版的分离编译问题
模板不是数据类型,只能算是一种行为集合的表示。编译器在使用模板时,通过更换模板参数来创建数据类型。这个过程就是模板实例化(Instantiation), 从模板类创建得到的类型称之为特例(specialization),说白了就是创建了一个新类型。 模板实例化取决于编译器能够找到可用代码来创建特例(称之为实例化要素,point of instantiation),也就是说,编译器不但要看到模板的声
2013-03-07 22:22:19
3476
转载 VBA和宏
Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,是VB的子集,主要能用来扩展Windows的应用程序功能,比如office、Access、Outlook、FrontPage 和 Publisher等。VBA的功能很强大,甚至可以基于它来制作一些程序和游戏,比如excel三国杀。。感觉vba是一个很好玩的东西,初步学习了一下,一些入门资
2013-03-07 19:20:49
1546
原创 “创意不是想出来的”
------- 读《创意不是想出来的》-------首先说,这基本上不算是一本教你如何产生创意的指导手册,而是教你如何积极面对生活和工作的小书,这也正是这本书的奇特之处。下面是一些断章取义之言刚开始觉得某个活动挺没劲的,但真正参加之后却发现乐趣多多。(很有体会)愉快工作的人,其实要比“听话”的人更具有工作上的主动性。俾斯麦曾经说过:“人生,就像坐在牙医大夫的椅子上,当你觉得真正
2013-03-05 20:26:25
1609
原创 “简约至上”
-------- 读 《简约至上》--------如果不能把东西简单的呈现出来,说明你还不懂。简约。并不是件简单的事。不得不说,这本书改变了自己原有的一些观点。简单并不意味着最小化,朴素的设计仍然具有自身的特征和性质。简单并不意味着欠缺或低劣,也不意味着不注重装饰或者完全赤裸裸。而是说装饰应该紧贴设计本身,任何无关的要素都应该予以剔除。通常来说产品指导手册越长,体验越差。简
2013-03-01 19:51:45
893
1
转载 二维码原理
一、什么是二维码 二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。二
2013-02-28 23:02:15
7360
原创 “机器能思考吗”
======= 读《剑桥五重奏-机器能思考吗》======看了不到一半就放下了,不太喜欢这种写书的形式。不过书中所讨论的问题包括引申出的著名的“图灵测试”却比较有趣。图灵测试是检验一台机器(程序)是否足够智能的一种判断方法,可惜的是,至今还没有通过图灵测试的例子,走的最远的是一个叫做“叶甫根尼”的电脑程序。图灵测试源自于1950年英国数学家艾伦·图灵(Alan Mathison Tur
2013-01-30 19:19:54
1587
原创 “链接-网络新科学”
===== 《链接-网络新科学》笔记 =====趁周末翻了一下同学的《链接》,其中的很多理论,例如六度分割、小世界,之前已经在一些讲座或者论文里接触过。书比较老,简单对内容做一下记录。1. 欧拉->图论,研究网络行为的基础。2. 最初的随机网络理论:忽略了不同系统所遵循的不同规则,用一个单一个结构描述复杂的网,即随机节点链接,认为创造网络最简单的办法是掷骰子,他们认为网络图及其所
2013-01-27 15:23:32
1947
原创 matlab仿真错误记录
1. 求数值积分quadl函数。被积函数表达式需要写成点乘(点操作)的形式, 否则要不积出的结果不对,要么报错。2. simulink的打开错误:Unable to open the block or model file named '*'. 解决:路径不对,将当前路径切换到模块所在路径。3. simulink运行时出现Warning: The model '*‘ does
2013-01-17 21:49:03
4668
1
原创 “c缺陷与陷阱”
========================== 《c缺陷与陷阱》笔记 ==========================”细节打败一切““大多数错误都出在制作者在上床睡觉之前做的最后一件工作,所以,在你准备最后做一点什么之前,还是早点睡吧”-- chap.1 --1. 字符和字符串'a' //字符,实际上代表一个整数,对应ASCII中的编码值"a" /
2013-01-14 22:14:18
1491
原创 OS复习-内存管理
0. Preview用户程序所经历的编译和执行过程动态加载:进程受内存大小的限制,只有在被其他进程调用时才被加载到内存,即将加载延迟到运行时。动态链接:通常用于系统库,即将链接延迟到运行时,否则的话所有使用该库的进程都需要一份拷贝,还有一个好处是可以较好的处理不同版本的库更新。1. 基本概念计算机的地址:为方便程序设计,提高物理存储资源的使用效率,计算机的地
2013-01-09 22:52:27
894
原创 并查集(union-set)
应用:union/set及其应用并查集是一种树形的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题,常常在使用中以森林表示。1. 等价关系 具有自反性、对称性和传递性三个性质称为等价关系,如电气连通性。 给定一个等价关系“~”,基于以上性质,为判断是否a~b,只需验证a和b是否同属一个等价类,这给我们提供了解决等价问题的方法
2013-01-03 11:10:47
3404
原创 散列相关
1. 基本概念散列表依靠散列函数,将每个key映射到0~TableSize-1范围的某个数,将对应的value放入到该数索引的位置上。没有冲突的理想散列表是不存在的,因此设计散列表时面临的关键问题是如何设计散列函数、如何解决冲突。2. 散列函数为保证散列表具有较好的性质,通常要求表的大小是素数(参考函数nextPrime()),这样散列函数才有机会将key均匀分散。对于整数来说:一
2013-01-02 16:53:25
2335
转载 海量数据处理解题方式
一、 方法论(Ref:july's blog) blog中有些关于hash、trie等数据结构和算法的链接,有时间可以巩固一下。 -- 无论是这些海量数据处理面试题也好,还是算法也好,面试时,70~80%的人不是倒在这两方面,而是倒在基础之上(诸如语言,数据库,操作系统,网络协议等等),所以,无论任何时候,基础最重要,没了基础,便什么都不是--1. 分而治之/has
2012-12-31 16:00:31
607
原创 new/delete和malloc/free的区别
Ref: hackbuteer1‘s blog1、本质区别malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符。对于用户自定义的对象而言,由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不会自动调用构造函数和析构函数,从而无法满足动态管理对象的要求。因此C++需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能
2012-12-30 16:03:33
528
原创 lambda表达式(python & C++)
1. python中的lambda表达式##声明:内容整理自Dive in python中文版,一个不错的学习python地方。lambda函数允许用户快速定义单行最小函数,有点像C中的inline函数,当函数过于复杂时,不建议使用lambda。lambda可以接收任意多个参数并返回单个表达式的值,同时,lambda函数不能包含命令,包含的表达式不能超过一个。# 以下三种方
2012-12-29 12:19:10
1182
原创 “追逐日光”
花了几个小时读完了《追逐日光》,这是前毕马威CEO临终前写的一本书,或者算不上一本书,称之为一篇长文也许更为贴切。但是,内容虽少却波澜人心。当给生命加上一个确切的短暂期限的时候,每个人面对死亡的方式会大相径庭吧。我敬畏Eugene O'kelly的积极态度、自制力和清醒的头脑,能够总结一生,在临终的日子里自省理悟确实不易,更难能可贵的是他确确实实警教了尚且浑噩世间的后生(起码是我)。不禁想起之
2012-12-28 22:28:26
1140
原创 NAT打洞
NAT(Network Address Translation)是一种广域网的接入技术,将私有地址转换为合法的公共IP地址,可以完美的解决IP地址不足问题,而且还能有效避免来自外部网络的攻击,隐藏并保护网络内部的计算机。NAT的功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。一、NAT有三种实现方式:1. 静态转换:即1对1。好处是外部可以访问内部网络;2
2012-12-28 15:52:58
6065
原创 仿函数和priority_queue
1. STL中的priority_queue模板定义:template , class Compare = less > class priority_queue;//第一个参数是元素类型;//第二个参数是保存数据的容器,通常是数组类的,比如vector、deque,默认用vector//第三个参数是元素比较方式,默认用priority_queue利用大数堆或者小数堆实现,它
2012-12-28 14:22:23
2100
原创 算法设计技巧
从算法的实现向算法的设计转变,提供解决问题的思路1.贪心算法一种局部最优算法设计思路,思想是保证每一步选择在当前达到最优。一个很常见的贪心算法案例是零钱找取问题。调度问题:书上的调度问题比较简单,其目标是所有作业的平均持续时间(调度+运行)最短,无论是但处理器还是多处理器,最优解的方案总是按作业的长短排序进行调度。《计算机算法设计与分析》上的作业调度的目标是最后完成时间最小,这要稍微复
2012-12-26 18:21:55
3214
原创 STL中的deque和list
deque采用分块的线性存储结构,每一块的大小一般为521 B,成为一个deque块,所有的deque块使用一个map管理,每个map数据项记录各个deque块的首地址。对deque使用push_back()时会在尾部扩张队列,使用push_front()和insert()时不会扩张队列而是覆盖原始元素。list的实现是双向循环链表,即头节点的前驱元素指向尾元素的首地址,尾元素的后继元素指
2012-12-26 12:36:47
771
原创 自定义set<T>的比较函数
#include "stdafx.h"#include #include using namespace std;//首先实例化comp aa; 然后aa(lhs, rhs)进行比较struct comp{ bool operator ()(const int &a, const int &b) { return a>b; }};int main(){ set s
2012-12-25 22:27:36
3631
原创 string对象与数值的转换
#include "stdafx.h"#include #include #include using namespace std;string convertToString(double x){ ostringstream o; if(o<<x) return o.str(); return "error";}double convertFromString(c
2012-12-25 21:46:17
484
原创 Android开发讲座散记
1.开发环境2.四大组件 activity, service, broadcast receiver, content provider3. activity跳转,android压栈, finish()4. ListView5. 三套背景6. .9文件 尺寸调整,只适用于android7. eoeandroid
2012-12-23 16:08:32
731
1
转载 位运算技巧
(from:http://blog.csdn.net/nash_/article/details/8262185)1.判断int型最大值int getMaxInt(){ return (1<<31) - 1;//2147483647 //return ((unsigned int)-1) >> 1;//2147483647,在不知道int型占用几个字
2012-12-17 10:54:59
386
原创 传递指针的引用
简单的说,跟传递指向指针的指针带来的效果类似。目的是改变指针的指向(单纯传指针只能改变指向区域的内容),也就是传引用带来的效果。一个小例子,调用fuc()输出的是30,即改变了参数指针的指向;调用fuc2()输出的还是2。#include "StdAfx.h"#include using namespace std;int *b = new int;void fuc(i
2012-12-07 09:42:53
483
原创 shell的一些基本知识
Preview->几个关于shell的链接:1.CoolShellshell解释执行,而不是编译执行alias:设定别名,如alias name='cd tmp', alias there=/home/user3。单独的alias可以看当前所有别名,unalias禁止一个别名。env:查看用户环境。$:变量替代,{ }用来区分变量名和周围的文本。(注,变量替代都是局
2012-12-04 16:50:33
452
原创 编程之美3.1解法
书上解法一复杂度应该是O(N*N*M)的时间,解法二的复杂度是O(N*M)的时间和O(N)的空间。感觉自己的这个实现更好一些,O(N*M)的时间:bool FindSub(char *a, char *b){ for(int i = 0; i<N; i++) { int j = 0; while(a[(i+j)%N]==b[j]) { if(j < M-1
2012-11-27 16:31:05
1063
原创 uml建模
1. 分析->设计->实现。成功的项目更多的是依赖于大量的分析,而不是设计。2. 软件开发Unified Process: inception->elaboration->construction->transition《UML的基本原理》
2012-11-21 23:06:23
445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人