博文

目前显示的是 六月, 2011的博文

最近在读《CSS彻底研究》,做个读书笔记

一直以来都希望以严格的标准来要求自己写出标准的网页,为此也去研读过W3school的教材,学习过了XML、XSLT、XHTML、HTML5、CSS,但是总感觉对CSS的了解不够深入,只是知道怎么用,但是对某些项目的具体定义依然感觉很模糊,还是需要更多的深入了解,了解它的内核,让自己成为一个浏览器,如果我是个浏览器,我应该如何解释这样一段的CSS呢?只有自己解释出来的东西和实际情况一致,我相信这个才是一种真正的理解了。于是为了这个,还是找了不少的CSS方面的教材,这本《CSS彻底研究》就是其中一本了。 书中有很多可以说让我茅塞顿开的地方,于是还是摘录一下了: CSS中允许使用@import "other.css";这样的语句来导入式引用其他的CSS,但是这样引用的CSS将会在页面加载完成之后再次加载可能会导致页面出现“闪烁”的情况。 善于使用嵌套选择器可以减少无用Class的出现。 CSS定义层叠的情况下优先级顺序:一个元素定义了两个类别样式,此二个样式互相冲突时,以写在前面的那个为主。比如:<div class="a b"></div>,发生冲突时,最后显示的结果应该是a的样式,无论定义CSS的时候把a和b何者先定义。其他的情况还是ID>Class>类别,定义两次的时候后定义的更优先。 宽度Width和高度height的定义是内容的宽度和高度,也就是Content的宽度和高度,但是盒模型实际的高度等于内容+内边距+边框+外边距,也就是Content+Padding+Border+Margin。 颜色简写的含义:#369=#336699 对于可以上下左右顺序定义的属性值的解释(比如Padding: 0 0 1px 1px),如果只定义一个,那么就是四周,如果定义两个,第一个是上下,第二个是左右,如果定义三个,那么第一个是上,第二个是左右,第三个是下。 旧版本的IE Border下的背景无法显示出来,但是所占的位置是存在的。 背景色或者背景图显示的范围是Content+Padding+Border Margin值存在垂直塌陷情况,也就是垂直相邻的两个盒模型之间的的实际Margin值从二者之间较大的Margin值(上面的margin-bottom和下面的margin-top

解决Document base not exist or is not a readable directory问题

Java最让我头疼的就是莫名其妙的就没办法使用Eclipse了…… 我已经莫名其妙的出现过无数次这种问题了,偶尔是正在使用中之前可以用,突然就500了,或者是突然就丢掉环境了,完全让人摸不清楚头脑的各种错误让人头皮发麻。 今天早晨就是如此了,早晨还是好好的,突然启动就报告: Document base .metadata\.plugins\org.eclipse.wst.server.coredoes\tmpxxxx not exist or is not a readable directory 找了半天终于发现了一个解释详细的解决方案: http://tdcq.iteye.com/blog/367516 原因是因为:没有正确的配置Server服务。当然,我就不抱怨什么诡异的服务为什么总是自己消失的问题了,这种问题在Tomcat上简直是层出不穷…… 解决方法也大致形同,似乎唯一不同的就是他用的是Tomcat 6.0,而我用的是7.0这点不同了。 不过还是照抄下来一下吧: 1.在Server选项卡中右击Server - Properties - Switch Location,让它变成/Server/Tomcat 7.0 at localhost 2.双击左边的这个Server,勾选上Publish Module Contexts to Separate XML files。 3.在项目上右击 - Properties - Server - 选中Tomcat 7.0 at localhost 重启eclipse,问题解决。 2011/8/31最后修改: 后来发现这个东西就是Tomcat的缓存的问题,只要出现这类的问题,解决方案很简单,在Server上右击,选择Clean,然后就没事了.

Oracle用DMP导入导出部分表

一直都是用Oracle的dmp语句来导入导出整个库,但是这次为了减低工作量,采用了部分表更新的方式,所以选择了部分导出。 刚开始的时候打算像MySQL一样采用SQL语句导入导出的方式,结果也就4000多条数据而已,2M的一个SQL语句,直接让PL/SQL立扑了。看来对于Oracle这方法行不通。于是还是想到使用dmp,但是我本机只是安装了一个简化的客户端,捣鼓了半天还是没办法用dmp,于是只能在服务器上做这个操作。 语句就很简单了,导出: exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 导入: imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)  ignore=y 但是发现似乎只要是数据库中还存在那两张表,就没办法正确的导入进去,必须要先Drop掉,才可以顺利的导入进去,这次速度就快多了,不到10秒就完成了。 如果有多个以某个字符开头的表,比如AAA_A,AAA_B这样的,要实现批量导出可以先运行: select  table_name   from   user_tables t WHERE t.TABLE_NAME LIKE 'AAA_%' 将导出的文件形成一个CSV,然后编辑它,把它变成类似table1,table2这样的模式(正则表达式很容易做到这点) 然后为了能够顺利的导入,最好先truncate表,于是把这个文件再次操作一下变成类似 truncate table AAAA_A; truncate table AAAA_B; ... 这样的形式,然后保存为SQL文件,例如1.sql 然后在字符界面下运行: sqlplus  system/manager@TEST   @D:\1.sql 批处理执行SQL文件即可,然后再导入表,就不会报告那么多错误了

Nexus S使用两周了,小感一下

迫于无奈,不得不换了手机。 之前的黑莓8820突然不知道怎么着抽风,充电的口就这么挂掉了,然后一直就处于一种无法充电的状态,就算是它再怎么省点,最终也是要充电的啊,但是只要是一充电就会断断续续的充电,连接电脑也是断断续续的连接,很明显的接触不良了,但是这东西又没有办法更换,只有选择买新机器了。 适逢市面上的Nexus S降价,于是2500大洋出手,入了。 造型方面就不说啥了,比IPhone4大了好大一圈,我一只手只能勉强拿下,全屏幕触摸带来的坏处就是盲打是不可能的了,之前的BB虽然是全键盘,其实熟悉了之后也一样可以盲打很多字的,但是这全屏触摸是绝对没办法盲打了。而且按错的概率还相当的高,或者是因为我的手指太大了? Nexus S不愧是Google的亲儿子,系统直接就是最新的,刚刚买的时候是2.3.3,买回家就发现了OTA,升级到了2.3.4.这两天又接着升级了系统组件,Google Maps,Google Music之类的都跟着升级了。 手机拿到手的第一件事自然是导数据了,我的BB之前就用了Google的同步工具,本身就与Google的账号是同步的,这样很明显减低了我导数据的麻烦程度,我只需要在手机中也把那个账号绑定就可以了,但是就算是这样,还是碰上了一点麻烦。因为我通常用的Gmail账号里面太多的人是网上加的,其实很多人并没有手机号码,而实际上有手机号码的人很多并没有Gmail账号,为了解决这个问题,我在之前就设立了另外一个Gmail账户专门用于存放手机联系人,但是Android虽然可以绑定两个账号并且设置各自需要同步的内容,但是我发现Google Talk则并没有这么智能,它永远只能登录你系统输入的第一个账号,结果我第一次的时候输入了我同步联系人的账号,结果GT怎么也没办法登录其他账号了,没办法,只能系统重置然后重新登录。 接下来就是安装软件让手机真正跑起来了,总的说来,Android安装软件比BB简单的多,可以直接网上下载,也可以把APK搞到手然后用Apk Manager来装,我是二者兼用,毕竟国内下载Android Market的速度实在是慢到吐血。 输入法方面就是默认安装了Google拼音了,没啥可圈可点的地方,中规中矩的拼音输入法,不带手写功能,后来换了一个Baidu输入法,这下好玩了,可以自定义表情(颜文字),可以自定义符