walkerdu's wiki201706-07 2017-06-17
2017-06-17
- grep
grep search_str –exclude-dir=DIR1 –exclude-dir=DIR2 -r .
grep search_str –exclude=file(支持shell wildcard *, ?, […]) -r .
2017-06-21
- shell直接进行进制转换
一、16进制转换成10进制
printf %d 0xF
15
或者
echo $((16#F))
15
二、10进制转换成16进制
printf %x 15
f
或者
echo “obase=16;15”|bc
F
[anonymalias@qcloud ~]$let a=0xFF
[anonymalias@qcloud ~]$echo $a
255
[anonymalias@qcloud ~]$((a=0xFF))
[anonymalias@qcloud ~]$echo $a
255
将16进制转换成ASCII字符码
echo -e “\x30”
2017-07-03
MVC 模式结构
MVC 模式将应用分为模型、视图和控制器三个部分:
- 视图:数据的展现。
视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。 - 模型:应用对象。
模型是应用程序的主体部分。 模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。 - 控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。
当 Web 用户单击 Web 页面中的提交按钮来发送 HTML 表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
2017-07-12
- 之前shell脚本中对于变量$var的计算过程中,例如:var1=$var 或者var1=”$var”, 我一直认为可加双引号也可以不加,但最近才意识到双引号还是加的好,因为到var变量中包含一些特殊字符时,可能会导致赋值操作的结果出现异常,
2017-07-17
http://blog.csdn.net/zcsylj/article/details/6752041
rebind的本质应该这么说:给定了类型T的分配器Allocator=allocator<T>
,现在想根据相同的策略得到另外一个类型U的分配器allocator<U>
那么allocator<U> = allocator<T>::Rebind<U>::other
之所以要提供rebind界面,是因为容器只知道模板参数名Allocator,而不是其具体实现,容器只知道这样三个事情:
1、Alocator是T的分配器,但其内部实现策略是什么容器并不关心(可能是std::allocator
2、类型T和类型U在逻辑上是相关的,比如在链表中,数据类型T和结点类型Node
3、容器希望按照和T一样的策略(具体的说就是相同的allocator模板名)来分配U类型的对象。
这时rebind的作用就体现出来了
2017-07-20
localtime函数不仅是不可重入的,而且连续执行两次都会有问题,
1 |
|
2.std::transform工具
1 | template <class InputIterator, class OutputIterator, class UnaryOperator> |
2017-07-31
线性同余生成器