博文

目前显示的是 2011的博文

C#编程处女行

这几天被Tomcat频繁的报告数据库异常、数据库处于不一致状态、违反协议搞得焦头烂额。 查阅遍了网上的相关资料,没有找到一个真正解决了问题的。而且诡异的是,这个问题是不时的出现的。而且哪怕是系统正在报告数据库异常,同样连接到同一台数据库服务器的本地测试服务则可以很正常的运行,让我对这种状况感到彻底无语了。好在这个异常虽然让整个系统陷入瘫痪,但是只需要重启Tomcat就可以恢复正常了。但是现在面临的难题是:客户也着重要求加强系统的稳定性了,为此专门找我谈话。所以,无论最后如何从根本上解决,起码我现在所需要做的是要先把表面工作做好。 于是最简单的办法就是写守护程序了。检查到数据库报错就马上重启Tomcat,本来像写一个服务,不过后来发现如果写Windows服务的话太难以测试了。于是只能退而求其次,写个控制台运用程序让它一直运行着就行了。 思路很简单:应用程序一打开,就开始不断的访问本机的HTTP地址,如果检查到页面报告异常,就重启Tomcat,如果没有异常,就过5分钟再检查一次。 因为是C#写作,不得不说操作Windows进程之类的应该很简单了,最终程序如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; namespace RestartTomcat { class Program { static void RebootTomcat() { System.Diagnostics.Process.Start("net", " stop \"Tomcat5\"");//关闭Tomcat进程 System.Threading.Thread.Sleep(10000);//休息10秒钟 System.Diagnostics.Process.Start("net", " start \"Tomcat5\"");

关于Windows 2008中用IIS开FTP相关防火墙的问题

一句话,不解释…… 系统防火墙策略中就自带了三条策略,打开它,但是这是不够的,还需要在防火墙允许联网的程序列表中把System32/svhost.exe列入可以联网的程序列表中才可以。 否则你就老老实实的关闭防火墙吧。

我觉得是时间总结一下这个奇怪的经历了

之前在离开单位之前,简历的一通乱投,基本上能想到的都投过去了…… 本来也没有做太多的指望,然后就被挖到现在的公司里很安稳的开始上班了…… 没想到3月20来号的时候通知我要我26日到百度参加笔试…… 我说……这都多少个月了啊,至少也有个2个月了吧……这么久才发笔试邀请过来真是很奇怪啊……囧rz 不过既然有这么个机会那自然是没有不去的理由了~毕竟见识一下市面是很必要的…… 于是抱着打酱油的心态,周五就请了个假,晚上出发跑了过去(现在的公司周六也要上班的)。 火车是上午7点到的北京西站,根据Google Maps的引导,从北公交中心坐320然后到人民大学下车转运通205。 上午9点我就跑到了百度,并不难找,很大的一栋楼,而且周围全是大楼,比如旁边的就是联想的总部…… 本来计划是在周围随便找个KFC或者麦记一边吃饭一边等着(面试到1:00才开始)……结果我惊讶的发现西二旗这个鬼地方连个麦当劳也没有……简直可以说是荒无人烟orz 没辙了……只能坐着地铁往回坐,跑到西直门,随便找了个KFC做下了,一直坐到12点钟,然后坐地铁返回来…… 本来以为是个小规模的招聘,结果去了又200多人,当然了,并不是都应聘一个职位就是了…… 每个人到了先签到领标签,我大概的瞄了一下签到纸……五页多密密麻麻的名字,看来人确实不少,估计还有我没看到的…… 过后被带到百度大厦的三楼等候,因为人还没有到齐,所以只能坐在会议室里一直看百度的宣传片……这方面它确实拍了不少内部的宣传片……包括我之前在Youku上看到的那个也再次放了一遍。但是不得不说……看多了有点想吐的感觉……毕竟真正做IT的没有多少对百度抱有100%好感的,或者说10%都不会有……看少了还凑合,看多了抵触情绪确实很要命orz 然后大概是人事部的小姐讲述了一下百度的情况,我只是注意到平均年龄26岁这一说法……于是四下的观望了一下,确实,周围并没有年龄非常大的,于是我一个28岁的坐在这里感觉压力非常大……囧rz 1点钟准时发卷,规定答题时间是1个半小时……看了看题目,相当的简单,就3题。一题程序题两道算法和数据结构题,没啥难度。半个小时做完。不过因为笔记潦草,我花在誊抄上的时间远远超过了答题时间。 虽然说是1个小时答题时间,但是似乎真正到了2小时才催促着交卷,反正我是早就做完了也抄了两

试试看在手机上发Blogger

似乎可以识别我的Blog名称,应该可以正常发布~

DD-WRT折腾来,折腾去

虽然一直都是有听说DD-WRT这个第三方固件的威名的,也一直了解它很火,但是却并没有怎么去关注它,因为总感觉它支持的面并不广泛,在我最初所认识的方位中,只有Linksys的某款路由器才支持它,所以也就从未对自己手头的路由器动过心思,虽然偶尔也想研究下,不过看满大街都买不到Linksys的东西,也就作罢了. 结果最近准备再购入一台路由器给家里用顺带刷一个DD-WRT玩玩看,无意中却发现,手头的这台TP-LINK 841N的路由器本身就已经支持DD-WRT了....于是决定先下载下来玩玩看. 升级倒是无比的方便,首先去到DD-WRT的官网,输入你的路由器的型号,自动的就会把你引导到下载的页面上. 下载的时候会让你下载两个文件,一个是factory-to-ddwrt.bin,另外一个是tl-wr841nd-webflash.bin,看名字就知道了,第一个是工厂用的版本升级至DD-WRT,另外一个是DD-WRT的升级版,安装也很简单,直接进入路由器的Web管理界面中,选择升级路由器的固件,然后把factory-to-ddwrt.bin选择上去,等一片安静之后,DD-WRT的主界面就出现了,然后就是DD-WRT本身的升级,首先它会让你设置用户名和密码了,搞定了之后进入DD-WRT的界面一样的选择固件升级,然后选择tl-wr841nd-webflash.bin就可以了... 之后再搞设置...老实说,我升级这个东西只看中了它两个目的:DNSmasq和OpenVPN,有了DNSmasq的话,我就省去了要罗列无比冗长的HOST文件了,可以使用通配符来修改HOST了,而OpenVPN则可以把VPN账号公用给好几台电脑或者手机.可惜不幸的是,普通版的DD-WRT并不支持OpenVPN,而我更是找不到哪里可以下载支持OpenVPN的版本...于是这个想法破灭了一个...而我很快又发现了另外一个东西Acrylic,FastCache和DNS Speeder...这三个本地DNS缓冲的小软件全部支持泛域名解析的...甚至可以解决DNSmasq不能使用通配符的问题... 而我很快又发现了DD-WRT的最大弊病....虽然设置很齐全,但是无论如何设置都没办法让无线连接的速度稳定,甚至从头到尾,我就没办法让我的802.11n的无线网卡上到300M的速度...最多最多也就只能到1

罪恶连锁3

1.我的大名:Phantom_14 2.我的小名:P 3.是谁传给你的:P子 4.生日最想得到的礼物:祝福 5.近期压力大的事 :穷 6.未来想做的事:拥有自己的事业 7.有没有喜欢的人:我爱全人类 8.聚会要回去找老师吗:老师的联系方式都掉了.... 9.跟谁出去最幸福 :不喜欢出门.... 10.如果你的两个好友吵架了:会问问情况再说 11.跟喜欢的人最想去哪:游戏厅 12.情人节要啥:想不到呢...似乎都不缺 13.最想跟谁过情人节:喜欢的人 14.有没有赖床的习惯:视是否为休息日而定 15.兄弟姐妹:独生子女,堂表的弟弟妹妹很多 16.喜欢的一首歌:AIR 17.喜欢什么颜色:绿色 18.现在在做什么:写这点名,然后给121区换图 19.最想大声说什么:我想睡个够 20.半夜敢不敢自己上厕所:敢 21.谁很欠打:没有打人的习惯 22.现在很迷谁:前一阶段是平泽进 23.睡相:死人一般 25.是否痛恨传给你点卷的人:否,我的Blog好久都没动了,快长草了,正好整理一下 27.你若中乐透最想做什么:周游世界 28.天气:热死 29.一定要的运动:骑车 30.引起失眠的原因:贴床板就睡着 31.有流口水的情况吗:没 32.近期麻烦的事:工作不会做 33.你经常熬夜:不 34.你会和爱自己的人还是自己爱的人结婚:"你们都是我的翅膀" 35.将来有孩子你喜欢男的还是女的?:女 ★撒个谎吧:我天天睡眠都很充足 ★睡觉前最后一件事:关灯 ★你的偶像:哥德尔 ★你喜欢的季节:夏天 ★你喜欢什么样的个性:让我觉得很Cool的个性 ★你会喝酒吗:偶尔 ★你常哭吗:只有感动的泪流满面 ★你常笑吗:偶尔 ★机会和命运你会选择:机会 ★你很自恋吗:当然 ★你有穿耳洞么:无 ★这问卷多不多:凑合 ★喜欢吃冰淇淋吗:喜欢 ★现在幸福吗:一般般 ★房间里的摆设简单吗:凌乱 ★如果没有朋友:一切照常 ★天使可以满足你一个愿望你会要什么:给我天国之门的能力吧 ★喜欢吃的水果:西瓜 ★常不叠被子:基本不叠 ★你喜欢雪么:喜欢 ★如果哪天天下大雨了你会怎么样:能宅就宅 ★现在感觉怎么样:冰火两重天,外面酷热,屋里开空调却还没完全制冷 ★现在几点:20:51 1.点到必填,不填代表你不尊重传给你的人和问卷。 2.请老实回答每一问题。 3.不能擅自涂改题目。 4.写完请点10个人,

夢であるように

夢であるように   仿如梦境 专辑:テイルズ    オブ  デスティニーOP 作词:池森秀一 / 作曲:DEEN / 演唱:DEEN 歌词:ETERNIA 答えが見つからない もどかしさでいつからか  无法解答 厌倦的时刻什么时侯才结束 空回りしていた   違う誰かのところに行く君を  回到原地 你却走向其他陌路人 責められるはずもない  我无法责备你 なんとなく気づいていた君の迷い  无意中意识到了你的迷茫 夢であるように 何度も願ったよ  就像梦一样  一直向神祈求 うつむいたまま ささやいた言葉  低着头自言自语 悲しく繰り返す  重蹈覆辙的悲哀 激しい雨に 僕の弱い心は強く打たれ  在磅礴的大雨中 我脆弱的心被强烈冲打 すべての罪を流してほしかった  希望所有的罪孽就这样被冲走 期待と不安が 降り注ぐこの街で  期待和不安  降临于这条街道 僕は道を探して 君は隣で地図を見てくれてたね  我在寻找道路  你在一旁查阅着地图 やわらかな時を  这温暖的时间 感じながら歩けるような恋だった  在感受着走向恋爱 夢であるように 瞳を閉じて  就像梦一样  紧闭双眼 あの日を想う 風に抱かれて  那天的思念  被风拥抱着 笑っていた二人  欢笑的我们 そして朝日が差す頃 僕の腕の中眠る君の優しい  然后把在夕阳之下 在我的手中沉睡的你的温柔 幻を見ていたい  看成了美好的幻想 夢であるように 心の奥で  就像梦一样  在内心深处 とわに輝け 君との日々は   和你过的每一天  永远闪耀着光辉 あゆのままの僕だった  我在不断前进 いつか描いてたあしたへ もう一度歩き出そう  向不知何时描绘未来  再一次踏出步伐 たとえすべてを失っても 何かが生まれると信じて  就算全部都失去 也会相信着出现 きっと二人の出会いも 遠い日の奇跡だったから  在不远的未来  让两人相逢的奇迹 END

最近在读《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输入法,这下好玩了,可以自定义表情(颜文字),可以自定义符

最近迷上了平泽进

一句话可以概括他:“跟他比前卫,你就败了啊” 在《Quit》里面狂笑了整整一分钟,在《白虎野の娘》里面无比诡异的和声,各种元素都可以体现在他的音乐中。听他的音乐感觉就像是看着不断的跃出创意的火花,总可以让人眼前一亮的感觉。 当然了,提到他基本上都会提到三大最有名的了 《剑风传奇》里面的《Forces》、《千年女优》里面的《Lotus-2》、《Paprika》里面的《白虎野の娘》,不过其实CD也有很多可圈可点的 比如我一直都很喜欢《千年女优》里面的《千代子のテーマ MODE-3》那种丝丝入扣的钢琴音,与整张CD的紧凑形成了强烈的对比,和同一张CD里面的《千代子のテーマ MODE-2》少了很多和声,给人的感觉就极大的不同了。 当然了,如果不介意前卫,可以听《聖馬蹄形惑星の大詐欺師》之类的囧歌…… 转一下歌词: BERSERK ~Forces~ 作詞:平沢進/作曲:平沢進 編曲:平沢進/歌:平沢進 時は雲をつくような波をたて襲うよ 消されて夜道を這う声たちに答えて 時代彷如要衝破雲層一般 捲起浪濤襲擊而來 回應著所有被消除而匍匐於夜路的聲音 忘れはしない キミのことは かなわぬ道に なおひとり立ち 不會忘記 你的事情 即使是無法實現的道路 仍然一人獨立 撃たれた鳥のような 優雅さで雨に耐え 宛如被攻擊的鳥兒 優雅地承受風雨 癒えない地上の血に洗われて眠る 星よ壮絶に 物語れ この夜を 受那無法痊癒的大地之血洗滌而眠 星辰啊 以壯烈之勢 訴說此夜 忘れはしない キミのことは 凍えて夜を ただひとり生き 不會忘記 你的事情 在嚴寒夜晚 獨自生存 消えない声よ今 蘇れ力へと 不消逝的聲音啊此刻 向那復甦的力量呼喊 Hai Yai Forces Hai Yai Forces Hai Yai Forces Hai Yai Forces 聞けよ 風さえ泣き そびえ立つ影の塔 撃たれて夜道を這うキミに灯をともせよ 聽啊 連風都不禁哭泣 那聳立的影之塔 為受攻擊而匍匐於夜路的妳 點亮燈火 忘れはしない キミのことは かなわぬ道に なおひとり立ち 不會忘記 你的事情 即使是無法實現的道路 仍然一人獨立 行けよしょうぜつの 影よ来て導け 走吧那險峻的 身影啊

我还是从了MySQL的客户端好了...

之前一直在用PHP手写代码来操作数据库,虽然也算是能够用,但是总感觉很不是那么回事,万一写错了我就泪流满面了…… 之前也用过一款MySQL的客户端,也就是上传一个PHP文件,然后就可以通过那个类似探针一样的PHP文件来处理SQL请求,比PHPMyAdmin这样的重量级的需要在VPS上上传很久的家伙友好多了。 可惜已过去这么久了,我连那款软件的名字都忘了,现在还是重新找了…… 于是就找到了 Navicat……虽然本身是收费软件,但是Navicat Lite版是免费的,我也用不到那么多的功能,它给我一个SQL窗口我就很满足了,把PHP探针传上去,然后改个诡异的名字,配置好MySQL的用户名和密码就可以使用了相当的方便。另外发现这个软件居然还支持Oracle和SQLite之类的,真是不错~

利用客户端缓存优化服务器带宽

最近看了《构建高性能WEB站点》,非常有启发。于是立即着手开始改进Share站。 当然了,里面对现在的我来说最实用的的就是如何让动态脚本利用客户端缓冲的部分了(原书第6章内容),现在主要的改进方案也是依据与此章的内容。 首先先说下Share.popgo.org 站现在的缓冲策略: Share站主要采用的是XML+XSLT缓冲,其中XSLT为静态文件,由Nginx服务器端设置了Cache-Control:Max-age缓冲,缓冲时间为284400秒,相当长的时间了。 然后XML文件是服务器端通过静态文件缓冲,然后由PHP程序调用生成的,其缓冲策略为: 如果有客户提交新的种子或者编辑现有的种子,那么立即刷新缓冲; 如果在设定的时间段内没有刷新过缓冲,那么强制刷新,刷新的时间可以在后台指定。 刷新的时间判断由PHP来读取文件的最后修改时间来实现。 虽然XML是静态文件在服务器上,但是每次调用的是PHP,Nginx服务器把它认为是动态脚本,是不允许客户端进行缓冲的。现在我需要调整的就是让客户端也可以动态的缓冲这个XML文件,不用我每次都去读取和判断这个XML文件。最好是能够在我加载处理缓冲这几个类文件之前就做这个操作,也节约很多PHP程序处理的时间。 改起来就相当的简单了,首先先在所有的输出的地方加上: header("Last-Modified: ".gmdate ("D, d M Y H:i:s", time())." GMT"); 然后在开头的地方加上 $modified_time = $_SERVER['HTTP_IF_MODIFIED_SINCE']; if(strtotime($modified_time) && strtotime($modified_time) > time() - $getnewindex )//如果没有过期 { header("HTTP/1.1 304 Not Modified"); exit; } 就应该可以了……然后我满怀希望的打开FF+Firebug。结果发现在网络窗口中,依然每次返回的都是200而不是预想中的304…… 到底出了什么问题?

该死的武汉电信居然给我搞劫持

我是说最近怎么访问Share站的时候都会弹出很诡异的武汉新闻什么的广告... 心想:就算是hiei加广告也不至于加这么恶俗的广告吧...然后拿Firebug看了一下,地址来源于www.sosole.net:3437这个诡异的地址,然后后面带着参数desturl=http://share.popgo.org/,所以我也就没有太介意,毕竟后面似乎带着本站的参数,可能真的是加的广告吧... 不过那个广告非常怪异,并不是用JS的Document.write生成的,而是用的一个iFrame...这种土鳖的广告嵌入方式实在是很长时间都没见过了...囧rz 于是今天还是忍不住看了一下Share站里面XSLT的代码...结果竟然明明没有加入这个站点的任何广告.... 那么它是从哪里来的啊?orz 上网搜索一下,结果发现天涯上有人反映这是武汉电信的恶意弹窗...估计是Share站本身被伤了黑名单吧,毕竟我访问其他站点都不会有这样的情况,就Share站会被挂上广告...而且奇怪的是只有Chrome会被挂上这样的广告(我还装了Adblock插件的)....看来还需要再摸索一下...

果然视图的效率永远是跟不上表的啊

工作上的原因开始接触Oracle了...虽然Oracle在几年前就玩过了,但是基本上都是最基本得操作了,简单的存储过程,简单的触发器..... 现在到了新的公司,碰到了诡异的问题是一个针对地区的统计问题. 一个省下面有许多的市,需要统计这些市出现的次数,以及外省的数字. 本来这个是一个非常容易搞定的问题,但是现在却碰到了麻烦,那就是这个地址字段里面存放的并不是地区的代码而是地区的文本....orz 于是现在如果想要统计这种要么通过不断的LIKE来做Count(ID),然后UNION ALL形成最终结果了...但是仅仅面对20万左右的数据量,这条语句的执行时间居然长达3分钟以上. 然后想了一个办法,首先将所有符合条件的数据全部用视图的方式UNION ALL起来,添加一个虚拟的地区代码字段,然后再对这个视图做Group BY操作. 可惜,就算是这样做了,也仅仅只是把时间提升到了2分钟10秒左右. 没办法,只有想办法改动表结构了...我是一直不怎么想改动这个表结构的,因为不是我设计的,而且本身设计的很糟糕... 程序也是刚刚接手,都没办法整理,所以如果变动了表结构,就一定要通过触发器来解决后续的问题了... 不过抱着尝试的心态,添加了一个字段,然后简单的用LIKE来更新这个字段. 然后再用Group By来生成报表.这时惊人的效率提升终于出现了..只用了5秒. 但是只有20万的数据量的话,用5秒似乎也显得太多了一点 ,估计是没有使用到索引... 于是添加索引,以Where语句的字段和Group By后面的字段添加联合索引.再做测试... 速度终于提升到0.15秒左右了...正常范围内了(虽然赶不上MySQL的效率了,当然,这也是必然的)... 接下来就是触发器了...以前只是写过一个自增ID字段的触发器而已,而且还是网上直接抄下来的... 不过现在这个触发器也很简单就是了...所需要实现的就是在Insert字段的时候根据既有的字段中的某一个值(所在地区)得取值来确定我添加的那个字段的取值.并且将更新了的数据插入进去就可以了. 但是不得不说,我根本就忘了触发器怎么写了....orz 不过最后还是搞定了就是了...之前忘掉了使用for each row,导致一直都报告ORA-04082错误,添加那个字段后终于搞定

SlikSVN安装小记

之前的个人项目开发因为总是觉得项目量并不是很大,所以很大程度上无视了版本控制的存在。 毕竟就我一个人,怎么改都无所谓的。 但是在开发过程中还是出现了项目文件丢失、想要恢复到之前的版本却找不到备份等种种问题。 看来就算是一个人单干也还是需要版本控制配合啊。 于是想到了用SVN,至于为什么要选他,自然是因为PHP官方团队管理PHP的源代码也是用了SVN了…… 到SVN的官方玩站  http://subversion.apache.org/ 然后我选择了SlikSVN,因为似乎只有它提供了64bit的版本。官方网站: http://www.sliksvn.com/en/download 然后很正常的下载安装,安装过程中选择自定义安装,然后记得把Server端装上去,否则它默认就给安装一个客户端。 默不吭声的它就安装完了。可以说完全就是一个RAR打包之后也是同样的效果。自己到安装目录下找到/bin/svnadmin.exe,到CMD下运行它。 代码类似这个 c:\Program Files\SlikSvn\bin>svnadmin create D:\dev\popgo 意思就是建立一个工作区了,我的工作区在D盘下 然后该目录下就出现了一大堆生成的文件了,首先是编辑conf目录下的svnserve.conf了 里面所有的项目都是被注释掉的,消除以下行的注释 anon-access = none auth-access = write password-db = passwd authz-db = authz realm = My First Repository 这几项都没啥难度,指定用户的权限,指定Password文件的位置,指定权限指派文件的位置。 接下来编辑passwd文件,自己在后面建立一个就可以了,或者你可以用默认的那个 sally = sallyssecret 前面的代表用户名,等号后面是密码 然后编辑authz文件,[aliases]是代表用户的别名,如果需要定义的话是类似这样的 [aliases] sa=sally 不过使用别名的时候就需要用&符号放在前面了。[gr

柴门文漫画略赏(一)

图片
很难得的,开始捧起我一直敬而远之的柴门文的漫画作品。之前一直久仰她的大名,也收集了她不少的作品,但是一直都害怕端起她的书……因为害怕纠结。 我手头拥有的包括了《东京爱情故事》、《同班同学》、《AGE 35》、《那个夏天的回忆》、《欺骗我的男人》、《无声地倾听》和《无声的音乐盒》共5本,当然了,是不完整的她的作品集,起码缺少了很有名的《爱情白皮书》。 仅就这几本而言,除了东爱有三本,AGE 35分上下卷之外,全是单行本的短篇或者短篇集。但是不得不说那一本的内容含量也是惊人的,至少比普通的漫画本子厚一倍左右。 昨晚到今天看完的是《AGE 35》、《欺骗我的男人》和《同班同学》,不得不说,看她的漫画我的进度非常的慢,原因自然是因为无比的纠结,甚至纠结到我经常要停下来休息一下,以便恢复一下我那纠结的思绪,但是也不得不说,她写人物的心理,无论是男人女人都是非常的到位的,纠结,但并不是制造种种狗血的剧情让读者们纠结,而是让读者陷入一种自己也难以取舍的难堪环境下左右为难,就算是把自己摆上那个层面上自己也难于做好,同时,她针对人物心理那种细致入微的描写非常的精妙,设计的人物的性格也没有什么大的拖沓,也不是像一般漫画里面的人物性格那般标新立异,都是非常普通的市井人物,而不得不说想写好一个性格突出的家伙很简单,要描写一个想法复杂的活人,那就很麻烦了。 《AGE 35》讲述的是四个年介35岁的男女的故事,都结婚了,男主角还和女主角有了两个孩子。但是自打剧情一开始,男主角就面临了一个大问题——他已经出轨了,而且爱上了第三者。随着剧情的发展,第三者愈来愈多的出现在了他的生活中,甚至他妻子的生活中。不得不说,这本漫画相当的现实主义,这个也和柴一贯的风格相吻合,我觉得其中最为出彩的就是她对女性嫉妒的那种细致入微的描写,那种就像是用刀子一点点削出来的雕像,非常的贴切。 柴门文《AEG,35》嫉妒 柴门文《AGE,35》 嫉妒 当然了,里面还是不乏柴门文系的传统“人生课堂”:处世之道的传授课程…… 但是怎么说呢?最后故事可以说被安排了一个更好的结局……让所有的人都能如愿以偿了吧,但是我想现实中一定没有那么好的状况吧。 不过觉得最后柴门文的话很对 整体来说,AGE 35不算是非常纠结的,虽然也有很多的旧情,也有犹豫,但是整体上的人物都是很果断

未雨绸缪一下

鉴于是第一次尝试这种多相睡眠,所以必须要做好各方面的准备,当然了,最重要的准备就是..... 看看前人的经验了. 这里 就完整的记录了一位多相睡眠者的全部体验过程... 那么至少从他的记录中我得出的结论就是: 睡眠时间无论如何不可以超过15分钟,一旦进入了深度睡眠,就会让人很难受 可以适当的增加小睡的频率,特别是在调整期,但是睡眠时间一定不得超过15分钟,间隔不要低于1.5小时. 后期的体验很独特 饮食需要控制好,睡眠习惯的修正可能与饮食有关系,尽量的多吃水果素材少吃肉(毕竟这位成功者和达芬奇本人都是素食者) 嗯....我越来越期待第一天和第二天了,至少第一天都报告说还不错,第二天就是地狱一般的了

计划来实现一下达芬奇睡眠法

好不容易已经辞职在家家里蹲了,那么就来玩玩好久之前就想尝试的达芬奇睡眠法好了. 传说中一天只需要睡90分钟的秘技. 虽然在平时是绝对无法实现的,但是在现在反倒有可能来试试,不说别的,至少试试看了. 这套东西的秘诀说起来很简单,也就是每四小时睡15分钟了. 但是实现起来必须要极其的精准,该睡的时候绝对不可以拖延,该醒着的时候绝对不能睡觉或者打盹. 同时它所计算的睡眠时间为真正睡着的时间,也就是如果我们放宽统计,包括洗澡,脱衣服,穿衣服这类的时间,估计浪费在睡觉上这个动作上的合计时间大概在一天3小时左右.当然了,就算是这样也大大的缩短了平常八小时的睡眠时间. 那么计划是这样的 家里蹲状态,家里早晨是7~8点吃早饭,中饭一般是在11点半左右,晚饭在6点左右,那么规划一下的话睡眠时间安排大概是这样的了: 02:15 - 03:00 06:30 - 07:00 10:30 - 11:00 14:30 - 15:00 18:30 - 19:00 22:30 - 23:00 据说开始一周的适应期都是比较难熬的了,所以在这个适应期采用适度的奖励机制,也就是说把睡眠准备时间列为半小时前,越早准备好可以越早的睡觉,但是到了时间必须马上起床.洗澡的话则在更早的时间完成准备(因此2:15就开始进行准备). 好吧,我只是闲的蛋疼了.估计明天一整天我都会浑浑噩噩的了....

让Chrome真正的开始使用微软雅黑字体

因为最近发现MacType的显示效果不错,所以一直在摸索它的相关设置。 结果发现Chrome下MacType的显示效果很糟糕,原因就在于它对宋体的渲染很糟糕,只是对微软雅黑做了渲染处理。但是直接修改Chrome的设置中的字体选项,将默认字体调整为微软雅黑,这是没有用处的。Chrome只是修改了那些没有在Css中定义Font -family的字体的样式,将它们改为了微软雅黑,这明显是还不够的。 搜索发现 这里 提供了一个方案: 访问本地计算机的 %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets\Custom.css 然后添加: *{font-family:Arial,"Microsoft Yahei";} 但是这时候出现一个问题,那就是……Chrome依然我行我素的显示宋体 后来摸索发现,他的CSS语句写错了,因为Custom.css是默认最开始就加载的,所以会被后来的CSS文件中的定义覆盖掉,故而没有实际作用。真正的方法是加入以下语句: *{font-family:Arial,"Microsoft Yahei" !important;} 这样就可以了。

Debian下的SSH+Nginx+MySQL+PHP+FTP安装

虚拟机装上Debian.然后第一件事就是开始启动SSH 方法也很简单了,直接 apt-get install openssh-server 于是默认就帮你配置好了 然后,让我们关掉那个每次让自己卡到半死的DNS反查功能吧. vim /etc/ssh/ssh_config 在末尾行加入 UseDNS no 然后重启SSH 网上很多说重启可以用 /etc/init.d/ssh restart 但是我运行这个命令似乎没有效果...于是还是用很土鳖的办法 /usr/sbin/sshd stop /usr/sbin/sshd start 虽然我在SSH上执行这个命令的,但是执行了stop命令之后我并没有丧失当前的SSH链接,而且可以正确的再次启动它,当然了,这个更改的效果也只有在第二次登录的时候可以体会到了. 结果现在就碰到了问题:安装的时候选择的语言是中文呢的,Putty连上去了之后中文的显示是乱码,于是就需要做以下设置了: 首先确认你自己所在的local是zh_CN.utf-8 方法是运行: dpkg-reconfigure locales 会出现界面让你选择,选择为zh_CN.UTF-8即可 系统会进行重新配置 然后编辑environment vim /etc/environment 添加以下一行进去: LC_CTYPE="zh_CN.UTF-8" 保存退出就可以了. 接下来是客户端的Putty的设置: 在Window-Translation中把字符集改为UTF-8 然后再把界面字体更换为宋体或者其他随便支持中文字符的字体. 再次连接界面进入就会发现已经可以显示中文了,不过伴随而来的就是....英文字体真是无比的丑恶...于是还是把它改回来成英文好了... 接下来需要修改一下Bash了,先把ls的染色功能打开好了 #cd ~ ~#vim .bashrc 修改 # export LS_OPTIONS='--color=auto'  # alias ls='ls $LS_OPTIONS' 去掉前面的# 然后自己添加一个 vi='vim' 这样就好了...(我还是更