百度统计的js脚本原理分析

作者: 分类: 技术文章 时间: 2012-01-31

我的博客目前使用了百度统计。爱研究爱琢磨的我自然得了解一下这个百度统计它是怎么来实现帮我的博客统计访客的功能。

首先,百度统计会要求我们在要统计的页面中嵌入一段js语句,类似如下:

阅读全文»

javascript中判断语句精简写法

作者: 分类: 技术文章 时间: 2012-01-31

判断语句if是极为常见的逻辑代码。常规写法为:

if(1==1 && 1<2)

{

    name=’lixin’

}

但是如果判断后只需要执行一行简单的内容,可以省略掉花括号,而把要执行的那一行语句紧挨着if的下一行书写,如:

if(1==1&& 1<2)

name=’lixin’

今天发现还有一个写法更简单,直接都可以省略掉if这两个字了:

1==1 && 1<2 && (name=’lixin’);

通过REST访问amazon s3 服务

作者: 分类: 技术文章 时间: 2012-01-28

Amazon S3 允许通过REST和SOAP两种方法访问。这里说说一下这个REST怎么用。

这里用一个最简单的例子来介绍。

GET Service
Returns a list of all buckets owned by the authenticated
request sender.
GET / HTTP/1.1
Host: s3.amazonaws.com
Date: date
Authorization: AWS AWSAccessKeyId:signature


 

 

上面这段话是在Amazon S3的API文档里摘录的。意思是通过该Get请求,会得到该用户拥有的所有buckets的列表。黄色部分就是要构造发送到服务器的数据。

数据的第一行,是一个普通的http GET请求,略过。

HOST

第二行host参数。应该填写你的s3数据中心的地址,例如在东京的数据中心,那么地址是http://s3-ap-northeast-1.amazonaws.com 这个。其他地区的地址可以访问这个地址查询。不过我发现,我不使用东京的那个地址,而是用上面例子说的s3.amaxonaws.com这个地址也是可以的,具体为什么没有找到答案,个人猜测是上面那个地址会自动路由。

阅读全文»

avr-gcc(winavr)操作eeprom很简单

作者: 分类: 技术文章 时间: 2012-01-24

        在我使用的atmega16L的芯片中,包含 512 字节的 EEPROM 数据存储器。它是作为一个独立的数据空间而存在的。存储在EEPROM中的数据,在没有电的情况下下仍然可以保存,通俗的说类似电脑的硬盘。

EEPROM的访问需要涉及3个寄存器:地址寄存器、数据寄存器和控制寄存器。通过操作这3个寄存器来实现对EEPROM的操作。不过,在winavr中,已经提供了一个eeprom的操作类库给我们了,地址如下:

#include <avr/eeprom.h>

       该文件提供了几个函数,可以很方便地帮助我们完成对eeprom的操作。

eeprom_is_ready()

        这个函数返回一个布尔值,如果eeprom准备就绪的话会返回true。在对eeprom进行读写操作之前都应该先判断是否已经准备就绪。于是while(!eeprom_is_ready()){}这句话会出现在每个操作之前。

eeprom_busy_wait()

        这个函数其实是对上面eeprom_is_ready()的包装。正如上所说,每次都要先写一个while的等待不是个好方法,所以winavr就给包装一下。该函数的定义为:#define eeprom_busy_wait() do {} while (!eeprom_is_ready())

eeprom_write_byte(address,value)

        这个函数是向address这个eeprom地址写入一个字节。

eeprom_read_byte(address)

       这个函数是从address这个地址读取一个字节的内容。

其他函数如下:

阅读全文»

在Amazon S3 上架设静态网站

作者: 分类: 技术文章 时间: 2012-01-12

s3简单使用文章中,简单的说道了s3的website功能。可以把s3的buckets当做一个静态网站来浏览,并做了一个简单的页面。

但是有2个问题没有解决。

1.域名问题。

http://lixin.s3-website-ap-northeast-1.amazonaws.com/ 这么有长度的域名肯定不是友好的。如果你自己拥有一个域名,那么一定是希望弄个简单好记有意义的名字来访问。这时候你需要设置别名(cname)来访问。

2.访问权限问题。

之前文章的例子中,整站只有2个文件,我都是手动设置他们的属性为everyone可读。假使你的静态网站很多文件,那么手动设置不可能,得使用一个配置文件来全局设置才行。

阅读全文»