回家

2009-01-21 kairyou

去湘潭玩了几天,今天才回长沙,准备回家了。长株潭开始一体化了,手机实行基本通话费了,据说统一区号为0731,我想争那个026应该是不可能了。。

08年有很多不尽如人意的地方,希望09年有新的起色。斌斌辞掉工作去电视台当记者去了,好多同学都混的不错,可我却没什么起色,也许放弃自己的专业而选择网站这方面就是个错误?或者长沙不适合施展拳脚?有点浪费青春的感觉~不过两个朋友说过介绍我去腾讯和百度,这点也算有点欣慰吧,自认为在前端开发方面掌握的东西应该算很多了,不过还是没有十足的信心去尝试,除了长沙和辽宁其他地方也不太不想去。

08年的东西有一些也没完成,比如blog的模板,完善自己写的那个留言板,写了一个ajax+php的天气预报也没完善。。每年或每月、每天都应该给自己做个总结的,回家之后要做一个总结,也为09年做一个计划。

最近用php做了一个留言板,用户发布留言的form就用到了fieldset,不过发现了一个问题,就是IE下面fieldset的margin-top和margin-bottom无效,当然margin横向是正常的。

比如css里:fieldset{margin:100px auto;}那么这个fieldset在FF(包括safari等浏览器)显示是上下100px、左右居中。而IE下就是左右居中,margin的上下无效。(当然这里的ie是IE6-IE8、页面带DOCTYPE声明)。

我的解决办法就是修改fieldset内legend的margin,或者fieldset外面加一个div,然后修改这个div的margin。

顺便,这个表单也被我拿来当作练习js了,深刻的体会到:学到的理论如果不用到实践上,那永远也不会有提升。

由于要处理一个两万多行的数据,但要删除其中内容重复的行,所以找了几个方法:

1. 用sed替换重复内容,使用命令 -n "G;s/\n/&&/;/^\(.*\n\).*\n\1/d; s/\n//;h;P" "$(FilePath)" (这里是在editplus里的使用,注意$(FilePath)必须是带路径的文件名)。当然sed不需依赖editplus,可以单独使用的。优点:删除重复内容后,顺序结构不变。缺点:不支持UTF-8,处理大文件时(2w多行)就不行了。

2.使用editplus-工具-排序,勾选"删除重复"。可惜不想把内容排序,却被自动排序了。(勾选"区分位置",好像没用?),这个效率相当快~差不多是瞬间完成的,之所以没放弃editplus,确实它的优点有很多。

3.使用一个批处理

@echo off
:: 删除重复的行,但不能保留空行
:: 对不符合变量命名规则、变量个数超过限制的文本都无法正确处理
(echo 清除重复行后的文件内容:& echo.)>str_.txt
for /f "delims=" %%i in (testText.txt) do (
  if not defined %%i set %%i=A & echo %%i>>str_.txt)
:: start str_.txt

当然也不支持utf8,效率也比较慢,处理2w多行用了1分多钟,不过排序没有改变:)。

editplus的正则不能用于多行,这点比较郁闷。css里面的注释,有些内容都是多行的,而且还可能包含html语句,这样的情况editplus批量删除注释就不能用了。研究了一下,提供下我认为目前比较完美的方法:

editplus删除多行注释:/*......*/的方法:
1、把全文中的“\n”全都替换成“┓”。
2、把“[<|/]/”替换成空。(删除注释里面的“</”、“//”类内容,注释里面带有"/"的话,第三步就查不到了)
3、把“/\*.[^/]*\*/”替换成空。(不加[^/],就会波及到非注释内容)
4、把"┓"再替换成"\n"。

以上替换的时候都要勾上“正则表达式”。虽然步骤比较多,但是总算能实现替换多行了。
 

TAG editplus, 正则

吴同学今天看我在研究editplus的svn时对我说的话(抽了几条出来):

不要被各种新应用和新技术的海洋中迷失了自我
你这是 舍本逐末。
本就一个,而末太多了
http://www.cnblogs.com/lovecherry/archive/2007/10/28/940555.html
你看看末多不多
技术虽然一直在变,但是越是基础和越是抽象的技术变化越慢,越是偏向应用越是具体的技术变化越是快,从性价比上说,学习基础知识性价比更高。
《精通CSS》中有关hasLayout就两页,别人研究它两年。。。

快讲到哲学范畴了~嗯,产生共鸣了~