写时好像老是受thinkphp及fleaphp的影响,所以写了个不伦不类
而且好像效率上也不太行,光框架就占内存221k,执行速度也在0.02秒左右 如果加上smarty的话,内存立即增到500多k执行时间0.03秒左右!
以后把它再优化一下,写这个框架的初衷就是为了快速,低消耗!写下来后才发现要改正的地方还不少!
目前框架还是个半成品,只是实现了控制器部分,视图用的是smarty 然后数据模型部分现在还没有完善,缓存处理方面还没写!
公司网站正在新做的一个功能
考虑到最近blog里没写什么新的东西就把这段代码贴一下
test.html
php处理部分:
效果
查看网址
我也看看我三个qq的时间:
7279915
50130089
1903710
还一个我妹的,号是 380715XX
(8位的,03年申请到的,貌似运气非常好,当时用qq申请精灵申请的!一般来说01年末申请的号就是9位的了)
命令全部在命令模式下输入 (就是记得输命令时按下ESC键)
保存文件 :w (注意,前面有:)
强制保存文件 :w!
退出文件但不保存 :q
强制奶出文件但不保存 :q!
保存并退出 :wq (同理,如果是强制的话,加!)
==================================
在光标所在行插入新行 o (注意,不是零,是字母o)
在光标前面插入字符 i
在光标后面输入字符 a
删除一行 dd
删除光标所在的字符 x
转到具体的一行 10gg 或是 :10 (10为行号)
转个首行 gg
转个尾行 shift+g
清空全部内容 :%d
清空光标所在行及下面全部行的内容 dG (注意大小写)
撤销上一步操作 u
重做上一步操作 ctrl+r
搜索查找字符 ?str 或 /str (str表示要查找的字符)
===========================================
这些是最基本的了,还有像替换之类的比较复杂的就找找vi的全部命令看看
1、安装vim
colorscheme elflord
"colorscheme darkblue
"colorscheme evening
"colorscheme murphy
"colorscheme torte
"colorscheme desert
这些事提供的一些配色方案,自选一种就很漂亮了~
从网上下载了最新的 QQWry.Data 库文件,首先碰到的一个问题是解析这个文件。根据网上的资料(LuamaQQ作者写的日志),根据自己的摸索,总结出了此文件的内容结构,以及解读方式。
一、文件结构
文件主要分三个结构
1、文件头,8个字节;
2、数据记录区,不定长度;
3、索引区,长度为 7 的整数倍;
二、文件头
文件头的8个字节分两部分,每个部分4个字节,分别指定了索引区的开始地址和结束地址。所以可以通过两个地址的差值 除 7 后 加 1 可以计算出总的记录数。
二、记录区
记录区的数据需要通过索引区的数据来获得各个数据的起始位置;本区数据记录了IP地址的结束地址和地区字符串;所有地区字符串都以 0x00 为结束。
三、索引区
检索IP对应的地区,关键就是找到IP起始地址对应的索引内容。一个IP索引数据包含7个字节,前4个字节是IP地址起始值,后3个字节是对应的IP数据记录在文件内的偏移地址;IP数据记录中,前 4 个字节是IP结束地址;紧跟的数据有两种模式: 0x01 模式 和 0x02 模式。
0x01模式,即在IP数据的第5个字节是 0x01,则在后面的 3 个字节是国家地区数据的偏移地址;国家地区数据包括国家和地区这两个字符串。即
—————————————————————
4字节 | 3字节 重定向 0x NN NN NN -> 国家地区数据的文件偏移地址
—————————————————————
0x02模式,即在IP数据的第5个字节是 0x02,则在后面的 3 个字节是国家数据的偏移地址,地区数据是再往后的字符串,以 0x00 截至。即
—————————————————————————–
4字节 | 3字节 重定向 0x NN NN NN -> 国家数据的文件偏移地址 | 地区字符串 | 0x00
—————————————————————————–
对于 0x01 模式所得到的 国家地区数据中,它可能又带有一个重定向结构,即
————————————–
国家字符串 | 0x00 | 地区字符串 | 0x00
————————————–
或
————————————————————————-
国家字符串 | 0x00 | 0x02 | 3字节 0x NN NN NN -> 地区字符串的文件偏移地址
————————————————————————-
对于前一种情况,比较简单,直接读出两个字符串数据就可以了;对于后一种情况,需要再次重定向到地区字符串的偏移地址,然后读取到 0x00 为字符串结尾。
对于这种采取地址映射实际字符串值的方式,主要作用是避免重复记录字符串值。在整个IP地址库文件中,有太多相同字符串记录了,采用 3 字节的映射地址要比重复记录字符串值节省太多空间了。
发布时间应该是10月30号,但今天才反应起来,今天都31号了。
http://www.ubuntu.com.cn/GetUbuntu/download
昨天申请的免费光盘,一个月后就能到了。
光盘提前一个星期就可以申请了。
服务器使用shorewall作为防火墙,实际上shorewall只是作为iptables的一个配置程序而已,实际上防火墙还是iptables;
首先是建立VPN,使用软件包PPTPD,这样做的好处是方便认证,也支持windows,安全性不如openvpn,但是简单实用;
服务器环境:
OS:ubuntu server 8.04.1
firewall: shorewall
IP:192.168.2.100
安装:
sudo apt-get install pptpd
修改配置文件:/etc/pptpd.conf
修改localip remoteip
localip 192.168.250.1
remoteip 192.168.250.234-238,192.168.250.245
这里随便找了个IP段localip相当于拨号后的服务器地址,可以写成本机IP,或者和remoteip的IP段相同的一个IP地址
remoteip是客户机分配的IP段,这里分配了12个IP地址,也就只允许12个机器同时通过VPN连接,再增加就不能分配到IP地址了
修改配置文件:/etc/ppp/chap-secrets
这个文件里面设置登陆用的账号密码等信息
设置格式是:
# client server secret IP addresses
abc * 123456
第一个是用户名 然后是服务器地址 然后是登陆所用的密码 最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配
以上过程之后,咱的PPTPD就配置好了哈
由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议
编辑/etc/shorewall/rules
增加:
ACCEPT net $FW gre
ACCEPT net $FW tcp 1723
ACCEPT net $FW tcp 47
然后重启下shorewall:
sudo shorewall restart
开始测试在windows上VPN拨号吧
windows下VPN连接建立方法就不多说了哈
OK,测试VPN可以拨通了,但是还不能通过服务器的网络连接互联网,可能你会发现,除了访问服务器,其他你什么都干不了
下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,希望以后能解决这个问题
拨通VPN后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0
做NAT我也使用shorewall来做
修改/etc/shorewall/interface
增加:
ppp0 ipv4
修改/etc/shorewall/zones
增加:
ppp ppp0
修改/etc/shorewall/masq
增加:
eth0 ppp0
OK,然后重启shorewall
sudo shorewall restart
NAT配置好了
这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。
如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了。