手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:编码

让人自卑的简历

以下为转载,不知道原地址了。不知道是真是假,如果是真我很自卑。
yhustc评价说:老豆有钱+自己争气

林志颖个人履历:

10岁――――――遥控车比赛全台湾亚军,对记者说自己的梦想是做一名赛车手。 

15岁――――――依靠打工买下平生第一辆车(一辆50CC摩托车),并自己动手改装,使之能发出8种声音。 

15岁――――――尚未出道的林志颖因完美的外形和健康阳光的气质被广告商拉去拍了三个大广告——白兰洗面乳、宏基电脑、金车麦根沙士。 

16岁――――――因演出学校舞台剧,最后5分钟出场,被飞碟公司星探发现,正式签约飞碟唱片公司。 

17岁――――――发第一张唱片,正式出道,一年不到,红遍东南亚以及整个华语世界,绰号“亚洲小旋风”,被媒体称为娱乐圈“最神的神话”。 

18岁――――――成为第一个完全以国语歌曲演唱入主红?体育馆歌手及红?开唱最年轻歌手(该记录至今仍然由林志颖保持)。第一次来访香港的林志颖,使得香港启德机场经历了十年来一次难得的轰动经验,一种外来的震撼,从没这样的颠倒过,被香港媒体称为“过江龙”。 

18岁――――――举办世界巡回演唱会的最年轻歌手记录保持者。 

18岁――――――拥有第一辆宝马跑车。 

18岁――――――成立自己的摄影工作室(分店一度开到六七家,月盈额200万)。 ! 

20岁――――――7张唱片销量全球突破1000万张。 

20岁――――――抛下巨星光环,毅然入伍当兵。 

22岁――――――以跳箱、射击、投弹、匍匐等等几乎所有项目接近满分,在役期间荣获四次荣誉假,并获得“总统奖”嘉许的成绩退伍。 

22岁――――――接受泰国国王莆眉篷的邀请担任莆眉篷70岁大寿生日会演唱压轴嘉宾,并接受泰国王后和公主的接见,公主一见钟情,差点成为泰国驸马。 

22岁――――――开始投资股票。 

23岁――――――拥有第一辆法拉利,用自己的红色法拉利战车,第一次赛车比赛拿到季军奖杯。 

23岁――――――巨星身价签约香港百代EMI唱片公司。(报纸写的是两年三千万港币) 

24岁――――――赛车出车祸,右脚掌断了三根骨头,打了四根钢钉固定。 

24岁――――――参加世界国际A级越野赛,成台湾第一个参加国际顶级赛事的车手。 

24岁――――――以一百分的成绩取得专业救护资格证,成为台湾第一批EMT(Emergency MedicalTechnician,即紧急救护技术员)之一。 

25岁――――――拍摄第一部电视剧《绝代双骄》,泰国收视第一,红遍两岸三地,再次成为台湾身价片酬最高艺人。 

25岁――――――成立自己的第一支赛车队ESSO JIMMY RACING TEAM。 

25岁――――――一年内四次刷新台湾龙潭BMW M3最快赛车单圈记录。 

25岁――――――潜水执照。(注:是这一年在新闻中提到潜水执照。在垦丁海域潜水、飙水上摩托车、玩机械帆船等水上活动,其实是林志颖学生时代便热衷的) 

26岁――――――出演电影《红字》,拿到亚太影展最佳男演员特别奖,《红字》一剧拿下当年泰国年度票房第一,也是泰国历史上总票房排第二的电影。 

26岁――――――在珠海赛车场拿到赛车生涯第一个冠军。 

26岁――――――成立自己的科技公司。(林志颖之后很长一段时间内一直亲历亲为,与朋友一起将公司发展壮大,甚至在内地拍戏时还坚持每天开远程会议,处理台北公司事宜。公司设计软件接?的对象包括军方、银行等,是全台湾唯一一家做该方面项目的公司) 

27岁――――――担任美国国际反毒大使(亚裔艺人第一人)。 

27岁――――――赛车达到颠峰状态,拿到9座职业车赛奖杯,7个冠军奖杯,2座亚军,并成为台湾年度冠军车手。 

27岁――――――成为台湾第一位授薪职业赛车手。 

28岁――――――美国总统布什授予白宫荣誉奖章。 

29岁――――――获得国际杰出青年奖。是首位华人、全球演艺界继汤姆克鲁斯后第二位艺人获此殊荣。并于美国领取杰出华人奖,旧金山定10月17日为“林志颖日”,授予“美国荣誉公民”。 

29岁――――――拍摄《天龙八部》,为2003年百度年度搜索第一电视剧,台湾收视最高武侠剧。 

29岁――――――正式投身中国职业汽车拉力赛,加盟上海佳通轮胎车队。 

29岁――――――搬入装修半年多的居室。(林志颖的家堪一座科技中心。朋友戏称林志颖过的是007的生活,家整的像骇客帝国一样,全是机械化的东西, 说不定从哪里伸出什么东西。不仅如此,他家里的电子设备都是和他的手机相连接的,即便身在美国、内地,林志颖也可以用手机远程控制家中上百样设备,比如在 回家的路上,他就可以设定家里的温度、湿度,可以放水温水这样一回家就能洗澡,可以在内地招待台北家里的客人等等。该系统是由他自己的科技公司开发 的。) 

30岁――――――加盟云南红河拉力车队,获得中国拉力赛年度车手第8名。亚洲雷诺方程式获得第五。 

30岁――――――于珠海举办第一届“林志颖杯“交通安全明星邀请赛,与好友陈维良先生合作成立“珠海平坐赛车咨询公司”。 

30岁――――――拍《书剑情侠柳三变》时发生意外,由于吊索的扣环插入,致使林志颖脊椎旁的一块小骨头骨折。台湾医生一致建议林志颖至少要休息三个 月。但临时换演员,意味着剧组要遭受巨大的损失。林志颖不顾家人反对,在一个疗程后,带着强力镇痛药回到了剧组。不仅如此,由于治疗耽误了十二天的时间, 此后的拍摄林志颖甚至每天工作十五六个小时为剧组弥补损失。 

31岁――――――组建自己的第一支拉力车队“林志颖车队”,聘请曾经世界排名第三的英国著名选手小麦克雷为其车队效力。 

31岁――――――改装成了台湾第一把绿色瞄准器的BB枪,半年后台湾的公司相继效仿生产。(此事在31岁这一年在节目中由朋友爆料,具体时间不详) 

32岁――――――“林志颖车队”获得中国拉力赛年度季军车队。 

32岁――――――成立“梦飨家”餐厅。 

32岁――――――出演第一部时装偶像剧《放羊的星星》,为2007年百度年度搜索第一电视剧,2007年港台最受欢迎电视剧,及2007年台湾最高收视偶像剧,并入围2008年韩国首尔电视节最佳长篇电视剧。 

32岁――――――受邀骑哈雷重型机车率领600多辆大排量国内外名牌摩托车和近千名国内摩托车迷于广东江门巡游,600辆摩托车组成奥运 五环,支持[敏感词语]。该活动经公证创北京 奥运 组合图案吉尼斯之最。 

32岁――――――担任国际马拉松大使。 

32岁――――――考取游艇执照 

32岁――――――意大利车商法拉利大手笔包下上海F1赛车场,提供上亿台币名车,邀请林志颖担任艺人专业驾驶培训课程教练 

33岁――――――2008年新飞泛珠三角超级赛车节春季赛第一回合冠军、第二回合亚军,夏季赛第一回合冠军、第二回合冠军 

33岁――――――四川汶川地震,捐款100万人民币(台湾捐款最多艺人),亲自赴灾区当义工(台湾第一位赴灾区艺人),认养两名地震孤儿,08年6月珠海赛事中将试驾所得的钱款全部捐献给赈灾区,并捐出冠军奖杯义卖。 

34岁――――――“挡不住的林志颖”上海演唱会,2008年10月17日 19:30(P.M)上海虹口足球场。 

34岁――――――2008年10月26日在中国深圳南山后海F1赛场举行加盟中国天荣队仪式,林志颖正式成为中国队后备队员,该队是世界F1 赛场 (F1赛车、F1摩托艇)上唯一的中国队。(演艺圈里首位参与此项殊荣的艺人,也是香港、台湾地区的首位华人选手)(中国队现计划安排林志颖进行集训和参 加F2摩托艇世界锦标赛)

Tags: 简历, 林志颖

语言包?

本文也是转摘,不过看到它的时候,我想起了discuz的URL解析,discuz在做rewrite的时候,并没有主动都对模版中的链接进行更换,而是在输出前,对于符合规则的那些链接使用rewrite的规范进行了一次批量替换。

这次我转摘的文章也是用了类似的方法,只是他又是.NET处理的,我也不翻译了。知道了原理就行了(和discuz一样,不过这种方法应该只适合做语言包)

原文:

一直以来多语言问题都是个让人头疼的问题,不是这个问题有多难,而是很繁琐,而我们目前的这个项目有点特殊,我希望最大限度的化繁为简,以下是我解决这个问题的方案。
我们的项目有这样两个前提:
1、要支持多语言但最多三种语言,一般情况下就两种语言,所以并没有随时切换语言的要求。
2、我们希望有一种可以初期不用管语言问题,之后统一翻译的方案
基于这么两点,我们提出了这样的方案:
1、初期写程序时不用关心多语言的翻译工作,只要将所有使用到中文的地方都用{}扩上
2、在数据库中Chinese会设置为唯一约束
3、所有的翻译工作会在BasePage中的Render方法中作
4、所有的页面会继承BasePage
5、翻译时会根据当前的语言设置构建以language表中Chinese做key,相应的语言为value的字典,然后查找需要翻译的字符串是不是在字典中,如果不在就生成这一行。

 
数据库设计四个字段

ID,Chinese,English,Other

BasePage源码:

C#代码
  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Linq;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.HtmlControls;  
  9. using System.Web.UI.WebControls;  
  10. using System.Web.UI.WebControls.WebParts;  
  11. using System.Xml.Linq;  
  12. using System.Text.RegularExpressions;  
  13. using System.Text;  
  14. using System.Collections;  
  15. using System.Collections.Generic;  
  16. using System.IO;  
  17. using System.Diagnostics;  
  18.   
  19. /// <summary>  
  20. ///BasePage 的摘要说明  
  21. /// </summary>  
  22. public class BasePage : System.Web.UI.Page  
  23. {  
  24.     //利用Dictionary来筛选所有的多语言标签,然后做替换,可以缓存  
  25.     Dictionary<stringstring> dic;  
  26.     public BasePage()  
  27.     {  
  28.   
  29.     }  
  30.     //需要替换的标签,标签头为数字字母下划线汉字  
  31.   
  32.     static readonly Regex re = new Regex  
  33.         (@"((\{)|(\%7B))[\w\-\+\|u4e00-\u9fa5]+?((\})|(\%7D))",  
  34.         RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);  
  35.   
  36.     //不需要替换的标签  
  37.     static readonly Regex re_nr = new  
  38.         Regex(@"<NOREPLACE>[\w\W]*?</NOREPLACE>", RegexOptions.Multiline | RegexOptions.IgnoreCase);  
  39.   
  40.     private string RenderTag(ref string content)  
  41.     {  
  42.         if (re_nr.IsMatch(content))//不需要替换标签  
  43.         {  
  44.             StringBuilder sb = new StringBuilder();  
  45.   
  46.             MatchCollection grouplist = re_nr.Matches(content);  
  47.             string[] reList = re_nr.Split(content);  
  48.   
  49.             for (int i = 0; i < grouplist.Count; i++)  
  50.             {  
  51.                 sb.Append(ReplaceTag(ref reList[i]));  
  52.                 sb.Append(grouplist[i].Value);  
  53.                 sb.Append(ReplaceTag(ref reList[i + 1]));  
  54.             }  
  55.   
  56.             content = sb.ToString();  
  57.         }  
  58.         else  
  59.         {  
  60.             content = ReplaceTag(ref content);  
  61.         }  
  62.         return content;  
  63.     }  
  64.   
  65.     private string ReplaceTag(ref string content)  
  66.     {  
  67.         //模板标签{yes},{no},{search}  
  68.         MatchCollection mc = re.Matches(content);  
  69.   
  70.         if (dic == null)  
  71.         {  
  72.             dic = LanguageManager.GetResource();  
  73.         }  
  74.   
  75.         for (int i = 0; i < mc.Count; i++)  
  76.         {  
  77.             //如果数据库中还没有此字符串  
  78.             if (!dic.ContainsKey(mc[i].Value.TrimStart('{').TrimEnd('}')))  
  79.             {  
  80.                  content = content.Replace(mc[i].Value, mc[i].Value.TrimStart('{').TrimEnd('}'));  
  81.   
  82.                 if (!dic.ContainsKey(mc[i].Value.TrimStart('{').TrimEnd('}')))  
  83.                 {  
  84.                     LanguageManager.AddLanguageString(mc[i].Value.TrimStart('{').TrimEnd('}'));  
  85.                 }  
  86.             }  
  87.             else if (dic[mc[i].Value.TrimStart('{').TrimEnd('}')] == null)  
  88.             {  
  89.                 content = content.Replace(mc[i].Value, "$$$$");  
  90.             }  
  91.             else  
  92.             {  
  93.   
  94.                 content = content.Replace(mc[i].Value, dic[mc[i].Value.TrimStart('{').TrimEnd('}')].ToString());  
  95.   
  96.   
  97.             }  
  98.         }  
  99.           
  100.         return content;  
  101.     }  
  102.     protected override void Render(HtmlTextWriter writer)  
  103.     {  
  104.   
  105.         Stopwatch stopwatch = new Stopwatch();  
  106.         stopwatch.Reset();  
  107.         stopwatch.Start();  
  108.         try  
  109.         {  
  110.             //会把页面的输出结果存储在这个StringBuilder中  
  111.             StringBuilder sb = new StringBuilder();  
  112.             StringWriter sw = new StringWriter(sb);  
  113.             HtmlTextWriter htw = new HtmlTextWriter(sw);  
  114.             base.Render(htw);  
  115.             string content = sb.ToString();  
  116.   
  117.             content = RenderTag(ref content);  
  118.   
  119.             //重新写入页面  
  120.             writer.Write(content);  
  121.   
  122.         }  
  123.         catch (Exception ex)  
  124.         {  
  125.             Response.Write(ex.ToString());  
  126.             Response.End();  
  127.         }  
  128.         finally  
  129.         {  
  130.             stopwatch.Stop();  
  131.             Response.Write("runtime:" + stopwatch.ElapsedMilliseconds.ToString() + "ms");  
  132.         }  
  133.   
  134.     }  
  135. }  
这样设计的
优点
1、初期写程序时不用关心多语言的翻译工作,只要将所有使用到中文的地方都用{}扩上
2、省去了大量命名相应文字的工作
3、直接用中文标示要显示到页面的文字,容易理解

缺点
1、如果中文是一样的翻译,而其他语言翻译却不一样时不好解决,但这种情况似乎不常见

————————END————————

缺点就是我说的,只能用来做语言包,呵呵。

Tags: web, 语言包, 数据库