Zachary.XiaoZhen - 梦想的天空

2012年10月10日

目录:

一、引入

二、经历了就能理解

三、读书要分级

四、只读经典

五、别吝惜你动笔的那点时间

 

一、引入

 

   看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就是这样想的,也是这样看书的,信手拈来一本叫作"书"的东西,从头到尾就开看了!随时年龄的增长,我们的“阅历”也多了起来了,但你是不是也有和我一样的感觉——书是读了不少,真正入脑的,能融入自己思想的内容却少之又少,而且随着年头的增加,你越来越不记得自己读过这些书,更不用提书里到底大概是些什么内容了!这就是我们的长久以来的读书方式。。。 你会不会也这样想,如果我能把我从小到大读过的书都能记下来形成自己的思想,那我现在得多牛啊!是呢,我也常常这样想!于是为了让自己更有思想,就去读更多的书,然后在短短的几年,或者只是几个月,甚至仅仅是几天以后,生活的琐事会渐渐把你关于那些书的缓存挤掉,你的大脑又变成了一块被重新格式化的硬盘,那些书又与你无关了。

   说实话,我曾经就是这种情况,并且被其深深的困扰过,花了大量的时间去阅读,但是在脑子里留下的却是星星点点的零碎的内容,于是很快这些零星的内容也会悄悄的跑掉,剩下的只有一个好笑的自欺欺人的解释——这本书我读过。。。。就这样,我骗了自己二十几年,这二十几年里,不管是教科书,还是小人书,不管是专业书,还是小说,真是读了不少书啊!我花了多少时间在这件事上面呢,少说也有二十年吧,可是,要问我对哪本书的内容真的印象最深的,真的很难回答的出来,更别说去吸取书的精华了。估计和我一样有这样困扰的人肯定很多。你是吗?

二、经历了就能理解

 

  我经常会想难道我就真的没有从读书中受益过吗?当然有!“咳,咳。。”我要写条sql去数据库里查一下,数据库里垃圾有点多,估计得花点时间,“select * from lifecycle where benefit from reading ——>execute!"  (一分钟。。。二分钟。。。五分钟。。十五分钟过去了,数据终于出来了,垃圾数据把系统性能拖的太慢了,是需要作作调优的时候了),好了,你很幸运,系统没有宕掉,下面这些数据留给你们参考:

  1、我自认为英语水平还凑合,几次重要的升学考试和就业面试中,都没有在英语这块栽过跟头,由于后来集中学习日语的原因,英语过了CET-6后就很少碰,这个原因我下面会解释。现在很多学生中为英语发愁的不在少数,往往其他各科成绩都很好偏偏英语不能达标,错失了好的升学机会。我回顾自己从小学英语的经历,总有一个点在那闪光,那是我学习英语的转折点。那时是小学四年级,学校刚刚开设英语课,那时和其他的孩子一样,我的英语成绩不怎么样,很吃力。我老爸对我的学习比较严格,当他发现我的英语不行的时候,他开始跟我急了,那时我也真怕他,当老子就是威武啊~ 我爸是高中毕业,他那时的外语水平差不多也就是我四五年级的那个水平的,但是他还是选择了硬顶上来!他拿出课本让我逐句的翻译对话,我还大概记得那对话的内容:

A:what's this?

B: it's a pen.

A: what's that?

B: it's a pencil.

A: and what's this?

B: it's a pencilbox.

A: can you spell it ?

B: yes.p-e-n-c-i-l-b-o-x,pencilbox.

A:thank you.

B:your welcome.

  熟悉吧?后来还有很多学者指责我国小学英语教材的落俗套,以致学生跟人对话只会说“what's this” “How are you? fine, thank you. and you?” 之类的,这些我们都暂且不谈。就说我那段时间是怎么被老爸蹂躏的吧。。。

当时有好多的对话内容我翻译不出来,于是就被无情的鄙视了,并且死规定,以后每天晚上都要默写课文、单词!我那时是真怕他呀,为了应付这一关我是想出了一堆的作蔽手段,小抄、写手上、写桌面上。。都用过了,每天像过堂一样的接受蹂躏,给我幼小的心灵带来沉重的压力,就这么坚持了有多半年。于是,后面的事情你们都猜到了,我的英语成绩上来了,随便找出来一篇课文来我都能熟悉的背出来,得到了来自各方面的肯定和鼓励,回头想想,这都是对心理体验非常好的正能量,直到今天,我都能对英语有信心。现在回想起来,那些小抄的作用就相当于笔记,让我对英语的印象从陌生变熟悉。

  2、高考的经历。对于都经历过高考的人们,这个艰辛的过程我就不再多多描绘了,地球人都知道的。我在这想说的是,在这个备考的过程中对我进步影响最大的一个方面,这也是我高考制胜的法宝。那时我有幸和一名来自山东的转校生(也叫高考移民)同桌,他是我高中时期最好的朋友之一,就是他的学习习惯深深的影响了我,他后来考上了中国公安大学,现在是国家保密机构的人员了,国家机密不多说。他有一个什么习惯呢?作笔记!

  你看到这可能在笑,“原来就是作笔记啊,这谁不知道,谁不作笔记啊”,没错,我们从小都会要求作笔记,有时候我们也会假意的去作一些笔记,但很多的时候是东记一笔,西记一笔,记完就忘了,也找不见了。我说的记笔记不是这种情况。

  在高考那个大环境下,每天我们都会被大量的习题淹没,多的时候每天要作十几张卷子,那时真是麻木了。我的这个朋友就习惯把每次作完的试卷都从头到尾作个总结,把自己不知道的盲点记在一个本子上,随时翻看。我尝试了这个学习方法后,收效非常大,通过自己的实践也对作笔记有了更深的理解,下面说说我的理解:

      (1)作笔记一定要找个厚点的本子,品质要好,但不要过于花哨的,简约的最好。因为你要能预见,当你养成这个好习惯以后,你遇到什么新的东西都想往上面记几笔,如果页数太少了,你又要换个新本,这样就会对你的知识系统产生分隔,你会更偏向于经常翻看新的本子,旧的本子就被你束之高阁起来了,渐渐那些你曾经领悟的东西又会变的模糊。

      (2)请勿分门别类的记笔记。拿高考这几门课举例,那时我有很多同学的作法是数学一个本,语文一个本,英语一个本,化学一个本。。。 基本上是一门课一个笔记本,分门别类,互不干扰。这样并不是最佳的解决方案。我们俩当时的作法就是所有的内容都记到一个本子上,不分科,新的内容就直接追加到旧的内容的后面,形式上也不要记的太整齐,形式可以多样,圈圈点点,勾勾叉叉,这样更容易在你的大脑里形成再深的印象,我称之为“草稿式笔记”,比条理清晰的“流水式”笔记效果好的多。

  (3)经常翻看。记笔记其实是对大脑缓存的一个整理,就好比你存在计算机内存里的内容永远是不稳定的,而你一旦写入硬盘,这个安全性就提高了几个数量级(对于程序员的你,道理不解释),同样的道理,你今天对一个问题理解了,但不表明你两天后返回来还能理解到那个程度,最好的办法就是把这个你理解的问题用自己说话的方式记录下来,并且随时翻看,可以说,只要你的这个本子不丢,你就永远能保持对这个问题的新鲜的理解。以至后来,每每月考、期中、期末、摸底的所有考试中,我都只需要拿出笔记本来从头到尾翻看几遍,不再需要看书和资料了,很大程度上增强了我的信心,因为没有记在本子上的对我来说都是“常识”了,所有平时的要点都囊括在了笔记本里面了。如果你身边有面临高考的考生的话,请推荐给他们,这个方法会在高考中给他们很大的帮助。

  3、学日语的经历。说来比较幸运,有机会能在大学里系统的学习一门二外。能在大学里学习一门外语确实是很有意义的一件事情,因为我们学习英语的战线已经有十几年了,但成果不是太显著,而二外作为一门你有选择的有主动性的去学习的一门语言,如果你肯花心思,进步是很快的。我是从大三开始系统学习日语的,那时刚考完六级,算是完成了阶段性的目标,于是转向日语的学习,洽好赶上学校与某一日企有合作的项目,很幸运的和同专业的几十名同学一起开始学日语,当时是一个中教讲语法,一个日本外教讲口语,因为学时较紧,所以基本上日语课占用了所有专业课之外的所有课时,一周要上20几个课时的日语。这个过程持续了一年多。在这一过程中对我来说受益最大的仍然是大量的笔记。“草稿式笔记”又一次发挥了它的神奇效果,我记了两个厚本子,记录了我整个学习语言的过程,从浅到深,翻翻笔记就能清晰地回忆起自己是怎么一路走过来的。当我有一段时间没有接触日语的时候,如果我想找回一些日语的感觉,我第一选择就是从头到尾的把笔记本看一遍,一遍看完后我仿佛就回到了以前学习日语时的状态,就像计算机一键还原一样,只有笔记能起到这个作用。

  P.S 顺便说明一下我为什么学日语的时候就很少去碰英语的东西。语言这东西学的多了真的是容易混,能精通好几国语言的人真的是值得敬佩,这种敬佩不仅仅是语言学习本身。学了两年的日语以后,口语之类的都练的比较熟悉,因为有外教环境,所以大家平时聊天沟通都得到了很好的锻炼,但是有点作英语面试的时候,我发现了一个很严重的问题,我竟然不能说出一整句表达清楚的英文介绍,每句话都不自觉的往外蹦日语,呵呵,英语的思维完全被日语给抑制住了,于是我发现,这两种语言冲突了,不过为了更好的学日语我就把英语放下了,直接最近的工作需要才再次捡起来,不过还好,把日语先放一放,英语自然就不受影响了。

  4、目前的工作。几个月前换工作到了现在这家外企,外企的宽松的环境和人性化的制度让我很快喜欢上了这里,于是我抱定决心要在这里稳定下来,干出一番事业。从第一天入职我就领到了一个印有公司LOGO的笔记本,现在三个月时间吧,这个本子已经基本用完了。在这个本子上不仅有工作上的事情,meeting,需求讨论,还有大量的读书笔记,内容十分丰富,但都充实的记录了我的每天的轨迹。这本笔记同样比较“草稿”,但我能真正理解它,它就像我的一部分大脑一样,我现在走到哪里都会带着这个本子,班车上、轻轨上有大量的时间,拿出本子就好像和自己在对话一样,无比的踏实与充实。

 

三、读书要分级

     古人早就说过“开卷有益”,在信息大爆炸的现代社会里,获取知识和信息的方式变的越来越多元化,网络的兴起让知识变的廉价,理想的说一根网线可以得到这个地球上你想知道的一切。请大家和我一起思考一个问题,不论是以什么样的形式,游戏也好,电影也好,看新闻,刷微博也好,我们的最终目的到底是想干什么。我的观点是,所有的这些行为总结起来,终极目的只有一个——获取信息。

  回想在还没有Internet的时代里,人们主要获取信息的途径就是读书,这是那时的人们能想到的最直接的选择。而今天的我们选择就多了起来,读书看起来好像是最慢的一种获取知识的方式了。但是,选择多了就一定是好事吗?科学家证实(我也不知道哪个科学家),选择越多效率越差,因为这增加了你决策的时间和后悔的理由。先说上网吧,很简单的道理,大家都会经常体验到的,如果你想在网上集中作一件事情,往往是很难的,你会受到来自各个方面的干扰,各种“信息噪声”向你扑面而来,你常常会被另外的“新鲜”信息中断思路,比如QQ右下角讨厌的重大新闻浮动窗。再比如,如果想在电脑上踏下心来看一本PDF版的技术书也是很难的,开始可能还好,看上十页二十页以后,眼酸,想睡,看过什么没太深的印象,想干别的,效率很差,我就是这种情况,对需要用电脑阅读的大段的内容都有抵触的情绪。所以我避免用电脑看一些需要系统理解的东西,因为人有一种心理,就是对于我感到过抵触或厌倦的东西都不想再碰,所以我尽量不用这种方式去触及那些本身应该对我有很大意义的内容,我怕因为一时的不耐烦导致与这些经典失之交臂。 我的习惯作法还是去阅读实体的书,这给人的感觉是完全不一样的,书的厚度是你可以真切感觉到的,而且,看实体书更容易深入内容,这可能因为人类一直以来的习惯都是以书为载体来学习,这促成了人脑的进化,人脑也更习惯这种传统的方式。

  这部分的标题叫“读书要分级”,什么叫分级呢,就是读书的深度。

  走进任何一家图书馆,你可能都有冲动要把这里的书全部读掉,可是这显然不现实。

  电视剧《士兵突击》里许三多在团部的知识问答竞赛时,团长问他是怎么知道这么多知识的,许三多说“我这人笨,不知道应该看什么,我就跑到图书馆,从A开始看,现在才看到D”(大概是这意思,是不是D记不清了)。你说这种人真有吗?有,肯定有,但是这只能是个童话,对于一个现代化的大型图书馆来说,你就是光把A看完这辈子恐怕也不够用的。所以,面对浩瀚的书海,有选择的读一些经典之作才是明智之举。并不是每一本书对于我们的成长都是至关重要的,这里有经典,也充斥着垃圾。如果你花了两年读了一堆垃圾书,这样非但无益,反而会害了你。就像老罗曾经说的,他年轻的时候金庸的武侠小说非常火,很多的个体书商不知名的武侠作者出版的武侠书都署金庸的名,因为那时没有目录嘛,什么“飞雪连天射白鹿, 笑书神侠倚碧鸳”,当时不知道,所以怎么把金庸的书挑出来,很难。

  那怎么把经典的挑出来呢?这就要借助网络了,豆瓣读书是个不错的地方,这里都是一群爱读书的人,你要看的书在这里基本都能找得到,看过的读者会留下一些感想,如果评价太烂的话,你就应该果断放弃读这本书的想法,因为这可能会浪费你的时间,并且害了你。扯远了,下面开始分级。

  第一级:经典中的经典——能奉为经典的著作不多,对于我们计算机这个领域,耳熟能详的经典也就是那一百多本吧,对于读这些书的态度就应该给予足够的重视,记笔记是必须的,因为这些思想需要与你的思想融合起来,形成你的理解,从而发挥经典的作用,因为大部分经典之所以长盛不衰就是因为它们都是授人以渔的。

  第二级:技术类专著——这部分就是指那些资深技术专家,或在某个技术领域比较有建树的行业专家写的书,你选择这类书的目的性更强一些,往往是为了更深入的学习一门技术或熟悉一个行业而选择的,这部分你当然也要细读,因为技术的难度你更应该用笔记来梳理思路,形成整个技术的框架,这里面应该包括更多的细节,以助于以后翻阅的时候能理解的更深入。当然,你可以分章节来笔记,这样可以将一个大目标分割成小目标来激励自己去逐项完成。

  第三级:技术基础类——有一些书目涉及的是你已经熟悉的技术领域但比较基础的内容,这些书的内容对你的技术水平来说比较基础,但你也不要忽视这样的基础书,这里面可能还有你没有吸收过的精髓也说不定。“温故而知新”,永远不要轻视基础,同样拿出你的本子,翻开新页,标上今天的日期,把这书中讲到的你意识模糊的内容记到你的本子里吧,可能你会发现,你要记的东西还真是不少呢。

  第四级:技术周边类——比如《程序员》杂志、技术博客,这一类的资料也不要看过就扔,不要相信你是过目不忘的大师,你大脑的缓存是有限的,你必须要保存到硬盘!所以拿出你的本!

  第五级:娱乐类——这部分与你的工作没有直接关系,属于你生活的部分,这部分的智慧更多,但是可能会和技术有冲突,所以如果你需要记笔记,请不要记到你记技术和工作的本子上。

 

四、只读经典

   代码真得能改变世界,当然代码也正在改变着世界。程序员的时间是很宝贵的,我们不是这个星球上最聪明的一类人,但我们绝对是最有智慧的一类人。呱唧呱唧~

  我们花了大量的时间去作需求,去Design,去Coding,去Testing,留给我们自己的时间却总是那么少,除去日常生活起居的时间,陪女朋友的时间,上下班的时间,留下读书的时间就没什么了,哦,对,忘了把你打Dota的时间算里了,这还哪有时间看书啊!!??

  当程序员的没有不勤奋的,不勤奋的干不了程序员。所以书还是要看的,怎么看,只读经典。

  关于什么是经典你自己决定咯,在这个圈里吃饭的,对技术都有很强的敏感性,坏书进不了你的眼,好书也一定逃不掉。

   

五、别吝惜你动笔的那点时间

   说了这么多了,你可能已经意识到作笔记的重要性了,其实事实真的是这样。

  你是否听说过某某大师一生作了几百本的读书笔记这些事,我以前一直有疑惑,他作笔记都是在干嘛呀?都记什么呀,有什么好记的?后来我真正开始作笔记以后,我才真正理解了这件事,原来大师之所以能成为大师,真的都不是一朝一夕的工夫,这需要持之以恒的坚持和坚定,这内心得多强大呀。你要知道,那几百本的笔记不只是笔记本那么简单,那些都是思想的沉淀,思想本来是抽象飘渺的,笔记这种形式让思想有了重量和形态,这种思想被组织,重构,索引,最终印到大脑里形成一座庞大的知识仓库。

    正所谓磨刀不误砍柴功,记笔记可能会影响你读一本书的速度,但它不会让你白读,如果你读书的目的不是想在你脑子里留下点什么的话还不如去看电视剧,读书就是为了长知识长学问长见识,就是为了将别人好的思想吸取过来,转化成自己的思想体系的一部分,当然,你应该有批判接受这些信息的能力,人云亦云的完全接受也是不合时宜的。

  我有一个心愿,我渴望能有一天在公交、地铁里看到大家翻看的全是自己的笔记本,而不是一人拿着一部手机在那看着微博还傻笑!

 

      传送门:《到底怎么样才叫看书?——下篇》

  版权归博客园和本作者所有,转载请务必注明出处,谢谢合作。本文地址:http://www.cnblogs.com/ytaozhao/archive/2012/07/31/2616998.html

 

作者:Tony zhao
欢迎访问:天津外乡人论坛

本文出处:http://www.cnblogs.com/ytaozhao    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

posted @ 2012-10-10 15:37 BoyXiao 阅读(2057) | 评论 (1)编辑 收藏

      已经好久没有写博客了,不是因为没有学东西,而是因为学的东西不够系统,不够具体,没有整理起来(外加人懒),所以不想浪费笔墨。所以一直潜水。。但总会有感想的,在学习的过程中,时常会遇到一些令人惊喜的东西,令人拍案叫绝的东西,但学会之后觉得简单或者不值一提,于是没有当机立断写出一些洞见。事后用的时候倒觉得理所当然了。其实这是要不得的,学习的过程我认为不应该是纯粹的吸收,而是要有选择的过滤,留其精华,去其糟粕,如果能加入自己的总结就更好了,只可惜我在很多时候忘记了这事儿,或者在很多时候没有空下来专门做一次如此认真的总结。但在技术的层面上,一般的说法是,任何一种技术都是基于某种设计思想,而至于用什么来具体实现并不是最重要的。其实思想和设计不能用简单的一对一和一对多关系来说明。经常会有人说一种思想可以衍生多种技术,其实他只说对了一半,因为一种技术并不只是一种思想的实现,而是多种思想的交融。


      拿软件设计来说,对于基于窗口的程序设计,我们有多种技术方案可以选择,在windows下有mfc,.net, wpf,在linux下有gtk, qt, wxWidgets,在mac下有cocoa, 但核心思想差不多,大多用到了mvc思想,但mvc思想本身也是一个组合思想,它组合了策略模式,观察者模式等。对于这样的一个设计思想来说,它其实是一个对设计的高度抽象。我甚至可以做这样一个奇怪的思考:如果将mvc模式套用到人身上,那么人所看到的就是view,人所想到的就是controller,人所使用的便是model了,那么针对一个人来说,他的基本动作可能如下:看到东西->产生需求->寻找工具来实现自己的需求。所以我感觉,软件设计有时更像对人的行为模拟,软件系统更像是一个虚拟的人(这个人的智商要看你给他多少知识和能力),或者说,软件设计归根到底是以人的认知来实现的,所以我们要划分模块,要理清各个模块之间的关系,要考虑它们之间的相互影响,还要考虑他们之间的交互。如果各个模块之间关系混乱不清,那么你将会的到一个很烂的系统,置于会出现什么结果,那就不得而知了。举个简单的例子:试想一下如果你吃饭咬到舌头了,却发现屁股痛,这是一件多么尴尬的事情。


      所以,软件的设计实际上是一个很复杂的事情,一个高超的软件更为复杂,因为你要考虑太多的情况,一个人是极其复杂的。但正如所有的物质都是由简单的原子组成的,所有的复杂性都能划分成最简单最基本的东西。就好比操作系统这样一个常人很难企及的东西,其实最底层也就六个操作,引用linux创始人linus的话来说就是:“你在UNIX上完成的大部分任务都是通过六个基本操作完成的,它们被称作"系统呼叫"(system call)。第一个基本操作是"创建子进程"(fork),一个程序把自身完全复制出来,这样你就有了两个相同的拷贝。第二个基本操作是复制出来的程序,再用一个新项目替换自己。其他四个基本系统呼叫--打开、关闭、读和写--都是为了访问文件的。这六个系统呼叫便组成了UNIX的简单操作。然后,你只需在程序之间创造出交流渠道(pipes),就能解决复杂的问题。”,那么归结到人身上,也就是那么几种:活动(身体活动和思维活动),新陈代谢,睡觉(纯属个人想法勿喷)。


      记得以前看bbc的纪录片《混沌理论》中讲到图灵的一段,图灵曾经提出一个伟大的构想:自然界由一个最简单的数学公式组成。这个理论促进了后来的“混沌理论”和“分形学”的研究和发展,包括著名的“蝴蝶效应”,也和“混沌理论”有关。我们都知道,图灵被称为“计算机之父”,而现代的软件设计方法和这种构想肯定存在千丝万缕的联系。所以,我认为,软件设计如果是一种把问题搞复杂的设计,那将是一个失败的设计。软件设计应该是将一个复杂的系统一步一步划分成“原子”的过程,而软件架构的目标应该是使每一个分块都容易理解而且容易改变(所谓的可维护性和可扩展性)。


      而对于人来说,人生活在一个“实体”的世界里,如果把人类的历史看作一天,那么人拥有真正的思想是在一分钟以前,所以上帝无法阻止人类用“面向对象”的方式来进行软件设计,也无法阻止程序员用mvc的思想来实现一个软件系统,因为这一切看起来理所当然。所以,无论你的技术多么高超,我都可以想象你在面对一堆复杂的算法和一堆鲜活的对象的时候的不同感受,因为我也可以感同身受:)。所有的人都喜欢用简单的方式解决问题(如果你不是,那你也许是公务员,:)),更喜欢用简单的方式解决复杂的问题,那样会有成就感,程序员是最佳案例。为什么说一个会偷懒的程序员是一个好的程序员?那是因为程序员的偷懒是对问题的抽象和扩展,对之前冗长而繁琐的解决问题的方式建立一个更为宽泛的适用模型,从而应对类似重复的问题。而所谓的抽象,便是思维的结晶。其实,抽象在各行各业都有应用,只不过在软件开发领域,这个词被提及的非常之广范非常之响亮,以至于成了某些编程语言的关键字。其实抽象是一个很宽泛的概念,它是一种对事物本质的提取过程(《数据结构》中有这样的定义),所以我觉得在软件设计中的抽象,可以运用到其他领域,在其他领域中的抽象,也能应用到软件设计中来。所以,没必要惊讶图灵是个数学家,或者唐纳德也是数学家...,因为从本质上来说,数学这门科学就是一种抽象科学,把自然界抽象成数学模型,而计算机就是对数学抽象模型的模拟器。


      胡说了一大堆,也不知从哪儿来的灵感,但作为一个软件工程师,我觉得这些东西是应该而且值得去思考的。上次看到一则博文讲到,这个世界由三种人推动:科学家,艺术家,工程师。也许这种说法并不一定正确,但至少说明了一个观点:工程师想要实现优秀的产品,必须懂得科学家和艺术家的抽象,因为那是他们的思维结晶。而一个好的工程师,从某种程度来说,也是一个科学家或者一个艺术家

posted @ 2012-10-10 15:36 BoyXiao 阅读(1217) | 评论 (1)编辑 收藏

上一节我们创建了自己的第一个MVC3项目,并了解了Controller和View的添加方法。今天我们将仿照大米返利网注册模块写个小例子,来进一步了解Model、Action、Form等相关内容。

情景假设

  • 首页--欢迎页面,简单介绍大米返利网,并提供注册链接;
  • 注册--用户使用网站之前要先注册为会员,注册页面还要对用户填写的信息进行有效性验证;

          image

  • 注册完成--完成之后会跳转到一个提示页面,并向用户邮箱发送一封邮件。

一. 首页

1. 将上一节的Index页面用作首页,再添加一些说明文字。

首页 View代码
@{
    ViewBag.Title = "首页";
}
<h2>@ViewBag.hello</h2>
<p>大米返利网提供淘宝网等多家商城的返现优惠,<br/>
    返现比例高,提现速度快,注册赠1元,满3元提现。</p>
<p>点此注册</p>

 

image

接下来我们就要为“点此注册”提供链接页面了。

二. 添加注册页面

1. 创建数据Model

MVC中的M代表的领域模型,是应用程序中极其重要的部分之一,一个设计完好的MVC项目往往从设计完好的model开始,然后在此基础上继续添加controller和view。在我们的项目中,model是对现实世界对象的封装,定义规则、处理等等。具体实现时Model一般就是对项目中通用性对象的属性、方法进行封装而来的C#类,然后controller和view以一定的方式暴露给客户端。

接下来我们添加一个用户信息的model类:右键models文件夹->Add->Class->UserInfo.cs->Ok.

UserInfo.cs Code
/// <summary>
    
/// 注册用户实体
    
/// </summary>
    public class UserInfo
    {
        /// <summary>
        
/// 自动编号
        
/// </summary>
        public int Id { getset; }

        /// <summary>
        
/// 用户名
        
/// </summary>
        public string UserName { getset; }

        /// <summary>
        
/// 密码(明文简单示例)
        
/// </summary>
        public string Password { getset; }

        /// <summary>
        
/// qq号码
        
/// </summary>
        public string QQ { getset; }

        /// <summary>
        
/// 邮箱地址
        
/// </summary>
        public string Email { getset; }
    }

2. 添加Action

在IndexController中添加新的action:

        //注册
        public ActionResult Register()
        {
            return View();
        }

3. 添加强类型View

  • 创建view:强类型view目的是展现针对具体类型的实体,指定具体类型之后MVC会为其提供许多快捷的操作。需要注意的是,在添加强类型View之前,我们要先编译整个MVC项目,否则添加View时就会找不到先前添加的UserInfo实体。

添加步骤:

在Register Action代码块内右键->Add View->选中 Create a strongly type view复选框->Model class下拉框选择UserInfo->提供的模板选择Empty->Add。如下图所示:

image

添加完成之后我们发现新添加的View是以@model的Razor代码开头的。接下来我们将会看到,这正式强类型view以及它能提供诸多便捷的关键所在。

三、编辑表单

1. View代码

<h1>大米返利网</h1>
@using(Html.BeginForm())
{
    <p>用户名:@Html.TextBoxFor(m=>m.UserName)</p>
    <p>密码:@Html.PasswordFor(m=>m.Password)</p>
    <p>确认密码:@Html.PasswordFor(m=>m.Password)</p>
    <p>QQ:@Html.TextBoxFor(m=>m.QQ)</p>
    <p>Email:@Html.TextBoxFor(m=>m.Email)</p>
    <input type="submit" value="马上注册"/>
}

 

这里用的是Razor语法,使用过程中VS为我们提供了丰富的智能感知。以前不熟悉的同学可能会看着满眼的@符号不太自在,用一段时间就该上瘾了,因为它真的很好上手。运行效果如下:

image

2. Html几个helper方法:

首先,我们看一下页面源代码:


页面源代码
<h1>大米返利网</h1>

<form action="/index/register" method="post">

<p>用户名:<input id="UserName" name="UserName" type="text" value="" /></p>

<p>密码:<input id="Password" name="Password" type="password" /></p>

<p>确认密码:<input id="Password" name="Password" type="password" /></p>

<p>QQ:<input id="QQ" name="QQ" type="text" value="" /></p>

<p>Email:<input id="Email" name="Email" type="text" value="" /></p>

<input type="submit" value="马上注册"/>

</form> 
  • 不难看出,通过Razor语法中的Html helper方法,将Model中的属性用Input控件形式展现出来了。例如
@Html.TextBoxFor(m=>m.UserName)

生成html时,input控件type=”text”, id和name属性都被赋值为"UserName“。对应html代码为:

<input id="UserName" name="UserName" type="text" value="" />
  • 对于强类型view,书写lamda语法时有着丰富的智能感知。如果不想写成lamda形式,还可以这样 @Html.TextBoxFor(“UserName”)
  • Html.BeginForm:

代码格式为@using(Html.BeginForm()){   …},通常使用using关键字是为了走出花括号时释放较占资源的对象,而在这里可以理解为关闭<form>标签。生成form属性时,默认的action会提交回当前的url,而method默认设置为post。最终生成的html源码为:<form action="/index/register" method="post"> ……</form>。

另外,在WebForm开发时,每个页面只允许使用一个服务端form,并且包含ViewState以及postback逻辑,而在MVC中是没有服务器端form这个概念的,没有ViewState以及postback机制,每个页面可以放置多个form。

  • Html.ActionLink:用来添加action页面的链接,我们可以在首页为“点此注册”添加链接:
@Html.ActionLink("点此注册","Register","Index")

四. 表单提交

  1.  HttpGet和HttpPost:

为了接收并处理提交的表单数据,我们还需要再添加一个Register action,这两个action的作用是:

  • 一个用来响应Http Get请求: 为action添加HttpGet特性(也可以省略),Get请求通常是用户第一次访问页面时,通过该action初始化空白表单。
  • 一个用来响应Http Post请求:为acton方法添加HttpPost特性,Html.BeginForm()创建的窗体默认被浏览器处理为Post请求。这个版本的action方法负责接收提交的表单数据并进行相应处理。
       [HttpGet]
        public ActionResult Register()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Register(UserInfo userInfo)
        {
            return View("Complete",userInfo);
        }

2.Model Binding

在上面的post方法中,使用了MVC中一个非常不错的特性---Model Binding,它可以解析传来的数据并将其对应到领域模型的属性。其实这个Model Binding过程是双向的,当创建form数据时,input控件的值是根据与其name对应的model属性来赋值的;反过来,当提交form表单时,通过model binding又可以根据input控件的name属性来为model实体同名的属性赋值,进而提交到post action方法。

五、表单验证

在MVC应用程序中,我们一般把验证添加在model实体而不放在用户界面,这样只要我们在一处定义了验证规则便可以多处生效。ASP.NET MVC总具体实现方式是:使用System.ComponentModel.DataAnnotations 中定义的特性,将其声明在model属性作为验证规则就可以生效了。

1. Model实体添加验证规则

Model Validation Code
using System.ComponentModel.DataAnnotations;
namespace DamifanliMvc3.Models
{
    /// <summary>
    
/// 注册用户实体
    
/// </summary>
    public class UserInfo
    {
        /// <summary>
        
/// 自动编号
        
/// </summary>
        public int Id { getset; }

        /// <summary>
        
/// 用户名
        
/// </summary>
        [Required(ErrorMessage = "请输入用户名")]
       [RegularExpression("^[a-zA-Z][a-zA-Z0-9]{2,14}$", ErrorMessage = "请输入3-15位字母或数字")]
        public string UserName { getset; }

        /// <summary>
        
/// 密码(明文简单示例)
        
/// </summary>
        [Required(ErrorMessage = "请输入密码")]
        public string Password { getset; }

        /// <summary>
        
/// qq号码
        
/// </summary>
        [Required(ErrorMessage = "请输入QQ号码")]
        [RegularExpression("[1-9][0-9]{4,}",ErrorMessage = "请输入正确的qq号码")]
        public string QQ { getset; }

        /// <summary>
        
/// 邮箱地址
        
/// </summary>
        [Required(ErrorMessage = "请输入邮箱地址")]
        [RegularExpression(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",ErrorMessage = "请输入正确的邮箱地址")]
        public string Email { getset; }
    }
}

2.ModelState.IsValid

我们可以在Controller中使用ModelState.IsValid来检验是否存在验证问题。

public ActionResult Register(UserInfo userInfo)
        {
            if(ModelState.IsValid)
            {
                return View("Complete", userInfo);   //Complete Action后续创建
            }
            return View();
        }

3.错误提示

当用户输入不符合规则时,我们可以在view中使用Html.ValidationSummary()来提示用户。

@using(Html.BeginForm())
{
@Html.ValidationSummary()
    <p>用户名:@Html.TextBoxFor(m=>m.UserName)</p>
    ……

}

该方法会在页面中放置一系列隐藏的li,MVC可以令这些位置可见并显示model验证属性中定义的错误信息,如下图所示。点击注册按钮时该页面不会进行跳转,直到所有输入都符合规范为止。值得庆幸的是,提交失败时之前填写的数据仍然会保留在页面中。

image

 

查看页面源代码:

<p>
用户名:<input class="input-validation-error" data-val="true" data-val-regex="请输入3-15位字母或数字" data-val-regex-pattern="^[a-zA-Z][a-zA-Z0-9]{2,14}$" data-val-required="请输入用户名" id="UserName" name="UserName" type="text" value="" />
</p>

六、注册完成页面

1.添加Complete View:

在前面的post提交的Register中,我们已经给出了注册完成时要跳转的目标”Complete”,并且传递了变量userInfo,接下来我们添加一个强类型UserInfo类型的View。

image

修改代码如下:

@model DamifanliMvc3.Models.UserInfo
@{
    ViewBag.Title = "注册完成";
}
<h2>注册完成</h2>
<p>
    恭喜,您已注册成功,请妥善保管注册信息:<br/>
    账号:@Model.UserName<br/>
    QQ:@Model.QQ<br/>
    Email:@Model.Email<br/>
    大米返利网祝您购物愉快!
</p>

 

2. 发送邮件通知


在展示Complete View的同时,我们使用WebMail类来发送通知邮件。

@{
    try
    {
        WebMail.SmtpServer = "smtp.sina.com";
        WebMail.SmtpPort = 587;
        WebMail.EnableSsl = true;
        WebMail.UserName = "CathyChen";
        WebMail.Password = "damifanli";
        WebMail.From = "cathychen@sina.com";
        WebMail.Send(@Model.Email,"成功注册大米返利网",@Model.UserName+",您已成功注册大米返利网,祝您购物愉快!");
    }
    catch
    {
        @:抱歉,通知邮件发送失败!
    }
}

小结:

到这里,今天的学习基本结束了。当然了这只是一个简单的示例,实际使用中还有很多可以改进的地方,比如将发送邮件功能放在单独的模块中调用而不是将代码块嵌在View中,以便重复使用;另外,这里的错误处理使用的try…catch,其实可以跳转到单独的错误页面。

posted @ 2012-10-10 15:34 BoyXiao 阅读(235) | 评论 (0)编辑 收藏

新编辑内容(2012-10-10 14:49:00)

根据1楼朋友doylecnn的测试,我重新进行了尝试,发现是VS2012才有这个问题,估计是个BUG,看来新东西不能乱用啊。

VS2010下正常,Mac里Mono下正常。跟操作系统没有关系。

 

为啥VS2012会有这个问题呢?用的也是.NET 4没有用.NET 4.5。只是编译时一个采用VS2010一个采用VS2012,就有不同的结果?

我已经上传了编译程序和源代码,感兴趣的可以下载玩玩。。。。。。 

点击下载


今天遇到个很奇怪的问题,我写了一个组件,要求传入一个Action对象,于是我同事调用时传入了一个匿名函数,如下:

 

caller.Process(()=>{
    base.Delete<News>(id);
}); 

 

然后运行后出现异常:类型参数“TEntity”与类型参数“TEntity”的约束冲突。

那么多年第一次遇到这种稀有问题,经过跟踪调试,发现这个问题出现的条件如下:

1.要调用的方法必须是一个在父类当中的虚方法(virtual)。

2.在子类中,必须通过一个托管函数来直接调用父类的base.Func()虚方法,如果子类进行了覆盖(override),然后在覆盖中使用base.Func()都没有问题。

3.父类的这个虚方法是泛型 ,并且必须具备泛型约束,没有约束也不会出现问题。

写了个简单的示例代码:

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace VirtualFunction
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             SubClass sub = new SubClass();
13             sub.CallFunc();
14             Console.ReadKey();
15         }
16     }
17 
18     public abstract class SuperClass
19     {
20         public virtual void Func<TEntity>()
21             where TEntity : class
22         {
23             Console.WriteLine("super class's function");
24         }
25 
26         public void NonVirtualFunc<TEntity>()
27             where TEntity : class
28         {
29             Console.WriteLine("super class's none virtual function");
30         }
31     }
32 
33     public class SubClass : SuperClass
34     {
35         public delegate void Caller();
36 
37         ////这里覆盖父类的虚方法,但是下面用不同的调用方式调用,实际测试结果为有没有这个覆盖方法效果都一样,该异常的地方还是异常
38         public override void Func<TEntity>()
39         {
40             base.Func<TEntity>();
41         }
42 
43         public void CallFunc()
44         {
45             //这里采用普通方式调用父类的虚方法Func
46             base.Func<string>();
47 
48             //这里使用一个代理来调用父类的虚方法Func,注意这里子类并没有覆写父类的Func方法
49             Action action = new Action(() =>
50             {
51                 base.NonVirtualFunc<string>();//不会出现异常
52                 this.Func<string>();//不会出现异常
53                 base.Func<string>();//出现异常
54             });
55             action();
56 
57             //另外一种托管调用方式,效果和上面通过Action调用一样
58             Caller caller = () =>
59             {
60                 base.NonVirtualFunc<string>();
61                 base.Func<string>();
62             };
63             caller();
64         }
65     }
66 }

 

 

就上面这个问题,查询了大量的资料,都没有找到原因,谁能解答一下呢? 

 

posted @ 2012-10-10 15:34 BoyXiao 阅读(177) | 评论 (0)编辑 收藏

2012年7月14日

sc2

For many a TechCruncher, the past week has been the same as most. Break some news, go to some events, turn the world on with your smile… you know the drill. But for John Biggs, Josh Zelman and I (and at times Matt Burns), this week has been a whirlwind of crazy awesome parties, Southeastern drawls, incredibly cool startup pitches, and an amazing amount of both pork and beer.

It’s the Southeast Meetup tour ya’ll, and it’s coming to a close tonight. We’ve hit Atlanta, Raleigh-Durham, Charlotte, and now we’re headed to Greenville, South Carolina. (As a side note, the location has changed. We’ll now be holding the event at The Overlook Grill – 601 South Main Street Greenville, SC 29601.)

It’s been a long ride, but a great one. In fact, we’ve invited at least two dozen companies to apply for Disrupt — yep, that’s how cool these companies are.

It’s amazing to look for startups outside of Silicon Valley and Silicon Alley and find an abundance of exactly that. Hopefully, the last spot on this totally successful meetup tour will bring more of the same.

Again, the location has changed, so if you’re coming tonight be sure to familiarize yourself with The Overlook Grill – 601 South Main Street Greenville, SC 29601.

Here’s another look at our sponsors:

Sponsors:

Honda has long viewed itself as a mobility company, focused on creating new value for its customers and society through innovations developed from the initiative and original thinking of Honda associates around the world. The willingness to pursue new dreams for the customer, which Honda expresses as “The Power of Dreams,” has been at the core of the company’s success and comes not only from new ideas but also from the determination of Honda associates to make these ideas come true for the customer. By creating new value for its customers — and by focusing on areas of critical social concern, such as the environment — Honda hopes to gain recognition throughout the world as a company that society wants to exist.

Savannah:

The Creative Coast is a non-profit organization supported by The City of Savannah and SEDA. We exist to nurture the members of our community engaged in creative or innovative endeavors and to cultivate an environment in which they can thrive.

Rails Machine is a full-service web operations and hosting company. We’re a small team of experienced, dedicated, and focused people who have a genuine interest in technology and enjoy working with and giving back to the Ruby on Rails community. We founded Rails Machine in 2006 to create the ultimate hosting environment for Rails applications.

Atlanta:

Total Server Solutions was founded in 2005 with the goal of providing unsurpassed support and technical services to the web hosting community. Over the years, Total Server Solutions has grown to offer some of the finest colocation facilities in the world as well as fully managed dedicated server offerings, custom solutions, and cloud computing services.

Thumb Friendly helps local businesses and national brands acquire new customers with powerful mobile marketing strategies. With web access at their fingertips, mobile users are ready to learn, ready to interact, and ready to buy; but a mobile optimized website is only the beginning. Our m360 Strategy Plan is a complete management program proven to drive new visitors to your site, retain them with a great user experience, and convert them into revenue generating customers. Our solution tracks and records visitor engagement through a sophisticated monitoring program. The real power behind m360 is our consultative approach to building a mobile marketing strategy. We provide detailed reports and analysis of your campaign’s performance which we use to refine your strategy to its optimal state. No contracts, just results!

Yovia is a People Engine – a technology that monetizes social media. Yovia enables individuals and businesses to spread the word® profitably and organically throughout Facebook, Twitter, LinkedIn, Instagram, Pinterest and Google+.

PrivateDocs is the first enterprise social network with a core emphasis of document management and collaboration among internal teams, personal and business relationships. Secure, fast and beautiful- PrivateDocs is the next generation of business collaboration. Come share with us- we’re Awesome!

Atlanta Capital is an SEC registered investment advisory firm that specializes in managing high quality stock and bond portfolios on behalf of institutional and individual investors. For over 40 years, Atlanta Capital has remained dedicated to a single investment philosophy which has been successfully executed over a variety of market conditions. Today, our philosophy is consistently applied across a broad range of traditional equity and fixed income investment strategies. We believe the experience and stability of our investment professionals are the hallmarks of our organization.

Levitate Media develops video for the tech market. We help companies explain their offerings more effectively through animation, 3D, motion graphics, live video capture, testimonials, and more. Our productions help simplify complex ideas and are viewed on websites, during sales presentations, at trade shows, and anywhere else video can be played.

The StartupChicks mission is to build a world-wide community of like-minded female founders, to educate, coach and mentor entrepreneurs to help accelerate their businesses, and to inspire aspiring female entrepreneurs to take the leap.

The Advanced Technology Development Center (ATDC) is a startup accelerator that helps technology entrepreneurs in Georgia launch and build successful companies. Founded in 1980, ATDC has helped create millions of dollars in tax revenues by graduating more than 130 companies, which together have raised over a billion dollars in outside financing. Headquartered in Atlanta’s Technology Square, ATDC serves as the hub for technology entrepreneurship in Georgia. ATDC provides business incubation and acceleration services to hundreds of startups through coaching, connecting and community. Membership is open to all technology startup companies in Georgia, from those at the earliest conception stage to revenue generating, venture-fundable companies.

Pardot is a B2B cloud marketing automation software provider that increases revenue and maximizes efficiency for companies with multi-touch sales cycles. Pardot’s platform features CRM integration, email marketing, lead nurturing, lead scoring and ROI reporting to help marketing and sales teams work together to generate and qualify sales leads, shorten sales cycles, and demonstrate marketing accountability. Pardot offers affordable pricing for the SMB market.

Social Fortress is data security and information privacy reinvented. Backed by the people who originally invented it. For both the enterprise and the consumer.

Badgy delivers “SEO for Social” for major brands, increasing the reach of their content on Facebook and Twitter. It’s the fastest and most seamless way for a brand to operate a social loyalty program. Most recently, we’ve made it dead simple to get any Facebook app page using the extremely effective Facebook Timeline Actions.

CodeGuard provides automatic cloud website backup and restore built upon Amazon Web Services: WordPress, MySQL, and FTP/SFTP. Restore files or entire sites whenever your want, and be notified when content on the site changes. Launched May 2011 at TechCrunch Disrupt – NYC, CodeGuard received the Audience Choice Award. Since then over 4 billion files have been examined and they recently announced the closure of a 1.3M Series A financing.

Collectors are the best consumers…crazy and passionate. CollectorDASH gives collectors a community-based experience making collecting more fun and affordable. With an innovative and integrated solution, the CollectorDASH platform is set to disrupt this multi-billion dollar market.

In the growing e-commerce market, small and medium businesses with online stores often choose to drop-ship products direct from supplier to customer to compete with the big players. eCommHub is a drop shipping platform that integrates with your online store to automate inventory management and order fulfillment through a third-party, effectively allowing you to expand product offerings, route orders intelligently, and minimize backorders. With its easy setup process and pay as you grow™ pricing, eCommHub can serve smaller online retailers, allowing them to grow their business, increase their margin and improve customer retention.

Employees today are publishing and sharing their valuable product and process optimization ideas almost everywhere except where they are needed the most – inside their own companies. What we do at IdeaString is help companies capture the innovation and genius of their employees, customers and partners —then efficiently identify the best ideas so they can put them to work in their own business – instead of having to read about it on the internet, in the media or even from a direct competitor. IdeaString’s patent-pending technology puts the human spirit at the center of innovation – every employee’s unique talents and behaviors are intelligently leveraged to optimize the innovation process for richer, more creative Ideas that equals more valuable outcomes for business.

We’re fans of innovation and we’re completely sold on startups. It’s in iFusion‘s DNA. In addition to providing chief marketing officer counsel on a fractional basis, we also provide a full-range of marketing services to emerging growth companies. We’ve been in the trenches and understand the unique demands of taking a start up from idea to market. Ours is a customer-centric approach to marketing that raises awareness, nurtures leads and generates revenues.

TAG educates, promotes, influences and unites Georgia’s technology community to foster an innovative and connected marketplace that stimulates and enhances Georgia’s tech-based economy.

Raleigh-Durham

Special thanks to the fellows at GBW Strategies who helped us organize the event.
GBW Strategies is a new era, Triangle-based public relations and marketing firm serving clients such as Facebook and the Cherokee Challenge.

StrikeIron is the leader in Data-as-a-Service (DaaS), delivering data quality and communications solutions via our cloud platform IronCloud. We provide address verification, email verification, phone validation, phone append, SMS text messaging, and sales tax solutions to customers in a variety of markets. Our solutions are delivered as Web services that can be easily integrated into any application or system. Additionally, our solutions are pre-integrated into leading platforms like: Magento, Eloqua, Salesforce.com, Informatica, Oracle CRM On-Demand and more.

American Tobacco Campus has evolved from an abandoned industrial husk to a thriving hub for cutting edge companies, restaurants and festivals. In addition to longtime tenants Burt’s Bees and global advertising firm McKinney, American Tobacco recently welcomed a R&D arm of HTC. Late last year, Brooklyn-based Wireless Generation chose the campus for a development branch expressly because of its cultural verve and access to top talent.

American Underground (inside American Tobacco) is home to the most capitalized technology accelerator in the southeast, startups, a gaming incubator, and resources such as NC IDEA and CED The Underground has become a model for other cities eager to foster entrepreneurialism, and an attractive asset to larger companies looking for spark, ideas and talent.

Triangle Startup Factory, the most highly capitalized technology accelerator in the southeast, runs an intensive, three month program customized for early stage startup companies. Startups receive seed capital, hands-on mentorship, and access to a network of active angels, veteran startup founders, and experienced technology experts.

Digitalsmiths is the technology leader in video search and recommendation; with customers such as Warner Brothers and Paramount.

Argyle Social is a Durham based marketing software company committed to helping their customers “harness the social channel and bend it to their will.

Netsertive drives increased local sales opportunities and targeted online exposure by providing technology-driven, high-performance online marketing to businesses and their related brands.

Geomagic is a leading provider of 3D software for creating digital models of physical objects.

SciQuest helps organizations streamline their entire source-to-settle process, and is the only company that provides the scale, expertise and transparency that your organization requires to improve your bottom line.

Relevance delivers open source software solutions to help businesses succeed.

Sharefile/Citrix provides business solutions that are enabling mobile workstyles and powering cloud services.

NC Idea is a 501(c)(3) not-for-profit organization created to serve as a catalyst for young, high-growth, technology companies in North Carolina. They help these innovative companies mainly by providing early financing in the form of grants.

Groundwork Labs is a catalyst to generate momentum for North Carolina startups and help prepare them for funding opportunities such as grants, accelerators, or angel investment.

Idea Fund Partners is a seed and early stage venture capital firm with offices in Durham, North Carolina and Orlando, Florida. They invest mainly in the Southeast and Mid-Atlantic, focusing on companies developing software, medical devices or other technologies where intellectual property is an important asset and source of differentiation from competitors.

Shoeboxed provides the fastest way to turn a pile of receipts into digital data for effortless expense reporting, accounting, bookkeeping, and tax preparation.

Bandwidth.com provides Internet and telephone solutions to power business.

ReverbNation provides a central site for musicians, producers, and venues to collaborate and communicate.

The Durham Chamber serves the needs of businesses, non-profits and government agencies of all sizes in the greater Durham-area.

The Escapist is a multiple Webby Award-winning internet site focusing on games and entertainment, and is the leading voice in videogame culture for 4 million fans worldwide. This year, The Escapist will host the Escapist Expo, North Carolina’s premier consumer convention, which will unite fans of videogames, tabletop games, comics, music and more in a celebration of everything great in multi-media escapisim.

Contactology is the go-to provider of email marketing software for white labeling, API integrations, enterprise and startups. Marketers know we’re the ESP they’ll never outgrow.

inMotionNow is a leading provider of workflow solutions for the enterprise creative department, facilitating efficiency and productivity in the approval process for print, video, and interactive content. The company’s flagship product, the inMotion SaaS application for Creative Workflow Management, enables companies to manage and track their marketing and creative projects in a centralized, online environment. inMotion reviewers can access and markup content online and deliver approval back in minutes, from any internet-enabled device or through the inMotion Mobile Review app for iPhone and iPad.

Charlotte

Special thanks to Packard Place for hosting the event.

NexTable started with an idea to make reservations better and more affordable to our restaurant community. NexTable was founded by a group of dedicated entrepreneurs, restaurateurs and developers. Together with the assistance of local restaurateurs and mentors, we are committed to serving the restaurant industry by creating a revolutionary iPad real-time reservation, table management and marketing system that simply excels in value, innovation, features, and ease of use. Our objective is to liberate restaurants from using manual booking systems and costly competitors.

Virtual Race Bags provides a fully-integrated online platform for Event Directors to efficiently and cost-effectively deliver sponsor messages to event participants. Much more than a simple “virtual goody bag,” Virtual Race Bags delivers sponsor deals, offers and messages to event participants using an online platform that is customized for each event. In addition, through our network of events, national brands can reach over 1.5MM participants in 2012. Virtual Race Bags was founded in 2010 by a team seeking to leverage their professional experience in the Endurance industry and as Athletes to help significantly improve upon the iconic race bag.

Founded by a team of compassionate doctors, WeRx.org believes that all patients deserve the right to be fully informed about their healthcare. WeRx.org provides a community of caring advocates and patients a platform to share and compare the most up-to-date prescription drug costs between their local and online pharmacies. If you believe that every American deserves the right to have access to their needed medications, join us!

Autopilot allows you to book a vetted, professional driver on demand when you can’t, shouldn’t, or simply don’t want to drive your own vehicle. You can reserve a driver with the push of a button, track their arrival, and enjoy the benefits of automated, cashless payments all from your mobile device.

mailVU.com provides an business video platform to service providers. Our API and private label accounts enable businesses to easily integrate video recording and distribution functionality into their own service. mailVU’s combination of mobile and computer apps allow real-time video recording of testimonials, pitches, applications, or personal messages and presentations. Customers access a private content library where videos can be viewed and managed, and then distributed in a variety of manners including social media, newsletters and email, or embedding onto websites.

inMotionNow is a leading provider of workflow solutions for the enterprise creative department, facilitating efficiency and productivity in the approval process for print, video, and interactive content. The company’s flagship product, the inMotion SaaS application for Creative Workflow Management, enables companies to manage and track their marketing and creative projects in a centralized, online environment. inMotion reviewers can access and markup content online and deliver approval back in minutes, from any internet-enabled device or through the inMotion Mobile Review app for iPhone and iPad.

Greenville:

Umatch combines cutting edge technology, proven research and retention principles, and dynamic machine learning into a proactive, holistic approach to improving enrollment yields, student retention rates, and graduation rates.

NEXT is an economic development program of the Greenville Chamber uniquely focused on the growth and attraction of early-stage knowledge-based companies in Greenville, South Carolina.

The Iron Yard provides innovation, education, coworking, mentorship, capital, and events for the technology and design communities.

The Upstate Carolina Angel Network, LLC (UCAN) is a group of accredited investors located in Upstate South Carolina who invest in and support start-up and early-stage, high-growth businesses in the Southeastern United States. Since its inception in 2008, UCAN has invested more than $5.6 million in 22 companies.

The mission of the Arthur M. Spiro Institute for Entrepreneurial Leadership is to support educational, research and outreach programs that promote entrepreneurial activity and economic development of the region, state and nation. The focus is on wealth creation through entrepreneurial activity.

Dealer Ignition is the fastest, easiest, most effective way for brands and dealers to market online.

Servosity’s Mission is to: Deliver Mission-Critical Backup and Disaster Recovery to MSPs and IT Resellers in a way that makes their brain do the happy-dance.

Mailprotector provides a suite of SaaS based email security and management solutions to over 3,000 organizations across six continents.

Foxfire specializes in Warehouse Management Software solutions and services. Our warehousing software is available as Level 1: Inventory Management, Level 2: WMS Express, and Level 3: WMS Enterprise. Foxfire warehousing software is ideal for start-up to mid-sized warehouses that want to optimize production and processes. Foxfire WMS provides the flexibility to use the system as is or to configure to exact specifications.

RAP Index is a key contacts software service, developed by advocacy experts for advocacy professionals, that uses a patent-pending scoring process to decisively identify and measure the Relationships, Advocability and Political Capital of an organization’s stakeholders, to find their key contacts and activate their best messengers. RAP Index is an indispensable service that helps organizations Know Who They Know℠ from the Capital to Main Street.

Fusion Web Clinic is the smartest Electronic Medical Record (EMR) system in therapy. It is the first and only system that automatically keeps track of daily, required tasks for each staff member, and graphs patient progress. Fusion allows you to work smarter, not harder.

Vigilix helps companies improve the value of their technical support services through PCI validated proactive monitoring and remote access. Currently over 20,000 systems are supported by companies using Vigilix’s POS Monitoring & Management solution.

ProActive Technology delivers dynamic solutions to help clients identify what data is necessary for improved business performance and then to develop the most efficient software for that purpose. Specializations include SharePoint Development, Custom Programming, and Database Management. ProActive provides fully-managed, worry-free custom software development that’s sensitive to your budget, schedule, and business model.

Loc Engine: You are here. They are there. Let’s share. Real-time tracking and location management.

tribr is taking the hassle out getting together with a group of your friends. More fun with your tribe, and less hassle!

Pathwright is a platform for creating, teaching, and selling beautiful online courses.

Eleos Technologies is on a mission to eradicate fax machines from the face of the earth. Our cloud- based mobile platform enables businesses to capture documents and photos from remote workers and customers.

posted @ 2012-07-14 11:50 BoyXiao 阅读(89) | 评论 (0)编辑 收藏
logo-5-2012

The Crowd is on the loose. Thanks to the JOBS Act, mainstream attention came to crowdfunding this year, and platforms like Kickstarter and Indiegogo have been benefitting in kind. Kickstarter, in particular, has seen an exponential increase this year in how much capital its projects have been able to raise. (Exhaustive post on the subject here.) The Crowd has pledged $275 million to some 63,000 Kickstarter projects to date, and companies of all breeds are now using these platforms as launchpads and for a little proof of concept.

But, sadly, you know who really isn’t benefitting from the crowdfunding boom? Healthcare startups. Brian Dolan of MobiHealth points out that, in fact, Kickstarter officially prohibits health, fitness, and medical projects. Healthcare is absolutely jonesin’ for innovation, and there are tons of cool health companies trying to change the world — some of them even a little sexy and consumer-facing.

That’s why serial healthtech entrepreneur Alex Fair and founding Kickstarter product manager Mike Pence have set out to give health-focused entrepreneurs and projects a Kickstarter of their own. Medstartr, which launched in beta today, is a crowdfunding platform designed specifically for healthcare companies, providing startups with a vehicle to market their wares, generate awareness and raise capital — direct from strangers, investors, and Doogie Howsers alike.

Sure, support for healthtech startups — and their small victories — are worth noting just on principle. But, MedStartr isn’t aiming just to be a lazy port of Kickstarter/Indiegogo to healthcare. Fair was inspired to create Medstartr not only because of the rejection his healthtech ideas found on Kickstarter, but also because of the much-ballyhooed JOBS Act. The legislation legalized funding in startups by non-accredited investors and has likely changed early-stage investing for good.

The SEC is still working out the specifics of the regulations aimed at bringing some order to the wild and wooly west that will be Crowdfunding 1.0. In particular, the government must decide on where to cap the amount of capital businesses can raise via crowdfunding platforms, whether or not they’ll be able to raise cash by selling securities, etc. And, as it goes with medical biznass, the regulations will have specific measures (i.e. restrictions) on health businesses, with some of those being determined by the FDA.

Until the regulations are released, crowdfunding platforms have to wait and over-prepare if they can. In the meantime, MedStartr is limiting the amount of capital its projects can raise to $40,000 and, like the Kickstarters of the world, MedStartr is non equity-based, instead offering market validation and non-dilutive funding as value propositions for startups. Once SEC rules are set, however, Fair tells us that the company will establish an equity model.

In this way, the co-founders have plenty of plans for how the platform will differentiate from the big names, but some are still incipient — in part because the platform was founded about three months ago and in part because some may be subject to change.

For starters, Fair has nearly two decades worth of experience in healthtech, health IT, and consulting, which he plans to leverage to help MedStartr’s health projects not only reach their targets but find follow-on funding and support. Of course, while it will become trickier at scale, entrepreneurs can expect much more of a hands-on, or proactive, approach from the founders in comparison to Kickstarter.

They have already started to, and plan to continue with an events-based model, in which MedStartr will hold mini-conferences (with panels, etc.) in various cities, allowing project creators to set up booths and interact and network with potential investors. Like a MeetUp for Medics.

Fair also sees some bigger potential industry benefits than the requisite low-cose inbound marketing that is typically a built-in perk of crowdfunding platforms. Up to this point, hospitals, doctors, patients, and healthcare companies have largely lacked public resources by which to discover, interact with, and invest in health companies.

Many health or medical projects also inherently have highly motivated and engaged user bases (see 23andMe and CureTogether for examples), as they often promote healthier lifestyles, provide support for people in need or suffering from illnesses, try to find cures, and reduce medical and insurance costs. All of which can be emotional issues.

A crowdfunding platform for health projects allows the many who, say, want to help make or find ways to contribute to the health of loved ones to participate actively in the process. And feel a direct connection to projects and their founders and feel they’re making a difference. MedStartr launched with both a diabetes project and a project that supports those with STDS, for example.

On top of this, it seems that MedStartr also has the potential to incorporate some elements of AngelList and healthtech incubators like Rock Health and Blueprint. The crowdfunding platform can function as a screening ground for investors. Startups turn their project pages into pitch platforms, incorporating video, images, etc., and investors can interact and connect with the entrepreneurs through the site.

MedStartr can also incorporate partner programs that allows doctors, CIOs, or executives of health companies to use MedStartr for validation and deal flow and to support them. If they like the idea, they can offer up a deal. If they sign up a certain number of physicians, attract a certain amount of feedback and hit a set target for funding, then a CTO of Pfizer, say, could reward them by funding their first pilot study. The company already has a big pharma company and medical society on board.

All that being said, MedStartr’s current incarnation owes a lot to the popular crowdfunding platforms. Its name (and the design of its site) make that apparent enough. But, if MedStartr is able to deliver on even half of its goals, it can become more than a valuable, feel-good medtech experiment. VCs and investors want to invest in great healthtech companies, and this gives them a great way to interact with health startups and source potential investments.

It’s not clear that there can be enough cross-over from mainstreamers and consumers to give MedStartr the lift it needs to hit scale, rather than remaining a purely industry resource. But if they play it well, and turn it into a viable Kickstarter/MeetUp/AngelList hybrid for health startups, why not?

Find MedStartr at home here.


Company: MedStartr
Website: medstartr.com
Launch Date: April 2012

MedStartr is the Kickstarter for health. That is to say it’s also a platform by which anyone and everyone can fund and support healthcare projects, startups, and innovations that improve healthcare and help people live longer, better lives. MedStartr is powered by an all-or-nothing funding method where projects must be fully-funded or no money changes hands. This makes it so you have no obligations either way if critical mass is not achieved to get to your minimum viable product.

Learn more
Company: Kickstarter
Website: kickstarter.com
Launch Date: April 2009
Funding: $10M

Every week, tens of thousands of people pledge millions of dollars to projects from the worlds of music, film, art, technology, design, games, fashion, food, publishing, and other creative fields. Since its launch on April 28th, 2009, more than one and a quarter million people have pledged $130 million to projects by creators who always maintain full ownership and complete creative control of their work.

Learn more
Company: Meetup
Website: meetup.com
Launch Date: January 7, 2002
Funding: $18.4M

Meetup is a local community organizing network that makes it easy for anyone to organize a local group or find one of the thousands already meeting up face-to-face. Over 9.5 million people have created and joined long-lasting local Meetup Groups around shared interests and purposes. A Meetup starts somewhere on the planet every 13 seconds. Meetup’s mission is to revitalize local community and help people around the world self-organize. Meetup believes that people can change their personal world, or...

Learn more
posted @ 2012-07-14 11:50 BoyXiao 阅读(79) | 评论 (0)编辑 收藏
space monkey

Space Monkey, the startup offering a peer-to-peer alternative to cloud storage services like Dropbox, just raised $2.25 million in a seed round of funding.

The company says that it’s combining the benefits of both local storage and the cloud. Every Space Monkey customer gets their own storage device, so they can access their files without having to worry about download times or pay the higher cost of cloud storage (which can become an issue when you’re talking about large media files like videos). Copies of those files are also distributed in chunks to other Space Monkey devices, allowing for remote access and backup.

I first wrote about the company when it won the best new startup prize at the Launch conference in March. At the time, some readers pointed out that there are some open source solutions trying to do something similar. However, there’s a big difference between an interesting open source project and a consumer-grade service and company. Product Guy Clint Gordon-Carroll (yes, that’s his real title) says that the real challenge is creating something that’s actually compelling to a large audience. For example, he notes that by introducing the Space Monkey device, users no longer need to keep their computers online at all times.

In the first week alone, Gordon-Carroll says Space Monkey saw 10,000 sign ups. The company is now planning to ship the first devices this fall.

At the conference, Space Monkey had already raised $750,000. That amount was rolled into the new seed round, which was led by by Google Ventures and Venture51. Here’s the full, incredibly long list of investors (or at least those who can be disclosed publicly):

  • Polaris Venture Partners
  • Morado Ventures
  • Social + Capital Partnership
  • Zelkova Ventures
  • Data Collective (Matt Ocko)
  • B-Squared Ventures
  • TriplePoint
  • Sky Dayton
  • Benjamin Ling
  • Nicolas Berggruen
  • Jason Calacanis
  • Bill Lee
  • Steve Chen
  • Ben Narasin
  • Don Hutchison

Financial-organization: Google Ventures
Launch Date: March 31, 2009

Google Ventures is the financially motivated venture capital arm of Google Inc., founded in 2009. Google Ventures invests in startups in industries including consumer Internet, software, hardware, clean-tech, bio-tech, health care and others. They aim to invest about $100 million a year, with deal sizes ranging from seed to late-stage investments of tens of millions of dollars, depending on the stage of the opportunity and the company’s need for capital. Google Ventures currently invests in the U.S. and has offices in...

Learn more
Financial-organization: Venture51
Website: venture51.com
Launch Date: August 1, 2010

Venture51 is an early-stage venture fund built for entrepreneurs by entrepreneurs. We partner with promising entrepreneurs at the earliest stages in the highest-growth segments of the Information Technology market, bringing our own entrepreneurial experience, relationships, and marketing/product expertise to the table.

Learn more
Company: Space Monkey
Website: spacemonkey.com
Launch Date: July 2011
Funding: $2.25M

Space Monkey builds cheaper, faster, and a more efficient cloud data storage service for its users offering more space for less. Space Monkey keeps all your content in one place and secure while accessible anywhere and on any device.

Learn more
posted @ 2012-07-14 11:50 BoyXiao 阅读(96) | 评论 (0)编辑 收藏
Screen shot 2012-07-11 at 11.48.49 AM

APIs are marching into education, and it’s about time. Education is rife with legacy infrastructure, with one of the primary offenders being Student Information Systems (SIS). Schools use these systems to store huge amounts of sensitive student information (class lists, attendance, grades and allergies, etc.), but they differ widely from school to school, which, among other things, forces developers to manually integrate with each unique system, making it difficult for their cool educational software or apps to achieve any kind of scale.

LearnSprout, a recent graduate of the education-focused startup accelerator Imagine K12 wants to help both schools and developers unleash those opaque educational data silos with the help of a few clean, standardizing APIs. While the recently-launched startup is not alone — Y Combinator-backed Clever launched a similar platform last month — LearnSprout now has the benefit of some notable investors to help fuel its fires.

The startup is in the process of closing its first round of funding with participation from Andreessen Horowitz, Formation 8 (a new VC fund headed by Palantir co-founder Joe Lonsdale), Benjamin Ling, Philip Fung and Luke Shepard — to name a few. LearnSprout is in the process of adding a few more investors and is hoping to cap the round at around $1 million.

LearnSprout is also one of eight companies (and the only education startup) to be accepted into the inaugural cohort of Code For America’s accelerator program, which provides early-stage businesses with a grant, mentoring, and introductions to tech-savvy decision makers in local and federal government in an effort to help them grow civically-minded businesses.

Founded in January this year by Franklyn Chien, Anthony Wu, and Joe Woo, veterans of Facebook, Google, and Microsoft respectively, today LearnSprout is already working with 40+ schools and another 200+ schools are in the pipeline, and it’s begun to generate revenue to boot. All in all, not bad progress for six months.

But, as it so often goes, this isn’t where the team initially planned to end up. Chien tells us that, going into Imagine K12, LearnSprout had begun to build a modern learning management system-student information system hybrid that was intended to be v2.0 of Blackboard — something not too dissimilar from Instructure’s Canvas. But, it wasn’t long before the founders came to the realization that getting schools to dump their existing systems was basically a fool’s errand.

Rather than shell out money for new systems or software, schools tend to make due with what they have, adding ad hoc fixes as they go. There are over 100 student information systems in operation today, each of them built in Frankenstein ways to save costs. Teachers end up having to manually enter data themselves, making transferring, aggregating, and gaining insight into these data silos a nightmare.

Because schools aren’t eager to budge, the best fix is to give them (and developers) one set of APIs that allows them to keep their systems in place while making their data portable and fluent in a universal language. The startup’s APIs essentially create a secure channel through which developers and schools can transfer the sensitive information from their student information systems.

LearnSprout removes the pain for developers of having to manage CSV files, exports and FTP servers, and removes manual data entry. As extra incentive for schools, LearnSprout handles all data integration with the student information systems itself, whether it’s CSV or direct database connection. The team is also providing schools with two applications that come on top of its APIs and work right out of the box — one of them being a school-wide emergency notification system, for example. The purpose of including these apps, Chien says, is to showcase the power of the platform, give schools a way to get used to the new system, while giving developers an archetype with which to work.

LearnSprout also handles data duplication, serving developers and schools with only the most up-to-date information. What’s more, for schools, it’s all free. LearnSprout offers them one-click install to get them started, charging developers either with a flat fee or offering a revenue share based on the number of integrations. If they bring a new school to LearnSprout, however, integration is free. Right now, Chien says that the startup is already working with about 70 percent of the SIS in operation in the U.S. and is hard at work on covering the remainder.

In terms of its plan going forward, the team is already thinking beyond the U.S., eyeing tons of potential abroad and plans to leverage contacts from Andreessen and Formation 8 to begin taking international steps.

You can find LearnSprout at home here, or check out their pitch at Imagine K12′s Demo Day below:


Company: LearnSprout
Website: learnsprout.com
Launch Date: January 2012

LearnSprout makes it easy for developers to build and distribute education apps by providing a standard API to schools’ data that unlock the grading, attendance, and roster information.

Learn more
posted @ 2012-07-14 11:50 BoyXiao 阅读(57) | 评论 (0)编辑 收藏
6644.b-fund-logo_3669B89F

This wasn’t exactly a secret anymore, but Microsoft just officially unveiled its Bing Fund, a new angel fund and incubator program sponsored by Bing and “backed by the experience, expertise, and resources of Microsoft.” The idea here, says Microsoft, is to “partner with like-minded entrepreneurs—great talent that is innovating online to solve big problems and create amazing new experiences.” The fund is looking for startups that focus on mobile and web experiences and which provide “both inspirational vision” and the “ability to execute.”

Microsoft also recommends that the startups that plan to apply for this program already have a working prototype and a broad plan for how to tackle the problem they are trying to solve and what the market for their products looks like.

Startups will be accepted on an on-going basis and the Bing Fund is also looking to partner with existing accelerators to find potential candidates for the new fund. The plan is to focus on just a few startups at a time and as companies graduate, new ones will be accepted to fill their spots. Microsoft doesn’t promise that it will acquire successful startups, but the company says that “acquisition is always a possibility.”

Besides receiving funding, the startups that are accepted into this program will receive subsidies to use Bing’s APIs and also access to technologies developed by Microsoft Research. Microsoft also plans to provide these startups with mentors inside the company and promises that the IP and product will remain in the hands of the participating companies.

Startups that are located in Seattle will also be able to take advantage of co-workspace in Bellevue (a few miles away from the company’s main Redmond campus), where the Bing Fund team and Microsoft’s machine learning, search and data experts are located.

It’s worth noting that the Bing Fund does not require companies to use development stack, but it does encourage startups to participate in its BizSpark program, which gives companies that are less than three years old and make less than $1 million per year discounted access to its development tools. BizSpark already works with TechStars, by the way, to make $60,000 worth of Azure compute and storage services available to the companies in its Microsoft Accelerator for Windows Azure program.


Company: Microsoft
Website: microsoft.com
Launch Date: April 4, 1974
IPO: NASDAQ:MSFT

Microsoft, founded in 1975 by Bill Gates and Paul Allen, is a veteran software company, best known for its Microsoft Windows operating system and the Microsoft Office suite of productivity software. Starting in 1980 Microsoft formed a partnership with IBM allowing Microsoft to sell its software package with the computers IBM manufactured. Microsoft is widely used by professionals worldwide and largely dominates the American corporate market. Additionally, the company has ventured into hardware with consumer products such as the Zune and...

Learn more
posted @ 2012-07-14 11:48 BoyXiao 阅读(103) | 评论 (0)编辑 收藏

資安業者McAfeeGuardian Analytics於日前(6/26)發出一份報告,指出一個國際駭客組織正向全球金融機構展開攻擊,並將攻擊行動命名為Operation High Roller,至今已成功入侵60家銀行,藉由取得具有高額存款的企業或個人帳戶的登入資訊,已經竊取至少7500萬美元。

 

目前已經有數千個金融機構受到影響,包括信用卡中心、國際銀行,以及地區性銀行等,受害地區則從一開始的歐元區蔓延至南美洲和美國。報告中指出,這些攻擊手法比透過SpyEyeZeus等惡意軟體展開的攻擊更加複雜且自動化,而且通常不需要人為介入就能完成任務。

 

McAfee實驗室的安全研究總監David Marcus表示,幾年前,多數的網路犯罪都發生在終端,但Operation High Roller把攻擊目標轉移至中央伺服器,讓竊取行為變得更有效率,而這種鎖定特定個人或金融機構所發起的攻擊,造成的損失也相當驚人,由此看來,駭客組織的攻擊手法愈來愈先進。

 

以過去採用惡意軟體ZeusSpyEye而展開的中間人攻擊為例,通常都是終端電腦先感染病毒,使用者透過這些被感染的電腦進入網路銀行網頁時,惡意程式就在背景執行瀏覽器,藉此非法移轉使用者銀行帳戶裡的錢。

 

而在Operation High Roller攻擊中,駭客組織則是針對特定的網路銀行網站設計相關程式,讓整個詐騙過程自動化,包括可以讀取帳戶的餘額、將金額轉至錢騾(money mules)帳戶中以掩護行動,甚至連選擇哪些帳戶作為中介性的錢騾帳戶都是自動化的。為了不被偵測到,駭客組織經常性的移動,並結合Rootkits與加密技術,讓這些攻擊過程得到更好的掩護並防止被偵測。

 

報告中指出,今年一月時就已經發現此駭客組織開始活動。當時一家德國銀行的伺服器遭受攻擊,共176個帳號受到影響,讓駭客盜取了近100萬歐元。三月時,駭客組織再度攻擊荷蘭銀行的資訊系統,成功繞過了用來防禦網路詐騙的偵測工具,至少被竊走了5,000個商業帳戶。隨後,南美洲也發生災情,數十個企業帳戶成了駭客下手的目標,每個帳戶的存款約介於50萬到200萬美元。

 

該報告稱這波攻擊所使用的技術為「網路詐騙技術中的重大突破」,因為它們成功突破了用來避免帳號被盜用的雙重認證機制。面對這種新的攻擊手法,銀行業者勢必要重新思考該如何提升安全防護措施。

 

posted @ 2012-07-14 10:16 BoyXiao 阅读(86) | 评论 (0)编辑 收藏
仅列出标题  下一页

导航

留言簿

最新评论

阅读排行榜

评论排行榜