• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Zachary.XiaoZhen - 夢(mèng)想的天空

            2012年10月10日

            目錄:

            一、引入

            二、經(jīng)歷了就能理解

            三、讀書要分級(jí)

            四、只讀經(jīng)典

            五、別吝惜你動(dòng)筆的那點(diǎn)時(shí)間

             

            一、引入

             

               看到這個(gè)題目的時(shí)候你可能會(huì)感到有點(diǎn)好笑:“這還用問(wèn),看書就是把書看了一遍唄..” 沒(méi)錯(cuò),我們從小到大就是這樣想的,也是這樣看書的,信手拈來(lái)一本叫作"書"的東西,從頭到尾就開看了!隨時(shí)年齡的增長(zhǎng),我們的“閱歷”也多了起來(lái)了,但你是不是也有和我一樣的感覺(jué)——書是讀了不少,真正入腦的,能融入自己思想的內(nèi)容卻少之又少,而且隨著年頭的增加,你越來(lái)越不記得自己讀過(guò)這些書,更不用提書里到底大概是些什么內(nèi)容了!這就是我們的長(zhǎng)久以來(lái)的讀書方式。。。 你會(huì)不會(huì)也這樣想,如果我能把我從小到大讀過(guò)的書都能記下來(lái)形成自己的思想,那我現(xiàn)在得多牛??!是呢,我也常常這樣想!于是為了讓自己更有思想,就去讀更多的書,然后在短短的幾年,或者只是幾個(gè)月,甚至僅僅是幾天以后,生活的瑣事會(huì)漸漸把你關(guān)于那些書的緩存擠掉,你的大腦又變成了一塊被重新格式化的硬盤,那些書又與你無(wú)關(guān)了。

               說(shuō)實(shí)話,我曾經(jīng)就是這種情況,并且被其深深的困擾過(guò),花了大量的時(shí)間去閱讀,但是在腦子里留下的卻是星星點(diǎn)點(diǎn)的零碎的內(nèi)容,于是很快這些零星的內(nèi)容也會(huì)悄悄的跑掉,剩下的只有一個(gè)好笑的自欺欺人的解釋——這本書我讀過(guò)。。。。就這樣,我騙了自己二十幾年,這二十幾年里,不管是教科書,還是小人書,不管是專業(yè)書,還是小說(shuō),真是讀了不少書??!我花了多少時(shí)間在這件事上面呢,少說(shuō)也有二十年吧,可是,要問(wèn)我對(duì)哪本書的內(nèi)容真的印象最深的,真的很難回答的出來(lái),更別說(shuō)去吸取書的精華了。估計(jì)和我一樣有這樣困擾的人肯定很多。你是嗎?

            二、經(jīng)歷了就能理解

             

              我經(jīng)常會(huì)想難道我就真的沒(méi)有從讀書中受益過(guò)嗎?當(dāng)然有!“咳,咳。。”我要寫條sql去數(shù)據(jù)庫(kù)里查一下,數(shù)據(jù)庫(kù)里垃圾有點(diǎn)多,估計(jì)得花點(diǎn)時(shí)間,“select * from lifecycle where benefit from reading ——>execute!"  (一分鐘。。。二分鐘。。。五分鐘。。十五分鐘過(guò)去了,數(shù)據(jù)終于出來(lái)了,垃圾數(shù)據(jù)把系統(tǒng)性能拖的太慢了,是需要作作調(diào)優(yōu)的時(shí)候了),好了,你很幸運(yùn),系統(tǒng)沒(méi)有宕掉,下面這些數(shù)據(jù)留給你們參考:

              1、我自認(rèn)為英語(yǔ)水平還湊合,幾次重要的升學(xué)考試和就業(yè)面試中,都沒(méi)有在英語(yǔ)這塊栽過(guò)跟頭,由于后來(lái)集中學(xué)習(xí)日語(yǔ)的原因,英語(yǔ)過(guò)了CET-6后就很少碰,這個(gè)原因我下面會(huì)解釋。現(xiàn)在很多學(xué)生中為英語(yǔ)發(fā)愁的不在少數(shù),往往其他各科成績(jī)都很好偏偏英語(yǔ)不能達(dá)標(biāo),錯(cuò)失了好的升學(xué)機(jī)會(huì)。我回顧自己從小學(xué)英語(yǔ)的經(jīng)歷,總有一個(gè)點(diǎn)在那閃光,那是我學(xué)習(xí)英語(yǔ)的轉(zhuǎn)折點(diǎn)。那時(shí)是小學(xué)四年級(jí),學(xué)校剛剛開設(shè)英語(yǔ)課,那時(shí)和其他的孩子一樣,我的英語(yǔ)成績(jī)不怎么樣,很吃力。我老爸對(duì)我的學(xué)習(xí)比較嚴(yán)格,當(dāng)他發(fā)現(xiàn)我的英語(yǔ)不行的時(shí)候,他開始跟我急了,那時(shí)我也真怕他,當(dāng)老子就是威武啊~ 我爸是高中畢業(yè),他那時(shí)的外語(yǔ)水平差不多也就是我四五年級(jí)的那個(gè)水平的,但是他還是選擇了硬頂上來(lái)!他拿出課本讓我逐句的翻譯對(duì)話,我還大概記得那對(duì)話的內(nèi)容:

            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.

              熟悉吧?后來(lái)還有很多學(xué)者指責(zé)我國(guó)小學(xué)英語(yǔ)教材的落俗套,以致學(xué)生跟人對(duì)話只會(huì)說(shuō)“what's this” “How are you? fine, thank you. and you?” 之類的,這些我們都暫且不談。就說(shuō)我那段時(shí)間是怎么被老爸蹂躪的吧。。。

            當(dāng)時(shí)有好多的對(duì)話內(nèi)容我翻譯不出來(lái),于是就被無(wú)情的鄙視了,并且死規(guī)定,以后每天晚上都要默寫課文、單詞!我那時(shí)是真怕他呀,為了應(yīng)付這一關(guān)我是想出了一堆的作蔽手段,小抄、寫手上、寫桌面上。。都用過(guò)了,每天像過(guò)堂一樣的接受蹂躪,給我幼小的心靈帶來(lái)沉重的壓力,就這么堅(jiān)持了有多半年。于是,后面的事情你們都猜到了,我的英語(yǔ)成績(jī)上來(lái)了,隨便找出來(lái)一篇課文來(lái)我都能熟悉的背出來(lái),得到了來(lái)自各方面的肯定和鼓勵(lì),回頭想想,這都是對(duì)心理體驗(yàn)非常好的正能量,直到今天,我都能對(duì)英語(yǔ)有信心。現(xiàn)在回想起來(lái),那些小抄的作用就相當(dāng)于筆記,讓我對(duì)英語(yǔ)的印象從陌生變熟悉。

              2、高考的經(jīng)歷。對(duì)于都經(jīng)歷過(guò)高考的人們,這個(gè)艱辛的過(guò)程我就不再多多描繪了,地球人都知道的。我在這想說(shuō)的是,在這個(gè)備考的過(guò)程中對(duì)我進(jìn)步影響最大的一個(gè)方面,這也是我高考制勝的法寶。那時(shí)我有幸和一名來(lái)自山東的轉(zhuǎn)校生(也叫高考移民)同桌,他是我高中時(shí)期最好的朋友之一,就是他的學(xué)習(xí)習(xí)慣深深的影響了我,他后來(lái)考上了中國(guó)公安大學(xué),現(xiàn)在是國(guó)家保密機(jī)構(gòu)的人員了,國(guó)家機(jī)密不多說(shuō)。他有一個(gè)什么習(xí)慣呢?作筆記!

              你看到這可能在笑,“原來(lái)就是作筆記啊,這誰(shuí)不知道,誰(shuí)不作筆記啊”,沒(méi)錯(cuò),我們從小都會(huì)要求作筆記,有時(shí)候我們也會(huì)假意的去作一些筆記,但很多的時(shí)候是東記一筆,西記一筆,記完就忘了,也找不見(jiàn)了。我說(shuō)的記筆記不是這種情況。

              在高考那個(gè)大環(huán)境下,每天我們都會(huì)被大量的習(xí)題淹沒(méi),多的時(shí)候每天要作十幾張卷子,那時(shí)真是麻木了。我的這個(gè)朋友就習(xí)慣把每次作完的試卷都從頭到尾作個(gè)總結(jié),把自己不知道的盲點(diǎn)記在一個(gè)本子上,隨時(shí)翻看。我嘗試了這個(gè)學(xué)習(xí)方法后,收效非常大,通過(guò)自己的實(shí)踐也對(duì)作筆記有了更深的理解,下面說(shuō)說(shuō)我的理解:

                  (1)作筆記一定要找個(gè)厚點(diǎn)的本子,品質(zhì)要好,但不要過(guò)于花哨的,簡(jiǎn)約的最好。因?yàn)槟阋茴A(yù)見(jiàn),當(dāng)你養(yǎng)成這個(gè)好習(xí)慣以后,你遇到什么新的東西都想往上面記幾筆,如果頁(yè)數(shù)太少了,你又要換個(gè)新本,這樣就會(huì)對(duì)你的知識(shí)系統(tǒng)產(chǎn)生分隔,你會(huì)更偏向于經(jīng)常翻看新的本子,舊的本子就被你束之高閣起來(lái)了,漸漸那些你曾經(jīng)領(lǐng)悟的東西又會(huì)變的模糊。

                  (2)請(qǐng)勿分門別類的記筆記。拿高考這幾門課舉例,那時(shí)我有很多同學(xué)的作法是數(shù)學(xué)一個(gè)本,語(yǔ)文一個(gè)本,英語(yǔ)一個(gè)本,化學(xué)一個(gè)本。。。 基本上是一門課一個(gè)筆記本,分門別類,互不干擾。這樣并不是最佳的解決方案。我們倆當(dāng)時(shí)的作法就是所有的內(nèi)容都記到一個(gè)本子上,不分科,新的內(nèi)容就直接追加到舊的內(nèi)容的后面,形式上也不要記的太整齊,形式可以多樣,圈圈點(diǎn)點(diǎn),勾勾叉叉,這樣更容易在你的大腦里形成再深的印象,我稱之為“草稿式筆記”,比條理清晰的“流水式”筆記效果好的多。

             ?。?)經(jīng)常翻看。記筆記其實(shí)是對(duì)大腦緩存的一個(gè)整理,就好比你存在計(jì)算機(jī)內(nèi)存里的內(nèi)容永遠(yuǎn)是不穩(wěn)定的,而你一旦寫入硬盤,這個(gè)安全性就提高了幾個(gè)數(shù)量級(jí)(對(duì)于程序員的你,道理不解釋),同樣的道理,你今天對(duì)一個(gè)問(wèn)題理解了,但不表明你兩天后返回來(lái)還能理解到那個(gè)程度,最好的辦法就是把這個(gè)你理解的問(wèn)題用自己說(shuō)話的方式記錄下來(lái),并且隨時(shí)翻看,可以說(shuō),只要你的這個(gè)本子不丟,你就永遠(yuǎn)能保持對(duì)這個(gè)問(wèn)題的新鮮的理解。以至后來(lái),每每月考、期中、期末、摸底的所有考試中,我都只需要拿出筆記本來(lái)從頭到尾翻看幾遍,不再需要看書和資料了,很大程度上增強(qiáng)了我的信心,因?yàn)闆](méi)有記在本子上的對(duì)我來(lái)說(shuō)都是“常識(shí)”了,所有平時(shí)的要點(diǎn)都囊括在了筆記本里面了。如果你身邊有面臨高考的考生的話,請(qǐng)推薦給他們,這個(gè)方法會(huì)在高考中給他們很大的幫助。

              3、學(xué)日語(yǔ)的經(jīng)歷。說(shuō)來(lái)比較幸運(yùn),有機(jī)會(huì)能在大學(xué)里系統(tǒng)的學(xué)習(xí)一門二外。能在大學(xué)里學(xué)習(xí)一門外語(yǔ)確實(shí)是很有意義的一件事情,因?yàn)槲覀儗W(xué)習(xí)英語(yǔ)的戰(zhàn)線已經(jīng)有十幾年了,但成果不是太顯著,而二外作為一門你有選擇的有主動(dòng)性的去學(xué)習(xí)的一門語(yǔ)言,如果你肯花心思,進(jìn)步是很快的。我是從大三開始系統(tǒng)學(xué)習(xí)日語(yǔ)的,那時(shí)剛考完六級(jí),算是完成了階段性的目標(biāo),于是轉(zhuǎn)向日語(yǔ)的學(xué)習(xí),洽好趕上學(xué)校與某一日企有合作的項(xiàng)目,很幸運(yùn)的和同專業(yè)的幾十名同學(xué)一起開始學(xué)日語(yǔ),當(dāng)時(shí)是一個(gè)中教講語(yǔ)法,一個(gè)日本外教講口語(yǔ),因?yàn)閷W(xué)時(shí)較緊,所以基本上日語(yǔ)課占用了所有專業(yè)課之外的所有課時(shí),一周要上20幾個(gè)課時(shí)的日語(yǔ)。這個(gè)過(guò)程持續(xù)了一年多。在這一過(guò)程中對(duì)我來(lái)說(shuō)受益最大的仍然是大量的筆記。“草稿式筆記”又一次發(fā)揮了它的神奇效果,我記了兩個(gè)厚本子,記錄了我整個(gè)學(xué)習(xí)語(yǔ)言的過(guò)程,從淺到深,翻翻筆記就能清晰地回憶起自己是怎么一路走過(guò)來(lái)的。當(dāng)我有一段時(shí)間沒(méi)有接觸日語(yǔ)的時(shí)候,如果我想找回一些日語(yǔ)的感覺(jué),我第一選擇就是從頭到尾的把筆記本看一遍,一遍看完后我仿佛就回到了以前學(xué)習(xí)日語(yǔ)時(shí)的狀態(tài),就像計(jì)算機(jī)一鍵還原一樣,只有筆記能起到這個(gè)作用。

              P.S 順便說(shuō)明一下我為什么學(xué)日語(yǔ)的時(shí)候就很少去碰英語(yǔ)的東西。語(yǔ)言這東西學(xué)的多了真的是容易混,能精通好幾國(guó)語(yǔ)言的人真的是值得敬佩,這種敬佩不僅僅是語(yǔ)言學(xué)習(xí)本身。學(xué)了兩年的日語(yǔ)以后,口語(yǔ)之類的都練的比較熟悉,因?yàn)橛型饨汰h(huán)境,所以大家平時(shí)聊天溝通都得到了很好的鍛煉,但是有點(diǎn)作英語(yǔ)面試的時(shí)候,我發(fā)現(xiàn)了一個(gè)很嚴(yán)重的問(wèn)題,我竟然不能說(shuō)出一整句表達(dá)清楚的英文介紹,每句話都不自覺(jué)的往外蹦日語(yǔ),呵呵,英語(yǔ)的思維完全被日語(yǔ)給抑制住了,于是我發(fā)現(xiàn),這兩種語(yǔ)言沖突了,不過(guò)為了更好的學(xué)日語(yǔ)我就把英語(yǔ)放下了,直接最近的工作需要才再次撿起來(lái),不過(guò)還好,把日語(yǔ)先放一放,英語(yǔ)自然就不受影響了。

              4、目前的工作。幾個(gè)月前換工作到了現(xiàn)在這家外企,外企的寬松的環(huán)境和人性化的制度讓我很快喜歡上了這里,于是我抱定決心要在這里穩(wěn)定下來(lái),干出一番事業(yè)。從第一天入職我就領(lǐng)到了一個(gè)印有公司LOGO的筆記本,現(xiàn)在三個(gè)月時(shí)間吧,這個(gè)本子已經(jīng)基本用完了。在這個(gè)本子上不僅有工作上的事情,meeting,需求討論,還有大量的讀書筆記,內(nèi)容十分豐富,但都充實(shí)的記錄了我的每天的軌跡。這本筆記同樣比較“草稿”,但我能真正理解它,它就像我的一部分大腦一樣,我現(xiàn)在走到哪里都會(huì)帶著這個(gè)本子,班車上、輕軌上有大量的時(shí)間,拿出本子就好像和自己在對(duì)話一樣,無(wú)比的踏實(shí)與充實(shí)。

             

            三、讀書要分級(jí)

                 古人早就說(shuō)過(guò)“開卷有益”,在信息大爆炸的現(xiàn)代社會(huì)里,獲取知識(shí)和信息的方式變的越來(lái)越多元化,網(wǎng)絡(luò)的興起讓知識(shí)變的廉價(jià),理想的說(shuō)一根網(wǎng)線可以得到這個(gè)地球上你想知道的一切。請(qǐng)大家和我一起思考一個(gè)問(wèn)題,不論是以什么樣的形式,游戲也好,電影也好,看新聞,刷微博也好,我們的最終目的到底是想干什么。我的觀點(diǎn)是,所有的這些行為總結(jié)起來(lái),終極目的只有一個(gè)——獲取信息。

              回想在還沒(méi)有Internet的時(shí)代里,人們主要獲取信息的途徑就是讀書,這是那時(shí)的人們能想到的最直接的選擇。而今天的我們選擇就多了起來(lái),讀書看起來(lái)好像是最慢的一種獲取知識(shí)的方式了。但是,選擇多了就一定是好事嗎?科學(xué)家證實(shí)(我也不知道哪個(gè)科學(xué)家),選擇越多效率越差,因?yàn)檫@增加了你決策的時(shí)間和后悔的理由。先說(shuō)上網(wǎng)吧,很簡(jiǎn)單的道理,大家都會(huì)經(jīng)常體驗(yàn)到的,如果你想在網(wǎng)上集中作一件事情,往往是很難的,你會(huì)受到來(lái)自各個(gè)方面的干擾,各種“信息噪聲”向你撲面而來(lái),你常常會(huì)被另外的“新鮮”信息中斷思路,比如QQ右下角討厭的重大新聞浮動(dòng)窗。再比如,如果想在電腦上踏下心來(lái)看一本PDF版的技術(shù)書也是很難的,開始可能還好,看上十頁(yè)二十頁(yè)以后,眼酸,想睡,看過(guò)什么沒(méi)太深的印象,想干別的,效率很差,我就是這種情況,對(duì)需要用電腦閱讀的大段的內(nèi)容都有抵觸的情緒。所以我避免用電腦看一些需要系統(tǒng)理解的東西,因?yàn)槿擞幸环N心理,就是對(duì)于我感到過(guò)抵觸或厭倦的東西都不想再碰,所以我盡量不用這種方式去觸及那些本身應(yīng)該對(duì)我有很大意義的內(nèi)容,我怕因?yàn)橐粫r(shí)的不耐煩導(dǎo)致與這些經(jīng)典失之交臂。 我的習(xí)慣作法還是去閱讀實(shí)體的書,這給人的感覺(jué)是完全不一樣的,書的厚度是你可以真切感覺(jué)到的,而且,看實(shí)體書更容易深入內(nèi)容,這可能因?yàn)槿祟愐恢币詠?lái)的習(xí)慣都是以書為載體來(lái)學(xué)習(xí),這促成了人腦的進(jìn)化,人腦也更習(xí)慣這種傳統(tǒng)的方式。

              這部分的標(biāo)題叫“讀書要分級(jí)”,什么叫分級(jí)呢,就是讀書的深度。

              走進(jìn)任何一家圖書館,你可能都有沖動(dòng)要把這里的書全部讀掉,可是這顯然不現(xiàn)實(shí)。

              電視劇《士兵突擊》里許三多在團(tuán)部的知識(shí)問(wèn)答競(jìng)賽時(shí),團(tuán)長(zhǎng)問(wèn)他是怎么知道這么多知識(shí)的,許三多說(shuō)“我這人笨,不知道應(yīng)該看什么,我就跑到圖書館,從A開始看,現(xiàn)在才看到D”(大概是這意思,是不是D記不清了)。你說(shuō)這種人真有嗎?有,肯定有,但是這只能是個(gè)童話,對(duì)于一個(gè)現(xiàn)代化的大型圖書館來(lái)說(shuō),你就是光把A看完這輩子恐怕也不夠用的。所以,面對(duì)浩瀚的書海,有選擇的讀一些經(jīng)典之作才是明智之舉。并不是每一本書對(duì)于我們的成長(zhǎng)都是至關(guān)重要的,這里有經(jīng)典,也充斥著垃圾。如果你花了兩年讀了一堆垃圾書,這樣非但無(wú)益,反而會(huì)害了你。就像老羅曾經(jīng)說(shuō)的,他年輕的時(shí)候金庸的武俠小說(shuō)非常火,很多的個(gè)體書商不知名的武俠作者出版的武俠書都署金庸的名,因?yàn)槟菚r(shí)沒(méi)有目錄嘛,什么“飛雪連天射白鹿, 笑書神俠倚碧鴛”,當(dāng)時(shí)不知道,所以怎么把金庸的書挑出來(lái),很難。

              那怎么把經(jīng)典的挑出來(lái)呢?這就要借助網(wǎng)絡(luò)了,豆瓣讀書是個(gè)不錯(cuò)的地方,這里都是一群愛(ài)讀書的人,你要看的書在這里基本都能找得到,看過(guò)的讀者會(huì)留下一些感想,如果評(píng)價(jià)太爛的話,你就應(yīng)該果斷放棄讀這本書的想法,因?yàn)檫@可能會(huì)浪費(fèi)你的時(shí)間,并且害了你。扯遠(yuǎn)了,下面開始分級(jí)。

              第一級(jí):經(jīng)典中的經(jīng)典——能奉為經(jīng)典的著作不多,對(duì)于我們計(jì)算機(jī)這個(gè)領(lǐng)域,耳熟能詳?shù)慕?jīng)典也就是那一百多本吧,對(duì)于讀這些書的態(tài)度就應(yīng)該給予足夠的重視,記筆記是必須的,因?yàn)檫@些思想需要與你的思想融合起來(lái),形成你的理解,從而發(fā)揮經(jīng)典的作用,因?yàn)榇蟛糠纸?jīng)典之所以長(zhǎng)盛不衰就是因?yàn)樗鼈兌际鞘谌艘詽O的。

              第二級(jí):技術(shù)類專著——這部分就是指那些資深技術(shù)專家,或在某個(gè)技術(shù)領(lǐng)域比較有建樹的行業(yè)專家寫的書,你選擇這類書的目的性更強(qiáng)一些,往往是為了更深入的學(xué)習(xí)一門技術(shù)或熟悉一個(gè)行業(yè)而選擇的,這部分你當(dāng)然也要細(xì)讀,因?yàn)榧夹g(shù)的難度你更應(yīng)該用筆記來(lái)梳理思路,形成整個(gè)技術(shù)的框架,這里面應(yīng)該包括更多的細(xì)節(jié),以助于以后翻閱的時(shí)候能理解的更深入。當(dāng)然,你可以分章節(jié)來(lái)筆記,這樣可以將一個(gè)大目標(biāo)分割成小目標(biāo)來(lái)激勵(lì)自己去逐項(xiàng)完成。

              第三級(jí):技術(shù)基礎(chǔ)類——有一些書目涉及的是你已經(jīng)熟悉的技術(shù)領(lǐng)域但比較基礎(chǔ)的內(nèi)容,這些書的內(nèi)容對(duì)你的技術(shù)水平來(lái)說(shuō)比較基礎(chǔ),但你也不要忽視這樣的基礎(chǔ)書,這里面可能還有你沒(méi)有吸收過(guò)的精髓也說(shuō)不定。“溫故而知新”,永遠(yuǎn)不要輕視基礎(chǔ),同樣拿出你的本子,翻開新頁(yè),標(biāo)上今天的日期,把這書中講到的你意識(shí)模糊的內(nèi)容記到你的本子里吧,可能你會(huì)發(fā)現(xiàn),你要記的東西還真是不少呢。

              第四級(jí):技術(shù)周邊類——比如《程序員》雜志、技術(shù)博客,這一類的資料也不要看過(guò)就扔,不要相信你是過(guò)目不忘的大師,你大腦的緩存是有限的,你必須要保存到硬盤!所以拿出你的本!

              第五級(jí):娛樂(lè)類——這部分與你的工作沒(méi)有直接關(guān)系,屬于你生活的部分,這部分的智慧更多,但是可能會(huì)和技術(shù)有沖突,所以如果你需要記筆記,請(qǐng)不要記到你記技術(shù)和工作的本子上。

             

            四、只讀經(jīng)典

               代碼真得能改變世界,當(dāng)然代碼也正在改變著世界。程序員的時(shí)間是很寶貴的,我們不是這個(gè)星球上最聰明的一類人,但我們絕對(duì)是最有智慧的一類人。呱唧呱唧~

              我們花了大量的時(shí)間去作需求,去Design,去Coding,去Testing,留給我們自己的時(shí)間卻總是那么少,除去日常生活起居的時(shí)間,陪女朋友的時(shí)間,上下班的時(shí)間,留下讀書的時(shí)間就沒(méi)什么了,哦,對(duì),忘了把你打Dota的時(shí)間算里了,這還哪有時(shí)間看書啊?。。??

              當(dāng)程序員的沒(méi)有不勤奮的,不勤奮的干不了程序員。所以書還是要看的,怎么看,只讀經(jīng)典。

              關(guān)于什么是經(jīng)典你自己決定咯,在這個(gè)圈里吃飯的,對(duì)技術(shù)都有很強(qiáng)的敏感性,壞書進(jìn)不了你的眼,好書也一定逃不掉。

               

            五、別吝惜你動(dòng)筆的那點(diǎn)時(shí)間

               說(shuō)了這么多了,你可能已經(jīng)意識(shí)到作筆記的重要性了,其實(shí)事實(shí)真的是這樣。

              你是否聽說(shuō)過(guò)某某大師一生作了幾百本的讀書筆記這些事,我以前一直有疑惑,他作筆記都是在干嘛呀?都記什么呀,有什么好記的?后來(lái)我真正開始作筆記以后,我才真正理解了這件事,原來(lái)大師之所以能成為大師,真的都不是一朝一夕的工夫,這需要持之以恒的堅(jiān)持和堅(jiān)定,這內(nèi)心得多強(qiáng)大呀。你要知道,那幾百本的筆記不只是筆記本那么簡(jiǎn)單,那些都是思想的沉淀,思想本來(lái)是抽象飄渺的,筆記這種形式讓思想有了重量和形態(tài),這種思想被組織,重構(gòu),索引,最終印到大腦里形成一座龐大的知識(shí)倉(cāng)庫(kù)。

                正所謂磨刀不誤砍柴功,記筆記可能會(huì)影響你讀一本書的速度,但它不會(huì)讓你白讀,如果你讀書的目的不是想在你腦子里留下點(diǎn)什么的話還不如去看電視劇,讀書就是為了長(zhǎng)知識(shí)長(zhǎng)學(xué)問(wèn)長(zhǎng)見(jiàn)識(shí),就是為了將別人好的思想吸取過(guò)來(lái),轉(zhuǎn)化成自己的思想體系的一部分,當(dāng)然,你應(yīng)該有批判接受這些信息的能力,人云亦云的完全接受也是不合時(shí)宜的。

              我有一個(gè)心愿,我渴望能有一天在公交、地鐵里看到大家翻看的全是自己的筆記本,而不是一人拿著一部手機(jī)在那看著微博還傻笑!

             

                  傳送門:《到底怎么樣才叫看書?——下篇》

              版權(quán)歸博客園和本作者所有,轉(zhuǎn)載請(qǐng)務(wù)必注明出處,謝謝合作。本文地址:http://www.cnblogs.com/ytaozhao/archive/2012/07/31/2616998.html

             

            作者:Tony zhao
            歡迎訪問(wèn):天津外鄉(xiāng)人論壇

            本文出處:http://www.cnblogs.com/ytaozhao    本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

             

            posted @ 2012-10-10 15:37 BoyXiao 閱讀(2226) | 評(píng)論 (1)編輯 收藏

                  已經(jīng)好久沒(méi)有寫博客了,不是因?yàn)闆](méi)有學(xué)東西,而是因?yàn)閷W(xué)的東西不夠系統(tǒng),不夠具體,沒(méi)有整理起來(lái)(外加人懶),所以不想浪費(fèi)筆墨。所以一直潛水。。但總會(huì)有感想的,在學(xué)習(xí)的過(guò)程中,時(shí)常會(huì)遇到一些令人驚喜的東西,令人拍案叫絕的東西,但學(xué)會(huì)之后覺(jué)得簡(jiǎn)單或者不值一提,于是沒(méi)有當(dāng)機(jī)立斷寫出一些洞見(jiàn)。事后用的時(shí)候倒覺(jué)得理所當(dāng)然了。其實(shí)這是要不得的,學(xué)習(xí)的過(guò)程我認(rèn)為不應(yīng)該是純粹的吸收,而是要有選擇的過(guò)濾,留其精華,去其糟粕,如果能加入自己的總結(jié)就更好了,只可惜我在很多時(shí)候忘記了這事兒,或者在很多時(shí)候沒(méi)有空下來(lái)專門做一次如此認(rèn)真的總結(jié)。但在技術(shù)的層面上,一般的說(shuō)法是,任何一種技術(shù)都是基于某種設(shè)計(jì)思想,而至于用什么來(lái)具體實(shí)現(xiàn)并不是最重要的。其實(shí)思想和設(shè)計(jì)不能用簡(jiǎn)單的一對(duì)一和一對(duì)多關(guān)系來(lái)說(shuō)明。經(jīng)常會(huì)有人說(shuō)一種思想可以衍生多種技術(shù),其實(shí)他只說(shuō)對(duì)了一半,因?yàn)橐环N技術(shù)并不只是一種思想的實(shí)現(xiàn),而是多種思想的交融。


                  拿軟件設(shè)計(jì)來(lái)說(shuō),對(duì)于基于窗口的程序設(shè)計(jì),我們有多種技術(shù)方案可以選擇,在windows下有mfc,.net, wpf,在linux下有g(shù)tk, qt, wxWidgets,在mac下有cocoa, 但核心思想差不多,大多用到了mvc思想,但mvc思想本身也是一個(gè)組合思想,它組合了策略模式,觀察者模式等。對(duì)于這樣的一個(gè)設(shè)計(jì)思想來(lái)說(shuō),它其實(shí)是一個(gè)對(duì)設(shè)計(jì)的高度抽象。我甚至可以做這樣一個(gè)奇怪的思考:如果將mvc模式套用到人身上,那么人所看到的就是view,人所想到的就是controller,人所使用的便是model了,那么針對(duì)一個(gè)人來(lái)說(shuō),他的基本動(dòng)作可能如下:看到東西->產(chǎn)生需求->尋找工具來(lái)實(shí)現(xiàn)自己的需求。所以我感覺(jué),軟件設(shè)計(jì)有時(shí)更像對(duì)人的行為模擬,軟件系統(tǒng)更像是一個(gè)虛擬的人(這個(gè)人的智商要看你給他多少知識(shí)和能力),或者說(shuō),軟件設(shè)計(jì)歸根到底是以人的認(rèn)知來(lái)實(shí)現(xiàn)的,所以我們要?jiǎng)澐帜K,要理清各個(gè)模塊之間的關(guān)系,要考慮它們之間的相互影響,還要考慮他們之間的交互。如果各個(gè)模塊之間關(guān)系混亂不清,那么你將會(huì)的到一個(gè)很爛的系統(tǒng),置于會(huì)出現(xiàn)什么結(jié)果,那就不得而知了。舉個(gè)簡(jiǎn)單的例子:試想一下如果你吃飯咬到舌頭了,卻發(fā)現(xiàn)屁股痛,這是一件多么尷尬的事情。


                  所以,軟件的設(shè)計(jì)實(shí)際上是一個(gè)很復(fù)雜的事情,一個(gè)高超的軟件更為復(fù)雜,因?yàn)槟阋紤]太多的情況,一個(gè)人是極其復(fù)雜的。但正如所有的物質(zhì)都是由簡(jiǎn)單的原子組成的,所有的復(fù)雜性都能劃分成最簡(jiǎn)單最基本的東西。就好比操作系統(tǒng)這樣一個(gè)常人很難企及的東西,其實(shí)最底層也就六個(gè)操作,引用linux創(chuàng)始人linus的話來(lái)說(shuō)就是:“你在UNIX上完成的大部分任務(wù)都是通過(guò)六個(gè)基本操作完成的,它們被稱作"系統(tǒng)呼叫"(system call)。第一個(gè)基本操作是"創(chuàng)建子進(jìn)程"(fork),一個(gè)程序把自身完全復(fù)制出來(lái),這樣你就有了兩個(gè)相同的拷貝。第二個(gè)基本操作是復(fù)制出來(lái)的程序,再用一個(gè)新項(xiàng)目替換自己。其他四個(gè)基本系統(tǒng)呼叫--打開、關(guān)閉、讀和寫--都是為了訪問(wèn)文件的。這六個(gè)系統(tǒng)呼叫便組成了UNIX的簡(jiǎn)單操作。然后,你只需在程序之間創(chuàng)造出交流渠道(pipes),就能解決復(fù)雜的問(wèn)題。”,那么歸結(jié)到人身上,也就是那么幾種:活動(dòng)(身體活動(dòng)和思維活動(dòng)),新陳代謝,睡覺(jué)(純屬個(gè)人想法勿噴)。


                  記得以前看bbc的紀(jì)錄片《混沌理論》中講到圖靈的一段,圖靈曾經(jīng)提出一個(gè)偉大的構(gòu)想:自然界由一個(gè)最簡(jiǎn)單的數(shù)學(xué)公式組成。這個(gè)理論促進(jìn)了后來(lái)的“混沌理論”和“分形學(xué)”的研究和發(fā)展,包括著名的“蝴蝶效應(yīng)”,也和“混沌理論”有關(guān)。我們都知道,圖靈被稱為“計(jì)算機(jī)之父”,而現(xiàn)代的軟件設(shè)計(jì)方法和這種構(gòu)想肯定存在千絲萬(wàn)縷的聯(lián)系。所以,我認(rèn)為,軟件設(shè)計(jì)如果是一種把問(wèn)題搞復(fù)雜的設(shè)計(jì),那將是一個(gè)失敗的設(shè)計(jì)。軟件設(shè)計(jì)應(yīng)該是將一個(gè)復(fù)雜的系統(tǒng)一步一步劃分成“原子”的過(guò)程,而軟件架構(gòu)的目標(biāo)應(yīng)該是使每一個(gè)分塊都容易理解而且容易改變(所謂的可維護(hù)性和可擴(kuò)展性)。


                  而對(duì)于人來(lái)說(shuō),人生活在一個(gè)“實(shí)體”的世界里,如果把人類的歷史看作一天,那么人擁有真正的思想是在一分鐘以前,所以上帝無(wú)法阻止人類用“面向?qū)ο?rdquo;的方式來(lái)進(jìn)行軟件設(shè)計(jì),也無(wú)法阻止程序員用mvc的思想來(lái)實(shí)現(xiàn)一個(gè)軟件系統(tǒng),因?yàn)檫@一切看起來(lái)理所當(dāng)然。所以,無(wú)論你的技術(shù)多么高超,我都可以想象你在面對(duì)一堆復(fù)雜的算法和一堆鮮活的對(duì)象的時(shí)候的不同感受,因?yàn)槲乙部梢愿型硎?)。所有的人都喜歡用簡(jiǎn)單的方式解決問(wèn)題(如果你不是,那你也許是公務(wù)員,:)),更喜歡用簡(jiǎn)單的方式解決復(fù)雜的問(wèn)題,那樣會(huì)有成就感,程序員是最佳案例。為什么說(shuō)一個(gè)會(huì)偷懶的程序員是一個(gè)好的程序員?那是因?yàn)槌绦騿T的偷懶是對(duì)問(wèn)題的抽象和擴(kuò)展,對(duì)之前冗長(zhǎng)而繁瑣的解決問(wèn)題的方式建立一個(gè)更為寬泛的適用模型,從而應(yīng)對(duì)類似重復(fù)的問(wèn)題。而所謂的抽象,便是思維的結(jié)晶。其實(shí),抽象在各行各業(yè)都有應(yīng)用,只不過(guò)在軟件開發(fā)領(lǐng)域,這個(gè)詞被提及的非常之廣范非常之響亮,以至于成了某些編程語(yǔ)言的關(guān)鍵字。其實(shí)抽象是一個(gè)很寬泛的概念,它是一種對(duì)事物本質(zhì)的提取過(guò)程(《數(shù)據(jù)結(jié)構(gòu)》中有這樣的定義),所以我覺(jué)得在軟件設(shè)計(jì)中的抽象,可以運(yùn)用到其他領(lǐng)域,在其他領(lǐng)域中的抽象,也能應(yīng)用到軟件設(shè)計(jì)中來(lái)。所以,沒(méi)必要驚訝圖靈是個(gè)數(shù)學(xué)家,或者唐納德也是數(shù)學(xué)家...,因?yàn)閺谋举|(zhì)上來(lái)說(shuō),數(shù)學(xué)這門科學(xué)就是一種抽象科學(xué),把自然界抽象成數(shù)學(xué)模型,而計(jì)算機(jī)就是對(duì)數(shù)學(xué)抽象模型的模擬器。


                  胡說(shuō)了一大堆,也不知從哪兒來(lái)的靈感,但作為一個(gè)軟件工程師,我覺(jué)得這些東西是應(yīng)該而且值得去思考的。上次看到一則博文講到,這個(gè)世界由三種人推動(dòng):科學(xué)家,藝術(shù)家,工程師。也許這種說(shuō)法并不一定正確,但至少說(shuō)明了一個(gè)觀點(diǎn):工程師想要實(shí)現(xiàn)優(yōu)秀的產(chǎn)品,必須懂得科學(xué)家和藝術(shù)家的抽象,因?yàn)槟鞘撬麄兊乃季S結(jié)晶。而一個(gè)好的工程師,從某種程度來(lái)說(shuō),也是一個(gè)科學(xué)家或者一個(gè)藝術(shù)家。

            posted @ 2012-10-10 15:36 BoyXiao 閱讀(1398) | 評(píng)論 (1)編輯 收藏

            上一節(jié)我們創(chuàng)建了自己的第一個(gè)MVC3項(xiàng)目,并了解了Controller和View的添加方法。今天我們將仿照大米返利網(wǎng)注冊(cè)模塊寫個(gè)小例子,來(lái)進(jìn)一步了解Model、Action、Form等相關(guān)內(nèi)容。

            情景假設(shè)

            • 首頁(yè)--歡迎頁(yè)面,簡(jiǎn)單介紹大米返利網(wǎng),并提供注冊(cè)鏈接;
            • 注冊(cè)--用戶使用網(wǎng)站之前要先注冊(cè)為會(huì)員,注冊(cè)頁(yè)面還要對(duì)用戶填寫的信息進(jìn)行有效性驗(yàn)證;

                      image

            • 注冊(cè)完成--完成之后會(huì)跳轉(zhuǎn)到一個(gè)提示頁(yè)面,并向用戶郵箱發(fā)送一封郵件。

            一. 首頁(yè)

            1. 將上一節(jié)的Index頁(yè)面用作首頁(yè),再添加一些說(shuō)明文字。

            首頁(yè) View代碼
            @{
                ViewBag.Title = "首頁(yè)";
            }
            <h2>@ViewBag.hello</h2>
            <p>大米返利網(wǎng)提供淘寶網(wǎng)等多家商城的返現(xiàn)優(yōu)惠,<br/>
                返現(xiàn)比例高,提現(xiàn)速度快,注冊(cè)贈(zèng)1元,滿3元提現(xiàn)。</p>
            <p>點(diǎn)此注冊(cè)</p>

             

            image

            接下來(lái)我們就要為“點(diǎn)此注冊(cè)”提供鏈接頁(yè)面了。

            二. 添加注冊(cè)頁(yè)面

            1. 創(chuàng)建數(shù)據(jù)Model

            MVC中的M代表的領(lǐng)域模型,是應(yīng)用程序中極其重要的部分之一,一個(gè)設(shè)計(jì)完好的MVC項(xiàng)目往往從設(shè)計(jì)完好的model開始,然后在此基礎(chǔ)上繼續(xù)添加controller和view。在我們的項(xiàng)目中,model是對(duì)現(xiàn)實(shí)世界對(duì)象的封裝,定義規(guī)則、處理等等。具體實(shí)現(xiàn)時(shí)Model一般就是對(duì)項(xiàng)目中通用性對(duì)象的屬性、方法進(jìn)行封裝而來(lái)的C#類,然后controller和view以一定的方式暴露給客戶端。

            接下來(lái)我們添加一個(gè)用戶信息的model類:右鍵models文件夾->Add->Class->UserInfo.cs->Ok.

            UserInfo.cs Code
            /// <summary>
                
            /// 注冊(cè)用戶實(shí)體
                
            /// </summary>
                public class UserInfo
                {
                    /// <summary>
                    
            /// 自動(dòng)編號(hào)
                    
            /// </summary>
                    public int Id { getset; }

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

                    /// <summary>
                    
            /// 密碼(明文簡(jiǎn)單示例)
                    
            /// </summary>
                    public string Password { getset; }

                    /// <summary>
                    
            /// qq號(hào)碼
                    
            /// </summary>
                    public string QQ { getset; }

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

            2. 添加Action

            在IndexController中添加新的action:

                    //注冊(cè)
                    public ActionResult Register()
                    {
                        return View();
                    }

            3. 添加強(qiáng)類型View

            • 創(chuàng)建view:強(qiáng)類型view目的是展現(xiàn)針對(duì)具體類型的實(shí)體,指定具體類型之后MVC會(huì)為其提供許多快捷的操作。需要注意的是,在添加強(qiáng)類型View之前,我們要先編譯整個(gè)MVC項(xiàng)目,否則添加View時(shí)就會(huì)找不到先前添加的UserInfo實(shí)體。

            添加步驟:

            在Register Action代碼塊內(nèi)右鍵->Add View->選中 Create a strongly type view復(fù)選框->Model class下拉框選擇UserInfo->提供的模板選擇Empty->Add。如下圖所示:

            image

            添加完成之后我們發(fā)現(xiàn)新添加的View是以@model的Razor代碼開頭的。接下來(lái)我們將會(huì)看到,這正式強(qiáng)類型view以及它能提供諸多便捷的關(guān)鍵所在。

            三、編輯表單

            1. View代碼

            <h1>大米返利網(wǎng)</h1>
            @using(Html.BeginForm())
            {
                <p>用戶名:@Html.TextBoxFor(m=>m.UserName)</p>
                <p>密碼:@Html.PasswordFor(m=>m.Password)</p>
                <p>確認(rèn)密碼:@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="馬上注冊(cè)"/>
            }

             

            這里用的是Razor語(yǔ)法,使用過(guò)程中VS為我們提供了豐富的智能感知。以前不熟悉的同學(xué)可能會(huì)看著滿眼的@符號(hào)不太自在,用一段時(shí)間就該上癮了,因?yàn)樗娴暮芎蒙鲜帧_\(yùn)行效果如下:

            image

            2. Html幾個(gè)helper方法:

            首先,我們看一下頁(yè)面源代碼:


            頁(yè)面源代碼
            <h1>大米返利網(wǎng)</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>確認(rèn)密碼:<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="馬上注冊(cè)"/>

            </form> 
            • 不難看出,通過(guò)Razor語(yǔ)法中的Html helper方法,將Model中的屬性用Input控件形式展現(xiàn)出來(lái)了。例如
            @Html.TextBoxFor(m=>m.UserName)

            生成html時(shí),input控件type=”text”, id和name屬性都被賦值為"UserName“。對(duì)應(yīng)html代碼為:

            <input id="UserName" name="UserName" type="text" value="" />
            • 對(duì)于強(qiáng)類型view,書寫lamda語(yǔ)法時(shí)有著豐富的智能感知。如果不想寫成lamda形式,還可以這樣 @Html.TextBoxFor(“UserName”)
            • Html.BeginForm:

            代碼格式為@using(Html.BeginForm()){   …},通常使用using關(guān)鍵字是為了走出花括號(hào)時(shí)釋放較占資源的對(duì)象,而在這里可以理解為關(guān)閉<form>標(biāo)簽。生成form屬性時(shí),默認(rèn)的action會(huì)提交回當(dāng)前的url,而method默認(rèn)設(shè)置為post。最終生成的html源碼為:<form action="/index/register" method="post"> ……</form>。

            另外,在WebForm開發(fā)時(shí),每個(gè)頁(yè)面只允許使用一個(gè)服務(wù)端form,并且包含ViewState以及postback邏輯,而在MVC中是沒(méi)有服務(wù)器端form這個(gè)概念的,沒(méi)有ViewState以及postback機(jī)制,每個(gè)頁(yè)面可以放置多個(gè)form。

            • Html.ActionLink:用來(lái)添加action頁(yè)面的鏈接,我們可以在首頁(yè)為“點(diǎn)此注冊(cè)”添加鏈接:
            @Html.ActionLink("點(diǎn)此注冊(cè)","Register","Index")

            四. 表單提交

              1.  HttpGet和HttpPost:

            為了接收并處理提交的表單數(shù)據(jù),我們還需要再添加一個(gè)Register action,這兩個(gè)action的作用是:

            • 一個(gè)用來(lái)響應(yīng)Http Get請(qǐng)求: 為action添加HttpGet特性(也可以省略),Get請(qǐng)求通常是用戶第一次訪問(wèn)頁(yè)面時(shí),通過(guò)該action初始化空白表單。
            • 一個(gè)用來(lái)響應(yīng)Http Post請(qǐng)求:為acton方法添加HttpPost特性,Html.BeginForm()創(chuàng)建的窗體默認(rèn)被瀏覽器處理為Post請(qǐng)求。這個(gè)版本的action方法負(fù)責(zé)接收提交的表單數(shù)據(jù)并進(jìn)行相應(yīng)處理。
                   [HttpGet]
                    public ActionResult Register()
                    {
                        return View();
                    }
                    [HttpPost]
                    public ActionResult Register(UserInfo userInfo)
                    {
                        return View("Complete",userInfo);
                    }

            2.Model Binding

            在上面的post方法中,使用了MVC中一個(gè)非常不錯(cuò)的特性---Model Binding,它可以解析傳來(lái)的數(shù)據(jù)并將其對(duì)應(yīng)到領(lǐng)域模型的屬性。其實(shí)這個(gè)Model Binding過(guò)程是雙向的,當(dāng)創(chuàng)建form數(shù)據(jù)時(shí),input控件的值是根據(jù)與其name對(duì)應(yīng)的model屬性來(lái)賦值的;反過(guò)來(lái),當(dāng)提交form表單時(shí),通過(guò)model binding又可以根據(jù)input控件的name屬性來(lái)為model實(shí)體同名的屬性賦值,進(jìn)而提交到post action方法。

            五、表單驗(yàn)證

            在MVC應(yīng)用程序中,我們一般把驗(yàn)證添加在model實(shí)體而不放在用戶界面,這樣只要我們?cè)谝惶幎x了驗(yàn)證規(guī)則便可以多處生效。ASP.NET MVC總具體實(shí)現(xiàn)方式是:使用System.ComponentModel.DataAnnotations 中定義的特性,將其聲明在model屬性作為驗(yàn)證規(guī)則就可以生效了。

            1. Model實(shí)體添加驗(yàn)證規(guī)則

            Model Validation Code
            using System.ComponentModel.DataAnnotations;
            namespace DamifanliMvc3.Models
            {
                /// <summary>
                
            /// 注冊(cè)用戶實(shí)體
                
            /// </summary>
                public class UserInfo
                {
                    /// <summary>
                    
            /// 自動(dòng)編號(hào)
                    
            /// </summary>
                    public int Id { getset; }

                    /// <summary>
                    
            /// 用戶名
                    
            /// </summary>
                    [Required(ErrorMessage = "請(qǐng)輸入用戶名")]
                   [RegularExpression("^[a-zA-Z][a-zA-Z0-9]{2,14}$", ErrorMessage = "請(qǐng)輸入3-15位字母或數(shù)字")]
                    public string UserName { getset; }

                    /// <summary>
                    
            /// 密碼(明文簡(jiǎn)單示例)
                    
            /// </summary>
                    [Required(ErrorMessage = "請(qǐng)輸入密碼")]
                    public string Password { getset; }

                    /// <summary>
                    
            /// qq號(hào)碼
                    
            /// </summary>
                    [Required(ErrorMessage = "請(qǐng)輸入QQ號(hào)碼")]
                    [RegularExpression("[1-9][0-9]{4,}",ErrorMessage = "請(qǐng)輸入正確的qq號(hào)碼")]
                    public string QQ { getset; }

                    /// <summary>
                    
            /// 郵箱地址
                    
            /// </summary>
                    [Required(ErrorMessage = "請(qǐng)輸入郵箱地址")]
                    [RegularExpression(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",ErrorMessage = "請(qǐng)輸入正確的郵箱地址")]
                    public string Email { getset; }
                }
            }

            2.ModelState.IsValid

            我們可以在Controller中使用ModelState.IsValid來(lái)檢驗(yàn)是否存在驗(yàn)證問(wèn)題。

            public ActionResult Register(UserInfo userInfo)
                    {
                        if(ModelState.IsValid)
                        {
                            return View("Complete", userInfo);   //Complete Action后續(xù)創(chuàng)建
                        }
                        return View();
                    }

            3.錯(cuò)誤提示

            當(dāng)用戶輸入不符合規(guī)則時(shí),我們可以在view中使用Html.ValidationSummary()來(lái)提示用戶。

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

            }

            該方法會(huì)在頁(yè)面中放置一系列隱藏的li,MVC可以令這些位置可見(jiàn)并顯示model驗(yàn)證屬性中定義的錯(cuò)誤信息,如下圖所示。點(diǎn)擊注冊(cè)按鈕時(shí)該頁(yè)面不會(huì)進(jìn)行跳轉(zhuǎn),直到所有輸入都符合規(guī)范為止。值得慶幸的是,提交失敗時(shí)之前填寫的數(shù)據(jù)仍然會(huì)保留在頁(yè)面中。

            image

             

            查看頁(yè)面源代碼:

            <p>
            用戶名:<input class="input-validation-error" data-val="true" data-val-regex="請(qǐng)輸入3-15位字母或數(shù)字" data-val-regex-pattern="^[a-zA-Z][a-zA-Z0-9]{2,14}$" data-val-required="請(qǐng)輸入用戶名" id="UserName" name="UserName" type="text" value="" />
            </p>

            六、注冊(cè)完成頁(yè)面

            1.添加Complete View:

            在前面的post提交的Register中,我們已經(jīng)給出了注冊(cè)完成時(shí)要跳轉(zhuǎn)的目標(biāo)”Complete”,并且傳遞了變量userInfo,接下來(lái)我們添加一個(gè)強(qiáng)類型UserInfo類型的View。

            image

            修改代碼如下:

            @model DamifanliMvc3.Models.UserInfo
            @{
                ViewBag.Title = "注冊(cè)完成";
            }
            <h2>注冊(cè)完成</h2>
            <p>
                恭喜,您已注冊(cè)成功,請(qǐng)妥善保管注冊(cè)信息:<br/>
                賬號(hào):@Model.UserName<br/>
                QQ:@Model.QQ<br/>
                Email:@Model.Email<br/>
                大米返利網(wǎng)祝您購(gòu)物愉快!
            </p>

             

            2. 發(fā)送郵件通知


            在展示Complete View的同時(shí),我們使用WebMail類來(lái)發(fā)送通知郵件。

            @{
                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,"成功注冊(cè)大米返利網(wǎng)",@Model.UserName+",您已成功注冊(cè)大米返利網(wǎng),祝您購(gòu)物愉快!");
                }
                catch
                {
                    @:抱歉,通知郵件發(fā)送失??!
                }
            }

            小結(jié):

            到這里,今天的學(xué)習(xí)基本結(jié)束了。當(dāng)然了這只是一個(gè)簡(jiǎn)單的示例,實(shí)際使用中還有很多可以改進(jìn)的地方,比如將發(fā)送郵件功能放在單獨(dú)的模塊中調(diào)用而不是將代碼塊嵌在View中,以便重復(fù)使用;另外,這里的錯(cuò)誤處理使用的try…catch,其實(shí)可以跳轉(zhuǎn)到單獨(dú)的錯(cuò)誤頁(yè)面。

            posted @ 2012-10-10 15:34 BoyXiao 閱讀(322) | 評(píng)論 (0)編輯 收藏

            新編輯內(nèi)容(2012-10-10 14:49:00)

            根據(jù)1樓朋友doylecnn的測(cè)試,我重新進(jìn)行了嘗試,發(fā)現(xiàn)是VS2012才有這個(gè)問(wèn)題,估計(jì)是個(gè)BUG,看來(lái)新東西不能亂用啊。

            VS2010下正常,Mac里Mono下正常。跟操作系統(tǒng)沒(méi)有關(guān)系。

             

            為啥VS2012會(huì)有這個(gè)問(wèn)題呢?用的也是.NET 4沒(méi)有用.NET 4.5。只是編譯時(shí)一個(gè)采用VS2010一個(gè)采用VS2012,就有不同的結(jié)果?

            我已經(jīng)上傳了編譯程序和源代碼,感興趣的可以下載玩玩。。。。。。 

            點(diǎn)擊下載


            今天遇到個(gè)很奇怪的問(wèn)題,我寫了一個(gè)組件,要求傳入一個(gè)Action對(duì)象,于是我同事調(diào)用時(shí)傳入了一個(gè)匿名函數(shù),如下:

             

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

             

            然后運(yùn)行后出現(xiàn)異常:類型參數(shù)“TEntity”與類型參數(shù)“TEntity”的約束沖突。

            那么多年第一次遇到這種稀有問(wèn)題,經(jīng)過(guò)跟蹤調(diào)試,發(fā)現(xiàn)這個(gè)問(wèn)題出現(xiàn)的條件如下:

            1.要調(diào)用的方法必須是一個(gè)在父類當(dāng)中的虛方法(virtual)。

            2.在子類中,必須通過(guò)一個(gè)托管函數(shù)來(lái)直接調(diào)用父類的base.Func()虛方法,如果子類進(jìn)行了覆蓋(override),然后在覆蓋中使用base.Func()都沒(méi)有問(wèn)題。

            3.父類的這個(gè)虛方法是泛型 ,并且必須具備泛型約束,沒(méi)有約束也不會(huì)出現(xiàn)問(wèn)題。

            寫了個(gè)簡(jiǎn)單的示例代碼:

             

             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         ////這里覆蓋父類的虛方法,但是下面用不同的調(diào)用方式調(diào)用,實(shí)際測(cè)試結(jié)果為有沒(méi)有這個(gè)覆蓋方法效果都一樣,該異常的地方還是異常
            38         public override void Func<TEntity>()
            39         {
            40             base.Func<TEntity>();
            41         }
            42 
            43         public void CallFunc()
            44         {
            45             //這里采用普通方式調(diào)用父類的虛方法Func
            46             base.Func<string>();
            47 
            48             //這里使用一個(gè)代理來(lái)調(diào)用父類的虛方法Func,注意這里子類并沒(méi)有覆寫父類的Func方法
            49             Action action = new Action(() =>
            50             {
            51                 base.NonVirtualFunc<string>();//不會(huì)出現(xiàn)異常
            52                 this.Func<string>();//不會(huì)出現(xiàn)異常
            53                 base.Func<string>();//出現(xiàn)異常
            54             });
            55             action();
            56 
            57             //另外一種托管調(diào)用方式,效果和上面通過(guò)Action調(diào)用一樣
            58             Caller caller = () =>
            59             {
            60                 base.NonVirtualFunc<string>();
            61                 base.Func<string>();
            62             };
            63             caller();
            64         }
            65     }
            66 }

             

             

            就上面這個(gè)問(wèn)題,查詢了大量的資料,都沒(méi)有找到原因,誰(shuí)能解答一下呢? 

             

            posted @ 2012-10-10 15:34 BoyXiao 閱讀(369) | 評(píng)論 (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 閱讀(200) | 評(píng)論 (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 閱讀(148) | 評(píng)論 (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 閱讀(199) | 評(píng)論 (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 閱讀(129) | 評(píng)論 (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 閱讀(184) | 評(píng)論 (0)編輯 收藏

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

             

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

             

            McAfee實(shí)驗(yàn)室的安全研究總監(jiān)David Marcus表示,幾年前,多數(shù)的網(wǎng)路犯罪都發(fā)生在終端,但Operation High Roller把攻擊目標(biāo)轉(zhuǎn)移至中央伺服器,讓竊取行為變得更有效率,而這種鎖定特定個(gè)人或金融機(jī)構(gòu)所發(fā)起的攻擊,造成的損失也相當(dāng)驚人,由此看來(lái),駭客組織的攻擊手法愈來(lái)愈先進(jìn)。

             

            以過(guò)去採(cǎi)用惡意軟體ZeusSpyEye而展開的中間人攻擊為例,通常都是終端電腦先感染病毒,使用者透過(guò)這些被感染的電腦進(jìn)入網(wǎng)路銀行網(wǎng)頁(yè)時(shí),惡意程式就在背景執(zhí)行瀏覽器,藉此非法移轉(zhuǎn)使用者銀行帳戶裡的錢。

             

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

             

            報(bào)告中指出,今年一月時(shí)就已經(jīng)發(fā)現(xiàn)此駭客組織開始活動(dòng)。當(dāng)時(shí)一家德國(guó)銀行的伺服器遭受攻擊,共176個(gè)帳號(hào)受到影響,讓駭客盜取了近100萬(wàn)歐元。三月時(shí),駭客組織再度攻擊荷蘭銀行的資訊系統(tǒng),成功繞過(guò)了用來(lái)防禦網(wǎng)路詐騙的偵測(cè)工具,至少被竊走了5,000個(gè)商業(yè)帳戶。隨後,南美洲也發(fā)生災(zāi)情,數(shù)十個(gè)企業(yè)帳戶成了駭客下手的目標(biāo),每個(gè)帳戶的存款約介於50萬(wàn)到200萬(wàn)美元。

             

            該報(bào)告稱這波攻擊所使用的技術(shù)為「網(wǎng)路詐騙技術(shù)中的重大突破」,因?yàn)樗鼈兂晒ν黄屏擞脕?lái)避免帳號(hào)被盜用的雙重認(rèn)證機(jī)制。面對(duì)這種新的攻擊手法,銀行業(yè)者勢(shì)必要重新思考該如何提升安全防護(hù)措施。

             

            posted @ 2012-07-14 10:16 BoyXiao 閱讀(167) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)

            導(dǎo)航

            留言簿(43)

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品天天影视久久综合网| 999久久久免费国产精品播放| 伊人久久大香线蕉av一区| 99精品久久久久久久婷婷| 久久亚洲精品无码AV红樱桃| 精品久久无码中文字幕| 久久精品国产一区| 99久久精品国产一区二区蜜芽 | 亚洲国产成人久久笫一页| 久久人妻少妇嫩草AV无码蜜桃| 亚洲国产天堂久久综合| 亚洲色大成网站WWW久久九九| 精品无码久久久久国产| 欧美亚洲国产精品久久蜜芽| 久久久亚洲精品蜜桃臀| 久久精品国产亚洲AV影院| 久久人人爽爽爽人久久久| 国产精品日韩欧美久久综合| 亚洲伊人久久成综合人影院| 久久偷看各类wc女厕嘘嘘| 国产一区二区精品久久岳| 久久久久久综合网天天| 久久精品www| 久久午夜无码鲁丝片秋霞| 久久香蕉国产线看观看乱码| 亚洲国产精品嫩草影院久久| 国产精品美女久久久久久2018| 久久国产成人| 久久综合噜噜激激的五月天| 精品久久久久一区二区三区| 色8久久人人97超碰香蕉987| 精品久久久久久99人妻| 久久青青草原亚洲av无码app| 久久久久这里只有精品 | 久久无码专区国产精品发布| 韩国免费A级毛片久久| 久久综合成人网| 久久福利青草精品资源站| 久久免费看黄a级毛片| 国产精品女同一区二区久久| 久久久女人与动物群交毛片|