写给过去的四年
发表于
|
分类于
历险记
写出这篇文章的时候李恒已经毕业啦。正式成为了一只“杭漂”,现在坐在滨江区春波西苑10号楼302-003的合租房内,写下这对过去四年的记录。写给过去四年的自己以及四年中身边出现的每一个人。
李恒的四年是迷茫的四年,是在自己折腾下度过的,更是在身边好友的支持与鼓励下度过的,十分感谢那些与我一同折腾的好友,如果你的名字文中没有出现,那只是无法写下那么多内容,这里对帮助过我的你们表示感谢。因为你们的存在李恒才依旧充满动力。
这篇文章是李恒的大学纪实,记录下李恒对大学的记忆碎片,同时也是给后来学习计算机的学弟学妹们做一个参考,李恒四年踩过的坑,做的选择都在文中有所体现。
一个暑假都在等着开学,兴冲冲的加
...
teacher
发表于
Time flies! Before going back to my hometown, I look back the experience for the whole year in the U.S. and find how interesting it is for the large change of my feeling to lives. I still remember vividly that one year ago before my coming, I said to myself I would work hard and study hard and such
...
操作系统问题记录
发表于
|
分类于
面试
OPT:Optimal page replacement algorithm最佳页面替换算法。LRU:Least Recently Used 近期最少使用算法。MFU:Most Frequently Used最常使用页面置换算法LFU:Least Frequently Used最近最不常使用算法。
LRU和LFU是不同的!
LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!
比如,第二种方法的时期T为10分钟,如
...
Hello World
发表于
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More in
...
c++问题记录
发表于
|
分类于
面试
c++多重继承中的内存布局
c/c++this指针,静态,复合,委托,继承,虚函数迭代器,分配器,
使用初始化列表
善用const引用
数组的大小不必在编译时确定
逗号表达式:逗号表达式的结果是其最右边表达式的值1cout<<4,cout<<5;//输出45;
fork();1.fork()函数会把它所在语句以后的语句复制到一个子进程里,单独执行。2.如果printf函数最后没有”\n”,则输出缓冲区不会被立即清空,而fork函数会把输出缓冲区里的内容也都复制到子进程里。所以,父进程和子进程各输出2个Hello,共4个。如果第一个printf(“Hello
...
linux常用命令
发表于
因为经常忘记一些命令,很多命令网上也长篇大论,在这里备注下:
压缩命令zip解压:unzip FileName.zip压缩:zip FileName.zip DirName
tar解包:tar zxvf FileName.tar打包:tar czvf FileName.tar DirName
gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName
enca 修改文件编码
...
cmake学习
发表于
参考:
sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf
https://www.cnblogs.com/ph829/p/4759124.html
http://www.hahack.com/codes/cmake/:
http://v.youku.com/v_show/id_XMjc1MjE0MjEwNA==.html
PROJECT 指令的语法是:
PROJECT(projectname [CXX] [C] [Java])
声明工程
SET 指令的语法是:
SET(VAR [VALUE] [CACHE TYPE
...
Linux系统编程-网络编程
发表于
|
分类于
linux系统编程
osi七层模型:物-数-网-传-会-表-应链路层-网络层-传输层-应用层TCP三次握手和四次挥手全过程及为什么要三次握手解答
链路层:ARP/RARP获取下一跳mac地址
网络层:IP/ICMP/IGMP传输层:TCP/UDP应用层: HTTP/FTPNAT两个子网ip同时强求外网相同的资源
打洞机制???腾讯视频聊天
公-公:直接访问公-私:NAT映射私-私:NAT映射、打洞机制
socket12345678struct sockaddr_in{ sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr
...
Linux系统编程-进程同步
发表于
|
分类于
normal
mutex互斥锁pthread_mutex_init()int pthread_mutex_init(pthread_mutex_t restrict mutex,const pthread_mutexattr_t restict attr)参数1:传参数restrict关键字:告诉概念一起,所有修改该指针指向内存中内容的操作,只能通过本指针完成,不能通过除本指针以外的其他变量或指针修改。
pthread_mutex_destroy()pthread_mutex_lock()pthread_mutex_trylock()pthread_mutex_unlock()pthread_mutex_t
...
linux系统编程-进程间通信练手
发表于
|
分类于
linux系统编程
write1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253/************************************************************************* > File Name: write.c > Author: Hengliy > Mail hengliy_li@163.com > Created Time: Fri 23 Jan 2018 06
...
Linux系统编程-进程控制
发表于
|
分类于
linux系统编程
进程控制task_struct结构体1234567891011121314struct task_struct{ volatile long state; //进程状态 void * stack; //指向thread_info结构体的指针 … … struct list_head tasks; //任务队列 struct mm_struct *mm; //内存管理结构体指针 pid _tpid; //进程ID pid _ttgid; //线程组ID … … char comm [TASK__COMM__L
...
Linux系统编程-文件操作
发表于
|
分类于
linux系统编程
列出常用文件操作的系统函数与c库函数,在这里做笔记备忘,更多函数可用man命令查询并学习。
参考资料:
《linux系统编程》,《Unix/Linux系统编程实践》http://blog.csdn.net/zjf280441589/article/details/43875987http://akaedu.github.io/book/ch28s02.html
Linux的设计哲学: 一切皆文件所有的文件或设备都对应一个文件描述符,包括输入输出都是写入到文件中,可见文件操作的重要性啊
文件类型:
- 文件
d 目录
l 符号链接
伪文件(不占用磁盘空间):
s 套接字
b 块设备
c 字符
...
数据库学习
发表于
数据库原理概论这门课,一直期待的是数据库的存储原理与sql语句的书写,一直不理解老师为什么不讲这部分,学完后恍然大悟数据库的设计才是这门课要学会的东西,。。。然而,然而已经考完试了。。。痛定思痛结合数据库课设再过一遍数据库的设计。
数据库设计:简单来说,数据库设计就是根据业务的具体需要,结合我们所选择的数据库管理软件DBMS(oracle、mysql、sqlserver),为这个业务系统构造出最优的数据存储模型,并建立好数据库中的表结构以及表与表之间的关联关系的过程,使之能有效的对应用系统中的数据进行存储,并可以高效的对已经存储的数据进行访问。设计的目的关键在于数据库的有效存储与高效访问。
数
...
breakwall
发表于
|
分类于
折腾日记
一直用的VPN老板突然通知不想干了,让自谋出路,和海哥还有路路学长一算不如自己搭一个,造作啊!
shadowsocks搭建pptpd VPN搭建0、安装pptpd$ sudo apt-get install pptpd
1、编辑pptpd.conf文件,设置localip和remoteip$ vim /etc/pptpd.conf查找到localip和remoteip,打开注释进行设置。将localip设置为你的vps的服务器公网ip,不知道可以通过ifconfig查看。remoteip是设置给VPN用户分配的IP段,我这里设置为10.100.0.2-100。
localip VPS_IP
...
Git学习
发表于
|
分类于
折腾日记
刚考完试,闲来折腾下Git,之前做虚拟机那个项目的时候和海哥因为被田老师催着交作品,四个人就采用U盘拷贝的方式进行版本管理,效率低不说,最后也不清楚谁的电脑上的是最新的版本了,最后甚至自己负责的部分都搞乱了,就意识到了版本控制的必要性,甚至真是有重构的可能啊!特别是小组协作的时候,必须的啊!
参考网站:http://iissnan.com/progit/
Git简介:linux的开发过程中的版本控制在初期的时候就是linus自己人工合并的,后期linux内核的代码库之大让linus很难继续手动管理了,这时候linus花了两周时间用C写了一个分布式版本控制系统,就是Git!
Git是目前世界上最
...
PAT [1126] Eulerian path (25)
发表于
|
分类于
code
In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similarly, an Eulerian circuit is an Eulerian path which starts and ends on the same vertex. They were first discussed by Leonhard Euler while solving the famous Seven Bridges of Konigsberg problem in 1736.
...
PAT [1127] ZigZagging on a Tree (30)
发表于
|
分类于
code
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can be determined by a given pair of postorder and inorder traversal sequences. And it is a simple standard routine to print the numbers in level-order. However, if you think the problem is too simple, t
...
PAT [1033] Recover the Smallest (25)
发表于
|
分类于
code
Given a collection of number segments, you are supposed to recover the smallest number from them. For example, given {32, 321, 3214, 0229, 87}, we can recover many numbers such like 32-321-3214-0229-87 or 0229-32-87-321-3214 with respect to different orders of combinations of these segments, and th
...
PAT [1033] To Fill or Not to Fill (30)
发表于
|
分类于
code
With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different price. You are asked to carefully design the cheapest route to go.
In
...
PAT [1026] TableTennis (30)
发表于
|
分类于
code
一个乒乓球俱乐部有N张桌子可供公众使用。这些表从1到n被编号为任意一对,如果有一些球台在它们到达时是空的,它们将被分配到可用的最小编号的球台上。如果所有的表都被占用,它们将不得不在队列中等待。假设每一对球员最多能踢2个小时。你的任务是计算排队等待时间的每个人,以及每一张桌子上的玩家的数量。让这个过程有点复杂的一点是,俱乐部为他们的VIP成员保留了一些桌子。当VIP桌字空闲时,排在队伍中的第一对贵宾将会有特权。然而,如果队伍中没有贵宾,那么普通队员就可以接受。另一方面,如果有VIP但是没有VIP桌子,那么VIP就作为普通队员看待。
输入对于每一种情况,第一行包含一个整数N(小于=10000)
...
VMProber介绍
发表于
项目做完啦!充(ku)实(bi)的两个月!,学到了很多啊,尤其是项目知识点以外的东西,自己又做了答辩人,对这个项目介绍字眼老师扣的好仔细,比赛回来做一下笔记,以免寒假老师让接着完善项目又忘光了(不知道是自己记性差,还是写代码都这样。。。)
VMProber
Linux文件系统学习
发表于
|
分类于
linux
做项目不能太功利了,每次都是现学现卖,项目做完了落得两手空,还是要脚踏实地的学!做项目重在过程而不是结果啊!
参考书:《深入理解Linux内核》,《Linux内核源码剖析》,《Linux内核精解析》
linux虚拟文件系统(VitrulFileSystem)简介VFS只存在于内存中,它在系统启动时被创建,系统关闭时注销。VFS的作用就是屏蔽各类文件系统的差异,给用户、应用程序、甚至Linux其他管理模块提供统一的接口集合。管理VFS数据结构的组成部分主要包括超级块和inode。
VFS是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象,使得不同的文件系统在
...
虚拟机自省与libvmi库学习
发表于
|
分类于
VMProber
田老师说和乌云老师合作的项目,当然要看乌云老师的论文啦。
文章摘要:通过检测虚拟机内部的隐藏文件,检测工具可以及时判断虚拟机是否受到攻击.传统的文件检测工具驻留在被监视虚拟机中,容易遭到恶意软件的攻击.基于虚拟机自省原理,设计并实现一种模块化的虚拟机文件检测方法 FDM.FDM借助操作系统内核知识,解析虚拟机所依存的物理硬件,构建虚拟机文件语义视图,并通过与内部文件列表比较来发现隐藏文件.FDM将硬件状态解析和操作系统语义信息获取以不同模块实现,不仅具备虚拟机自省技术的抗干扰性,还具备模块化架构的可移植性与高效性.实验结果表明,FDM能够准确快速地检测出虚拟机内部的隐藏文件。
虚拟机自省参考链
...
xen&kvm虚拟化原理学习
发表于
os老师带着做一个虚拟机的项目,暑假被《操作系统革命》和《硅谷》洗脑了,发觉系统工程师才是真hacker,这次就兴致勃勃追随田老师啦!按照老师说的是我们要做的是一个在实体机里面监控虚拟机的软件,感觉是一个上帝视角,很厉害的样子,用到vmi虚拟机自省技术,需要储备这方面知识,这次慢慢来不要急。
老师让用的是xen+wxwidgets+openstone,不知道为什么要用几个不是很流行的平台(年龄大?)。
xen虚拟化
XEN 虚拟化技术的主要特性如下所示:
◆ 虚拟机的性能更接近真实的硬件平台;
◆ 可实现物理平台和虚拟平台间的自由切换;
◆ 在每个客户虚拟机支持到 32个虚拟CPU
...
物联网比赛总结
发表于
|
分类于
比赛
初赛: 和海哥愁眉苦脸想了好几天,最后学长dalao啊,神热土豆算法,华东赛区用时最少的。
先说说客观因素,由于学校第一次参加这个比赛,不给买设备,一切靠自己想象,初赛模拟大家都一样,决赛用真节点,然而学校不给买,只能硬着头皮上,一切靠猜啊!节点间通信数据包格式要猜(用串口调试助手一位一位测试),节点与小车间通信代码组件要猜,而且根本不能测试代码的是否正确,去前在大巴上都在检查代码有没有bug(和海哥一人有一个对系统的猜想,两组代码各写一份,换着检查)去了现场才第一遍测试,给的30分钟时间程序都没有烧进去,因为是第一次用实物组件啊,连烧录环境都没有 !最后还是借用隔壁北理的电脑烧进去。。。
...
Qt&Opencv环境搭建
发表于
数据结构课设选了一个坑的题目:
环境搭了整整三天,一定要写下自己踩的坑!!!
QtforAndroid 在网上很多 下载对应的linux版本即可opencv直接去官网下载最新版,不区分linux与windows因为是跨平台的,跨平台的意思就是这个代码在两边都能打开,但是不能用需要编译解压后直接用cmake编译安装,注意路径一般是/usr/local/,编译时可能会停在一个downloading一个东西,长时间不动的话就是不能自动下载了,需要手动下载并覆盖到opencv下面的一个地址/home/hengliy/opencv-3.2.0/3rdparty/ippicv/downloads/linu
...
Python学习练手
发表于
|
分类于
python
电影天堂爬虫电影天堂 最新电影爬取
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#coding:utf-8from urllib import urlopenfrom bs4 import BeautifulSoupimport lxmlimport urllibimport reimport sysimport codecs#声明文件打开中文格式编码reload(sys)sys.setdefaultencoding( "utf-8" )#不
...
解魔方机器人大创项目(持续更新)
发表于
|
分类于
项目
2016-10-12和海哥奋战一周,1600行的暴力解写出来啦,纯模拟,毫无算法,后续更新
项目地址:https://github.com/Hengliy/CubeRobot
2017-3-14研究八数码的双向广搜解:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979
...