COMMENTS

  • 宁波网站优化: 博主加油~理解你的心情
  • Hiro: 努力朝目标前进
  • danielbody: 来支持下博主,加油更新,多多互动O(∩_∩)O~
  • 美女小姨子: 恩 很专业 估计不是学生了吧 :lol:
  • MJ: 是的,好专业!
  • bokit: 你的学习笔记不错呵呵,有点兴趣想知道你是什么职业,或还是学生 ?
  • 宁波SEO: 有点专业,学习了! :lol:
  • 志言: 这个,可以考虑发展第二职业

那点简历---越活越真实

如果上次的更换工作不算跳槽的话,这次的得算了。
简历改了一遍又一遍,拿着改满意的简历再和刚毕业那会的对比,发现了很多的不同。
主修过N多的课程统统的删掉了,因为发现很多名字都已经有些生疏了;带熟悉字眼的也统统干掉了,其实自己什么都不懂,难道会写个hello就说英语牛X了;精通的字眼大都改成了熟悉、了解,真佩服自己当年的肺活量,太能吹了;实话实说的写了一段自己做过什么,这才是最真实的一段了。
进了这个圈才知道,自己能圈住的原来寥寥无几。随着慢慢的圈住一些东西,才懂得自己应该圈住哪些,外面的世界太大了,抓住适合自己的,真正为我所用的才是关键。
虽说简历要展现自己,做的多么华丽,写的多么坚决,但现在看起来,这些指导让我颇有些心虚,为难。
拿着这份简历面试了一下午,这都是好几周前的事了。现在敢写出来也是因为已经不属于那里,也就不用怎么顾忌。其实人家看的也就是自己觉得最真实的那段。聊的很多东西都是关于具体的项目,职业的规划。看来刚毕业的一大段只能归结为凑字数。
曾经就听到之前的经理闲谈之间说到,凡是说精通的,顶多算个了解,说了解的,大概也就知道个名字。真是悲哀,大家心知肚明,却也只能这样。
真实过后,等我再去吹嘘的时候,应该能吹一个更大,大好几倍的泡泡,想想都觉得刺激。继续努力,鼓励自己了!

今天离职了

刚刚办完了离职手续,再有一会就离开这里了
一年多的时光,接触到了很多领域,还是非常感谢公司对我的培养!
祝愿公司日益强大,越来越好!
朝着自己的方向,继续前进了!

IPv4组播通信原理

摘自网络,感谢原作者
摘要:
本文试图成为学习TCP/IP网络组播技术的入门材料。文中介绍了组播通信的概念及原理,以及用于组播应用编程的Linux API的详细资料。为了使读者更加完整的了解Linux 组播的整体概念,文中对实现该技术的核心函数也做了介绍。在文章的最后给出了一个简单的C语言套接字编程例子,说明如何创建组播应用程序。

一、导言

在网络中,主机间可以用三种不同的地址进行通信:

单播地址(unicast):即在子网中主机的唯一地址(接口)。如IP地址:192.168.100.9或MAC地址:80:C0:F6:A0:4A:B1。

广播地址:这种类型的地址用来向子网内的所有主机(接口)发送数据。如广播IP地址是192.168.100.255,MAC广播地址:FF:FF:FF:FF:FF。

组播地址:通过该地址向子网内的多个主机即主机群(接口)发送数据。

如果只是向子网内的部分主机发送报文,组播地址就很有用处了;在需要向多个主机发送多媒体信息(如实时音频、视频)的情况下,考虑到其所需的带宽,分别向每一客户端主机发送数据并不是个好办法,如果发送主机与某些接收端的客户主机不在子网之内,采用广播方式也不是一个好的解决方案。

继续阅读

ioctl及getifaddrs读取IPV4,IPV6网卡信息

使用ioctl的SIOCGIFCONF可以读取所有网卡信息。ioctl调用后返回指向ifconf的结构链表,其中包含了指向ifreq的结构指针。ifconf及ifreq定义在net/if.h中。

《UNIX网络编程》中提供了get_ifi_info函数的实现方法,使用这种方式来获取网络信息。在LINUX下,这种方式不能获得IPV6的网卡信息。《UNIX网络编程》中有如下描述:

在支持IPV6的系统中,没有关于对SIOCGIFCONF请求是否返回IPV6地址的标准。我们给支持IPV6的新系统增加了一个case语句, 这是为了预防万一。问题在于ifreq中的联合把返回的地址定义成一个通用的16字节套接口地址结构,适合16字节的IPV4 socket_in结构,但对于24字节的IPV6 socket_in6结构太小了。如果返回IPV6地址,将可能破环现有的在每个ifreq结构中采用固定大小的套接口地址结构的代码。

经测试,在fedor6-2.6.18kernel中无法返回ipv6地址,事实上,返回的地址簇总是AF_INET,而并非AF_INET6。
这种方法的实现代码如下:

继续阅读

无语的今天

今天还真是郁闷,坐公交没有零钱了,就跟司机师傅说了一声,放5块钱进去,司机师傅同意让我在门口收三块零钱。收了两块还顺利,就差一块钱了,比较背的事情就发生了。一个女孩上来正要投硬币,我说了句找零钱,给我一个。大概是她没听清,也怪我没说清了。好像犹豫了一下还是把两个硬币都扔进了收款的柜子。我几乎无语,也再没说什么。谁知她开始翻自己的包,我还正纳闷她干嘛呢,只见她抬起头来说了一句没零的了,向后边走去了。

愣了我半天,憋出来一句喃喃了一下,把我当什么了?有穿成这样站司机旁边大摇大摆乞讨的么?

网络桥接的使用方法

连接两个局域网的方法除了路由外,比较简单的一个方法就是网络桥接了。这里将列出linux下创建网络桥接的一般步骤。

如下图的所示的网络环境中,中间的桥接计算机具有无线和有线网卡各一块,连接了两个局域网。在这个网络环境中两个局域网处于同一个网段,它可能是由桥接计算机上的DHCP自动分配的地址。这样做,最终产生的情况将是无线终端连接到了桥接计算机的无线网卡ath0(ath0工作在AP模式),有线网局域网通过交换机连接到了桥接计算机的eth0(有线网卡),连接在不同的两个物理网络上,通过桥接,使他们工作在同一个局域网中,同时,可以隔离两个物理网络,这是网络隔离中比较常见的手段。

brctllinux下使用桥接功能必须确保已经安装了bridge-utils,桥接方法如下:

1.创建br0: brctl addbr br0

2.添加物理网口:brctl addif br0 eth0; brctl addif br0 ath0

3.配置br0 IP: ifconfig br0 192.168.1.100 netmask 255.255.255.0 up

4. 启用物理网络:ifconfig ath0 up; ifconfig eth0 up

5.修改DHCP配置,使之在br0网口上分配地址。

如需要,可以用iptables来隔离两个物理网络。

关于const限定符及与指针搭配使用的一点记录

const限定符指定了一个变量为只读变量,是不允许被改变的,因此const变量在定义时就必须初始化。
const在与指针搭配时,使用将变的复杂和微妙。简单的说const搭配指针就会出现以下三种情况:

  • 指向const变量(对象)的指针
  • const指针
  • 指向const变量(对象)的const指针

1.指向const变量(对象)的指针
指针指向了const变量,例如 const int *ptr或者int const *ptr,这两种写法含义一样,这表示const限定了ptr所指向的数据类型,而并非ptr本身。即ptr本身并不是const.可以对ptr重新赋值,无需在定义时初始化。
指向const变量的指针可以指向一个const变量,也可以指向一个非const变量,当然指针类型与变量类型要一致。不管指向了一个const变量还是非const变量,任何企图通过这个指针去修改变量的值都会导致编译错误。同时,const变量只能赋给指向const变量的指针,赋给一个普通变量也是不允许的。

继续阅读

配置DNS的潦草记录

前几天重装了系统,可惜之前离职的同事为我配置的DNS服务器忘了备份,没有了,只能自己动手来。
DNS的基本理论知识还是知道一些,也知道bind组件,记得在装Linux的时候勾选了DNS,这里就省去了一步安装bind组件了。必须安装的组件应该是bind,bind-libs,bind-chroot,我猜的。其实系统中还装了bind-utils,这个工具集不知道是否必须,ypbind不知道是什么东东,不管它。
其实配置这些服务不算难,一般的帮助文档都能在/usr/share/doc/中能找到。bind也不例外,/usr/doc/bind*/下边就是所有的文档了。而且给了一个sample,这不是很方便么。
值得记下来的是bind-chroot组件,这个东东使得/var/named/chroot变成了bind所认为的根目录,记得好像在哪里见过说涉及安全还是权限问题。所以配置文件中提到的/etc/ /var/***都指的是/var/named/chroot/下的,而不是真正的系统根目录。这一点让我困惑了好一阵子。
sample给的还是很有用意的,稍微想一下就会发现,sample下的etc目录,其实就是指/var/named/chroot下的etc目录,换句话说,/var/named/chroot/etc/里边的东东应该长的和/usr/share/doc/bind*/sample/etc/里差不多。同理,sample下的var目录就对应了/var/named/chroot/var。
不要一股脑的复制sameple到chroot中,最好对比着named.conf中所需要的东西来复制,其实默认的named.conf有些貌似也用不到,在我这里,反而因为一项加密的东西ddns_key而导致bind无法启动,删掉后正常了。
在named.conf中应该添加一个自己的zone,仿照着其他例子来写就OK,有个named.rfc***.zones,可以参照。然后在/var/named/chroot/var/named中建立同名的zone文件,同样的仿照其他的zone文件来写。
下班时间到了,详细的就不记录了,很多东西不懂,照猫画虎的配置出来一个,先应付着。

QQ都用了九年了

今天突然发现自己的QQ已经有3281天高龄了,很快就9年了,真是难以置信。9年前我就会玩QQ了?
看QQ的出生年月那年应该读高一,差不多吧,也就是从那会知道了网吧。慧通网吧,记得很清楚,那时候好像经常去的网站有榕树下,中华网,当当,还有个听歌的什么网,那个时候下载歌曲的网站好像很流行。
现在还记得那时候经常在网吧看到别人的电脑上一个长条,滴滴答答的响。后来怎么就知道了那是聊天的,还知道了叫OICQ,都不记得了。
也就在高中的时候,本着学习的态度,成功的在网吧的某台机器上种了马,几天后自己的邮箱中就收到了好多QQ号码和密码,而且都能登陆。当年还算正直,好像没怎么着那些QQ。
看来干这行的确有天赋,认识QQ没几天都会偷别人QQ了。

vim的配置文件设置--语法高亮、显示行号等

转载自网络
在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。
  在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:
  $vi ~/.vimrc
  设置完后
  $:x 或者 $wq
  进行保存退出即可。
  下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:

“双引号开始的行为注释行,下同
  “去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
  set nocompatible
  “显示行号
  set nummber
  “检测文件的类型
  filetype on
  “记录历史的行数
   set history=1000
   “背景使用黑色
  set background=dark
  “语法高亮度显示
   syntax on
  “下面两行在进行编写代码时,在格式对起上很有用;
  “第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
  “第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
  “写上很有用
  set autoindent
  set smartindent
  “第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
  set tabstop=4
  set shiftwidth=4
  “设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
  set showmatch
  “去除vim的GUI版本中的toolbar
  set guioptions-=T
  “当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
  set vb t_vb=
  “在编辑过程中,在右下角显示光标位置的状态行
  set ruler
  “默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
  set nohls
  “查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
  “个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
  “次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
  “时,别忘记回车
  set incsearch
  “修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
  if has(“vms”)
   set nobackup
  else
   set backup
  endif

  如果去除注释后,一个完整的.vimrc配置信息如下所示:
 

继续阅读

Page 1 of 812345678»