机器学习学习笔记(2)

学习始终是一件让人疲惫的事情,而我个人又特别钟爱发散性学习,所以虽然这几天如饥似渴的学习了很多新内容,但学习笔记却一拖再拖,始终没有落笔。

简单的来说,这几天除了观看了吴恩达的视频之外,还开始根据其中提到的术语,通过搜索引擎以及维基百科,不断拓展学习的外延,先后了解了DNN/CNN/RNN等术语,然后又查看了TensorFlow/Caffee等框架,由于个人目前比较钟爱Swift语言,所以又通过Apple Developer网站阅读了部分Core ML以及Vision的文档。但这些知识直到目前为止,尚未真正落实到纸面上。所以随着看到的资料越多,疑惑也越来越大。最终决定,还是需要收收心,先从基础入手。

什么是机器学习

维基百科上关于机器学习是这样介绍的:

机器学习有下面几种定义:

  • 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特 别是如何在经验学习中改善具体算法的性能。
  • 机器学习是对能通过经验自动改进的计算机算法的研究。
  • 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

这个定义似乎把“机器学习”说明白了,但似乎又云里雾里,并不是特别让人能够记忆深刻。作为一个曾经的开发者,我准备把这个定义简单化,机器学习就是让电脑从一堆杂乱无章的数据中,自行找到规律,并且形成算法的科学。

在以前写代码的过程中,算法总是由程序员根据需求固化好的,然后将用户的输入,比如鼠标、触控、键盘输入等,根据一定的规律,转化为屏幕上的文字、动画或者语音给输出。但在面临一些特别复杂问题时,比如语音、图像识别、无人驾驶等,可能无能为力。而这些领域,恰恰是机器学习可以发挥特长的领域。

机器学习的分类

机器学习主要划分为监督式学习以及非监督式学习。其主要区别在于训练集是否有人对元素进行标注。

监督式学习

维基百科上的定义如下:

监督学习从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归分析和统计分类。

在监督式学习中,我们有一些现有的数据,并且这些数据是现实中客观存在的”right answer”。而且这些数据有着各种各样的标签。

回归分析

吴恩达的视频当中,给出了两个示例,第一个是关于房价的,我们搜集了一些房价数据,这个房价数据主要与房屋面积相关。将房屋面积作为横坐标,房价作为纵坐标,我们可以这些训练集标注在二维坐标系中,如果仔细观察,这其中会有一定的规律,基本上可以达到当有人告诉你一个房屋面积时,你可以告诉他房价大体的价格。而这个规律,其实就是一个线性函数。类似于下图。

回归分析

统计分类

关于统计分类,吴恩达给出了一个关于癌细胞的示例,比如根据过往的记录,我们有了一系列的实测到的细胞标本,这些标本中有些是癌细胞,有些是良性肿廇,每个细胞的大小都不一样。所以当我们拿到一个新检测到的细胞时,根据其大小,可以基本推测其是恶性或者是良性的。

非监督式学习

维基百科上的定义如下:

无监督学习与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。

我们得到了一系数据,这些数据并没有准确的标签,不存在任何给定的标签。但这些数据总是会扎堆出现,所以当出现一个新数据时,如何给它找到一个合适的“堆”,是我们需要解决的问题。

举例来说,现在的搜索引擎都有类似于“相关新闻”的内容,同样一件新闻,在不同的媒体平台(CNN/凤凰卫视/BBC/CCTV)都有报道,如何将所有不同媒体平台对于同一个新闻的报道给“堆”在一起,这就是无监督式学习所要解决的。

总结

纸上得来终觉浅,作为刚刚了解了机器学习定义以及分类的入门者来说,还有很多知识要学。不过能够学习新知识总是很兴奋的。我已经在我的Mac电脑上使用Docker安装了TensorFlow,准备再利用一周的时间了解一下基础知识,届时再来给大家汇报。

机器学习笔记(1)

学习笔记序言

年过四十,却仍然对业界热点非常感兴趣,但更多的时间只是人云亦云,属于眼高手低的类型。和同事朋友们聚会时,大家都会提到比特币、人工智能或者大数据、机器学习等等。虽然勉强可以跟着讨论几句,可是一旦深入,却发现自己其实对这些概念仅仅了解皮毛。

遂想到自己年轻时,为了真正掌握.NET技术,发愿写了一本书,并且最终将其完成并且出版于世。并且建立了博客堂技术讨论社区。雄关漫道真如铁,而今迈步从头越。开心老矣,但仍然想通过撰写学习笔记的方式,让自己深入学习这些技术。不光知其然,还要知其所以然。

正好看到吴恩达(Andrew Ng)的机器学习课程,决定从头开始。以下是本人的学习笔记。

初始问题集

在学习一个全新领域时,尤其处于完全盲人摸象的阶段,很难给自己定下切实可行的学习目标,因为连完整的术语集都未掌握,所以开心个人的习惯 ,在初时阶段先给自己定下问题集,这个问题集会随着学习的深入而不断修正,有些问题会有答案,有些问题会分解成更多的小问题,而有些问题甚至最后根本烟消云散。

以下是开心为自己罗列的初始问题集。

  • 什么是机器学习?机器学习与人工智能的关系是什么?

  • 机器学习需要掌握什么样的开发语言?

  • 机器学习除了需要开发技能外,还需要哪些技能?

  • 应该如何从入门到精通?七天之内可以吗?

  • 目前业界有哪些公司在从事机器学习?

好了,以上就是初始问题集,都是非常肤浅的问题,因为开心现在的确是一个机器学习的门外汉。

学习方法

还好,现在资讯如此发达,在网上可以很容易找到吴恩达(Andrew Ng)的教学视频。开心使用的是Youtube上的版本,有英文字幕,正好可以锻炼英文。

除了看视频,维基百科以及搜索引擎也将会是开心学习的朋友,不排除后期真正入门后,将会购买相应的书籍进行深入学习。

欢迎大家对我进行监督,争取每周至少有一篇学习笔记发布,谢谢。

 

假如真有时间机器…

不知不觉之间,博客堂已经整整十六年了。有时候在上下班路上,翻看着过去写的旧文章,竟然一时恍惚,甚至根本不记得自己曾经写过这篇文章。比如下面这篇:移动互联网要来了,Are you ready?

会场内外的所有气氛都让我回想起了1999年,在那时候,无论是餐厅,咖啡馆,甚至是坐着公车拿着刚上市的手机,大声喧哗的都是互联网相关的话题。大家脸上的那个兴奋劲呀,似乎金山就摆在面前,如果你不伸手,简直比傻子的IQ低。

而此时此刻,似乎时代又在循环,在炒作了互联网以及移动互联网之后,当前最热的热点似乎就是比特币了。微博、朋友圈、知乎,都在充斥着与比特币相关的文字:区块链、去中心化、匿名货币等。而在这背后都是一夜暴富的心态。

有时候我在想,假设真有时间机器,如果能够助我回到十年之前,我应该可以如何暴富呢?是去找张小龙聊天,卖给他一个微信的创意?还是在各大城市疯狂购房?或者不声不响,偷偷用私房钱买几个比特币呢?

假设真有时间机器,我更愿意用它飞到十年之后,看看未来的一切。毕竟只有未来才有无限可能。在十年之前,我从来没有想像到今天的移动互联网时代,会带来如此多的生活便利:移动支付、电子商务、共享单车等等。原来以为只是别人用来忽悠热钱的投资梦想,而今一一成为现实。

或者十年之后,比特币也会成为一种真正的货币?

跨界开发连载1

第1篇 准备

第1章 引言

在本章中,首先我们将介绍作为.NET开发人员,在进入iPhone/iPad开发领域当中所遇到的主要障碍。同时,我们也要对于将要进入的全新领域有一个简单的感性认识,从而克服这种恐惧感,如果你已经信心满满,并且已经对于Mac OS X以及iPhone/iPad平台以及相关的开发环境有所接触,那么可以直接跳转到下一章进行更加系统的学习。

1.1 面前的六座大山

开发者往往对于开发语言以及开发环境有着宗教般的狂热,尤其对于已经入门但尚未运用精熟的初学者,更是如此。作为一名专业的开发人员,我们已经习惯了在论坛、博客上看到各种关于开发语言以及开发环境的辩论赛,比如论证.NET与Java孰优孰劣,C以及C++谁的生命力更强等等。往往这种论证会持续一段时间后不了了之,而后再过一段时间,新的类似的辩论赛又会重复上演。

这与宗教信仰一般,我们很难通过简单的辩论,就可以让另外一方改变自己的观点。所以这种争论除了浪费时间之外,对于开发者来说,没有任何益处。

其实不仅开发者,最终用户也会经常争论Windows XP以及Mac OS X谁更符合用户习惯、Linux与Windows哪个操作系统更加安全之类的问题。这种问题真的有解吗?我个人认为很多答案都需要限定相关的条件才可以给出答案。并且很多答案只有形而上学的意义,并不是完全普适的真理。

而本书的“越界开发”,面向那些已经沉浸于.NET开发两年以上的开发人员,帮助他们跨越以下六个大的障碍:

1.操作系统:作为国内的开发人员来说,尤其是.NET开发人员,Windows基本上就是其开发的全部,我们的日常工作以及编程都是在Windows上进行。开发后的应用程序要么部署到Windows Server上,要么部署到Windows Mobile,或者以Windows上的其它应用作为宿主,比如Microsoft Office或者Silverlight等。而Mac,由于其价格以及其它相关的因素,对于我们非常遥远,从而显得异常神秘。而在本书中,由于面向iPhone上进行开发,所以我们则必须与Mac OS X为伴。这是我们需要跨越的第一道障碍。

2.开发环境:Visual Studio是我本人用过的最好的IDE,尤其是刚刚发布的Visual Studio 2010,吸收了历史上所有相关IDE的长处,终于成为集大成者。而在本书中,我们则必须了解并且使用一个神秘的IDE套件:XCode、Interface Builder以及Instruments等。在这其中,很多原有的开发习惯都需要进行调整以及适应,可能刚开始的一周你会非常的不适应。

3.开发语言: 作为C#开发人员,可能你已经知道所谓的“#”,其实是代表着四个加号,即C#相当于C++++。所以C#与C以及C++是属于近亲关系,但在基因上有着很多改良。而Objective-C,单从字面上来说,与C也属于同一家族,但当你亲自阅读一段Objective-C源代码的时候,你会发现理想与事实的差距。因为事实上Objective-C是一门你很少听说过的Smalltalk 80的进化。

4.框架类库:作为C#开发人员,我们相比于C/C++开发人员来说,已经幸福了很多。因为.NET Framework已经为我们提供了丰富的Class Library,比如处理XML、HTTP请求等,只需要调用相关的类库中的API就可以非常简单的完成。在iPhone当中,我们同样也有一个类库,即Cocoa Touch(开发Mac OS X上的应用,我们需要使用的类库是Cocoa,在iPhone/iPad上则使用Cocoa Touch。两者的关系类似于.NET Framework与.NET Compact Framework)。快速掌握框架类库提供的功能也是我们必须跨越的一道障碍。

5.部署平台:相信本书的部分读者都有着Windows Mobile的开发经验。本书的部署平台虽然也是手机操作系统,但它与Windows Mobile有着很多的不同。最大的不同的就是其单任务处理机制,可能会在初期让你发狂。而对于那些原来没有接触过Windows Mobile开发的读者来说,iPhone开发与你原有的部署平台也有着很大的不同。

6. 市场推广:在笔者的日常工作中,会与很多.NET开发人员进行交流。大部分开发人员往往都会关注于开发过程,而对于开发完成后,已经成为“商业”的软件会如何在市场上推广,他们往往并不关心。而对于iPhone/iPad开发者来说,必须要自己承担所开发出来的成果的推广工作,所以这也将成为其重要的障碍。

写到这儿,可能有部分读者在心中已经打了退堂鼓。既然有这么多困难,我们为什么还要学习iPhone/iPad开发呢?

iPhone作为一款新发布的手机,于2007年1月9日,由苹果公司面向全球进行发布(见图1.1),在很短的时间内,就已经风靡全球,成为很多时尚潮人所必备的数码精品。而随之2010年4月3日,iPad的发布,更加推动了这个趋势。众多的开发商开始着力于面向iPhone/iPad平台的开发。与此同时,众多的iPhone/iPad平台上的造富神话也吸着众多的开发人员。

根据苹果公司在2010年1月5日公布的数据,其苹果应用商店(App Store)上的软件已经被下载超过30亿次。需要了解的是,App Store此时才运营仅仅一年半,在2009年9月份开始,其下载量已经超过了20亿次,那么相当于自2009年9月份,平均每天有1010万个程序被用户下载,在每秒钟则高达300个应用被下载。

创造符合用户习惯的软件,供更多的用户使用,是我们软件开发者的梦想。而iPhone/iPad平台则可以帮助我们实现这个梦想。

 

 

 

序:欲练神功,何必自宫

本文是《跨界开发:面向C#开发者的iOS开发手册》的序言,从本周开始,本书的内容将会在博客当中进行连载,每周在一节左右,欢迎大家提出意见以及建议。该书将根据大家的意见以及建议进行持续性修改。

很久很久以前,江湖上曾经有一本武功秘籍,称之为《葵花宝典》。由于此书上所记载的绝世武功,引得无数英雄趋之若鹜,一时间闹得江湖间血雨腥风。而最终历经千辛万苦,两位有代表性的人物分别获得了此书。一位是江湖上名不见经传的林平之,一位是名传天下的华山派掌门岳不群。他们在得到此书后,迫不及待得翻开了第一页,猛然发现一道让他们后悔一辈子的选择题摆在面前。在经历过内心复杂的心理斗争后,两人终于禁不住神功的诱惑,而拔刀自宫。但最终他们的下场却让我们怜之痛兮,真乃是赔了夫人又折兵呀。
而很久很久之后,Steve Jobs也同样在江湖上发出了英雄贴,名为iPhone/iPad的兵器在市场上所向披靡。截止到目前,其已经占领北美智能机市场65%的份额,同时,大量的iPhone/iPad开发人员一夜暴富的神话也让很多从事其它开发语言开发的朋友而闻之心动。

那么,作为从事.NET开发的程序员是否需要完全放弃其原有的开发经验,而开始学习全新的开发语言、使用全新的开发工具、熟悉全新的操作系统、研读全新的框架类库、了解全新的部署平台、掌握全新的发布模式呢?如果真的如此困难,那么会使很多江湖上.NET的前辈或者入门一年有余的新手而踯躇不前,毕竟挥刀自宫的毅力不是每一位都具有的。而我的回答就是:当然不是,就像功夫一样,如果我们积累了足够的内功,那么所有的门派则只是适应武术套路而已。

本书适合的读者

本书面向已经学习以及使用.NET一年以上的开发人员,曾经从事过以下领域的应用程序开发:ASP.NET、Windows Mobile、Silverlight或者Windows Form/WPF。对于C#语法已经熟悉,甚至对于一些底层机制已经精通的人员。

如果你已经了解.NET的相关功能,并且希望从事iPhone/iPad开发, 有毅力来承担其中的一些艰辛,那么本书将会试图带领走过其中的一些歧途。

本书也同样可以作为其它开发语言使用者,进入iPhone/iPad开发的入门书籍。虽然本书会重点介绍.NET开发与iPhone/iPad开发的异同,但通过纵览本书,其它语言的朋友也可以一览相关开发的机制,从而快速掌握iPhone/iPad开发的关键,并且在同时,也了解到.NET与之的异同。

本书不适合的读者

如果你符合以上条件,但希望能够继续使用C#等语言,在Windows上使用Visual Studio来开发iPhone/iPad等应用,那么很不幸,本书并不适合于你。目前iPhone/iPad上的开发必须使用Objective-C来编写,而使用Objective-C,你需要使用全新的IDE,即XCode。而要使用XCode,你需要使用Mac OS X操作系统,所以这是一个全新的挑战。

本书的示例应用

为了方便大家能够更快得学习本书中所介绍的iPhone开发知识,本书将会在随书光盘中提供相应的示例应用源代码。但为了让读者将更多的精力放在对于开发中基本原理上,所以本书不会提供数量众多的源代码。而是主要围绕以下三个示例应用进行,并且随着章节的深入,为最始的示例增添新的功能。通过这个过程,了解iPhone开发的方方面面:

  1. Hello World:在第1篇中,将主要围绕这个最简单的Hello World应用进行。通过这个示例,读者可以熟悉编程环境:Xcode、Interface  Builder等的具体使用方式,理解iPhone/iPad中各种项目类型,同时也基本了解如何使用Instruments进行性能调优的方法。
  2. RSS Reader:在第3篇开始,将会围绕RSS Reader这一目前常用的示例应用程序介绍Objective C语言的相关知识,并且了解如何使用Cocoa Touch类库进行文件处理、网络访问、数据库处理等基本操作。
  3. Hello Game:在第4篇中,将会介绍Core Graphics以及Open GL ES图像处理子系统。

本书基本框架

本书在构成框架上,共分为五篇,介绍了iPhone/iPad开发的方方面面。

在第一篇准备中,我们会向各位介绍iPhone/iPad的面向最终用户的特性,以及面向开发人员需要关注的地方。并且会从头开始,介绍如何构建开发环境。

Objective-C对于很多.NET开发人员是一门非常陌生的语言,甚至在此之前都闻所未闻。那么在第二篇当中,我们会介绍此语言的方方面面。并且通过与C#语言的对比,让大家对其有更深入的认识。在本篇当中,也会涉及到IDE的使用技巧等。

第三篇则会真正揭开iPhone/iPad开发的内幕,通过一个完整实例的介绍,让我们熟悉iPhone/iPad所使用的框架类库Cocoa Touch的方方面面,在实战中了解Cocoa Touch带给我们的便利性。当然,我们也会介绍互联网上优秀的开源类库以及应用,供大家参考。

第四篇则面向游戏开发人员所设计。大家知道,在iPhone/iPad上开发游戏应用,需要了解一个OpenGL的精简系统,即OpenGL ES。OpenGL ES虽然便捷,但对于长期从事ASP.NET/WinForm开发的人员来说,将会是一个比较痛苦的过程,本书也将通过一些实例,让大家尽快度过此过程。

在开发完所有应用后,即可以提交到App Store,供广大用户下载使用。如果开发的是商业应用,那么我们需要设计相应的收费策略,并且通过市场上的各种方式进行推广。在第五篇当中,我们将会介绍相关的市场推广策略。

移动互联网要来了,Are you ready?

两天前,去听了CSDN组织的2010中国移动开发者大会。会场内外的所有气氛都让我回想起了1999年,在那时候,无论是餐厅,咖啡馆,甚至是坐着公车拿着刚上市的手机,大声喧哗的都是互联网相关的话题。大家脸上的那个兴奋劲呀,似乎金山就摆在面前,如果你不伸手,简直比傻子的IQ低。

而今,这种气氛越来越浓烈,我这段时间也经常钻咖啡馆,无论是热闹的还是幽静的。只要旁边桌子上有年轻人在,基本上都在讨论App Store、Mobile Device相关的话题,似乎那个“金山”时代真的回归了。在2010年中国移动开发者大会上,李开复也像列宁同志一样,向年轻人宣告移动互联网浪潮将在三年内爆发(难道现在还不叫爆发吗?)。我想起了那句话:此地人傻钱多,速来。

10年前那次风暴真的是中国互联网浪潮的起始点,现如今的腾讯、百度、新浪都是在那一波风暴中开始创业的。而如今,这些企业都是如日中天,甚至有些有了中小型企业的拦路虎,挡路石。可是在初创阶段,他们也曾经多次羡慕嫉妒恨过其它大企业,拷贝雅虎,拷贝ICQ,拷贝谷歌等等,把所有的一切都拷贝回中国。只不过时代不同了,现在“爷是上等人了,你们得换个称呼了”,所以才有了“狗日的”XX,那些来自于挣扎在创业边缘的人员的呼喊。

所以10年前的那次风暴就是一个风暴,虽数活下来的活得非常不错,锦衣玉食,但仔细想想,在风暴过后的寒冬中死去的何止千万?那些无数曾经在咖啡馆坐在我邻桌的,充满伟大志向的年轻人们,你们现在还好吗?那些在媒体上创造了无数关于“领先国际平均水平五十年的创新”、“中国的微软”、“中国的比尔盖茨” 话题的人们,你们在新的风暴前,还有雄心壮志吗?

新的风暴又要来了,我们需要做些什么?另外,我们需要做好防冬的准备吗?

移动互联网要来了, Am I ready???

怀念Ray Ozzie君

我在大学里面学的是物理教育专业,但竟然也会有计算机课专门教授Lotus 1-2-3。那时候的课程很闷,教授们只是按照教材中的相关章节,一个功能一个功能的介绍,所以学了一个学期,我都没有搞明白Lotus 1-2-3是干什么的,操作系统?编程语言?后来用到Excel才知道,噢,原来如此。

如今,大学毕业很多年了,这段历史突然重新映上我的心头,只是因为Ray Ozzie已经下台鞠躬,挥挥衣袖,不带走一片云彩。

我加入微软比Ray Ozzie君稍早那么一点点。终于实现了小时候的梦想,在这家伟大的公司里面工作,虽然离比尔盖茨很多层次,但一想到这是我偶像的公司,就激动不已,甚至每天上班都感觉很有朝气,真正的“您的潜力,我们的动力”。再后来,盖茨在公司内部完成了禅让。虽然公司内部没有任何言论,但能够感觉到,每个同事都在心里面咯噔了一下。虽然过后微笑还是继续,激情还在燃烧,但明显的感觉,有些失落。

盖茨选择了Ray Ozzie,成为了首席架构师,在新闻媒体中,一直被渲染为“盖茨接班人”。关于Ray Ozzie君的资料,我还是从新闻报道中看到。Ray Ozzie,满头白发,风度翩翩,从外表上非常让人敬重的一位绅士,甚至感觉从盖茨还魅力十足。第一次在公司总部听他演讲,总感觉他提不起精神来,也没有任何技巧,非常紧张,那时候恨不得跳上台去,帮他讲。于是乎,对此君充满了失望。好象在第二年,又在一个场合,听到Ray Ozzie君的演讲,突然发现他有如神助,非常自信,非常有魅力的完成了演讲。后来在网上看了一些他的访谈,他的邮件。突然我发现,在我心目中,他开始慢慢走上盖茨走后空缺的偶像宝座。

今天早上,不知道为什么提前醒了过来,看到了邮件,知道了他要走的消息。他的走,让我想起了Windows Vista的负责人,Jim Allchin,他也是微软高层中充满人格魅力的一位。但因为Windows Vista的失利,他已经走人,去办乐队去了。也不知道他的乐队办得如何了。从照片上来看,他很满意现在的生活。有兴趣的可以去看看他的个人网站:http://www.jimallchin.com/ (如果你是开发人员,肯定非常好奇他网站的架构)。

Ray Ozzie的走我并不是特别吃惊,因为从三月份开始,他就非常少出席公司重要会议了。很多Business的整合也缺少了他的声音,所以那时候我就在新浪微博上提出自己的质疑。而如今,当预言成真,我只有感觉更加失落。

Ozzie,走好。

博客堂要移民了

为了给大家提供更好的服务,也为了域名安全以及其它事项,博客堂准备移民到美国Godaddy服务商,包括域名以及空间。

在未来一周的域名注册商更新期间,访问博客堂将会出现一些不正常现象,这可能是在迁移期间的正常现象,请大家谅解。

另外,提请所有的博主注意,我们将会以WXR(WordPress eXtend RSS)文件格式为大家提供数据备份服务,包括大家所有的历史数据:随笔、标签、文章中图片等。如果大家愿意跟随我们一起移民,不需要任何动作。如果不希望移民,而想转去其它博客提供商,并且希望索取备份文件,烦请与我邮件联系,非常感谢。

谢谢大家的关爱。

SharePoint Server 2007 的一个问题

在用 Deep Zoom Composer 生成内容后,传到 SharePoint Server 2007 中后,发现不能浏览,仔细检查发现 Deep Zoom Composer 生成的很多以 _files 的目录,传到 SharePoint Server 2007 中后,目录被改了名字,自动在最后加了下划线 “_”,导致不能正常访问。

此处详细介绍了此问题。

 

在微软创新日北京站ASP.NET MVC部分的Video

这段时间正在全国各地跑,在微软创新日上讲ASP.NET MVC相关的内容,以下Video是在北京场录制的视频内容。如果大家感兴趣,可以直接观看.课程内容非常简单,适合于ASP.NET MVC初学者或者ASP/JSP/PHP开发人员。

Special thanks to Sandro Nigris. 🙂

ASP.NET MVC课程第一部分

ASP.NET MVC课程第二部分

本视频上所使用的Demo非常简单,就不再放Demo Code了,Slides可以从下面下载: