01 六月 2009

老外上中文课的笔记

我也是被雷倒了!
Dear Tim,


  shall by too dull doll by too jack won,

  dolphin long can Jim shall by too low,

  shall by too when dull low, doll car low,

  dolphin long doll Ham Eason

  "more power!"
--------------------------------------------------------------








中文原文:
  第二题
  小白兔到大白兔家玩,
  大灰狼看见小白兔了,
  小白兔闻到了,逃开了,
  大灰狼大喊一声
  "莫跑!"

18 四月 2009

不同浏览器对html、body的height和width的不同解析

blogger一直被墙,想看的访问www.ddig.info 吧!
1. html-body标签嵌套一起。

html {
background: #DDABC0;
}
body{
background: #3311BB;
height: 100%;
width: 100%;
}
在ie 6下body的height和width为你能看到的浏览器的高度和宽度,在其他浏览器下没有显示,只显示html的背景,好像是不能控制html标签的宽度和高度,囧。。。。。
错,html是可以定义高度和宽度的,但是你如果设置html的background的话,它会设置整个浏览器背景色。
2. html-body-div三对标签嵌套一起。
html {
background: #DDABC0;
}
body{
background: #3311BB;
}
div{
background: #99CC55;
height: 100%;
width: 100%;
}
在ie6和ie7下效果如下

ie8、firefox和chrome下
只显示html标签的背景。
说明ie6和ie7下此时body的style为
margin: 15px 5px ? 5px;
height: 20px;
?的地方就先不探究了
3.只有html、body标签
html {
background: #DDABC0;
}
body{
background: #3311BB;
height: 100%;
width: 100%;
}
这是ie6、ie7、ie8皆不相同。
ie6下body背景色为浏览器的可视width和height。并且margin: 15px 10px;
ie7下body背景色width为何ie6相同,height为20px,margin 也相同。
ie8下body不显示。
firefox与chrome与ie8相同。
此处证明上面的?处也为15px。
4.html、body和div标签嵌套。
style与3相同,知识在body里边加了一个空的div,别的什么也没加,不同的效果又出来了。
下边还是body的效果
ie6下效果不变,
ie7下变了,哈哈,也什么都看不见了,和上边ie8相同。
ie8下不变,与此事的ie7相同。其他浏览器就不说了。
ie8、firefox、chrome等比较符合w3c标准的定义body的height和width的默认为0。
这个说明了,ie6此时没有被这个div影响,但是ie7却被影响了。
ie6 body的width和height的100%效果为浏览器的可视区域,ie7的body根据里边的内容变动。
这个主要是ie6和ie7对body的style不同定义造成的,具体是那个,我还不清楚。
5.继续上面的,添加div的style。
div{
background: #99CC55;
height: 100%;
width: 100%;
}
此时效果:
ie6效果如我所想,body和div的显示区域没有变,还是浏览器的可视区域,div的背景把body的覆盖掉了。
ie7就让我不解了,此时body有出现了,显示区域和3相同,并且div的背景色也把body覆盖了。
ie8、firefox和chrome如我所想,body和div还是为零,不显示。

总结,在定义body的width和height为100%时的效果:
1.如果定义html的背景色,不论如何整个页面的底部背景色为所定义的背景色。
2.body默认的width在ie6、ie7下默认为父级的100%,其他为0(零)。
3.body默认的height在ie6下默认为父级的100%,ie7下为20px和受里边内容影响。
4.w3c标准的浏览器body的height和width为0(零)。
其他,在body的width和height没有定义的情况下:
ie6、ie7默认的width为100%,height为20px,ie8的width和height为0(零)。

我一直都是搞程序那一块的,最近被迫也弄前台html了,几天的体会就是最恨ie6了,ie8更接近w3c了。这是我此时看到的表面体会,如果谁看到了,那个地方不对,麻烦告诉我一声。

17 四月 2009

iepngfix下的background-image问题

上文提到iepengfix这个东西,效果很不错,但是背景图片的定位总是出现问题。


就是背景图片左边总是出现一些空白,使用background-position怎么都无法改变这种状况,
ie6就是变态,我也只好使用变态的办法了
背景图片的父级overflow: hidden;
背景图片层margin-left: -50%;
                    width: 200%;                    
够变态吧.
如果你的背景图片层里边有内容的话,背景图片层加上padding-left: 50%;
我的背景图片层没有东西,所以就懒得加了。
希望你没有出现这种问题,如果出现了,可以试着用这种方法解决,具体情况就很多了。

16 四月 2009

IE6的png背景透明

png是一种很好的图片格式,支持背景透明,在ie6以上工作的很好包括火狐、谷歌浏览器都很好,但是一到ie6下就不行了

找了很久找到一种方便的方法解决这个问题。

在你ie6的css文件头部加上这句:
*{
    behavior:url(iepngfix.htc);
}

并在你的图片目录下添加blank.gif文件。
iepngfix.htc和blank.gif文件可以到http://www.twinhelix.com下
使用它用遵守 GNU LGPL, version 2.1 or later.协议。

还有一点的就是这个behavior:url和background:url是有区别的
background:url的相对路径是相对自身css文件来说的,
而behavior:url的的相对路径是指你浏览的网页url来说的,也就是你浏览器地址栏里的url。

25 三月 2009

Google App Engine

免费空间,免费绑米,app功能强大,赠送*.appspot.com二级域名。
好多了,还有很多要等待发掘。
其实人家自己介绍的都非常清除了,我就不多说了

什么是 Google App Engine?

Google App Engine 让您可以在 Google 的基础架构上运行您的网络应用程序。Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。

您可以使用 appspot.com 域上的免费域名为您的应用程序提供服务,也可以使用 Google Apps 从您自己的域为它提供服务。您可以与全世界的人共享您的应用程序,也可以限制为只有您组织内的成员可以访问。

可以免费开始使用 App Engine。注册一个免费帐户即可开发和发布您的应用程序以供全世界的人共享,而且不需要承担任何费用和责任。每个免费帐户都可使用多达 500MB 的持久存储空间,以及可支持每月约 500 万页面浏览量的足够 CPU 和宽带。

应用程序环境

通过 Google App Engine,即使在重载和数据量极大的情况下,也可以轻松构建能安全运行的应用程序。该环境包括以下特性:

  • 动态网络服务,提供对常用网络技术的完全支持
  • 持久存储有查询、分类和事务
  • 自动扩展和载荷平衡
  • 用于对用户进行身份验证和使用 Google 帐户发送电子邮件的 API
  • 一种功能完整的本地开发环境,可以在您的计算机上模拟 Google App Engine

Google App Engine 应用程序是使用 Python 编程语言实现的。该运行时环境包括完整 Python 语言和多数 Python 标准库。

目前,Google App Engine 仅支持 Python 语言,但是我们希望将来它可以支持更多语言。

Sandbox

在安全环境中运行的应用程序,仅提供对基础操作系统的有限访问权限。这些限制让 App Engine 可以在多个服务器之间分发应用程序的网络请求,并可以启动和停止服务器以满足访问量需求。Sandbox 将您的应用程序隔离在它自己的安全可靠环境中,该环境与网络服务器的硬件、操作系统和物理位置无关。

安全 Sandbox 环境的限制实例包括:

  • 应用程序只能通过提供的网址获取和电子邮件服务和 API 访问互联网中的其他计算机。其他计算机只能通过在标准端口上进行 HTTP(或 HTTPS)请求来连接至该应用程序。
  • 应用程序无法向文件系统写入。应用程序只能读取通过应用程序代码上传的文件。该应用程序必须使用 App Engine 数据库存储所有在请求之间持续存在的数据。
  • 应用程序代码仅在响应网络请求时运行,且必须在几秒钟内返回响应数据。请求处理程序不能在响应发送后产生子进程或执行代码。

Python 运行时环境

App Engine 提供了一个使用 Python 编程语言的运行时环境。将来的版本将考虑使用其他编程语言和运行时环境配置。

Python 运行时环境使用 Python 2.5.2 版。

该环境包括 Python 标准库。当然,您无法调用违反了 Sandbox 限制的库方法,例如尝试打开套接字或向文件写入。方便起见,其主要功能不受该运行时环境支持的标准库中的多个模块已被禁用,而导入这些模块的代码将发生错误。

应用程序代码只能以 Python 编写。具有用 C 编写的扩展的代码不受支持。

Python 环境为数据库Google 帐户网址获取电子邮件服务提供了丰富的 Python API。App Engine 还提供了一个称为 webapp 的简单 Python 网络应用程序框架,从而可以轻松开始构建应用程序。

方便起见,App Engine 还包括 Django 网络应用程序框架 0.96.1 版。请注意,App Engine 数据库不是某些 Django 组件所需的关系数据库。某些组件(例如 Django 模板引擎)按照文档化的程序工作,而其他组件则需要做更多工作。有关将 Django 与 App Engine 一起使用的提示,请参阅文章部分。

只要这些库是完全使用 Python 实现并且不需要任何不受支持的标准库模块,您就可以使用您的应用程序上传其他第三方库。

有关 Python 运行时环境的详细信息,请参阅 Python 运行时环境

数据库

App Engine 提供了一个强大的分布式数据存储服务,其中包含查询引擎和事务功能。就像分布式网络服务器随访问量增加一样,该分布式数据库也会随数据而增加。

该 App Engine 数据库与传统关系数据库不同。数据对象(或“实体”)有一类和一组属性。查询可以检索按属性值过滤和分类的给定种类的实体。属性值可以是受支持的属性值类型中的任何一种。

数据库的 Python API 包括一个可以定义数据库实体结构的数据建模界面。数据模型可以指示属性值必须位于给定范围内,如果未给定任何范围,还可以提供默认值。您的应用程序可以根据需要向数据提供或多或少的结构。

数据库使用乐观锁定进行并发控制。如果有其他进程尝试更新某实体,而同时该实体位于以固定次数进行重新尝试的事务中,此时该实体将更新。应用程序可以在一个事务中执行多项数据库操作(全部成功或者全部失败),从而确保数据的完整性。

数据库通过其分布式网络使用“实体组”实现事务。一个事务操作一个组内的实体。同一组的实体存储在一起,以高效执行事务。应用程序可以在实体创建时将实体分配到组。

有关数据库的详细信息,请参阅数据库 API 参考

Google 帐户

App Engine 包括用于与 Google 帐户集成的服务 API。应用程序使用户可以通过 Google 帐户登录,并可以访问与该帐户关联的电子邮件地址和可显示的名称。使用 Google 帐户使用户可以更快地开始使用您的应用程序,因为用户可以不需要创建新帐户了。Google 帐户还省去只为您的应用程序执行用户帐户系统的麻烦。

如果您的应用程序正在 Google Apps 下运行,则它可以与您组织的成员和 Google Apps 帐户成员使用相同的功能。

用户 API 还可告知应用程序当前用户是否是应用程序的注册管理员。这样便可以轻松实现您站点上仅用于管理的区域。

有关与 Google 帐户集成的详细信息,请参阅用户 API 参考

App Engine 服务

App Engine 提供了多种服务,从而使您可以在管理应用程序的同时执行常规操作。提供了以下 API 以访问这些服务:

网址获取

应用程序可以使用 App Engine 的网址获取服务访问互联网上的资源,例如网络服务或其他数据。网址获取服务使用用于为许多其他 Google 产品检索网页的高速 Google 基础架构来检索网络资源。有关网址获取服务的详细信息,请参阅网址获取 API 参考

邮件

应用程序可以使用 App Engine 的邮件服务发送电子邮件。邮件服务使用 Google 基础架构发送电子邮件。有关邮件服务的详细信息,请参阅邮件 API 参考

Memcache

Memcache 服务为您的应用程序提供了高性能的内存键值缓存,您可通过应用程序的多个实例访问该缓存。Memcache 对于那些不需要数据库的永久性功能和事务功能的数据很有用,例如临时数据或从数据库复制到缓存以进行高速访问的数据。有关 Memcache 服务的详细信息,请参阅 Memcache API 参考

图片操作

图片服务使您的应用程序可以对图片进行操作。使用该 API,您可以对 JPEG 和 PNG 格式的图片进行大小调整、剪切、旋转和翻转。有关图片操作服务的详细信息,请参阅图片 API 参考

更加详细的来这里看了

http://code.google.com/intl/zh-CN/appengine/docs/whatisgoogleappengine.html

免费的css模板(templates)

推荐一个免费的css模板网站
www.freecsstemplates.com
上边有好多的漂亮的模板,这些模板全部使用css控制界面。
我们这些美工不好的就有福了,呵呵
我们只管再页面上根据css样式,定义好id和class就可以了
里边有好多漂亮的模板

我挺喜欢这个的,黑色系,简单漂亮!

24 三月 2009

drupal汉化出错解决

今天在windows2003上班安装drupal时,出现了比较郁闷的错误
The selected file %file could not be copied, because no file by that name exists. Please check that you supplied the correct filename.
msgstr
所选的%file文件不存在,导致无法复制,请检查您所提供的文件名。

让我找了好长时间
终于在drupal英文网站解决了问题
还是老外人家用的多啊

主要是对上传的临时目录没有读取和写入的权限
windows下默认是c:/windows/temp,iis是没有权限的。
找到你TEMP的环境变量位置
然后添加你iis用户的读取和写入权限
或者是重新设置你的临时文件夹的路径
建议设置到sites/defaults/files/temp了什么的
也就是你设置个你能够写入和读取的文件夹。

搞定!

19 三月 2009

我的chi.mp

前天才知道chi.mp这个东西,在这里可以注册一个顶级域名,我注册的是qing.mp
他和.cn域名是同等级的。它可以把所以web2.0服务聚合在一起,挺好玩的。
现在要邀请注册,去http://chi.mp/interested,填一个四行的表单就可以了。
我的几个小时就批准了。去试试吧,注册一个自己喜爱的漂亮的域名。
下边是我找的一点它的介绍:

Chi.mp是一个提供社会化网络聚合服务的网站。其提供的功能部分和FriendFeed类似,也就是可以将目前主流的一些Web2.0网站聚合,也就是所谓的LifeStream服务。不过和FriendFeed相比,Chi.mp又有其比较独特的功能特点:

1.免费提供yourname.mp的顶级域名,也就是说,您注册了chi.mp的服务,您就可以免费获得一个.mp的域名,这个应该是比较有诱惑 力的一点,一方面单独注册一个mp的顶级域名一年需要20$,另外就是.mp里面有大量好的域名可以注册,mp是中文中名片的首字母,含义也很不错。这个 注册的.mp域名还可以作为你的OpenID(如果你需要的话,你也可以在后台购买域名,购买之后你可以将此域名用于其他用途)

2.目前支持的聚合服务包括:Gmail;Hotmail;Yahoo;Feed;Flickr;Twitter;Facebook;Chimp。 除了支持内容聚合输出了外,Chi.mp提供了很好的隐私权先控制功能,你可以设置输出内容公开,好友可以见,工作组可见或者建立自己的组别来控制内容输 出的权限控制

3.提供了从Twitter、FaceBook上面获取联系人,并且可以在Chi.mp中整理联系人。

4.可以方便的上传网站Icon,并且后台整合了Google Analytics 和 Google Webmaster工具,提供了多种Theme可供选择。

5.提供了网站导出功能,可以把里边的内容发送到你的邮箱里。

12 三月 2009

psd2css(psd转css工具)

网上发现一个非常厉害的工具,能够把你制作的psd格式的文件,直接转换成html+css。

感觉很强大,试了一番,效果还不错。
能够把你的每个层生成一个图片,再以css布局。
提供在线浏览生成的网页和下载zip文件。
服务器保存24小时。

08 三月 2009

Ubuntu操作系统下安装MySQL数据库

安装版本mysql-5.0.40 需编译

下载编译需要的一些工具,这些工具在默认安装的ubuntu上可能没有,需要手动安装


  sudo apt-get install g++ gcc make automake perl


安装好所有需要的工具


下载需要的libncurses5-dev、kdelibs_dev 和 kdelib



  sudo apt-get update


  apt-get install build-essential


  sudo apt-get install libncurses5-dev


  sudo apt-get install kdelibs4-dev


  sudo apt-get install kdelibs4c2a


  安装mysql,使用root权限


  shell> groupadd mysql


  shell> useradd -g mysql mysql



  shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -


  shell> cd mysql-VERSION


  shell> ./configure ——prefix=/usr/local/mysql


  shell> make



  shell> make install


  shell> cp support-files/my-medium.cnf /etc/my.cnf


  shell> cd /usr/local/mysql


  shell> chown -R mysql .


  shell> chgrp -R mysql .



  shell> bin/mysql_install_db ——user=mysql


  shell> chown -R root .


  shell> chown -R mysql var


  shell> bin/mysqld_safe ——user=mysql &