code

Java读写串口程序

Posted in Linux, code on 6月 2nd, 2010 by 飘(piao2010) – 8 Comments

好久没更新博客了,自从hacker-piao.cn域名过期以后(懒得续费)感觉PV明显下降,主要原因:百度对新域名piao2010.com的收录几乎为零,主要的访问来源谷哥中国的网络又偏偏时好时坏。。。牢骚结束步入正题:毕业设计的一部分涉及对串口读写操作,所以分享一下相关的东东。

首先是下载配置commapi(对串口操作必须用到的jar包)
将下载的文件解压缩后,在javacomm20-win32commapi目录下有必需的三个文件comm.jar,javax.comm. properties和win32comm.dll。将文件comm.jar拷贝到%JAVA_HOME%jrelibext;文件 javax.comm. properties拷 read more »

手机短信天气预报自动发送程序

Posted in Linux, code on 2月 28th, 2010 by 飘(piao2010) – 23 Comments

今天闲来无聊想起网上流传已久的飞信API接口,加上MM说想要手机天气预报,平时又没空拿她手机安装软件,所以就有了写个手机短信天气预报程序的想法。

程序大致分成两个模块,(一)PHP程序采集中国气象网站的数据用正则表达式进行提取关键信息,这个以前的文章已经写过不再重复叙述。然后利用飞信的API接口向MM的手机发送天气预报数据。

(二)写一个shell脚本,实现访问PHP程序。考虑到网络偶尔出现故障,加入了sleep和while循环。
最后在crontab里面添加每天定时执行shell脚本即可。

部分关键代码如下: read more »

钢铁温度监控系统

Posted in code on 12月 31st, 2009 by 飘(piao2010) – Be the first to comment

标题扯得有点大,哈哈,这是我们工程训练的课题。当然我所在小组的任务只是其中很小的一部分——数据存储,组员除了我全部要考研,没时间弄,无奈任务就交给了我。

第一次用JAVA写程序,比较难看,上程序吧。 read more »

PHPCMS开发文档里看到PHP编码规范

Posted in code on 9月 8th, 2009 by 飘(piao2010) – Be the first to comment

无意间发现这篇文章觉得比较有用,原作者不明。

注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此。写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正。

Phpcms 编码规范
1. 引言…. 2
2. 适用范围…. 2
3. 标准化的重要性和好处…. 3
4. PHP编码规范与原则…. 3
4.1. 代码标记… 3
4.2. 注释… 3
4.3. 书写规则… 4
4.3.1. 缩进… 4
4.3.2. 大括号{}、if和switch. 4
4.3.3. 运算符、小括号、空格、关键词和函数… 5
4.3.4. 函数定义… 6
4.3.5. 引号… 6
4.3.6. 多语言问题… 7
4.4. 命名原则… 8
4.4.1. 变量、对象、函数名… 8
4.4.2. 常量… 8
4.5. 变量的初始化与逻辑检查… 8
4.6. 安全性… 9
4.7. 兼容性… 9
4.8. 代码重用… 10
4.9. 其他细节问题… 10
4.9.1. 包含调用… 10
4.9.2. 错误报告级别… 11
5. 数据库设计…. 11
5.1. 字段… 11
5.1.1. 表和字段命名… 11
5.1.2. 字段结构… 11
5.2. SQL语句… 12
5.3. 性能与效率… 13
5.3.1. 定长与变长表… 13
5.3.2. 运算与检索… 13
5.3.3. 结构优化与索引优化… 14
5.3.4. 查询优化… 14
5.3.5. 兼容性问题… 16
6. 模板设计…. 16
6.1. 代码标记… 16
6.2. 书写规则… 16
6.2.1. HTML. 16
6.2.2. 变量… 16
6.2.3. 语言元素… 17
6.2.4. 缩进… 17
7. 文件与目录…. 17
7.1. 文件命名… 17
7.2. 目录命名… 18
7.3. 空目录索引… 18

1. 引言
本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。以达到事半功倍的效果,如果有需要本文档会不定期更新。 read more »

PHP实现获取客户端IP地址以及IP地址的伪造

Posted in code, 安全相关 on 8月 17th, 2009 by 飘(piao2010) – 2 Comments

以下是目前网上比较常用的获取客户端IP地址的方法

<?php 
function get_ip_address() { 
    if (isset($_SERVER)) { 
      if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
      } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 
        $ip = $_SERVER['HTTP_CLIENT_IP']; 
      } else { 
        $ip = $_SERVER['REMOTE_ADDR']; 
      } 
    } else { //iis不支持getenv
      if (getenv('HTTP_X_FORWARDED_FOR')) { 
        $ip = getenv('HTTP_X_FORWARDED_FOR'); 
      } elseif (getenv('HTTP_CLIENT_IP')) { 
        $ip = getenv('HTTP_CLIENT_IP'); 
      } else { 
        $ip = getenv('REMOTE_ADDR'); 
      } 
    } 
    return $ip; 
} 
echo get_ip_address(); 
?>

read more »

关于file_get_contents函数超时的解决方法

Posted in code on 8月 11th, 2009 by 飘(piao2010) – Be the first to comment

今天在测试天气预报系统的时候发现一个问题,就是在网络状况比较差的情况下file_get_contents函数经常读取远程数据失败。经过Google和自己的一番测试,解决方案如下:

<?php
/*设置超时配合失败之后尝试多次读取,效果比原先好很多*/
          $opts = array( 
           'http'=>array( 
	         'method'=>"GET", 
	         'timeout'=>1, //设置超时
		) 
	); 
	$context = stream_context_create($opts); 
	$cnt=1; //最多尝试10次读取
          while(($contents = @file_get_contents("$url",false,$context)) === false && $cnt <= 10  )
		$cnt++;
?>