Blog 功能添加

  最近把Blog移到了博客园上,顺便作了些美化,加了点功能,有一些心得,贴出来,希望对大家有帮助。

  先看看我添加功能的总体效果

<>

 

 

联系方式

QQ:29560234  点击这里给我发消息

E-mail:wym.oohoo@gmail.com

MSN:wym.oohoo@gmail.com

天气预报

访问统计


  怎么样放在侧栏的话感觉还不错吧,如果放在其他地方的话加个table自己调整一下就可以了

  下面我来一个个说明一下各个功能是如何实现的

  1、首先是时钟功能的制作,现在网络上提供时钟服务的网站还是挺多的,有些时钟确实十分的漂亮,其实实现的方法还是基本相同的,就拿我的Blog上的Clock为例。我是用的是 ClockLink 提供的时钟,ClockLink 有许多时钟,传统式的、数字式的、自定义的,还有桌面时钟。
 



 

  贴完这些钟才发现,这些钟不是同步的,哈哈 ,不过还是挺准的

  进入ClockLink 的Clock Gallery,找到你中意的时钟的样式(只是样式喔,颜色是可以改的),单击,进入该时钟的选项,你可以选择颜色,时区和时钟的大小,中国的话就选择GMT+08:00,或者直接选择CCT,还可以单击右上角的Display the City Name 来显示城市的名称,这些都十分简单,最后就是复制下窗体下方的代码。
  以第一个时钟为例

<embed src="http://www.clocklink.com/clocks/0001-Blue.swf?TimeZone=GMT" width="200" height="200" wmode="transparent" type="application/x-shockwave-flash">

  很明显这是一个Flash的时钟,TimeZone中设置了时钟的时区,width和height是时钟的长和宽。

  将代码粘贴到你想放置的网页的位置(我的所有的功能都是放在Blog的公告栏的位置的),你就有自己的时钟咯。

  2、下面是联系方式(MSN的在线状态标签我设置了半天,即使我在线,但总是显示离线,不知道为什么,不过还是把设置的方式贴出来,希望大家发现错误时候通知我

  QQ的在线状态代码可以到 腾讯互动状态代码生成页 ,选择好了喜欢的在线状态图片风格,填写好QQ/TM号码、留言的网站名称、图片旁的留言,点击,复制下生成的代码就可以了
QQ:29560234  点击这里给我发消息

<target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=29560234&Site=http://laughterwym.cnblogs.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29560234:1 alt="点击这里给我发消息"></a>

Site是你留言网站的网址、29560234是我的QQ号,改成你的就行了,alt是替换的文字,QQ号后的冒号后面的数字表示你选择的在线状态图片风格的代号(其是你只要在生成页生成代码就可以了)

  如果你用的Email是Gmail、MSN、Yahoo、Hotmail的话,恭喜你啦!!!你可以使用 E-Mail Icon Generator 来生成你Email的Tag,只要在 Enter your e-mail address 下面打上你的 mail 地址,选择好邮箱的后缀名,按下 Generate 一切搞定,一个漂亮的Email Tag 诞生了,其实E-Mail Icon Generator 还支持很多 mail ,包括QQ等,可以自己看看喔

  你有2种方法引用这个图标,一种是将图片保存下来,上传到自己的空间引用一下;另外一种是直接从这个网站引用。
复制下 To display this image elsewhere, use the URL: 下面红色的网址,这就是你的图片的地址(其实每次引用都是E-Mail Icon Generator 动态生成的)
E-mail:wym.oohoo@gmail.com

<href="mailto:wym.oohoo@gmail.com">
<img border="0" src="http://services.nexodyne.com/email/icon/DoUx.wNmQrU3/1mu0Wsk%3D/R01haWw%3D/0/image.png" width="164" height="21" alt="E-mail:wym.oohoo@gmail.com"></a>

这是我的连接img标签的src就是生成的URL,换成你的,再将wym.oohoo@gmail.com改成你的mail地址就行了

  再介绍一下MSN的在线状态标签的制作,可以通过 Online Status Indicator 来制作,制作方法相当方便,填写好 Messenger、User ID 按下 Get Html Code 就可以了

<HREF="http://osi.hshh.org:8088/message/msn/wym.oohoo@gmail.com">
<IMG SRC="http://osi.hshh.org:8088/msn/wym.oohoo@gmail.com"
align
="absmiddle" border="0" ALT="MSN Online Status Indicator"
onerror
="this.onerror=null;this.src='http://osi.hshh.org/msnunknown.gif';"></A>

一样将wym.oohoo@gmail.com改成你的mail地址,需要注意到的是由于安全因素,MSN初始设置是陌生人无法看见你的在线状态,若你不在意的话可以让所有人看见,设置如下:
工具=>选项=>隐私=>勾去只有位于我的“允许名单”上的人才可以查看我的在线状态或向我发消息

  3、添加天气预报

  我用的天气预报功能是贺星河大哥做的,在 Bitman 上,感觉做的十分好,用的是新浪上的天气数据,设置方法在贺星河大哥的Blog上已经描述得很清楚了,大家可以去那里看看http://www.cnblogs.com/hxhbluestar/archive/2005/08/06/209083.html

  4、网站统计设置

  在我的Blog上我设置了2个统计,一个是用来显示访问数的,还有一个是用来显示详细访问的

  访问数统计使用了 OKcounter.com 的counter,申请过程中需要注册一个网站,别的就很简单了,有很多的counter的样式供选择

<!– OKcounter Code Start –>
<script language='javascript'> ac=584271 ; lang= 'en';  view = 1</script>
<script language='javascript' src='http://okcounter.com/js/okcounter.js'></script>
<!– OKcounter Code End –>

对于不支持插入javascipt的网页,Okcounter.com也提供了代码

<!– OKcounter Code Start –>
<href=http://okcounter.com/en_status.html?id=584271> 
<img src=http://okcounter.com/count.html?id=584271 border=0></a> 
<!– OKcounter Code End –>

  另外一个统计工具是由 站长统计 提供的,功能不错,又是国内的,可以实现精确统计以下信息∶

  • 访问量,包括网站的独立访客数(IP)及页面访问量(Pageview)
  • 访问时段,即一天 24 小时内的访问量的分布
  • 访问者来自地区,对国内访问的分析可以精确到省
  • 来自搜索引擎的访问,可以统计出搜索引擎种类及关键字分布
  • 客户访问时所使用的浏览器及操作系统
  • 客户访问时所使用的分辨率
  • 访问来源,可以统计出来自其他网站的链接所导入的访问量
  • 页面热点统计,可以统计出网站上最受欢迎的页面的排名
  • 同时在线统计,可以统计出 20 分钟网站上的同时在线人数
  • 保留一天的访问统计详细记录

  申请也十分方便,中文的应该大家没什么问题,不再赘述

  写了那么多好累啊,希望对大家有点帮助,好看的Blog给浏览者也是种享受吧。

纪念813淞沪抗战68周年

  无意中看了新闻,发现今天竟然是813淞沪抗战68周年,当然要纪念一下

  我们永远不会忘记为中华民族捐躯的中国军人!
  向为了捍卫中华民族利益而浴血奋战的先辈们致敬!

  下面转自新浪网:

  揭开八一三淞沪抗战的战幕(节录)

  一战前准备,定下“先发制敌”的战役思想(一)略(二)对京沪抗日作战的建议和决心自一·二八淞沪抗战到1936年期间,中日关系日趋紧张。日本军国主义在东北阴险地让溥仪傀儡粉墨登场,做了伪满洲国的皇帝;又肆无忌惮地侵占了我国华北;1936年八九月间,在上海方面又制造紧张局势。9月23日夜,日方以“出云”舰水兵三人,在上海北站附近租界内

 

被人狙击,伤二死一事件为借口,出动全部海军陆战队,在青云路、八字桥、粤东中学、天通庵、五洲公墓一带,布设岗哨,派队巡逻,大有挑衅的企图。我方虽经多次交涉,渐趋缓和,而其陆战队驻沪人数,则借故增加。日军频繁地举行各种演习,且迭派舰队到宝山、福山镇、段山港、浒浦各港口,测量水位,积极图谋进犯。当时的中日形势,已经是“山雨欲来风满楼”。

 

  我当时认为形势严重,不能不作进一步准备。即将第三十六师由无锡推进至苏州附近;第八十七师由江阴推进至常熟、福山一带;原在南京附近的第八十八师推进至江阴、无锡;并秘密设计扩充上海保安总团。我于9月23日向国民政府陈述意见:

  1.请将本分区作战上必须之部队,密令配拨,以便指挥。

  2.请即令饬通讯主管机关建设京沪分区军用电话及指定地方长途电话,战事发动后之使用权。

  3.请将京沪铁路及锡沪公路之车辆尽量控制于无锡以西各站、昆山支塘以东及上海附近。所有船舶,请密令各县尽量诱至于吴县、常熟附近,以利我军运输,且免为敌所利用;并将本区各县船舶车辆明定统制管理办法,俾得于军事运输适时利用。

  4.请于本区预定作战地区各要点,囤积必需粮秣,以供军食。

  5.请将阵地内已由驻军筑成路基之各路桥梁涵洞,迅予建筑。

  我当时看了南京国民政府的种种情形,又焦虑,又愤慨,又于10月4日再次沉痛地具述意见:1.上海为我经济重心,关系世界视听,我沪上武力仅保安一团,守土匪易。在事变之初,必先以充分兵力进驻淞沪,向敌猛攻,予以重创,至少亦须保持我与租界交通,取攻势防御。若自甘被动,虽占苏福线或锡澄线,亦属非宜;若迎战不能一举破敌,又不能持久支持,则使国人回忆一·二八之役,薄现在中央军之无能矣。

  2.为达成上述任务,须有兵力六七个师,以四至五个师任淞沪正面,两师控制浏河、福山、常熟一带。如此:在淞沪附近作战当可支持三个月以上。除现有第三十六师、第八十七师、第八十八师三个师外,请再调三至四个师来沪。

  3.大局至此,无论外交如何,似应以决心抗战积极准备。

  惟各方面仍不免空泛、纾缓、推诿,使部属无所秉承,如徒有作战计划,迄今毫无准备,即其例也。

  从这几个月来,日军在上海的动态,推测中日形势,今后可能更趋恶化。我为了应付万一,于11月初,下令进行下列部署:1.令第三十六师、第八十七师在苏福线上一面警戒,一面继续构筑工事。

  2.令第八十八师接防锡澄线阵地。

  3.以地方团队担任沿江防务。

  4.以各县警察为监视哨。

  5.令江苏保安第四团分驻浏河、梅李镇、牌头镇等处,为东自浏河附近西迄大港镇地方警察各监视哨后方之支援。

  6.成立太湖水警联防处,任太湖水上之警备。

  (三)(略)

  (四)受职京沪警备司令官,定下“先发制敌”的战役思想七七卢沟桥事变后,日军在上海的行动,咄咄逼人。日军在各通衢哨所增加兵力,各屋顶架设高射炮,各要点构筑工事,对市中心区及南翔方面试设炮位,日夜连续举行演习,拟退各地侨民,扩编义勇队及在乡军人队等等。日军将原驻汉口的陆战队千余人撤调到上海,日军舰十余艘位于浏河至吴淞间,对海口施行封锁。在日本国内也已派定正式陆军,待命出动。并先后制造水兵宫崎失踪及撕毁日本国旗事件,真是形势紧张到了极点。

  七七事变以前,我正在青岛养病,忽闻卢沟桥战事起来,即于第二天拒绝医生的劝告,径返南京,接受京沪警备司令官的职务。

  这时,我所指挥的部队,除第八十七师在常熟、苏州外,第八十八师已调回至无锡、江阴,其他仅江苏盛上海市保安团队数团。原指定协同作战的空军、炮兵等,都调到华北去了。为维护上海的资源与海口,我方不愿在上海轻易发生战争。但万一发生战争,我则必求立于主动地位。所以尽力为运输、通讯等各项工作做好准备。不久,第二师补充旅到达苏州。我令其一团化装为上海保安队,入驻虹桥、龙华西飞机场,加强警戒;一团化装为宪兵,开驻松江。又调江苏保安第二团接替浏河方面江防警戒,将原保安第四团集结太仓附近,担任岳王市、梅李两区的防务。

  这时,我有一个基本观念:这次在淞沪对日抗战,一定要争先一着。我常和人谈起,中国对付日本,可分作三种形式:第一种他打我,我不还手,如九·一八东北之役;第二种他打我,我才还手,如一·二八战役、长城战役;第三种我判断他要打我,我就先打他,这叫做“先发制敌”,又叫做“先下手为强”。这次淞沪战役,应该采用第三种。我在7月30日向南京国民政府郑重提出这个意见:我在北方作战,固不宜破坏上海,自损资源,然若敌方有下列征候之一,如:(1)敌决派陆军师团来沪,已开始登轮输送时;(2)敌派航空母舰来沪时;(3)敌在长江舰队来沪集合时;(4)敌在沪提出无理要求,甚至限期答复,即断定敌发动无疑。则因我主力军远在苏、常以西,输送展开在必需时,且上海保安团抵抗力薄,诸种关系,似宜立于主动地位,首先发动,较为有利。曾迭电具申意见,未蒙核示,兹预拟本军行动标准,谨申呈核,是否有当,敬祈示遵。

  南京国民政府的复电是:

  卅未电悉,应由我先发制敌,但时机应待命令。

  我知道战争决不能免,就在给南京国民政府电报的第二天——8月1日,发布了一篇文告,鼓励我京沪区的卫国将士。文告述:此日吾民族已临于最后关头,此日吾人亦陷于生死线上!光荣神圣的民族生存抗战之血幕必且展开。兹特揭橥要义,为本区将士同志告。期以忠勇坚毅,共迎行将到来之无限艰苦,但必有无限希望的岁月。

  自甲午一役,失地丧师,我同胞忍辱负重,而徒抱复仇雪耻之愿者,殆已四十余年矣。乃敌自此更逞淫威,肆其凶焰,蹂躏我主权,占领我土地,荼毒我人民。本其岛国野心,妄标大陆政策,鲸吞蚕食,肆无忌惮。攻城略地,何日无之?因之九·一八之血迹未干,一·二八之屠杀顿起,长城之役甫停,察绥之变旋作。含垢忍辱既已六年,创巨痛深,几难终日。兹复驱师启衅,扰我平津,更且大举动员,图占冀察。然后挥师南指,侵我中原,跃马而行,纵横朔漠,以遂其逐步吞噬之迷梦。

  我最高统帅所以认为最后关头,抗战到底,以求最后之胜利,而举国人士所以奔走呼号,誓死不能退让者,正以此耳。

  文告又说到全面抗战实出于不得已,完全为自卫图存,接着说到敌忾同仇的真正意义,以坚信将士们的信念与决心。最后,我提示了对敌作战应注意的几个要点:如誓雪国耻,不怕死,不怕敌人,信仰中央,爱护袍泽,长期苦斗,百折不挠,实行连坐法等,作为京沪区全体将士的精神教育和纪律的基矗同日,我又发表了一篇《告京沪区民众书》,除提高亡国灭种之警觉及剖析敌国实情外,重在宣示此一战的重要,发动民众,尽力与军队合作。我在这篇文章的结尾说:凡我民众,无分男女,无问老少,智者尽其能,勇者竭其力,以绥靖地方,杜绝奸宄,厉同仇敌忾之气,坚至死靡它之心,以听命于政府,则虽不擐甲胄,不执干戈,不冒矢石,而其贡献于国家民族者,实且伟大莫与伦比矣。至于体力精壮,英勇果敢之同胞,愿为父老之前躯,愿作本军之后继者;精警有为,熟悉敌情,能扑灭无耻之汉奸,能肃清敌方之间谍者;抑或有他一技之长,愿以供战争之使命者,或编入地方组织,或隶属部队机关,不患无效命之机,不患无杀敌工具。昔孙武子以吴兵复楚,阎应元以江阴抗清,东南为人才文物荟萃之区,孤忠英勇之士,悲壮激烈之操,史不绝书。揆之十步芳草,十室忠信之义市井田畴,动多壮士,必有闻风兴起者。自由之葩已胎,独立之旗高举,为民族之英雄,抑为子孙之罪人,决于自择。惟我亲爱同胞,共勉前程,共纾大难,时乎不再,凛凛勿忽。

  这样,我从各方面都加以准备布置了,只待大战时机的到来。

  二揭开战幕,进攻日军在沪据点

  (一)抗日将士神速进入淞沪战场

  1937年8月9日,日军官大山勇夫在虹桥飞机场与我守军冲突被杀,上海的形势突然告急。11日,敌第三舰队驶集黄浦江及长江下游浏河以下各港口,有即在淞沪登陆发动战事的企图。

  这时,我京沪区在苏州、常熟、无锡一带的驻军,仅第八十七师、第八十八师及炮兵第八团、炮兵第十团、警察总队一总队、独立第二十旅的一个团。我立即命令第八十七、八十八两师,做输送前进的准备。

  11日下午9时,我接到南京统帅部的电话命令,将全军进至上海附近。

  我当即作了下列几个重要决定:

  1.第八十七师的一部进至吴淞,主力前进至市中心区;2.第八十八师前进至北站与江湾间;3.炮兵第十团第一营及炮兵第八团进至真如、大场;4.独立第二十旅在松江的一个团进至南翔;5.令炮兵第三团第二营及第五十六师自南京、嘉兴各地兼程向上海输送;6.派刘和鼎为江防指挥官,率领第五十六师及江苏保安第二、第四两团,任东自宝山西至浏河的江防,并控制主力于太仓附近。

  我于8月11日夜半离开苏州,统率全军从苏州、常熟、无锡一带向上海挺进,12日晨,进驻上海。清早,上海居民从梦里醒来,看见遍地都是抗日将士,惊喜交集,都问:“从哪里来的?为什么这样神速?”这是由于我们事先控制了火车、汽车,能够于一夜功夫,便进入了上海预定阵地。

  (二)决心犹豫,丧失战机

  这时,我决定攻击部队于8月13日拂晓以前,完成对虹口、杨树浦日军据点攻击准备。此时,我突然接到南京统帅部电话命令:不得进攻。我飞急电告:“我军业已展开,攻击准备也已完毕。”但回电还是“不得进攻”。

  因此,原定13日拂晓的攻击,不得不停止。我预定13日拂晓攻击,本想以一个扫荡的态势,乘敌措手不及之时,一举将敌主力击溃,把上海一次整个拿下。但现在失此良机,似乎是太可惜了!

  这是什么缘故呢?据说是上海外交团为避免在上海作战,建议南京政府,改上海为不设防城市——自由口岸。这个建议文件,大概是11日发出,12日到达外交部,南京政府不免犹豫了一下,故忽然命令我不得进攻。我未见着正式文电,真实的是否如此,无从确断。

  我们的进攻,因此延到14日午后3时才开始。大家都把这一次淞沪抗战称为八·一三战役,实际上8月13日并未开战,不过是两军对垒,步哨上有些接触,而正式的开战是在8月14日。这样耽搁了两天,却给敌人一个从容部署的机会。

  (三)喋血淞沪,决心抗战到底

  大战的血幕既已正式揭开,我外交部在这天曾代表国民政府发表了一个重要声明。同日,我也发表了一篇重要讲话,主要显示我军坚决抗日的态度,其中一段是:昨(十三日)下午四时,日方军舰突以重炮向我闸北轰击,彻夜炮声不绝,我居民损失奇重。同时复以步兵冲出界外,进攻我保安队防地,我方仍以镇静态度应付,从未还击一炮。现日方又大举以海陆进攻,我为保卫国土,维护主权,决不能再予容忍。事至今日,和平确已完全绝望,牺牲已到最后关头,御侮救亡,义无反顾。兹应郑重声明者,上海和平既为日方炮火所震毁,而我祖先惨淡经营之国土,又复为敌军铁骑所践踏,不得不以英勇自卫之决心,展开神圣庄严之抗战。本军所部全体将士,与暴日誓不共戴一天。五年以来,无日不申儆军中,以湔雪国耻、收复失地为已任。我十万健儿之血肉,即为保卫国土之长城!决以当年喋血淞沪、长城之精神,扫荡敌军出境,不达保我领土主权之目的,誓不终止。

  上面这篇讲话,可以看作我对敌行动的正式宣言。

  从8月14日起到22日止,是我军对虹口、杨树浦敌根据地猛烈攻击的时期。

  敌自我军开始行动后,就在虹口、杨树浦两大根据地,利用其炮舰火力的掩护固守,等候他们国内的援军到来。8月14日上午,我空军开始向黄浦江敌舰轰炸。我军于下午3时下达总攻击命令。下午4时,我们的炮兵就开始集中射击,步兵勇猛攻击前进,到日没时止,多有进展。突然又接到上级命令:密。今晚不可进攻。另候后命(寒酉待参京电)于是攻击实施,又因此停止。

  15、16两日都是奉令作攻击准备,并没有实行全线攻击,仅将五洲公墓、爱国女学、粤东中学各点攻占。其中以第八十七师第二五九旅第八连与第七连合力突入敌阵地,占领敌海军俱乐部一役为最壮烈、最英勇。

  15日,我发出一个通电,原文如次:

  各报馆转各部队、各机关团体暨全国同胞公鉴:元日下午,暴日侵沪舰队突以重炮轰击闸北,继以步兵越界袭我保安总团防地,我保安队忍无可忍,起而应战。治中奉命统率所部,星驰应援,保卫我先祖列宗筚路蓝缕辛苦经营之国土,争取四万万五千万炎黄华胄之生存,誓不与倭奴共戴一天!今日之事,为甲午以来五十年之最后清算。彼曲我直,彼怯我壮,彼为发挥野心之侵略,我为决死求生之自卫,无论暴敌如何披猖,最后胜利必属于我!愿我举国同胞,武装袍泽,毋忘我东北、平津数千万同胞呻吟于日寇铁蹄践踏之奇惨,毋忘我一·二八战役、长城战役、天津战役忠勇牺牲先烈之血迹,以悲壮热烈之精神,共负洗雪国耻收复失地之重任,遵奉最高统帅之昭示,以百折不挠抗战到底之决心,求得最后最大光荣之胜利。擐甲陈词,不胜激越!

  在日援军登陆以前,我认为对虹口、杨树浦的攻击,尤为必要。17日拂晓,奉令继续开始全线总攻击。这次总攻击,其经过及成果的概要,可见我给南京军委会的一个电报:密。本军于今(筱)晨五时半,按预定部署,全线开始总攻击。最初目的原求遇隙突入,不在攻坚,但因每一通路皆为敌军坚固障碍物阻塞,并以战车为活动堡垒,终至不得不对各点目标施行强攻。谨将各部激战实况分陈如次:(1)八十八师以主力由北分向日本坟山、八字桥、法学院、虹口公园攻击,往返争夺,伤亡甚重,仅法学院一处,已牺牲一营之众。而攻日本坟山之部,于上午十一时攻入后,因受敌侧方机枪射击,未能返出,死伤尤多。日没前,北正面受敌反攻,已被我击退。(2)八十七师先对日俱乐部、日海军操场及沪江大学、公大纱厂攻击,迄九时许,得王师长(敬久)电话报告,已占领日俱乐部及海军操常惟经派员确查,据称日俱乐部旁之四层楼油漆公司,尚为敌死守,我军正向其包围。对沪江大学、公大纱厂及引翔港镇方面,则激战终日,尚未得手。下午五时许,敌由海军操场南两次激烈反攻,均被我击退。(3)本日我炮兵射击,甚为进步,命中颇佳,但因目标坚固,未得预期成果,如对日司令部一带各目标,命中甚多,因无烧夷弹,终不能毁坏。

  我在这天上午8时许到前线视察,经第八十八师炮兵阵地到第八十七师,所见官兵士气高涨,不怕牺牲的精神,都极可嘉。从正午12时到下午4时,我在万国体育场附近督战,枪炮声密集,战斗激烈。我又看见我国空军也很敏捷勇敢。敌人高射炮声如连珠,弹发如雨,胜于民间过年晚上放爆竹。

  18日,我又接到暂停进攻的命令。这是开战以来,第三次的停攻命令。

  但是,敌人在这时却整天在其飞机掩护下,到处以小部队向我反攻。我们司令部到前方的电话,也常被敌谍破坏。

  19日,我军又开始攻击。到下午5时,接到第八十七师王师长电话,说他的左翼最前线部队已经突入杨树浦租界至岳州路附近。我决心即刻扩张战果,突入贯穿杨树浦租界至汇山码头,截断敌左右翼的联络,向东西压迫,一举而歼灭之。当即我率同重要幕僚,进驻江湾叶家花园第八十七师司令部,部署一切。

  1.令第三十六师即夜加入沙泾港至保定路间的正面,向汇山码头江边突破攻击。

  2.在日俱乐部正面的第九十八师之一旅,受第三十六师指挥。

  3.令第九十八师第二九四旅归第八十七师指挥,加入该师左翼,向沪江大学、公大纱厂攻击。

  20日拂晓前,我军突破西进展至欧嘉路,东至大连湾路,南至昆明路、唐山路。敌从昆明路方面向我多次反攻,都被我击退。

  在这一天的战斗中,有一件事,使我到今天想起来还觉得难过:就是突破杨树浦租界时,我们只凭几辆破坦克(是在厂内修理的,临时拉出,好的坦克早调北方去了)冲击。带领坦克车的连长,也是军校的学生。我命令他冲杨树浦。他说:“车子太坏,而敌人的火力过猛,我步兵又很难跟上。”我说:“那不行,你的坦克不攻入,休来见我!”结果他冲到汇山码头,连人和车子一起牺牲了!我军虽一度冲到汇山码头,但未能确实占领,因敌人利用钢骨水泥的楼房作据点,放射密集小炮弹,火力异常猛烈,我们的步兵虽极勇猛地跟上,但挡不住黄浦江面敌舰炽烈的炮火,也不容易冲破敌方在街市上的坚固据点。所以这天虽一度攻入汇山码头,仍是站不住脚。

  20日晚上,我乘月夜亲赴江湾前线督战,指挥各部队继续猛攻,并以第九十八师全师加入,准备以全力先攻略杨树浦。第三十六师、第八十七师的第一线部队推进到百老汇路、唐山路、华德路之线,以新到的第十一师及教导总队第二团控制于江湾市中心市区为总预备队。21日,各部队继续攻击。

  第三十六师最前线部队,在新调来的战车掩护下,又攻抵汇山码头,到拂晓后,因受敌海军炮火的猛烈攻击,迫不得已,才返回百老汇路北侧。我战车第一、二两连全被击毁。第八十七、八十八、九十八各师攻击,也都没有多大进展。22日,我军各部继续进攻,但因敌增援已到,攻击已不得手,仅第八十七师在午后将精版印刷厂及康泰厂两据点占领。入夜,敌分途反攻,都被击退。

  这是从8月14日至22日,攻击虹口、杨树浦敌根据地的战斗经过概要。

  三挽救危局,恰遭“卸磨杀驴”的结果

  (一)狮于林、川沙口和罗店江防阻击战8月23日上午5时半,我接到江防司令刘和鼎的电话报告:狮子林、川沙口方面,有兵力不明的敌人登陆。那里的守军仅第五十六师步兵一个连(因兵力不够支配,这里只配了一个连)。我当时决心拒止并歼灭登陆敌人的目的,由正面抽出部队,向狮子林方向前进,支援江防军的作战。

  这时,我已被任为第三战区第九集团军总司令,指挥淞沪附近的全军作战。总司令部设在南翔附近一小村中。拂晓后,敌机到处狂炸。总司令部通到各方的电线,都被炸毁,通讯联络完全中断。我为明了状况,分别派遣参谋到各方观察联络,又为便于指示机宜,亲率重要幕僚,于8时30分到达江湾。

  23日的战况以及我的位置,可以在我呈报统帅部的漾亥参电看出轮廓:密。本(漾)日上午五时半接到刘军长电话报告:敌于拂晓以前,在狮子林、川沙口登陆,即与陈次长诚商定部署,以十一师向罗店北进,支援五十六师之作战,而由正面抽出兵力为预备队。当因前方电线为敌机炸断,未能由电话指示各部,乃于八时半亲赴江湾八十七师料理一切。是时,据报张华浜、蕴藻浜附近,同时有敌登陆,我守军正迎击中。……兹为顾虑左侧登陆之敌起见,将对虹口、杨树浦正面作战之三十六师、八十七师、八十八师、独立第二十旅、保安总团、教导总队第二团各部归王敬久指挥,派其为淞沪前敌指挥官,命对正面固守原阵地;而以教导总队第二团拒止张华浜之敌;由八十七师调一旅支援吴淞;并抽出第九十八师令向宝山、杨行、刘行、罗店之线前进,以该师师长夏楚中指挥该师及第十一师,拒止上陆之敌。……迄下午五时,十一师已不顾敌机轰炸,进至罗店南六公里之处,因罗店为少数敌军占领,该师已将前卫展开,将其驱逐。教导总队第二团,因张华浜上陆之敌近二千人,尚在其附近与敌对峙,当由八十八师抽调一团前进至蕴藻浜南岸设防。

  电报最后又说:

  因驻地于日间受敌机轰炸,本晚正在移营,电话尚未架通,焦急异常。拟即赴太仓或嘉定与罗军长卓英一晤。

  这一夜,进行彻夜的激战。狮子林、川沙口方面,进至罗店附近之敌,于17时顷由第十一师驱逐,并击毙敌下级军官一名,在其身上搜得军用地图,知敌重点指向罗店、嘉定及浏河,我决心以第十一师向川沙口方面攻击前进,第九十八师向狮子林方向前进。但宝山已被敌占领,第五十六师据守的一营,撤退至陶家宅、张华浜、蕴藻浜方面;教导总队第二团前进展开于张家浜、殷家浜、南徐家湾之线,迎击登陆敌人。嗣于17时由第八十七师派一个团增援,于24日3时到达,由第二六一旅刘旅长指挥,与敌激战。

  吴淞附近敌军于23日下午,以约千余人登陆。吴淞方面原由保安第一团守御,24日4时,由第八十七师先派第二六一旅的一个营到达增援。

  (二)冒敌机轰炸,亲临前线,挽救危局我要叙述当时一段危险的情景。我在听到敌人在川沙口登陆报告后,觉得敌人已抄到我军的后面,我军有全部被敌包围的危险。因此,我决定亲到前线去,一面镇定军心,一面设法挽救目前的危局。

  从南翔到江湾只有18里路,本不算远,但我们一出门就碰上敌机3至9架,不断地在上空来往轰炸扫射。我本来坐小汽车去,敌机临头,我就下车隐蔽;敌机转头,马上前进。

  但走不多远,敌机来往太多,小汽车不能再坐了,我穿着一双马靴徒步走去。中途遇见一个骑脚踏车的传令兵,下车向我敬礼,并问我:“怎么总司令走路?”我也来不及对他说别的了,骑上他的脚踏车就走。一路上,我一会儿停止掩伏,一会儿又乘隙前进,就这样冒险赶到江湾叶家花园第八十七师师部,才把正面军心稳祝我到了江湾,决定不顾任何困难,抽调第十一师、第九十八师迎击登陆的敌人。那时由正面抽出这些部队真不容易,且因敌机狂炸扫射,部队简直无法行动。第十一师师长彭善在初接到调动命令时,对我说:“简直炸得不能抬头,怎么办呢?”我说:“不能抬头也得走,难道我能从南翔一路冒轰炸走到江湾,你们就不能从江湾走到罗店吗?”就在这个万分危急的局势下,抽调两个师迎敌。由于这样迅速部署,才把已经失去的罗店收复。罗店收复的影响很大,不仅稳定了正面,而且维护了对后面的交通,使后面的部队能继续增援,才能与敌保持对峙的态势。

  在攻占罗店的同时,第九十八师已将狮子林之敌驱逐。保安总团的一个团仍守吴淞。惟张华浜的敌人,虽经教导总队猛攻,还是未能击退。23、24日,先由第三十六、第八十七两师抽调四个团前往围击,经几度猛攻,才把敌人包围在张华浜沿岸泗塘以东的狭小地区。27日,敌人被我左翼军(指挥官王敬久)于夜间迫退到张华浜车站附近。

  杨树浦正面,我军仅四个团的兵力。突入巷战的我军,因受敌军夹击,在24日夜不得已撤出,沿租界路口固守。25、26两日无激战。27日拂晓前,虹口、杨树浦正面敌人,由日俱乐部方面向我反攻两次,都被我右翼军(指挥官孙元良)击退。吴淞方面登陆之敌,经右翼军迎击,尚残留于纱厂百余人,也被我包围。教导总队第二团及炮兵第八团、炮兵第十团,都奉命调至后方。第六十一师的主力,已输送至大场附近。28日无激战。29日,全线战事沉寂。30日,战事平静无变化。

  31日拂晓后,敌以飞机30余架,并以海军舰炮猛击吴淞,强行登陆;敌另一部由市轮渡码头登陆。我守吴淞的第六十一师的一个团,伤亡过半,不支后退;惟吴淞炮台,仍由上海保安总团固守。我将在刘行的第六师调到杨行、吴淞,驱逐登陆之敌。该师于31日夜,向吴淞攻击前进,与敌遭遇于杨行以北地区,发生激战。从9月1日到5日,全军正面无激战。6日晨,敌在虬江码头登陆,经我右翼军猛烈攻击,激战至黄昏,卒将敌包围于码头的栈房中。7日,张华浜之敌倾全力向右翼军及中央军(指挥官宋希濂)阵地猛攻,经全日激战,将敌击退。躲在虬江码头栈房顽抗之敌,也由我第六十一师增援之一团打退。8日,这股败敌倾全力来犯,均被击退。9日上午10时,敌集中军舰炮火和飞机轮流对军工路一带的我左翼军进行猛烈射击与轰炸,掩护一个团的步兵进攻,激战到薄暮,敌伤亡惨重,我也受到很大损失,但因我军奋勇抵抗,阵地屹然不动。10日、11日均无激战。

  这是从8月23日到9月11日,抗敌登陆战斗经过概要。

  (三)我的苦闷

  我在八·一三战役的整个过程中,总算是一个勉尽职责的人吧。不谈当时冒险犯难、奋不顾身的种种经过,仅从8月14日以来,我没有好好吃过一餐正式的饭,也没有得到一夜的安眠。在过度疲劳之后,也忘记了困乏,只是感到眼睛是红的,喉咙是嘶哑的。这些我则视为当然,本没有什么值得夸耀的。今天想起来,却有一些无端的横逆,常常在刺痛我的心。

  记得8月23日,奉命把战斗序列调整了一下:炮兵第十六团及第六十七师都输送至嘉定附近,连同第一师、第九十八师都划归第十八军军长罗卓英指挥。是日深夜,总司令部已移设于徐公桥,我才吃了一点粥,在椅子上略靠了一下。我想应该去看看刘和鼎和罗卓英他们,商询对该方面登陆敌人的作战方策,并指示机宜。一想到这些问题,立刻动身,于清晨到达太仓,指示刘和鼎如何应付当面之敌。

  然后,冒着敌机轰炸,从太仓到嘉定找罗军长。见面后,罗卓英很奇怪地问:“张总司令为什么会跑到我们这里来?”我当时内心里很明白:罗军长归我指挥,我应该来看看。可是一谈,才知道陈诚已不是军政部次长,他已经做了第十五集团军总司令。自蕴藻浜以北地区的防务,统归第十五集团军,由陈诚指挥。我与罗卓英谈了半天,傍晚回到徐公桥总司令部。这时,我一肚子的闷气,怎么发表了陈诚做第十五集团军总司令,连我也不通知。第十八军本归我指挥,为什么忽然划归第十五集团军?这究竟是什么缘故,真令人费解。

  当我从罗卓英那边回到徐公桥的时候,我得到电话说顾祝同已到达苏州(第三战区司令长官冯玉祥,副长官顾祝同)。我心里想,两日以来,我只专顾前线,没有同后方联络,我应该到苏州看看顾祝同,和他商酌许多问题,并可借此向南京统帅部报告请示。

  我一到苏州,还未及见顾祝同,就打电话给蒋委员长,满想申说一番内心的苦闷。不料,蒋一接电话,就厉声地问:“你在哪里?”我回答:“在苏州。”蒋又问:“为什么到苏州?”

  我就说明经过:“为着左翼作战,亲到嘉定会罗卓英,听说顾墨三(顾祝同字)着苏州来了,所以来同他商量问题。”蒋在电话里又大声地叫:“为什么商量?两天找不到你,跑到后方来了!”我也有点气愤了,我讲:“罗卓英原来归我指挥,我不能不去看看,我不知道他已划归第十五集团军陈辞修(陈诚字)指挥了!”电话里的声浪越来越大,对于我讲的根本不理,只是严厉地责问:“为什么到苏州?为什么到苏州?”我耐不住了,索性说厉害一点:“委员长应该怎么办?我是到苏州与顾墨三商量问题的。我一直在前方,委员长究竟怎么样?”

  即听见粗厉地说了一句:“你究竟怎么样?还问我怎样?”一下就把电话挂了。由于这个电话,我伤心了!我怀着很大的伤感,莫大的委屈。为什么?八·一三之战,是展开全面抗战的序幕,何等光荣,何等神圣。我在淞沪一带的部署,自信毫无错误。尤其像我以一个总司令的地位,大胆而勇敢,从8月14日起,一直在师部,在第一线,亲在叶家花园的水塔上督战,始终站在最前线。至于上海未能一举占领,统帅部失机于先,三次叫我停止攻击;后来,大战展开,除陆军外,又没有有力的空军配合。在开战前,委员长问我:“有没有把握?”我的答复是:“一定要有空军和炮兵的配合。”而自开战以后,因为缺乏这些条件,以致未能达到占领全沪的目的。我这两天(23、24日)都在前线奔忙,稳住了正面,阻止了左翼登陆的敌人进攻。只因前线电话线屡被炸断,以致没有与后方通电话。我是临阵脱逃吗,为什么不能谅解,反向我生这样大的气呢?

  这个意外的横逆刺伤了我的心!

  (四)由攻势转入守势

  从9月11日沪战转入了一个新阶段,由攻势转为守势的时期。

  战事爆发以来,敌在淞沪一带作战的兵力,陆续增加到八万多人,军舰40余艘,停泊于定海桥至吴淞镇之间,协同作战。敌机成群结队,滥施轰炸。自9月初旬起,敌主力向吴淞方面猛烈攻击,至10日夜,我第十五集团军右翼阵地被敌突破,退到杨行、月浦的新阵地,与敌对峙。我第九集团军的左侧背,因之越发暴露,大受威胁。9月11日上午,敌向我蕴藻浜南岸阵地猛袭,战斗异常激烈,潘家宅、徐家宅的阵地被敌占领。我军退到河的西岸固守,并由第二六一旅派兵一部在蕴藻浜上游警戒。午后,接到第三战区司令长官的命令:为整理淞沪嘉浏一带阵地,节约兵力,俾达韧强抗战之目的,着第九、第十五两集团军即转移。第九集团军即向北站、江湾,庙行、蕴藻浜右岸之线转移,占领预筑阵地,但须节约兵力,抽出第六十一师及独立第二十旅充集团军预备队。

  我即依令变换阵地,转入守势。各部队奉令后,即于夜间开始行动,到第二天拂晓前,转移部署均告完毕。直到9月23日我辞职照准那一天,第九集团军正面,敌我没有多大接触,可以说一切无变化。

  (五)辞职的经过

  最后要说的是关于我辞职的经过。从8月13日至9月23日,这整整的40天中,我在前线无分日夜地指挥策划,四出奔驰,得不到休息,体力已疲乏到不堪想象的地步。尤其使我感到疲惫不堪而实在无法支持下去的,就是精神上的苦闷。我不得不决心辞职。记得远在9月8日那天,我曾亲函蒋恳切表示辞职的至诚,并荐贤自代。这封信多少可以表达我那个时期的苦闷心情:1.淞沪作战,已逾三周,兹概呈重要经过,职于八月十一日午后九时许,奉命率所部八十七、八十八师,于十二日进至沪上,以一团占领吴淞,七团进围虹口、杨树浦之敌,至午后六时展开完毕。十三日,奉命勿进攻,延至十四日午后五时,始开始攻击,至十六日,奉命停攻,准备;十七日,再攻击,至十八日夜,八十七师已突入杨树浦租界,又以三十六师加入猛攻,自十九至二十二数日,皆继续进展。讵二十三日晨,敌分由川沙口及张华浜登陆,因警戒川沙部队仅有五十六师之一连,警戒张华浜部队仅保安团之一部,遂致侧翼感受威胁。职当即亲至江湾部署,抽调十一及九十八两师北上,收复罗店,以迎击上陆之敌。二十四日,至嘉定视察,并与罗军长商讨歼敌计划。此两日皆电话不通,无由向钧座报告,致劳廑念;然职有责任,不能不亲至前方部署与视察也。自二十五日以来,虹口、杨树浦之敌,仍为我包围封锁;张华浜之敌,屡给我击退至江边狭小地区。我因受敌舰敌机之轰击,伤亡过大,尚未能将其歼灭。吴淞方面,以六十一师守兵素质稍次,复于三十一日为敌登陆,现由第六师围攻中,已奉令划归第十五集团军作战地境。此三周来作战经过概要也。

  2.前奉钧座垂询:扫荡上海敌军,有无把握?如扫荡不克时,能否站得三?等因。职当以“如我空军能将敌根据地予以毁灭,则步兵殊有把握!如空军未能奏效,则以主力守据点,掩护有力一部攻击,取稳扎稳打之战法,亦可站得妆奉答。嗣后攻击实施,我空军虽奋勇轰炸,惜为数量所限,终未能收成效;复因敌工事之坚强,我军诸兵种力量之不逮,致未于短期间克奏全功。窃惟我军战略方针,原为对敌持久战,钧座前所询扫荡不克时处置,职经迭电陈明:在上海附近,以维持与租界交通着眼,预定数线强固阵地,以行攻围,似有坚强持久之把握。现敌虽增援已到,连日来犯,均经击退,我阵容迄未少变,而我王敬久师、孙元良师、宋希濂师及钟松旅各官兵,不辞疲劳、不畏牺牲之攻击精神,询已极度发扬,此当在钧座洞鉴之中。

  3.自作战以来,职之部署计划,皆经逐日呈报,而钧座命令意旨,亦一一遵转实施。职于指挥上似无不当之处,但扫荡沪敌之任务,因力量与时间之限制,终未达成,职当身负其责。且职病体未愈,力疾支持,已感形神交瘁。职虽有为国牺牲之精神,深恐于事无补,反足贻误。似此职在责任上,在病体上,均应求所以自处之道。昨因健生(白崇禧)副总长回京之便,曾恳托代陈下情,幸蒙持许,准以墨三副司令长官兼代,毋任欣感!乃今复以健生副总长、墨三副司令长官之建议,中止发表,仍令职继续负责,彷徨焦虑,万分不安。务祈钧座迅赐明令免职。如墨三兄不愿兼代,拟请以逸民(朱绍良)兄继任,或将第九与十五两集团军合并,由辞修兄统一指挥,均甚适当。至职如蒙钧座鉴宥,畀以闲散名义,派在大本营奔走效力,谨当竭其绵薄,以报高厚,抗战期间,决不敢偷安旦夕也。

  我辞职决心下得很早,而酝酿得很久,总是不蒙批准。说可以批准了,忽然又不准,经过几次的周折,好容易才于9月22日见之命令,调我为大本营管理部部长。敌人广播说是我的建议不被采纳,而且与陈诚闹意见,所以辞职。这种诬蔑,当然不足一哂。然而我为减除对统帅部的烦闷,和预防与友军摩擦,却被敌人道出其中一点点消息。回到南京,蒋约我吃饭,我请求回家休养。蒋说:“好,但你先就了职再走。”于是遵命先就了管理部部长的职,随即带着一个困乏的身体和一种落寞的心情,回到我的故乡洪家疃了。

  (选自全国政协文史资料委员会编《中华文史资料文库》第4卷P62—72,中国文史出版社1996年版)

参观2005中国国际通信展览会感想

随着通信技术日益进步,一个可以随时随地,以各种方式自由沟通,享受信息技术带来的无限自由的生活时代已经到来。
通过这次参观2005中国国际通信展览会,我深切的体会到了通信技术的魅力,特别是这次通信展上各大厂商展出3G技术和产品更是吸引大量眼球。

3G技术的研发和商用是当前国际通信行业的热点,在该领域具有领先地位的国内外知名企业纷纷参展。日本NTT-DoCoMo是日本最大的移动通信运营商,在全球最早实现WCDMA商用,此次展出了3G商业运营的新模式;上海贝尔阿尔卡特以“创新宽带生活”、“用户核心宽带”的主题,在展会上推出了支持全标准的3G解决方案,从成熟的3G、规划的3G、业务的3G和服务的3G四个方面全面介绍解决方案;大唐集团推出具有中国知识产权的名扬海外的3G核心技术——TD-SCDMA;朗讯科技以“真正的价值源于真正的融合”为主题,全面展示领先的融合网络理念和解决方案,包括时尚融合业务、3G网络及应用等。英华达公司作为3G“TD-SCDMA产业联盟”的新成员首次亮相上海展会。

上海移动展出的一辆轿车与一般的车辆看似无多少差别,但是介绍人员展示了无线功能,让人刮目相看。将手机放在车内,将出发地和目的地输入后,即会出现语音提示,“前面左转……”不认路的驾驶员也能轻松上路。具介绍这一系统还能提供道路信息,避开拥堵。如果车辆受袭,被打开车门或击损,会立即报警,可设5个电话依次报告。3G网络高带宽给手机电视带来高质量的视频内容,相当于带了一台可移动电视机,一路上可以看体育节目、新闻节目、娱乐节目,访问媒体门户网站。

上海移动还展示了移动服务“电子回执”让人很称奇。客户在网上订票后,并以信用卡支付后,可通过移动数据通道,获得票务信息,包括场次、座位号,或航班、日期等。当客户将手机显示的票务信息在终端识读机一照,所有信息还原,可以完成传统意义的验票。此外还有手机钱包,通过移动接入,提供账户的金融信息服务,可以理财、转账、查询、缴费等。

上海联通也把准3G的CDMA1X带来展会现场,CDMA1X可以提供高速无线互联网接入和丰富的数据业务。据介绍联通可以在极短的时间内,花较少成本,将CDMA1X的网络直接升级到3G,可支撑联通未来的网上电影、无线电视、在线音乐、移动邮箱等业务。联通已得到总部的批准,将设立国内首个商用型3G试验网。这张商用试验网计划在今年七八月形成公众目标,年底实现区域覆盖。

今年在上海举行的世乒赛上,联通的“准”3G网络已经小试身手,该网络从虹桥机场、漕河泾到上海体育场,覆盖全市6个区域。用户通过CDMA20001X增强型手机,能成功地收看CCTV1、东方卫视、上视体育频道的实况节目转播。

日本NTT在展会上展示了基于FOMA(第三代网络)和I-Mode(移动互联网平台)的多种业务应用。并介绍了已经有超过1100万用户使用FOMA业务,并且这个数字还在不断增长,FOMA提供用于移动多媒体服务的高速分组交换模式和用于视频会议的电路交换模式,此项服务已经覆盖整个日本。

第一代手机为模拟制式,第二代手机为GSM、TDMA等数字手机,而所谓第三代手机,则是泛称能够将语音通信和多媒体通信相结合的新一代移动通信系统,其可能的增值服务将包括图像、音乐、网页浏览、电话会议以及其它一些信息服务。

第三代手机的名称繁多,国际电联称之为“IMT-2000”,欧洲的电信业巨头们则称其为“UMTS”通用移动通信系统,第三代手机可能应用的技术标准WCDMA、CDMA2000、TD-SCDMA等也在一些场合被作为第三代手机的代称,而更笼统地称呼则为“3G”:The Third Generation。

3G手机完全是通信工业和计算机工业相融合的产物,和此前的手机相比差别实在是太大了,因此越来越多的人开始称呼这类新的移动通信产品为“个人通信终端”。即使是对通信业最外行的人也可从外形上轻易地判断出一台手机是否是“第三代”:第三代手机都有一个超大的彩色显示屏,往往还是触摸式的!

许多人和第三代手机的第一次亲密接触始于广告。诺基亚曾在电视上播放过未来手机的概念样机,一个快乐的旅游者手持3G手机徘徊在陌生的城市,手机里显示的街道地图指引他顺利抵达目的地。

3G手机能干什么?“它能给我们真正的沟通自由!”;“3G到底有多Fun”:不必经过痛苦的学习就能用3G终端和亲人、朋友、陌生人甚至与设备间共享数据、图像、视频和思想。

“块头”有点大,样子有点“土”,这就是我们在展览上看到的几部3G手机。可是别看它其貌不扬,由于3G网络传输速度极快,能传输大容量的视频和声音文件,3G手机几乎能集合互动电视、上网电脑、远程监控等许多功能,变得“越来越不像手机”,人们已经无法再将它和移动电话机直接对应起来。

然而,3G手机各种功能的实现,最终要依赖于运营商3G网络的开通。由于目前我国尚未向运营商发放3G运营牌照,3G网络建设还没有启动。但在联通展区,我们也体验一下上海联通的“准”3G网络,网络速度几乎可以与ADSL有线宽带相媲美。手机用户借助它能进行快速上网、高速收看实时电视节目,VOD点播、视频即时通信等应用。

这就是美好的3G生活,眼镜、手表、化妆盒、旅游鞋,以方便和个性为前提,任何一件你能看到的物品都有可能成为3G终端。当带宽和技术具备时,这个集成许多功能的终端使我们不仅可以随时随地通信,更可以双向下载传递资料、图画、影像,当然更可以和从未谋面的陌生人网上联线对打游戏。

3G时代的手机除了能高质量的完成目前手机所做的语音通信外,还能进行多媒体通信。用户可以在3G手机的触摸显示屏上直接写字、绘图,并将其传送给另一台手机,而所需时间可能不到一秒。当然,也可以将这些信息传送给一台电脑,或从电脑中下载某些信息;用户可以用3G手机直接上网,查看电子邮件或浏览网页;不少型号的3G手机自带摄像头,这将使用户可以利用手机进行电脑会议,甚至使数字相机成为一种“多余”。

具备强大功能的基础是3G手机极高的数据传输速度,目前的GSM移动通信网的传输速度为每秒9.6K字节,而第三代手机最终可能达到的数据传输速度将高达每秒2M字节。而为此做支撑的则是互联网技术充分糅合到3G手机系统中,其中最重要的就是数据打包技术。在现有GSM上应用数据打包技术发展出的GPRS目前已可达到每秒384K字节的传输速度,这相当于D-ISDN传输速度的两倍。3G手机支持高质量的话音,分组数据,多媒体业务和多用户速率通讯,将大大扩展手机通讯的内涵。

全球3G网络的技术标准有我国自主开发的TD-SCDMA、美国的CDMA2000和欧洲的WCDMA技术标准。我国第三代移动电话3G标准将由市场决定,而不是政府。我国TD-SCDMA技术标准已经得到包括摩托罗拉在内的多家公司的认可。TD-SCDMA技术比WCDMA、CDMA2000有优势,它能充分利用空气频谱传输信息,因此传递速度特快,成本也较便宜,下载互联网信息也较快。

通过这些介绍,我们不仅对3G的技术知识、3G的商业运用、通信专业有了大致的了解,也是使我们对中国3G和通信专业的发展方向有了很大的信心。

中午无聊!!!无聊!!!

上午一大早起来载了《七剑》,刚看完,感觉也不怎么样,现在很少碰到有感觉的片子了,看来我还是喜欢比较感人的片子,听歌也只听写比较抒情的、Blues的,品味如就。说到歌,蔡淳佳又发新专辑了,听了听,感觉不错,从第一张专辑到现在风格还是一样。
  无聊,开了MSN(一般只开Popo用MSN插件,看不到Space的更新)看了看朋友的Space,看来大家暑期的活动还是挺丰富的。我还是比较懒,同学的聚会由于天气炎热没去,看看外面,火火的太阳,马上又要红色预警信号了吧,哎~~~这鬼天,怎么不像军训时候一样也来个什么什么的台风,刮一刮,爽一下。
  昨天参加了TopCoder(R) Single Round Match 258 做了Point 250 和Point 1000 的题目,Point 500 的看了半天没看懂,大概讲的是AutoLoan 奥的公司汽车贷款利息计算方面的问题,时间也不够,如果是像高中时候的都是中文的应该没什么问题的。MD,Point 250 的到是过了System Test,主要是Point 1000 的题,竟然给别人给Challenge Successfully了,差点气的吐血,看来还是得好好努力啊,期待16号中午开始的TCO Algorithm Competition 希望有好的成绩,对了要查查时间东部时间Noon是什么时候,北京时间好像是半夜三更哦,我晕。。。
  查到了,死了,是17号0:00 。。。不管了,努力,努力!!!

背景音乐:马郁 下辈子如果我还记得你

TopCoder(R) Single Round Match 258

Problem Statement for ClassScores

Problem Statement

    

A teacher has just finished grading the test papers for his class. To get an idea of how difficult the test was, he would now like to determine the most common score on the test. In statistics, this is called the "mode" of a set of data points. For instance, if the scores were {65, 70, 88, 70}, then the mode would be 70, since it appears twice while all others appear once.

Sometimes, in the case of a tie, the mode will be more than one number. For instance, if the scores were {88, 70, 65, 70, 88}, then the mode would be {70, 88}, since they both appear most frequently.

You are given a int[] scores. You are to return a int[] representing the mode of the set of scores. In the case of more than one number, they should be returned in increasing order.

 

Definition

    
Class: ClassScores
Method: findMode
Parameters: int[]
Returns: int[]
Method signature: int[] findMode(int[] scores)
(be sure your method is public)
    
 
 

Constraints

scores will contain between 1 and 50 elements, inclusive.
Each element of scores will be between 0 and 100, inclusive.
 

Examples

0)  
    
The first example from the problem statement.
1)  
    
The second example from the problem statement.
2)  
    
With no duplicates, all of the elements are the most frequent (appearing once each).

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.

 


 

 

public class ClassScores {

public int[] findMode(int[] scores) {
  
int[] count = new int[101];
  
for (int i = 0; i < scores.length; i++)
    count[scores[i]]
++;
  
for (int i = scores.length; i ≥ 1; i{
    
int c = 0;
    
for (int j = 0; j ≤ 100; j++)
      
if (count[j] == i)
        c
++;
    
if (c > 0{
      
int p = 0;
      
int[] ret = new int[c];
      
for (int j = 0; j ≤ 100; j++)
        
if (count[j] == i) {
          ret[p] 
= j;
          p
++;
        }

      
return ret;
    }

  }

  
return new int[0];
}


}


 


 

 

Problem Statement for AutoLoan

Problem Statement

    

Auto dealerships frequently advertise tempting loan offers in order to make it easier for people to afford the "car of their dreams". A typical sales tactic is to show you various cars, and then talk in terms of what your monthly payment would be, to say nothing of how much you are actually paying for the car, how much interest you pay, or how long you have to make payments.

A typical auto loan is calculated using a fixed interest rate, and is set up so that you make the same monthly payment for a set period of time in order to fully pay off the balance. The balance of your loan starts out as the sticker price of the car. Each month, the monthly interest is added to your balance, and the amount of your payment is subtracted from your balance. (The payment is subtracted after the interest is added.) The monthly interest rate is 1/12 of the yearly interest rate. Thus, if your annual percentage rate is 12%, then 1% of the remaining balance would be charged as interest each month.

You have been checking out some of the cars at your local dealership, TopAuto. An excited salesman has just approached you, shouting about how you can have the car you are looking at for a payment of only monthlyPayment for only loanTerm months! You are to return a double indicating the annual percentage rate of the loan, assuming that the initial balance of the loan is price.

 

Definition

    
Class: AutoLoan
Method: interestRate
Parameters: double, double, int
Returns: double
Method signature: double interestRate(double price, double monthlyPayment, int loanTerm)
(be sure your method is public)
    
 
 

Notes

Because of the way interest is compounded monthly, the actual interest accrued over the course of a year is not necessarily the same as (balance * yearly interest rate). In fact, it's usually more.
In a real situation, information like this would typically need to be disclosed, but since you aren't at a point of signing any paperwork, the salesman has no legal obligation to tell you anything.
The return value must be within 1e-9 absolute or relative error of the actual result.
 

Constraints

price will be between 1 and 1000000, inclusive.
monthlyPayment will be between 0 and price / 2, inclusive.
loanTerm will be between 1 and 600, inclusive.
The resulting interest rate will be between 0 and 100, inclusive.
 

Examples

0)  
    
Noting that 68 payments of 100 equals the total price of 6800, so there is no interest.
1)  
    
Here, we do pay a little interest. At 9.562% annual interest, that means each month we pay 0.7968% of the balance in interest. Our payment schedule looks like this:
2)  
    
This is similar to what purchasing a new car with no money down might look like, if you make payments for 4 years.

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.

 


 

 

public class AutoLoan {

private double amort(double principal, double payment, int term, double interest) {
  
double m = interest / 1200;
  
if (principal * m > payment)
    
return 1;
  
for (int i = 0; i < term; i++)
    principal 
= principal * (1 + m)  payment;
  
return principal;
}


public double interestRate(double price, double monthlyPayment, int loanTerm) {
double ret = 0;
double inc = 1000000000;
while (inc ≥ 1.0E-18{
  
double d = amort(price, monthlyPayment, loanTerm, ret + inc);
  
if (d ≤ 0{
    ret 
+= inc;
  }

  inc 
/= 2.0;
}


return ret;

}


}


 


Problem Statement for MissileTarget

Problem Statement

    

You are working for a defense agency that is testing the accuracy of a new missile guidance system. As part of this effort, several missiles have been fired off. Each missile fired was programmed with the same target coordinates, although the actual points of impact vary.

Your task is to determine the "best fit" point to describe the location where the missiles actually landed. To determine how well a point describes the location, calculate the cartesian distance from the point to each of the landing points. Then, total the sum of the squares of these distances. The best fit point is the point that minimizes this sum.

You are given int[]s x and y, both containing the same number of elements, where the i-th element of x and the i-th element of y describe the coordinates of the i-th missile landing point. You are to return a int[] with exactly two elements, describing the coordinates of the lattice point (point with integral coordinates) that is closest to the "best fit" point. The first element should be the x-coordinate, and the second element should be the y-coordinate.

 

Definition

    
Class: MissileTarget
Method: bestFit
Parameters: int[], int[]
Returns: int[]
Method signature: int[] bestFit(int[] x, int[] y)
(be sure your method is public)
    
 
 

Notes

The cartesian distance between two points (x1, y1) and (x2, y2) is defined as Sqrt((x2-x1)^2 + (y2-y1)^2).
The return value must be within 1e-9 absolute or relative error of the actual result.
 

Constraints

x will contain between 1 and 50 elements, inclusive.
x and y will contain the same number of elements.
Each element of x will be between -1000000 and 1000000, inclusive.
Each element of y will be between -1000000 and 1000000, inclusive.
The actual (possibly non-lattice) best fit point will be at least 1e-2 closer to the correct return value than to any other lattice point.
 

Examples

0)  
    
These three impacts are all pretty close to the origin, and sure enough, the origin is the best fit point.
1)  
    
With only one point, it is its own best fit.
2)  
    
With only two points, the best fit is the midpoint between the two.
3)  
    
 
4)  
    
In this case, notice that the actual best fit point possible is (5.333, 0). If we look at lattice points only, then our best fit is (6, 0), however, we are interested in the lattice point that is closest to the actual best fit point, so we return (5, 0).

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.


 

This is another problem that is fairly easily solved with a bit of grunt work to calculate out the desired values. Since we are looking for the lattice point that is closest to our best fit, our best bet is to first calculate the location of the actual best fit point (using floating point, that is), and then find the closest lattice point.

To find the best fit point, we one important observation: calculating the best fit x-coordinate and the best fit y-coordinate separately will give us our best fit point. Why? Since the scoring of a point as being best fit is based upon the sum of the squares of the distances from each of the points, we see that:

score = sum(d^2) = sum(sqrt((xx0)^2 – (yy0)^2)^2)
  = sum((xx0)^2 + (yy0)^2)
  = sum((xx0)^2) + sum((yy0)^2)

So, to minimize the score, it suffices to minimize each sum separately.

To minimize each sum, a ternary search works well. However, in this case, if you were inclined to do the mathematical gruntwork, then you found a nice shortcut. The average of the x-coordinates will give you the x-coordinate of the best fit point, and the same goes for the y-coordinates. (Why? Hint: Use calculus to prove where the minimum value is.)

Either way, once you have the location of the best fit point it's just simply a matter of finding the closest lattice point, and the easiest way to do this is by rounding. (Note the constraints were intended to prohibit the case where a point was equidistant from multiple lattice points.)

阿飛的音频视频工具包 20050808

  一直用AFly的工具包,非常不错,最近又有新的更新了!
  非常不错的音频视频工具包,省得一个一个得装了,推荐给了很多朋友用,既实用又方便,支持几乎所有的音频视频,太棒啦
  自由软件下载

 


 

简 介

 

  一款全面的音视频解码器集合包。增加对英国BBC支持的开源视频格式dirac支持。
  支持mod/xm/it等音频格式解码,支持ATRAC3音频编解码。mpeg2分离器升级为moonlight3.1.193版,支持分离aac音频ts/tp流的hdtv。
  新增了powerdvd6和windvd6的视频解码器,均可解码mpeg2-HD文件,可以任意选择切换。因功能重复取消了moonlight的mpeg2视频解码器。
  dts/ac3解码器部分新增了powerdvd6的音频解码器,包括所有内置音效。最主要是和AviSynth兼容性良好。因功能重复取消了windvd音频解码器的DPLI/II插件。
  Windvd音频解码器升级至6.0.6.50版,看选项已经支持8声道输出了。
  启用AVIcodec的鼠标右键功能(安装完后需启动一次AVIcodec),启用vobsub鼠标右键功能。
  XviD编解码器升级为nic编译20041214版,解码器带亮度调节。DivX解码器升级为DivX5.2.1(20041027)版,编码器升级为DivXlabs发布的最新Plasma编码器。
  nerodigital解码器升级为NVE30114版,全面支持AVC(h264)解码。支持手机视频3gp文件。甚至是mov文件(需安装quicktime或者qtpack)。mp4/3gp文件也可切换使用3ivx解码器解码。
  本版取消了有功能限制的3ivx音频编码器。2K/XP/2K3下新增的MatroskaSplitter升级至20041217日版,支持分离avi文件,有兴趣的朋友可以试试这个功能,播放多音轨avi文件可以内置切换,不用其他的音轨选择插件。
  超级工具Graphedit升级至20041201版,因功能重复取消了Graphedit8。开启了GE中的属性这个属性在播放器中也是可用的,这样就可以在wmp6.4/mpc/zoomplay播放器的vmr输出中抓图。
  新增了另一个好用的工具AVI_MUX_gui。
  OGGds995的Common Dlls文件升级为Ogg (1.1.2)和Vorbis (1.1.0)
……
  更新太多,恕不一一列出,使用的时候自己去感受吧?对了差点忘了告诉喜欢DTS的朋友一个
好消息本版支持播放DTS CD。wmp6.4/mpc6483/zoomplayer测试通过,wmp9/10因无法停止其内置的CD播放功能故不能调用。再加一句忠告“先完全卸载旧版本再安装新版本”。

TopCoder(R) Single Round Match 257

本来想试试昨天的TopCoder(R) Single Round 的的,起得太晚了,没赶上Registration ,哎~~~可惜。。。
贴上题目做做吧
 


 

SubstitutionCode  Point 250
 Division Two – Level One

 

Problem Statement for SubstitutionCode

Problem Statement

     A simple, easy to remember system for encoding integer amounts can be very useful. For example, dealers at flea markets put the information about an item on a card that they let potential buyers see. They find it advantageous to encode the amount they originally paid for the item on the card.

A good system is to use a substitution code, in which each digit is encoded by a letter. An easy to remember 10-letter word or phrase, the key, is chosen. Every '1' in the value is replaced by the first letter of the key, every '2' is replaced by the second letter of the key, and so on. Every '0' is replaced by the last letter of the key. Letters that do not appear in the key can be inserted anywhere without affecting the value represented by the code.. This helps to make the resulting code much harder to break (without knowing the key).

Create a class SubstitutionCode that contains the method getValue that is given the Strings key and code as input and that returns the decoded value.

 

Definition

    
Class: SubstitutionCode
Method: getValue
Parameters: String, String
Returns: int
Method signature: int getValue(String key, String code)
(be sure your method is public)
    
 
 

Constraints

code contains between 1 and 9 characters inclusive, all uppercase letters 'A'-'Z'
code contains at least one letter that is found in key
key contains exactly 10 uppercase letters 'A'-'Z', all distinct from each other
 

Examples

0)  
    
The L,X, and V are ignored since they do not appear in the key. G is the seventh letter in the key, W is the 10th letter, and E is the 9th letter.
1)  
    
 
2)  
    
 

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.

 

 


 

BridgePts  Point 500
 Division Two – Level Two

 

Problem Statement for BridgePts

Problem Statement

     A deck of cards contains 52 cards. Each card has a suit (Clubs,Diamonds,Hearts,Spades) and a value (Ace,2,3,…,9,10,Jack,Queen,King). In the game of bridge a hand consists of 13 cards from the deck.

A player needs to evaluate his hand, giving it a point value. The standard method is as follows: count 4 points for each Ace, 3 points for each King, 2 points for each Queen, and 1 point for each Jack. For each suit, count 1 point if the hand contains exactly two cards of that suit, 2 points if exactly one card, and 3 points if the hand contains no cards of that suit. The point value of the hand is the sum of all these points.

Create a class BridgePts that contains a method pointValue that is given a int[] hand and that returns the point value of the hand.

Each element of hand indicates a card. The clubs are numbered 1 to 13, the diamonds are 14 to 26, the hearts are numbered 27 to 39, and the spades are numbered 40 to 52. Within each suit, the cards are numbered in the order Ace, 2, 3, …, 9, 10, Jack, Queen, King. So, for example, the King of Hearts is numbered 39 and the Ace of Spades is numbered 40.

 

Definition

    
Class: BridgePts
Method: pointValue
Parameters: int[]
Returns: int
Method signature: int pointValue(int[] hand)
(be sure your method is public)
    
 
 

Constraints

hand will contain exactly 13 elements, all distinct.
Each element of hand will have a value between 1 and 52 inclusive.
 

Examples

0)  
    
This hand contains all diamonds, so it has one Ace, one King, one Queeen, and one Jack, and it contains no cards in three suits. So its point value is 4 + 3 + 2 + 1 + 3 + 3 + 3 = 19.
1)  
    
This hand contains only 2's, 3's, 4's and one 5. It has 3 or 4 cards in each suit.

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.

 

 


 

TimeCard  Point 1000
 Division Two – Level Three

 

Problem Statement for TimeCard

Problem Statement

     When I start my shift at work I punch in my starting time, and when I leave I punch out. The times are printed on a card using exactly 8 characters in the format where hh is the 2 digit representation of the hour, mm is the 2 digit representation of the minute, and xx is either am or pm. The ':' and ',' are literal. "12:00,am" denotes midnight, while "12:00,pm" denotes noon.

The difference between that time I punch in and the time I punch out is the amount of time I have worked so, for example, if I punch in at 03:33pm and punch out at 03:34pm I have worked 1 minute.

No shift is allowed to be more than 20 hours long. This is my last shift of the week and I am supposed to work 40 hours during the week. Create a class TimeCard that contains a method leave that is given a String[] time of all the times on this week's timecard and that returns a String (using the same format) that tells when I can leave and have exactly 40 hours for the week. Return "BELOW 40" or "ABOVE 40" if it is not possible to get exactly 40 hours. In all cases, the return should contain exactly 8 characters.

The elements of time alternate: punch in time, punch out time, punch in time, … with the final element being the time I just punched in on my final shift.

 

Definition

    
Class: TimeCard
Method: leave
Parameters: String[]
Returns: String
Method signature: String leave(String[] time)
(be sure your method is public)
    
 
 

Constraints

time will contain an odd number of elements between 1 and 49 inclusive.
Each element of time will be formatted as above.
In each element of time hh will be between 01 and 12 inclusive.
In each element of time mm will be between 00 and 59 inclusive.
time will contain no shift that exceeds 20 hours in duration.
 

Examples

0)  
    
This is my one and only shift, and I am only allowed to work 20 hours on a shift.
1)  
    
I have worked 4 previous shifts of 8 hours, so I need 8 hours on this shift to make 40.
2)  
    
I have already worked 2 shifts of 20 hours so I already have exactly 40 hours. I should go home immediately.
3)  
    
 
4)  
    
 

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2005, TopCoder, Inc. All rights reserved.

下定决心 不知道这一次能不能坚持。。。

  好长时间没动过手了,coding 这东西是会生手的
  决定了,现在开始一段时间做点东西(一周一次吧先,住校问题),要不就废了
  高中的时候,动手的机会还是挺多的,现在学校的公共基础课搞得我头都大了,哎~~~
  不过大二就开始有专业基础课了,哈哈!!!不怕喽,本人对自己的专业还是挺有自信的,哈哈哈哈,有高中语文课上打下的牢固基础(语文可一窍不通喔),专业科应该不会像公共基础课那样狼狈吧
   电路好过,信号系统应该可以,C语言、工程制图已经过了,计算机软件基础第二学期就修掉它,模电和数字逻辑电路希望可以过(听说关人很厉害),把大一的没过的科也修掉,想办法把大三的微机原理和VHDL也修了,电磁场理论和概率论与随机过程就看情况了,hoho

  坚持,坚持!!!
  加油,加油!!!
  相信自己!!!

Practise – Inv 2001 R1 Point 250

Problem Statement

    

哎~~~军训结束了

8天的军训就这样无声无息的结束了。

  在7天前我还感叹“一日如十年”,但现在想想其实也没什么。回想起初中、高中时候的军训时光,苦啊,累啊的,再想想现在的军训,简直不能比,可以说这次的军训是一种享受。
  经历任何事人都是会成长的,这也是人和其他动物的不同吧,除了本能外,还会学习。正如同学QQ上的签名“如果不是军训,我们哪会知道树荫下那片清凉;如果没有台风,我们怎么会发现,原来不军训,竟然那么爽!”
  外面刮着台风,下着暴雨,我们几个同学就这样穿着拖鞋冲出寝室,奔向麦当劳,随便地一声“走去麦当劳”,引起旁人的赞叹,我们也只是泰然一笑。
  2个和我们一样大的教官第一次带军训,可想而知,这样的军训会怎么样,哈哈~~~在春游吧!

  结束了!这么快就结束了~~~