Monthly Archives: 十二月 2009

三十而立,80后你准备好了么?

           小沈阳说,人生最痛苦的事莫过于人死了钱没花了,赵本山说,人生最大的痛苦莫过于人活着钱没了。其实,人生最大的痛苦莫过于眼睁睁看着时光远去,自己还不能雄起,直到最后连勃起都成了问题。很多年前,我坐在海边一条年久失修的破船上,眼光停留在海水里女人们的臀部和胸部;一边扣着脚气一边在想,等我三十岁的时候,俘获她们像捞起一把海藻一样容易。当三十岁真正向我走来时,我却像一头从雪洞中钻出来的海豹,赤裸裸地站立在阳光之下,无奈也好,尴尬也罢,你无处躲藏!
         梦想破灭,危机凸显的时候,回眸一望百感交集,王小波在《三十而立》中这样写:好多年前,我在京郊插队时,常常在秋天走路回家,路长得走不完。我心里紧绷绷,不知道走到哪里去,也不知走完了路以后干什么。路边全是高高的杨树,风过处无数落叶就如一场黄金雨从天顶飘落。风声呼啸,时紧时松。风把道沟里的落叶吹出来,像金色的潮水涌过路面。我一个人走着,前后不见一个人……是的,很多年前,路总是很长,我们总是展望,三十而立,再也不敢展望了,低头赶路,哪有时间抬头?
        7岁上学,从小学到初中,我都是班里年龄最小的,工作以后才发现,同样是05年毕业,我却是年龄最大的。不得不感叹农村教育的落后让我在田间地头多玩了两年。半年公务员,半年下海创业,我几乎在最短的时间内完成了人生之路的探索,06年傻乎乎地闯进北京,一年之内换了三份工作,我完成了对工作道路的探索。用了三年时间,寻找属于自己的人生坐标,搞清楚了我想干什么?我能干什么。08年开始,跳累了。开始在一家门户网站蜗居。不能说我不努力,因为我从未怠慢。也不能说生不逢时,毕竟身边有一个个鲜活的成功案例。30岁,身体像一张软绵绵的卫生纸,包满了褶皱。心像铁板上的烤肉,吱吱作响,青烟袅袅……
           关于责任
           有位老总说他的用人原则:一是跳槽两次以上的人不用;二是30岁还未结婚的人不用。他认为这两类人缺乏责任感,比较自由,责任感的建立不够稳定。古人曰过:修身齐家治国平天下。其实,对于和平年代的80后而言,治国基本谈不上,国家那是相当地富强,神七、奥运、国庆,我们反复地用大手笔、大场面证明着这个国家是相当地有钱。倒是修身齐家显得格外的重要和艰难。上不能养老,下不敢生子。一套安身立命的房子就足够大家折腾了。从小,我们接受的教育都是先国家,后集体,再个人。事实上什么是国家?国家就是我们每一个个体。每个人都能生活好,就是为国家做出了最突出的贡献。此外,还需要关心天下。你可以不关注NBA,但是你需要关心哥本哈根气候峰会,你可以不关注《三枪拍案惊奇》,但是你需要关心伊拉克的人肉炸弹。无能为力的时候,关注也是一种支持,至少是一种态度。人对于同类和生存的这个地球的态度。
         关于感情
         三十岁的感情一片贫瘠,不毛之地。曾经的都应该释怀。无论多么地刻骨铭心,只要他的身影远去,就应该在内心深处将其剥离。倘若这个时候尚且单身,也就错过了年轻时恋爱的趣味,踏踏实实去相亲市场上拉一头回来了事。毕竟对于男人而言,找个人搭伙过日子只是生命的一部分。对于结婚的80后而言x年之痒已经开始,婚外恋离你还远。因为你没有时间和金钱。
        关于梦想
        30岁,现实已经将我们的梦想摔得粉碎,至少折成两截。但是,可以洗把脸,重新规划人生,肃清理想。把那些属于幻想的梦想清理出去,把那些能看得见摸得着的理想竖起来。有个典故大约是这么讲的:因为掉了一颗钉子就掉了一个马掌,丢了一只马掌就毁了一批战马,毁了一匹战马,就输了一场战争。输了一场战争,就丢了一座城池,丢了一座城池,就输了一个国家。同理,因为睡了一次懒觉,就有了一次迟到,因为一次迟到可能就丢了领导的一个好印象,丢了一个好印象可能就丢了一个职位,丢了一个职位就可能丢了一个做CEO的机会……对于,年近而立的80后而言。梦想,从每天早起开始!因为每天都有有好多事等着你,你时日不多。
        关于父母
        每年过年都想回家,每年都难回。有一天,我躺在床上一算。我一年回一次家,父亲60岁了,如果他能活到90岁,我和他还有30次的见面机会,每次回家顶多呆三天,那么留给我和父亲的时间只有90天了。曾经想着带他去看看世界,但是,他日渐衰老,我却无能为力,每次给家里打钱都像是一次赎罪。临近而立之年的80后们?你们为父母做了什么?拿他们的钱来买房?还是每年能陪着他们完成一次旅游?这是两个截然不同的状态。记忆中,父亲是那样的健壮,一转眼,他已经步履蹒跚,真的老了。
          压力很大,孩子很小,父母已老,钞票太少,三十而立的80后,大多数还站在立与未立的十字路口:年轻得一无所有。毛泽东30岁时已是湖南农民运动的领袖,周杰伦25岁已经是华语歌坛的巨星,韩寒20岁已经是家喻户晓的作家,丁俊晖18岁就成了世界冠军。你可以说他们只是少数,但是他们确实现实地存在着。 三十而立,挺立?卧倒,还是爬行?

 
 
Category: 网海拾贝 TAG: , ,

中国网络电视台开播

 互联网市场先前曾经传出网络电视“国家队”登场的消息,今天,中央电视台重金打造的的“国家网络电视台”(简称“CNTV”)于终于正式亮相出场,互联网视频行业的“国进民退”拉开了序幕。

  中国网络电视台(英文简称CNTV,域名

Category: 网海拾贝 TAG: , , ,

神一般的漂移

 刚开始我以为是极品飞车11的宣传呢。。。。。

 

Category: 网海拾贝 TAG: , , ,

回到2006年的10月1

       最近由于闲的难受,决定再做点什么,但是一直不知道要做什么,昨天在备份FTP的时候发现2006年自己做的一个小程序,再重新做做。

Category: 似水流年 TAG: , , , , , ,

2010年春节联欢晚会节目单 – 节目播出顺序单

网上拾来了,还2月呢,我觉得不可能是最后的名单,不到最后谁也不知道结果

 

2010年春节联欢晚会节目单 – 节目播出顺序单
开场20点00分
片头30秒
序曲〈中国大舞台〉20点03分
第一篇章〈快乐中国〉
主持:李咏、董卿
1、 歌舞〈快乐年代〉郭富城20点06分
2、 相声〈彩铃声声〉冯巩、大兵、赵卫国20点17分
3、 戏曲联唱〈梨园闹新春〉20点22分
豫剧《花木兰》选段:小香玉
黄梅戏《打猪草》选段:韩再芬
京剧《今日痛饮庆功酒》于魁智、孟广禄
4、 小品《彩票》郭冬临、曹颖、刘仪伟20点34分
5、 歌曲〈又是丰收年〉20点37分
6、 小品《乔迁之喜》郭达、蔡明、喻恩泰、胡可20点48分
7、 歌曲《开缸酒》韩磊20点53分
8、 歌曲组合《一路欢歌》21点00分
《童年》毕福剑、陈怡(江苏电视台)
《同桌的你》赵音奇、李维嘉(湖南电视台)
《相逢是首歌》欧阳夏丹、徐春妮(北京电视台)
《外婆家的澎湖湾》张绍刚、周群(安徽电视台)
《甜蜜蜜》撒贝宁、陈蓉(上海东方电视台)
〈心会跟爱一起走〉鲁健、许戈辉(凤凰卫视)

第二篇章〈温暖中国〉
主持:尼格买提、方琼
1、 歌曲〈爷爷奶奶和我们〉潘长江21点03分
2、 相声〈幸福在哪里〉姜昆、戴志诚21点10分
3、 歌曲〈回家真好〉刘德华21点14分
4、 小品〈全家总动员〉尼格买提、方琼等21点24分
5、 舞蹈组合〈八面来风〉21点33分
〈梦回江南〉周洁
〈康巴汉子〉黄豆豆
〈彩云之南〉杨丽萍
6、 小品〈麻辣夫妻〉黄宏、牛莉;宋丹丹、周星驰;曾宝仪、李彬21点51分
7、 综艺组合〈千家万户贺新春〉22点00分
歌曲〈小夫妻〉陈建斌、蒋勤勤
快板〈过大年〉王宁、刘纯燕
双人舞〈彩碟〉申雪、赵宏博
双簧〈小拜年〉汪涵、杨乐乐
黄梅戏〈夫妻双双把家还〉大山及爱妻

第三篇章〈青春中国〉
主持:李嘉明、李雨菲
1、 综艺组合〈青春本色〉22点09分
歌曲+表演〈不得不爱〉梦想中国年度冠军、后舍男孩
吉他演唱〈那些花儿〉加油好男儿、快乐男声年度冠军
轮滑〈飞越星空〉
街舞街球表演〈动起来〉
艺术体操〈梦飞扬〉
2、 相声〈我们正年轻〉阿丘、马东、高博、朱佚22点21分
3、 小品〈100个放心〉郭涛、闫学晶、谢娜22点35分
4、 歌曲〈纯真年代〉张学友22点38分
5、 小品〈青春依旧〉李文启、李明启、孙涛、唐静22点52分
6、 歌曲组合〈影视明星大拜年〉23点00分
〈看海〉周迅
〈浪漫的事〉朱媛媛
〈暗香〉陈坤
〈百姓就是头上天〉戴娆
〈千年等一回〉赵雅芝
〈一剪梅〉费玉清

第四篇章〈中国〉
主持:朱军、周涛
1、 歌曲组合〈新民歌接力唱〉23点08分
〈月亮女儿〉张燕
〈幸福山歌〉祖海
〈梦入桃花源〉陈思思
〈中国红〉吕薇
2、 歌曲+杂技〈飞天〉彭丽媛23点13分
3、 小品〈都是自己人〉赵本山、方青卓、范伟23点26分
4、 歌曲〈再说一次谢谢你〉黎明23点30分
5、 小品〈嫁给中国人〉郭晓冬、爱华、魏积安、杨蕾23点45分
6、 歌舞组合〈除夕围炉歌会〉23点54分
〈土家情思〉
〈山妹子〉
〈美丽家乡〉
〈红火火〉
〈春天来了〉
〈快乐的节日〉
7、 歌曲〈阳光〉谭晶23点58分

第五篇章〈圆梦中国〉
主持:杨帆、张蕾
1、 大歌舞〈欢乐就在此刻〉0点15分
〈合家闹〉
〈合家欢〉
〈合家福〉
2、 歌舞组合〈欢天喜地大联唱〉0点25分
〈美梦成真〉孙楠、田震
〈中国龙〉谢霆锋、羽泉
〈同一个世界,同一个梦想〉刘欢、那英
3、 歌曲组合〈迎春放歌〉0点35分
〈欢乐嘉年华〉汤灿
〈走在幸福的路上〉刘媛媛
〈春满中华〉王丽达
〈锦绣中华〉王宏伟
4、 乐器组合〈我爱你中国〉0点45分
钢琴郎郎;女子十二乐坊;小提琴吕思清、陈美
幸运大抽奖0点46分
5、 军旅歌曲组合〈军歌响亮〉0点56分
〈守在这里的是你〉耿为华
〈一排二班〉麦穗
〈走军营〉老兵
6、 尾声〈难忘今宵〉众主持及演员1点00分

Category: 网海拾贝 TAG: , ,

C# WebBrowser 抓图获取网页验证码

在.NET的WINFORM开发中,大家可能都比较熟悉了WINFORM控件的 DrawToBitmap 方法。但是,如果你使用 WebBrowser 的时候,却发现没有 DrawToBitmap 这个功能,然而,WebBrowser 实际上是有这个功能的, 只是在VS IDE的智能提示列表里面没有显示。

WHY ? 俺也不知道

 

网页中的验证码,其实是通过一个独立的页面来输出的,例如 CSDN 的登录验证码地址为: http://passport.csdn.net/ShowExPwd.aspx

我们下面用WebBrowser获取这个图片,显示在窗体的PictureBox上。

 

this.webBrowser1.Navigate("http://passport.csdn.net/ShowExPwd.aspx");
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
Bitmap bmp = new Bitmap(200, 200);
webBrowser1.DrawToBitmap(bmp, new Rectangle(0, 0, 300, 300));
this.pictureBox1.Image = bmp;
}

 

需要说明的一点:

如果WebBrowser是动态创建的,则必须可见,否则,抓图是全白,没有内容的。

Category: 技术 TAG: , , , , , , , , ,

又一体操王子(广播体操),好灵活的胖子

他浑身上下流露出不羁与奔放的气质。他的双手,只为打破封建礼教的桎梏而挥舞!

Category: 网海拾贝 TAG: , , , ,

Qcon BeiJing 2010项目启动

| | COMMENTS:No Comments »

Qcon BeiJing 2010项目启动,继Qcon2009,敏捷开发大会之后迎来了第三次合作。2010在任何方面会给用户带来更高的体验感受。

Category: 似水流年 TAG: , , , , , , ,

Asp.Net中的事件和委托的实现

| | COMMENTS:No Comments »

页面:

<%@ Page Language="C#" CodeBehind="Default.aspx.cs" AutoEventWireup="true" Inherits="WebApplication1._Default" %>

 后台:
 

protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Page is loaded by Page_Load!<br>");
}
protected override void OnLoad(EventArgs e)
{
Response.Write("Page is loaded by OnLoad!<br>");
base.OnLoad(e);
}

问题:
 

1.  如果 AutoEventWireup="false",输出会是什么?

2.  如果注释掉 base.OnLoad(e); 输出会是什么?

3.  关于其他 AutoEventWireup 设置和 base.OnLoad(e)注释与否的组合,结果各是什么?

 这里首先给初学者介绍一个vs2008中的一个快捷键:F12;然后推荐一个工具:reflactor。很多时候,工具的使用比掌握某一个知识点更有用,所谓”授人以鱼,不如授人以渔“。F12可以转到方法的定义,reflactor则可以“反编译”.net程序集,是我们学习.net的利器啊,呵呵。

首先,如果 AutoEventWireup="false",我们会发现Page_Load方法根本不会执行(可设置断点查看)。如果你是直接学的asp.net2.0,很有可能你会忽视这个知识点(很不幸,我也是直接学的2.0)。AutoEventWireup是ASP.NET2.0一个新增的属性(具体可以查MSDN),它用于实现ASP.NET2.O页面事件的自动绑定!
我们回过头来想一想委托和事件吧! 我们常常说,页面事件,页面生命周期……,这些东西究竟是怎么被实现的呢?我们能够看到他们实现的代码么?
可以想象,Page_Load方法如果需要执行,必然应该和页面事件相关联。在Page这个类中,一定会暴露一个事件(如Onload);然后,我们还需要“订 ridge; border-top: #cccccc thin ridge; border-left: #cccccc thin ridge; border-bottom: #cccccc thin ridge; background-color: #f0f0f0″ name=”CodeLight_code”>
// Summary:
// Occurs when page initialization is complete.
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event EventHandler InitComplete;
//
// Summary:
// Occurs at the end of the load stage of the page’s life cycle.
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event EventHandler LoadComplete;
//
// Summary:
// Occurs at the beginning of page initialization.
public event EventHandler PreInit;
//
// Summary:
// Occurs before the page System.Web.UI.Control.Load event.
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event EventHandler PreLoad;
//
// Summary:
// Occurs before the page content is rendered.
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event EventHandler PreRenderComplete;
//
// Summary:
// Occurs after the page has completed saving all view state and control state
// information for the page and controls on the page.
[EditorBrowsable(EditorBrowsableState.Advanced)]
public event EventHandler SaveStateComplete;

哇塞,都是事件哟!但很可惜,我们没能找到想要的OnLoad事件……

好在我们还有这行代码:

base.OnLoad(e);

将鼠标点到OnLoad(e)上,再F12,哈哈,找到了:

 

base.OnLoad(e);

将鼠标点到OnLoad(e)上,再F12,哈哈,找到了:

 

//
// Summary:
//     Raises the System.Web.UI.Control.Load event.
//
// Parameters:
//   e:
//     The System.EventArgs object that contains the event data.
protected internal virtual void OnLoad(EventArgs e);

不容易啊,仔细一看,居然在Control类里,原来Page继承的是Control类,和我们一般的想法有点相反哟!(这里就不再展开了)更加注释,我们可以看出,这个方法就是raise(击发) Load事件的方法了!在这个Control类里,我们也能看到Load事件的声明:
 

//
// Summary:
//     Occurs when the server control is loaded into the System.Web.UI.Page object.
[WebSysDescription("Control_OnLoad")]
public event EventHandler Load;

还可以看到事件绑定的委托EventHandler,再F12,我们能看到EventHandler的声明:

 

// Summary:
//     Represents the method that will handle an event that has no event data.
//
// Parameters:
//   sender:
//     The source of the event.
//
//   e:
//     An System.EventArgs that contains no event data.
[Serializable]
[ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);

看到代码的感觉真爽,很踏实!是不是?更精彩的还在reflactor,

 

protected internal virtual void OnLoad(EventArgs e)
{
if (this.HasEvents())
{
EventHandler handler = this._occasionalFields.Events[EventLoad] as EventHandler;
if (handler != null)
{
handler(this, e);
}
}
}

和我们的想象有一点差别,但完全可以理解,而且你可以进一步的点击深入。
 

 

至此,我们可以梳理出ASP.NET的委托事件机制:
1.  .NET自有的委托EventHandler,确定了委托调用的方法签名(参数:sender和e,返回值void),这就是为什么我们看到的事件方法都长得一个样子的原因;

2.  在Page类及其父类中,的确是定义了一系列的事件和击发(raise)这些事件的方法。我们可以利用这些事件(如写Page_Load()方法),也可以直接override调用这些事件的方法(如OnLoad()方法)。这两者之间的区别或关系,以前我一直是晕的。

3.  因为AutoEventWireup的原因,我们没有看到“事件订阅”的代码,太遗憾了,所以我们接下来自己实现它:(首先AutoEventWireup=“false”)

 

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new EventHandler(Page_Load);
}
Category: 技术 TAG: , , , ,

UCenter的安全漏洞

Ucenter和uchome的统一账户机制。感觉设计上面不是很合理.

如果想让某应用a在登录时同时也登录其它挂接到对应ucenter的应用b(入uhome).
那么应该采用synlogin方式.

synlogin方式会让ucenter生成若干条js嵌入脚本.(每个第三方应用对应一条),如下:
 

<script src="http://host:port/uchome/api/uc.php?code=xxx" />

以uchome为例, uchome/api/uc.php的执行关键过程如下:
1. 从code解编出字段: username, password, uid.
2. 在uchome自身数据库中判断此uid是否存在,如果存在便设置授权cookie.(认为登录成功).
 

 

这里头引出了几个问题:

1. 如果用户初次从a站点登录并sync到uchome, 那么uchome自身数据库中是不存在对应账户的,那通过第三方应用登录到uchome的过程会失败.
  除非你显示从uchome登录一次, uchome的登录过程如下:
 

  1). 从ucenter登录,获取用户信息.

  2). 判断本地数据库是否存在此用户,如不存在则插入用户信息.
关键在第二步, 所以你必须通过uchome的入口才能让新用户插入uchome自身的数据库.

2. 有安全漏洞.
 

  由于uchome/api/uc.php中的判断只是简单判断uid是否存在, 如果uid存在便认为可以正常登录.
  那么假如我们的账号某次被盗了,只要攻击者记录下那串<script src = "http://host:port/uchome/api/uc.php?code=xxx"/>
  那么后续该用户无论怎么修改密码都无用, 因为uchome的跨应用登录入口api/uc.php根本不检查password,也不与ucenter作通ome/api/uc.php?code=xxx" />

D知道了某个uchome应用的UC_KEY, 那么你就可以构造伪造请求来模拟任意用户登录了.
 

Category: 技术 TAG: , , , , ,