Linux下getopt()函数的简单使用
原文地址:点击打开链接最近在做cachelab实验,在处理输入的时候需要用到getopt()函数,看到一篇博客,感觉写得挺好的,一下原文转载^o^。/***********************************************************************************************************/最近在弄Linux C编程,本科的...
51Nod-1976-多边形划分
题目链接:点击打开链接(一)题面: 1976 多边形划分给一个共有n个点的凸多边形,求一条将该多边形划分为面积和周长都相等的两部分的直线。Input第一行一个正整数n,表示多边形的点数。(n <= 40000)
接下来的n行,第i+1行,每行两个实数xi,yi,表示凸多边形的一个点的坐标,点按照逆时针或顺时针的顺序给出。
其中n,|xi|,|yi|<=40000。Output如果存在...
深入理解计算机系统-cachelab
前言:
离该实验结束也已有好几个星期,忘却的救主快要降临了罢,我正有写一点东西的必要了。
哇,再不写就写不出来了QWQ...
Part A
一、Part A概述:
(Ⅰ)任务:
编写一个cache模拟器,该模拟器可以模拟在一系列的数据访问中cache的命中、不命中与牺牲行的情况,其中,需要牺牲行时,用LRU替换策略进行替...
凸包-Andrew算法&&Graham扫描法
凸包简介:
在二维平面上(二维凸包)给出若干个点,能够包含这若干个点的面积最小的凸多边形称为凸包(可以想像有很多个钉子钉在墙上,然后用一个橡皮圈套在所有的钉子上,最后橡皮圈形成的就是一个凸包)。
Graham扫描法:
Graham扫描法是一种基于极角排序的进行求解的算法,其大致流程如下:
①找一个一定在凸包上的点P0(一般找纵坐标最小的点);
②将其余所有的点以P0为基准进行极角排...
深入剖析angular-ui-router插件
初识UI-Router
UI-Router被认为是AngularUI为开发者提供的最实用的一个模块,它是一个让开发者能够根据URL状态来组织和控制界面UI的渲染,而不仅仅只改变路由(传统AngularJS应用实用的方式)。该模块为开发者提供了很多对视图(view)额外的控制。开发者可以创建嵌套分层的视图、在同一个页面使用多个视图等更多的功能。
一个简单应用
TCP协议中的“三次握手”
一、关于TCP协议
TCP(Transmission Control Protocol)协议通常被称为面向连接的协议,这一协议保证可靠有序地将数据从发送者传送到接收者。
1.创建可靠会话
TCP与UDP的关键区别在于可靠性,TCP的可靠性在于其使用了面向连接的会话。在主机间使用TCP协议传送数据前,传输层会专门开启一个进程用于建立源主机和目的主机之间的连接。通过该连接
浏览器兼容性问题备忘
关于要不要兼容IE678,其实这就看业务需求了。比如有的企业,像电商类的,他们不想流失掉使用老版本IE的用户,因为流失用户就代表着流失金钱,所以他们必须要兼容IE678。我个人认为,从一个前端开发者的角度出发,掌握浏览器间的兼容性问题解决办法是生存所需,没啥可说的。
由于刚刚IETester崩溃(如果不想折腾IETester,而已用VirtualBox装个虚拟机,在接近原生的环境
centos配置本地yum源和光盘挂载
说明:以centos6.5为例创建本地yun源,centos7的创建方法和centos6的是一样的。 创建挂载目录: mkdir /dvd 开机自动挂载光盘 echo /dev/cdrom /dvd iso9660 defaults 0 0 >>/etc/fstab 备份系统自带的yum源 cd /etc/yum.repos.d mkdir back mv *.repo back/ 创建本地yum源 [centos6.5] #yum源的名称 name=centos6.5 #yum
图解animation-fill-mode属性
animation-fill-mode用来规定对象在动画时间之外的状态,它有4个值:
none 不改变默认行为backwords 在animation-delay时间内,在动画开始之前,应用开始属性值(在第一个关键帧中定义的那个值)forwords 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义的那个值)both 向前和向后填充模式都被使用
举例说明:
如何理解AngularJS中的依赖注入
AngularJS最容易引起混淆的特性之一就是依赖注入(DI)。可能很难理解到底什么是依赖注入,它如何工作,以及为什么它是有用的。
先从理解依赖注入打算要解决的问题开始。一个AngularJS应用程序中的一些组件可能会依赖于其它组件,例如,控制器需要使用 $scope 组件,使得控制器可以向视图传递数据,即控制器依赖于 $scope 组件来执行工作。
...
myApp.cont
window下history对象备忘
history是window对象的属性,它保存着用户上网的历史记录,出于安全方面的考虑,开发人员无法得知用户浏览过的URL。不过,借助用户访问过的页面列表,同样可以在不知道实际URL的情况下实现后退和前进。
一、HTML5 之间的 history
history有如下方法:
history.go()history.forward()history.back()
除了上述几
git+gerrit开发配置方法入门
一、利用git生成ssh密钥
1、首先配置用户名和邮箱地址
git config --global user.name your_name
git config --global user.email your_email
2、查看是否已经生成了ssh密钥
cd ~/.ssh
如果没有密钥则不会有此文件,若是有密钥则删除,等待下一步重新生成密钥
3、生成密钥
利用CSS3画三角形(另附百度笔试题)
一、原理
CSS3画三角形的原理十分简单,利用到的属性无非几种:width、height、content、border。
拿一个矩形举例:
Document
#pentagon {
width: 0;
height: 0;
content: '';
border: 50px solid red;
}
显示效果:
问题来了
图解CommonJS、AMD、CMD规范
捋一捋JavaScript开发中的模块规范,为了方便描述和理解,作图说明:
参考文章:
阮一峰博客:Javascript模块化编程
简书:浅析JS模块规范:AMD,CMD,CommonJS
JavaScript 风格指南(1)
一、Types
· 1-1 基本类型:当你使用基本类型的数据时,只关注它的值就可以了
stringnumberbooleanundefinednull
const foo = 1;
let bar = foo;
bar = 9;
console.log(foo, bar); // => 1, 9
· 1-2 复杂类型:当使用复杂类型的数据时,需要关注对值的引用
SVN分支/合并原理及最佳实践
使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。
最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后
JavaScript 风格指南(2)
--接 JavaScript风格指南(1) --
四、Arrays
· 4.1 使用字面量的方式创建数组
// bad
const items = new Array();
// good
const items = [];
· 4.2 不要使用直接赋值的方式为数组添加新成员,而是使用 push() 方法
const someStack = [];
// bad
so
今日推荐
周排行