结构体赋值如何偷懒

结构体赋值的简单写法 比如结构体 一般人知道可以这样写abc v={0,1,2}; 二般人知道还可以这样写abc v={.c=2,.b=1}; 效果同上。 但这都是定义变量时赋初值,如果是二次赋值,大多数人都只会 因为这时如果写成v={.c=2,.b=1}会出现编译错误。 但是,其实只需要做下类型转换,依然可以这样写 虽然这里写的代码不是很明显,但是如果结构体成员变量比较多,变量名又比较长的时候,这个懒还是很值得偷的,而且个人感觉这样写也会更清楚一些。

cloudstack通过agent实现生产机远端控制功能

agent分别使用NioConnection派生的NioClient和NioServer管理出链接和入链接。 NioServer收到请求数据后通过配置的工厂(factory->agent.create)生产Task(ServerHandler),并执行,将Task数据交给AgentRequestHandler处理(最终是调用Agent.processRequest)。 若cmd非系统操作命令(cron,upgrade,shutdown等会有相应操作,不再往下走)则会调用实现ServerResource接口的相应资源操作插件处理。 而相应的资源插件则通过进一步调用libvirt、shell …

继续阅读 »

哈哈,cloudstack代码涉嫌故意卖萌

cloudstack 4.2.1 AgentManagerImpl.java: 469 虽然这样的报错不太恰当,不够简洁明确,但是我喜欢这样的态度和风格。 coding不应该是枯燥无趣的工作。

CloudStack Virtual Router功能分析

  ①Virtual Router为一系统功能虚机,链接内网与外网.   ②系统通过agent控制Virtual Router,如配置StaticNat时 routerMgr 会调用 agentMgr.send 把控制指令发送给Virtual Router 上的Agent 处理。   ③Virtual Router的VM中包含DHCP、FW、NAT等多种网络服务。   ④当vm添加网卡到network时,DHCP会在网桥的subnet上添加Host记录,实现内网IP、MAC、Name绑定。   ⑤network分为基本共有共享和高级私有隔离。其中高级模式中每个用户都有一个独立的Virtual …

继续阅读 »

OpenVZ备份

一、fsfreeze fsfreeze – suspend access to a filesystem (Linux Ext3/4, ReiserFS, JFS, XFS) fsfreeze -f mountpoint fsfreeze -u mountpoint 挂起被冻结的分区上的写操作,所有写动作被阻塞,直至分区被解冻 二、vzdump   1.stop   备份时停止VM,离线时间较长。      2.suspend   ①对于OpenVZ,这一模式使用rsync拷贝VM到一个临时位置(–tmpdir选项),然后挂起VM做第二次rsync同步改变的文件,最后V …

继续阅读 »

为什么nfs会拒绝nat连接?

mount.nfs: access denied by server while mounting 10.12.28.64:/home/nfs 并非是因为ip限制的关系,而是因为端口,查看syslog可以发现 Mar 10 15:49:44 server64 rpc.mountd[2056]: refused mount request from 10.12.28.107 for /home/nfs (/home/nfs): illegal port 52837 多方查证原来是因为client使用了大于1024的端口链接服务器。需要在exports加入insecure。 /home/nfs * …

继续阅读 »

屏蔽掉网站莫名奇妙的访问

网站流量大是好事,但是如果全是无效的request则是一件很讨厌的事情。 就这个小站有好一段时间了总是收到莫名其妙的request。 比如: 111.252.4.139 – – [12/Feb/2014:11:20:37 +0800] “GET http://www.soso.com/ HTTP/1.1” 301 184 “http://www.soso.com/” “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.307 …

继续阅读 »

全局常量和局部常量的区别

局部const 神奇的事情发生了,const内容被通过指针改动,而且同一空间的内容竟然不同 首先,局部const虽然看上去与全局常量没有什么区别,但编译器在编译时会在栈区为其分配存储空间,所以局部const称作“只读”变量更为恰当。 其次,常量在编译时默认遇到取地址时会为其分配地址 所以这里修改的只是这个副本而本身并未改变 这是编译器优化的结果。被称作常量折叠const folding 全局const 这里会发现,全局const在同样企图通过指针修改其值时会出现段错误,也就是说const全局常量存储空间在常量存储区段上分配,这才是纯粹的只读的常量,所以当企图通过指针修改常量存储区段上的数据时会 …

继续阅读 »

腾讯的codestar前端特工

早有耳闻一些大牛互联网公司会通过浏览器的调试console发布招聘信息。今天终于让我逮到一只! 不过web开发咱纯属票友,木有任何工作经验,全当娱乐。 w.qq.com是webqq的mini版。 console里面输出的信息差点让我以为他被黑了。 其中链接有2,一个是招聘信息,一个是技术类闯关游戏。 由于人在公司,行事要低调,so,招聘页面没有看,反正前端的东西我就是个票友,就不奢望能高攀了。 但是票友也可以凑凑热闹嘛。 点开第二个链接,是封x公司给y特工的信。 点下一章,来到“后门”,真的是个门而已。

腾讯仓促上线理财通,不一会儿就挂了

余额宝这么火的东西,腾讯这个山寨大王肯定不会错过啊,不过经过灰度发布和几次(几次?)低调的测试,现在依然还是个瘸腿儿的产品,之前就有消息说是在和小米的合作中出现问题,而在今天的理财通抢红包的活动中,不到半小时就出现问题,转入的资金迟迟不到帐,资金明细也没有记录,这在9点红包开抢之前可都是实时无延迟的啊,随后理财通即关闭了转入操作。 哈哈,不用猜,肯定是系统挂掉了,关了接口之后后台一边对账一边改bug去了。