教训
由于校内更改了状态发布的代码,所以之前的 Fannt2r 失效。今天修改时候由于一个细节问题浪费了不少时间:
- 小心中间临时变量名。由于设置了一个函数变量 cookie,而中间又有 cookie 临时缓存,之前都是用 cookie 一个变量,导致变量的值被篡改。所以,中间临时变量名字不要跟函数变量一样,改为 cookie_buf;
- 细心耐心的去调试程序。
PS:Python 真的很有爱。
玉树不倒
国务院决定,为表达全国各族人民对青海玉树地震遇难同胞的深切哀悼,2010年4月21日举行全国哀悼活动,全国和驻外使领馆下半旗志哀,停止公共娱乐活动。
为玉树人民默哀。玉树不倒,青海常青。
一日黄山
由于我悲剧的手机线充,去黄山的这两天不敢随意上推,也就无法随时记录这次黄山一日的一些感受想法,下面这些字是回来后回想,些许带着情绪。标题很明显就带着情绪。
- 坐车真累,17 号早上 7 点出发,12 点才到汤口,这一路车坐的屁股疼。由于不能手机上网玩,真的很无趣,只有睡觉。所以说,手机在有些时候是打发时间的绝佳武器。
- 一路上的风景远观都很不错,很多油菜花,黄灿灿一片非常漂亮。
- 往南走,能看到很多跟北方不一样的东西,比如建筑,两层尖顶小楼,应该是南方雨水多带来的特色建筑。
- 旅游团订的午餐很烂,而且量很少,我们一桌人几乎都没吃饱。
- 导游吃饭前是说先到宾馆,然后再计划下一步是休息还是宏村转转,结果吃了饭把你装上车就跟你耗着,不去宏村就不回宾馆,当然,去宏村的门票要再算。还好老板说给报销,不然估计得在大巴上憋几个小时。
- 宏村的设计相当赞,非常的系统化。村子保存的很不错,虽然现在人工修复的痕迹很浓,依然能看出几百年前的样子。
- 在宏村想去买点纪念品,但都知道旅游时候买这种东西就是明摆着让人宰,一个木工艺品要价 15,最后 5 块钱入手。
- 晚上住宿就是个杯具,先是我们 43 个人被分成两批,说一个宾馆住不下,13 个人出去另一个宾馆,半路上又把我们 13 个人再次劈开,6 个人去一民宅,另外 7 个去另外一小区民宅,完全让导游宰割,你却没啥办法。
- 早上 3 点起床,早餐,然后换乘黄山旅游大巴上山,盘山路真险,绝对十八弯。
- 缆车上山,开始发现人多,接下来一整天的感受就是人多。
- 风景确实很美,只可惜 18 号天公不作美,早上阴天,远景看的不是太清楚。临时充当领队,拍了不少照片,可惜不是自己的相机,还没拿到照片。嗯,在黄山上,真的想要一个相机。
- 八点不到的样子,阵雨如期而至。只见满山上都是雨衣,很好很强大。
- 雨中感到光明顶,风大,只拍了几张。
- 漫长的前山到后山之行,人挨着人,人挤着人,想走快是妄想,想慢走看景也是不可能。就这么“被”走了三公里到迎客松。
- 人真多真多!玉屏峰全是人!下山口严重拥堵,据前方导游说中午时分上山的人依然很多,下山和上山的人在黄山狭窄的石道上堵住了。
- 人太多,完全没有兴致玩了,排队下山。下山到天都峰路口时候,天气放晴,云雾飘渺,漂亮。
- 上山容易下山难,生生走了两个小时,累的腿都要断掉。
- 导游安排到一茶楼品茶,还是有不少同事被营销,纷纷出手买茶叶,可惜咱乡下人,不懂品茶,省掉。
- 走了一天真累,粗略算下来有 20 里山路,所以回来的车上歪头就睡着了。
- 十点半到合肥,打车回到家,洗洗睡吧。
景色真的很不错,只可惜人太多,又下着雨,完全没法去观景,就被挤着走路了。回头跟老婆挑个好时节好天气再去一番。
Update:今早看新闻,发现自己一不小心还参与创造黄山游客记录,四月这种淡季居然赶上五一十一黄金周的人流量了,其实原因很简单,黄山这一天门票半价,我也是上山后听导游说才知道的。
Missing
刚送老婆上车,心里就空落落的。顺着那条破路往家走。
到楼下,不想上去,一个人呆在屋里不好玩,就去老梁那边串门,扯淡到九点,还是得回去。
肯定睡不着,所以就看无聊的肥皂剧。一集、两集,其实我是在等老婆上火车,顺便等我生物钟赶紧到,这样就可以倒头就睡着。
半夜醒来无数次,一个人的被窝太冷。
早上六点半闹钟,我还是习惯性的关掉,然后再眯一会。
可惜眯一会就没人再叫我了,所以我七点二十惊醒,然后飞奔到公司。
老婆赶紧回来。
PHP 里常量和变量的区别
- 常量前面没有美元符号($);
- 常量只能用 define() 函数定义,而不能通过赋值语句;
- 常量可以不用理会变量范围的规则而在任何地方定义和访问;
- 常量一旦定义就不能被重新定义或者取消定义;
- 常量的值只能是标量。
Delphi ADOTable 增删查改
//添加记录
ADOTable1.AppendRecord([val1,val2]);
//删除记录
ADOTable1.Filter :='SaleID='''+text+'''';
ADOTable1.Filtered := true;
if ADOTable1.RecordCount = 0 then
begin
ADOTable1.Filtered := false;
end;
else
begin
ADOTable1.Filtered := true;
ADOTable1.Delete;
ADOTable1.Filtered := false;
end;
//查找记录
ADOTable1.Filter := 'SaleID='''+text+'''' ;
ADOTable1.Filtered :=True;
//更新记录
ADOTable1.Edit;
ADOTable1.FieldByName('SaleID').Asstring := text;
ADOTable1.Post;
Delphi ADODataset 增删查改
//Select/Refresh
ADODataset1.Active := false;
ADODataset1.CommandText := 'select * from Table_1';
ADODataset1.Active := true;
//Add
ADODataset1.Append;
ADODataset1.Fieldbyname('ID').Value := edit1.Text;
//Delete
ADODataset1.Delete;
//Update
ADODataset1.Edit;
ADODataset1.Fieldbyname('ID').Value := edit1.Text;
ADODataset1.Post;
Why GAE?Why Picky?
Why GAE?为什么用 GAE 做 Blog 平台,参见 Livid 的把博客架在 Google App Engine 上的好处,自己的观点:
- WP 越来越庞大。WP 的功能强大和定制性毋庸置疑,但是随着 WP 的功能强大,效率和安全性越来越是个问题;
- 主机服务器的问题,在国内要备案要审查,这也是为啥我放弃了之前在国内的博客停止更新;
- GAE 是免费,并且满足自己折腾。
在放弃 WP 转战“云博客”的时候,也考虑过 Blogger、WP.com、Posterous 这种 BSP,不过还是放弃了,原因:
- Blogger、Posterous 虽然也可以自己绑定域名,但你能够折腾的只有内容和样式布局上,在整体功能上还是受限,参考上面第三条;
- WP.com 可以让我无痛转移之前博客过去,但不能绑定域名;
- GAE 的强大免费以及对 Google 的中毒,:)
Why Picky?Blog system powered by GAE 有很多,其中徐明的 Micolog 和丛林大侠的 iHere 异常强大,最吸引我的就是都支持 WP 导入,但是这两个的强大带来的一个问题就像是 WP 的庞大,有很多自己不非常需要的功能。另外,Picky 有很多非常吸引我的地方;
- Clean,no unnecessary visual noises,focus on writing;
- Employ sexy technologies like HTML5,Twitter;
- Integrated Twitter client,synchronize to Twitter automatically.
至于 appspot 被墙,这年头谁上网还没几个翻墙的家伙什?!
这就是为什么我选择 GAE+Picky 作为自己的发布平台,Easy to share my thought and opinion。
Delphi ADOQuery查询、插入、删除、修改
//查询记录
with ADOQuery do begin
Close;
SQL.Clear;
SQL.Add('Select * From Table');
Open;
end;
//插入记录
with ADOQuery do begin
Close;
SQL.Clear;
SQL.Add('Insert Into Table(val1,val2) values(:val1,:val2)');
Parameters.ParamByName('val1').Value := Trim(Edit1.Text);
Parameters.ParamByName('val2').Value := Trim(Edit2.Text);
ExecSQL;
end;
//删除记录
with ADOQuery do begin
Close;
SQL.Clear;
SQL.Add('Delete from TABLE where val1=:val1'); // =: 前后都不可有空格;
Parameters.ParamByName('val1').Value := Trim(Edit1.Text);
ExecSQL;
end;
//修改记录
with ADOQuery do begin
Close;
SQL.Clear;
SQL.Add('Update TABLE Set Key=:val1');
Parameters.ParamByName('val1').Value := Trim(Edit1.Text);
ExecSQL;
end;
Open 有记录集返回,ExecSQL 没有记录集返回;Select 常用 Open,Delete/Insert/Update 常用 ExecSQL。
忙碌的愚人节
今天我开始培训工作,碰巧愚人节,够巧的。
一上午就在帮他们整理资料,下午网络布线,累死个人了,真比做项目都累。
挑战很大,要加把劲,加油加油!~