戊辰人博客

青,取之于蓝而青于蓝;冰,水为之而寒于水。

记我转行前后的那几日

日期:2015年7月20日 作者: 分类:随笔 阅读:803

很少写文章(如果随意记录几笔也能称得上是文章的话),以前大家都喜欢在qq空间里面写日志,不过我不喜欢,一是自己没有写文章的天赋和才华,二是总觉得在公共空间写自己内心的东西太矫情。不过我有一本日记,偶尔会记上一笔,因为我觉得生活需要被记录,以某种形式,供我们日后回忆。这次在这里写我辞职前后的一些事,都算不上太私密的事,只不过是把一些经历用记流水的形式复述一下而已。

从沙彼高辞职是今年一月的事了,从一月到现在,这条时间线上发生的事,倒是记忆深刻。以前在沙比高上班的日子,每天都是差不多相同的重复,早上七点起床,吃公司准备的早餐,上班,下班,然后回到工厂的宿舍,相同的日子过久了,回忆前面发生的事就会很困难,因为一天中没有特别的事发生,这就让这一天没有日后被特别记住的理由。

提出辞职是2014年12月31号,不记得是什么原因选在那天跟办公室老大辞职的,也许没有什么特别的原因,就像某件事情到了一定的时候会自然发生一样。那天之前好像跟小路子(就是本博客的博主)有微信聊天,具体内容不能复述,但大概内容是记得的,差不多就是说了一些想要辞职的想法。

阅读全文…

C++学习复习笔记03 – 析构函数

日期:2015年7月17日 作者: 分类:编程 阅读:475

析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显示的析构函数。

析构函数的知识点:

1. 函数名为取反符~加上类名,例如~stud( );

2. 无参数无返回值;

3. 在对象脱离作用域时,如程序退出、函数调用完成退出时,析构函数会自动调用;

4. 只能有一个析构函数;

 

由于自动调用,我们就可以在析构函数中做清理类工作,如释放堆中申请的内存。

 

代码实例:

#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
    Person()
    {
        cout << "创建类:构造函数Person()自动执行了" << endl;
    }
    ~Person()
    {
        cout << "结束类:析构函数~Person()自动执行了" << endl;
    }
};

int main()
{
    Person p1;
    cout << "------------------------------" << endl;
    return 0;
    //此处 p1 将脱离作用域,析构函数将发生作用
}

阅读全文…

全家桶魔性测试

日期:2015年7月9日 作者: 分类:互联网 阅读:2,083

什么叫全家桶?

这里的全家桶不是指KFC的全家桶,这里的全家桶是指国产杀毒软件以及一系列相关的软件。如百度全家桶,包含百度杀毒、百度卫士、百度浏览器、百度输入法等等;又如360全家桶,包括360杀毒、360安全卫士、360浏览器、360手机助手。其它的依此类推。

为什么要测试全家桶?

公司的办公电脑,每过一段时间就有人抱怨卡得用不了开机超慢等,我过去一看,上面装了好多品牌的全家桶,我就没好气的说:“你把电脑上装那么多杀毒软件,它们互相扑杀,不卡才怪”。TA们就一脸无辜的说:“又不是我装的,我用着用着,它就有了”。好吧,总结了一下,基本上都是被无节操的威胁安装、引导安装、捆绑安装以及弹窗误点带进来的。比如电脑上有360浏览器,它可能会提示你说:您的电脑没有XXX保护,为了XXX安全,建议安装360安全卫士;当你在它的威胁下安装某一款安全软件时,它就默默的捆绑了相应的其它产品,这样全家桶就集齐了(据说集齐7个全家桶能召唤神龙)。而好多时候这些软件都是在用户不知情的情况下自己安装到用户的电脑中的。

更恶心的是,你根本没办法将它们彻底卸载掉,只有重装系统了。

quanjiatong

阅读全文…

C++学习复习笔记02 – 构造函数

日期:2015年7月6日 作者: 分类:编程 阅读:495

构造函数无返回值,函数名和类名相同,构造函数仅仅只是实现自动调用,并无特别。

语法与使用:

#include <iostream>
#include <string>
using namespace std;

class Person
{
private:
    string name;
public:
    //构造函数声明方法:类名(实参表){}
    Person(string name)
    {
        //注意:this->name是类中私有变量,name是函数传递进来参数
        this->name = name;
    }

    void who_am_i()
    {
        cout << this->name << endl;
    }
};

int main()
{
    //使用:类名 对象名(实参表);
    Person p1("吴邪");

    p1.who_am_i();
    return 0;
}

阅读全文…

C++学习复习笔记01 – 类的创建与使用

日期:2015年7月6日 作者: 分类:编程 阅读:407

说明:本系列只展示C++中一些关键语法最直观的用法,对于细节不做复述,因为有很多经典的书籍上有详细的解释;另外,学习一门技术,不能只看视频或者学习别人的重点笔记,书本还是不可少的,它不仅可以从整体上对技术的学习路线进行一个概括,同时还能作为一本参考手册进行使用,所以,如果打算学习一门技术,买一本书是必要的,几十块的投资也是值得的。

 

类的声明:

class 类名
{
访问类型:
    成员变量或成员方法;构造函数;析构函数;
}; // 结束的分号";"千万不要忘记,初学时很容易忘掉的。

类的使用:类名 实例名;

举例:

#include <iostream>
// 不要问下面是什么意思,初学时记住要这样写就行,会用后再去翻书查资料。
using namespace std;

// 声明一个名为Code的类
class Code
{
// 访问类型为public,即公有类型,可以不写,默认为private类型
public:
    // 声明类Code的成员方法
    void geass()
    {
        cout << "有没有一首歌会让你想起我!!!" << endl;
    }
};

int main()
{
    Code p; // 实例化Code类,实例为p
    p.geass();
    return 0;
}

阅读全文…

LeetCode编程挑战(No.1 Two Sum)

日期:2015年7月3日 作者: 分类:编程 阅读:1,022

Given an array of integers, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.

You may assume that each input would have exactly one solution.

Input: numbers={2, 7, 11, 15}, target=9

Output: index1=1, index2=2

思路:

1)遍历数组nums;

2)声明一个map变量,以 target – nums[i] 为键,i 为值存储在map中;

3)当进入下一次遍历时,检查muns[i]是否存在于map中,如果存在,说明当前索引值与map中该键的值所对应的索引值符合条件。

阅读全文…

论华为竞争力的根源

日期:2015年6月29日 作者: 分类:互联网 阅读:1,361

华为一个让外企恐惧让国人尊敬的企业,在我个人看来,华为已经是中国最有竞争力的民营企业。那么华为是如何做到这么牛的?在探讨这个问题之前,我先来说说华为在哪方面牛,免得一些不太了解华为的小白们以为华为只做手机。说起来手机只是华为最近才崛起的一个版块,华为真正赖以起家的是通信行业和电信行业。华为的竞争力目前主要表现在三个行业,均做到了这三个行业的顶尖水平。

1,路由器交换机等网络设备

交换机是数据链路层的传输设备,路由器是ip层传输设备,我们使用的互联网的每一帧数据都要通过路由器和交换机进行交换和路由。这二者就好比是一张网络世界的地图,只有通过这张地图,我们才能准确无误大达到世界的每个角落。普通的网络用户可能会感到奇怪,既然华为的交换机和路由器设备这么厉害,为啥市面上很少看到华为的路由器,而像“腾达”这样的路由器到处都是呢?这是因为我们用的路由器都是家用设备,属于比较低端的设备。而华为的路由器和交换机一般在大型的数据中心机房使用,属于高端设备。交换容量和处理速度远远不是这些家用路由器所能比拟的,并且价格方面也上百万到千万级别的。

华为在这一领域主要竞争对手是思科、惠普、Juniper以及国内的中兴。这里提示下,惠普之所以榜上有名,很大程度上是收购了H3C(华为 3com)。H3C是华为和美国3com的合资公司。里面很多骨干都是华为嫡系,甚至至今都保留华为的工作作风。华为曾经想要收购H3C被美国安全机构阻挠,后来H3C被惠普收购,在这件事请上华为算是吃了亏。在中国市场上华为排行老大,华为在中国区营收120亿美元,思科20亿美元。而在全球区域,思科则是当之无愧的领导者。IDC全球以太网交换机和路由器季度跟踪调查的结果显示,全球以太网交换机市场(2/3层)在2014年第二季度达到了57亿美元的规模。从供应商的角度看,在2014年第二季度,思科的 以太网交换机(2/3层)收入占到市场份额约60%,惠普的市场份额在2014年第二季度占到了10.0%。这两者相加超过了70%的市场份额,华为中兴等其他厂商的市场份额不超过30%。所以在全球市场来说,虽说思科CEO钱伯斯说“华为是最强竞争对手”,但是华为要想超过思科还有很长的路要走。难关有评论说“思科称王的IP领域,华为的市场份额小到只能出现在数据机构市场报告的“其他”选项中”

但是就个人看来,市场份额的巨大差异有很大部分原因是思科的作为路由器企业的历史累积优势(思科1984年成立)以及作为西方企业所获得美国政府支持优势。从这些年来 美国政府不停的阻挠华为中兴可见美国人还是很怕华为的。从技术上来说,华为和思科差距不大,在某些方面还有领先。比如在400G路由器产品上,华为已经思科摔在身后。

阅读全文…

为什么百度在知乎饱受鄙夷与不屑?

日期:2015年6月4日 作者: 分类:互联网 阅读:1,591

百度做的好事实在是太长了,所以本文还可能会变长。

我们来看看使用百度前必读好了

为什么百度在知乎饱受鄙夷与不屑?

(你™必读放这个位置是在锻炼我们的眼睛吗)

为什么百度在知乎饱受鄙夷与不屑?

百度隐私权保护声明

二、因您使用产品或服务获取的信息

2.设备信息。为了对不同型号的设备提供更好的服务与体验改善,百度会记录硬件型号、操作系统版本号、手机的国际移动设备身份码(IMEI)、手机的网络设备的硬件地址(MAC)等信息。

三、信息使用

3.百度可能会与合作伙伴共同向您提供您所要求的服务或者共同向您展示您可能感兴趣的内容。在信息为该项产品/服务所必须的情况下,您同意百度可与其分享必要的信息。并且,百度会要求其确保数据安全并且禁止用于任何其他用途。除此之外,百度不会向任何无关第三方提供或分享信息。

阅读全文…

CentOS 6.x下防火墙设置

日期:2015年6月3日 作者: 分类:运维 阅读:868

1351425420-0

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。

下面是一段在CentOS 6.x下iptables的初始化设置脚本:

#!/bin/bash

# 打开有状态检测的端口,如22
function open_state_port() {
    PORT=$1
    PROTOCOL=$2
    iptables -A INPUT -p $PROTOCOL --dport $PORT -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --sport $PORT -m state --state ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --dport $PORT -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -A INPUT -p $PROTOCOL --sport $PORT -m state --state ESTABLISHED -j ACCEPT
}

# 打开普通的端口
function open_normal_port() {
    PORT=$1
    PROTOCOL=$2
    iptables -A INPUT -p $PROTOCOL --dport $PORT -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --sport $PORT -j ACCEPT
    iptables -A OUTPUT -p $PROTOCOL --dport $PORT -j ACCEPT
    iptables -A INPUT -p $PROTOCOL --sport $PORT -j ACCEPT
}

# 1. 清除所有规则
iptables -F
iptables -X

# 2. 允许本地回环地址通过防火墙
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT

# 3. 允许ping打开
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# 4. SSH访问控制打开
open_state_port 22 tcp
open_state_port 80 tcp

# 5. 配置默认策略为DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# 6. DNS解析开放
open_normal_port 53 udp

# 7. MySQL端口开放
open_normal_port 3306 tcp

# 8. 防DoS攻击
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

阅读全文…

sql server 2000错误2812 未能找到存储过程sp_password

日期:2015年5月25日 作者: 分类:数据库 阅读:748

在帮助朋友解决管家婆问题时,管家婆报错未能登录’sa’账户,看到这个提示后的第一个想法就是可能是什么原因数据库’sa’账户密码被修改或者密码忘记导致连接失败。

既然是账号问题时,那去改一下密码就好啊,于是打开数据库的企业管理器,进入数据库的 SQL Server组→安全性→登陆,找到sa用户,右键属性,修改密码,可是出现如下错误:

sql server 2000错误2812

Google之,网上给出的答案是:

现在有很多自动扫描1433端口的软件,会破坏sp_password。造成在修改SA密码的时候出现2812错误。

解决方法是重建sp_password,用WINDOWS身份验证登陆到SQL SERVER的查询工具。复制–粘贴–执行如下代码就OK。

阅读全文…