向死而生,方得重生。

Search

2017-05-24

macOS终端下创建Linux启动盘


1、打开终端(Command+空格,输入terminal)并定位到当前文件夹,例如进入我的下载文件夹(/Users/root/downloads),可以通过下列命令。

cd /Users/root/downloads/

2、通过hdutil工具转换.iso文件为.img文件。
(注:macOS输出时会自动添加.dmg后缀,但对转换没有影响)

hdiutil convert -format UDRW -o CentOS.img CentOS.iso

3、获取你的设备挂载位置。

diskutil list

注意根据NAME(卷标名)加以区分,大致格式为/dev/diskX,例如我的是/dev/disk2。

4、取消U盘在设备上的挂载。

diskutil unmountDisk /dev/diskX

注:将上面diskX中的X改为第三步中实际获取的数字。

5、将启动镜像写入U盘。(耗时较长,请耐心等待)

sudo dd if=CentOS.img of=/dev/rdiskX bs=1m

几个地方注意一下:

  1. 将if后面的文件名注意修改,如果没有去掉原来的.dmg请保留,除相对路径外也可以使用绝对路径引用,同时注意将diskX中的X改为第三步实际获取的数字。

  2. 输入完成后会要求输入当前用户密码,键入Enter后可能出现假死,实际上是数据写入过程,耐心等待即可。

  3. 如果提示错误:/dev/diskN: Resource busy, make sure the disk is not in use. 可以打开系统的“磁盘工具”,并卸载掉对应的磁盘,重试。



6、至此,如果你的设备提示未初始化,则其制作已经成功了。如果没提示,你可以用下面的命令(注意替换X)卸载掉U盘重新插一次试试,如果还不行,可能需要你按照步骤重新再来一次。

diskutil eject /dev/diskX

2017-05-14

我看WannaCry病毒在CERNET爆发


5月12日真是一个悲伤的日子,9年前的今天发生了一场震惊全国的地震,而今天的5月12日教育网的一场攻击也将这天给记录下来。

其实这款病毒的原理非常简单,将设备上文件通过特定的加密方式(暂时未知)进行加密,然后弹出比特币勒索界面要求支付比特币后解锁。通过扫描本地局域网中机器,对开放445端口的设备利用Windows的漏洞直接攻击。

具体的应对方案网上早已铺天盖地,更新修复Windows漏洞、关闭smbv1服务或通过防火墙策略关闭445端口,卡巴斯基实验室等也在加紧研究其加密方式和解密方式。

先提一句——千万不要打款,即使你有钱!比特币的交易是一种完全匿名的方式,其交易信息不可追溯,黑客以此隐藏身份,同样也无法获知你是你,身份的验证是一件十分困难的事情。其次,你的资金被用来进行病毒的下一步发展,所以你可能就是下一代病毒的出资人,虽然你并不情愿。还有,据知友反应,有受害者表示即使支付了比特币也没有恢复资料。

还有一点,我认为学校里不建议甚至不允许SOHO路由器的存在完全是助长了病毒的传播。SOHO路由器本质就是一个NAT设备,经历了NAT从公网到私有网络的映射,你的设备处于一种相对安全的地步,如果不是你主动获取(或许你并不知情,指的是被钓鱼的情况),你的内网不会受到学校局域网的影响,同样你的内网内一旦有病毒也不会影响到整个学校的局域网。

5.14更新:其实如果校园无线网开启AP隔离也能一定程度上避免这类悲剧。

侧面也反映出了一个问题,中国的CERNET在网设备究竟是多么不安全!有多少设备仍旧在运行着旧版的Windows系统,里面又有多少操作系统是微软停止支持的,有多少即使微软支持但是仍旧放弃Windows Update。毕竟CERNET和运营商网络的还是有一定差异的,自然对CERNET用户更加信任自然会有更少的策略,但是,这种信任,终究成了一种悲伤的存在。

再者说,WannaCry开了一个很糟糕的头,接下来NSA泄露的漏洞又会有多少被利用开发出新的病毒,很难想象接下来会发生什么,恐怖!



看看感染追踪图(https://intel.malwaretech.com/botnet/wcrypt),满目悲伤。

附。清华大学信息化技术中心4月15号的通知,这大概就是所谓的未雨绸缪,也不愧于中国工科类排名第一的高校的名声。

2017-05-08

会计求职信(不涉及专业知识)


【要求】

It is frequently reported that students are subject to(受到) an increasingly high stress in their study, daily life, and of course, their job-hunting(求职). In order to be successful in job-hunting, students should take every step carefully. An excellent, novel application letter for job can, to a great extent , excite the employers’ interest in you.

Suppose you are Li Ming, a graduating student in China University of Petroleum , majoring in accounting(会计). You expect a position for an accountant in a big company. Try to write an application letter to the company to strive for a chance of job interview. You are required to be familiar with the structure (opener, body and close) of a letter. You’re are mainly required to learn how to write an application for job. Your letter should be at least 120 words.

【作文】

Cover Letter for Accounting
Yangtze River Road 66#, Qingdao, Shandong
138-8888-8888
liming@s.upc.edu.cn


Dear Managers,

With great willingness, I am applying for the position of accountant which was advertised on the website of the corporation. I believe that my education, skill-set, and experience make me a suitable candidate for this vacancy.

I am an accredited holder of a bachelor degree with accounting from China University of Petroleum, and highly organized and self-driven individual, passionate about developing my career as accountant in your corporation.

As an undergraduate, I have gained an understanding of financial instruments and accounting software. A CPA license was obtained at that time. As a Certified Public Accountant, I am an accomplished communicator, with excellent organizational, decision making, and time management skills.

Proactive, innovative and highly influential, I am seeking a challenging but rewarding position, which is why I was naturally drawn to this exciting opportunity. I hope you can consider my application and wish your company a splendid future.

Sincerely yours,
Li Ming

【参考翻译】

会计求职信
山东省青岛市黄岛区 长江西路66号
138-8888-8888
liming@s.upc.edu.cn


亲爱的人事经理,

很荣幸,我希望我能胜任贵公司网站刊登的会计师职位。我相信我的教育、技能和经验足以支撑我成为这个空缺的合适候选人。

我拥有中国石油大学(华东)的本科学历,我是高度自制和充满驱动力的人,期待能在贵公司担任会计职务。

本科生期间,我了解了金融工具和会计软件相关知识,并获得注册会计师执照。身为一名注册会计师,我也是一名成功的沟通者,具有良好的组织、决策和时间管理技能。

积极,创新和高度影响力——我正在寻求一个具有挑战性但有意义的职位,这就是我本能地被这个令人兴奋的机会所吸引的原因。我希望您能考虑我的申请,祝贵公司蒸蒸日上。

诚挚地,
李明

2017-05-02

浅谈this指针


先给出知码开门上到一道练习题:

定义一个Circle类,有数据成员radius(半径)、成员函数getCircumference()计算圆的周长,成员函数getArea()计算圆的面积。在主函数中定义圆对象,通过调用成员函数计算圆的周长和面积。提示:圆周率取值3.14。

后置代码:



当时给出了这样的代码,但是在debug发现了一个问题。

给出的代码(纠正也在这上面,通过注释写出)



Xcode控制台输入输出:

6
半径为6的圆的周长为:0,面积为:0


更正之后的输入输出:


6
半径为6的圆的周长为:37.68,面积为:113.04


没想到少了一个this指针,结果竟然完全不正确。仔细回想,如果不加this指针,则是将自身的值重新赋给自身,自然没有任何意义(不明白为什么Xcode既不报Warning也不报Error)。

但是反过来,这个传说中的this指针又究竟是什么呢?

biaocheng.net给出了这样的解释:
this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。

我们在刚刚的代码中加入一个操作print_this,源代码如下:



我们在刚刚的代码中,将main函数替换为下面的代码,创建两个不同的对象并观察运行情况。



程序在Xcode上的打印结果:

0x7fff5fbff718 
0x7fff5fbff710 
Program ended with exit code: 0


可以看到,this指针用于指向当前对象,对于不同的对象,所指向的地址并不相同。

biaocheng.net给出了对this指针本质的理解:
this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的,它并不出现在代码中,而是在编译阶段由编译器默默地将它添加到参数列表中。

this 作为隐式形参,本质上是成员函数的局部变量,所以只能用在成员函数的内部,并且只有在通过对象调用成员函数时才给 this 赋值。

补充几点说明:

  • this 是 const 指针,它的值是不能被修改的,一切企图修改该指针的操作,如赋值、递增、递减等都是不允许的。
  • this 只能在成员函数内部使用,用在其他地方没有意义,也是非法的。
  • 只有当对象被创建后 this 才有意义,因此不能在 static 成员函数中使用。
参考文献:http://c.biancheng.net/cpp/biancheng/view/201.html