00:00
好,同学们,那么我们来看一下咱们今天的课程,首先呢,对吧,我们还是把上一次课讲的内容做一个简短的回顾,那么上一次课我们讲的是什么内容呢?我们来看一下,上一次课呢,我们讲了一个呃,客户关系管理的这么一个项目,那么我在这里呢,去讲了一下,讲讲了一下他的一些。就是这个增删改查的功能,嗯,然后呢,给大家布置了一些作业,对,要求同学们自己去做,对吧?然后呢,紧接着又讲了这个阿卡的一个网络,阿卡的一个这个开发,那么我们来简单看一下上次课我们讲的内容。好,我们走一走。呃,那么上一次课我们是从哪讲的呢?是从第15章,对,那么第15章呢,首先我给同学们说了一下这个项目开发的流程。
01:03
那嗯,同学们将来在面试的时候呢,肯定对吧,别人都会认为你是做过一段时间开发的啊,不会把你当成一个新手呃这样来对待,那所以说呢,别人会问一下项目开发流程大致是一个什么样子的,所以说你要答的上来,那么我们简单回顾一下,首先作为一个项目呢,我们前期会有一个可行性分析,对,呃呃,可行性分析就是说的,再直接一点就是去拉项目啊,就是拉项目。就是要么就是找项目,要么就是找产品的需求,这样你的公司你才能发展下去,呃,然后可行性分析OK了,过后呢,诶,等到市场部或者销售部拿到了这个单子,或者拿到这个产品啊,要去做这个产品的这个报告过后呢,诶,那么我们就开始做需求分析。那需求分析一般呢?呃,公司会有一个专人叫需求分析师来负责这一块工作的内容,最后需求分析师他会出一个需求分析报告。
02:10
呃,坦白的,呃,再直接一点就说将来会有个白皮书给你,呃,就是说我们要完成什么功能,那对于一个比较大的项目来说呢,需求分析还是比较重要的,你比如说以前在这个用友工作的时候,呃,用友他接的单子呢,一般都比较大,那些做需求分析的,你经常就看不到他在工位上,你还以为是不是被开除了,过了几天他又来了啊,不是,有时候不是过几天,有时候过了一两个月啊,他又重新出现在你的面前。哎,你说上哪去了呀,做需求分析去了,做需求分析像这种大单子,他一般都会到到这个,到这个甲方这边去啊,甲甲方这边去就是坐班,为什么要到那边去呢?因为有时候一个大的单子,他呃直接要去跟他对接的是这个甲方的什么呢?甲方的这个老板,或者是甲方的一个负责人啊,那么甲方呃,这个负责人他没有时间天天可以坐在这儿聊,而且有一些需求呢,是要看对方的工作流程的,所以说往往做需求分析的人呢,会去到对方。
03:19
这个公司去上班啊,工资还是呃这边给他发,就这样子的啊,需求分析做完了以后呢,我们到了第二个阶段,就是我们所说的设计阶段,那为什么要先做设计呢?就说我们这个大的软件,就跟咱们盖一个小盖一个房子一样,你先得有设计啊,设计这块呢,重点就是呃,项目经理或者架构师来完成这个工作。那他涉及到事情很多,比如说用什么技术,用什么架构,怎么选人,那一般来讲呢,就是项目经理擅长用什么技术,他往往就会使用什么样的技术啊对,所以说将来在公司里面可能会有这么一个情况,什么一个情况呢?就是你在一个单位,你同时跟进这个单位的两个。
04:06
或者更多的项目,因为你比较厉害嘛,哪些呃,这个项目经理呢,就愿意用你,所以有时候也会造成这样一个情况,就是在同一个公司,大家都是软件开发工程师,但是他的薪水比你高很多,这是第一点,第二点在公司里面呢,往往这个项目的提成就是一般呢也会有个项目提成。啊,这点大家注意一下,我告诉大家这些呢,就是告诉大家,就是你到一个公司里面应该怎么去,呃,跟别人交流,就是这个公司项目提成,这个项目提成是什么意思呢?就比如呃,以前我在用友的时候,他有个拳头产品叫U8。这个U8 u8是他的主打产品。如果你能跟着这个U8这个项目走。那么你每基本上是每一个季度都会发这个奖金,这个奖金就是所谓的项目奖,那项目奖一般有时是比较高的,那个时候我就知道像U8早期进去的这种人,他们,他们一般到了一季度有时候会发2万到3万,甚至有时候比工资还要高。
05:11
所以这就这就告诉大家,以后你们参加工作以后,到公司里边,你尽量跟着这个公司最核心的这个项目走。对吧,因为有些有些去了,比如以前我有些学生他到这个比较像这个,呃,腾讯也有到这个百度去的,到那地方去了过后呢,看起来很高大上,其实做的都是人家这个边角料的项目。你比如说你到你到这个百度去,百度最核心的就是搜索业务,如果你能加速到加入到搜索他这个这个开发组,那你出来就不得了。你比如说你到腾讯去了,你到腾讯去了你就加,你如果你加入了这个服务器这个小组,那你出来过后就升价,那不是一定半点,所以说你到一个公司里面去呢,你你不要认为说我在公司里面去了,大家比如说你是腾讯出来的,我也是腾讯出来的,他这个可能技术相差还是非常大的,价值也不是完全一样,就还是跟着这个这个公司的核心走,核心核心项目走,因为他的核心就在这里。
06:14
所以说为什么有些公司他一旦裁员,大家也知道,呃前一段时间,嗯,这些也国内一些大的这个公司也也有裁员的,这个这个行为然像国际像像这个比以前那个像惠普啊,微软也就裁员,IBM裁员也有这种裁员,他一般先找哪个裁呢?他一般不会针对人对你,你跟我关系好,跟你关系不好,我我不是才这样裁的,我看哪个项目,项目现在是亏损的。呃,项目亏损,我就首先要砍掉这个项目,那砍掉这个项目,我那肯定项变相就是砍掉这个项目相关的人嘛。所以说同学们呢,将来参加工作以后,你要你要有一双,这个你要自己去判断,或者说自己去要要去想到底我应该加入哪个项目组啊呃,然后设计阶段这个地方就出了很多文档,那出完这个文档以后呢,就会交给我们的这个程序员,那么交给程序员这有一个最大的问题,就是同学们参加工作以后呢,这个项目可能不是等着你去人家才开始做的,也就是说有可能这个项目已经开始运作了。
07:21
那么开始运作的时候呢,你作为一个程序员,你加进去,一般你也是加入到实现阶段,你加入到实现阶段的时候呢,这个时候你前期都不知道,所以说一般来讲,项目经理或者说你的一个负责负责的小组长,他会把一些文档交给你去看。呃,一般来讲呢,在前一周,甚至有时候两周都不会让你参与写代码。啊,这是真的。啊,有时候你看有有些同学参加工作以后,他回来分享的时候,他分来回来分享这个经验的时候,说了半天,我说你写代码了没有,他说我这去了将近小小两周了,一行代码没写,为什么不让你写,项目负责人不敢让我写,为什么呢?写完到服务器损坏怎么办?所以说他去了我先让你看文档,看完文档过后才让你慢慢写代码,甚至有些好一点的公司,他有一个这样的工作叫做需求反奖啊,什么叫需求反讲呢?就这个需求让你理解完了过后让你反讲,就说他先让你去看这个需求看,问你给你三天时间看,这个时候还是有压力的,给你三天时间看了过后他问你,你看懂了没有。
08:30
你看懂了没有,好这个时候,呃,这个时候呢,你你要说是看懂了,你的小组长或者你项目经理就会单独的找一个实验,找一个小房间,然后呢,让你说一下你的需求是怎么理解的,然后才让你去做代码,说在咱们将来去了过后呢,这个地方可能人家已经干了一段时间了。这个时候你的压力在什么地方呢?你的压力,呃,不是因为你不是从头开始进去的,你要看很多东西。呃,这一段时间是特别累的,因为人家让你看懂了才让你写代码,好他是这么一个流程,那么在这个你写代码的过程中,就是同学们参加工作,你写代码的过程中呢,往往都会项目经理都会指定你的一个测试人员,就是你跟他对接,他专门测试你的这个模块,比如说你去了,你是呃呃,咱们班的小张到了公司了,那么可能别人就给你指定一个呃,这个这个测试人员,比如叫小红,他专门测你的,那么他一旦发现问题过后呢,他一般会以这个邮件,有些好一点的公司会有专门的bug提交系统。
09:34
啊,像这种开源的项目很多,像PAP6这种开源的bug提交系统,那么你每天上去过后,以你的账户用,用你的账户和你的密码登录上去,你就看到了小红每天给你提交的bug,你上去过后就要先调bug,那么调bug呢,这个地方就是每一天你要把bug调完,如果你调不完的话,呃,项目经理每就会,如果发现你老是出了很多bug,又不调整的话,你很也有可能在试用期就有可能被干掉,因为你的工作态度不好,要么你就是你的工作态度不好,要么就是你的能力有问题。
10:09
啊,所以说这个前期你们前三个月工作的时候是压力比较大的,因为你要证明自己我还是可以的啊,前期就要顶过去,那么小红这地方他一般就会跟你交流是吧?诶你这个小张拿代码有问题了,如果说大家呃是通过邮件交通不顺畅的话呢,你大家可以开会来解决。那么每到一个月,或者到了一个bug的一个里程碑的时候呢,一般来讲这个项目里还要组织人员进行开一个会啊,说我们这个已经是个bug,一个里程碑了啊,比如说我们的一个版本,1.0这个版本,然后大家还要汇总进行什么呢?集成测试,集成测试一般来说不是让你换的,说为什么前期有同学说了是我去了过后,呃,我将来做项目经理,我怎么去控制,也不能让一个人拿到所有的代码呢,这次肯定不会让你拿到的,一般来讲,一个正规的公司,你只负责你的模块,你把你的模块做完了过后,你一般会写自己写个DEMO来测试。
11:09
测试完了过后呢,你把你的这个代码提交到一个版本控制,比如像你们学的SVN或者是GA。啊,这个记得记记得把它提上去,提上去过后呢,然后每一每一天这个项目经理会去测试好,这个测试如果没有问题的话呢,到了下一个阶段就是实施阶段,实施阶段理论上说跟你就没有关系了啊实施阶段这个代码已经OK了,测试内测通过了,内测通过以后呢,就到实施,实施阶段一般公司呃呃,这个大一点的项目一般都会部署到甲方的他的内网。就是有些同学老师我远程操控不就完了吗?一般来讲可以远程操控,但有些时候是需要到对方公司里面去的,人家那个往事直接是呃,不对外的,很多这种项目只是只是自己内部系统用,你想一想,银行系统你写的代码能让公网让你上去吗?
12:04
对吧,很多涉及到保密的问题,比如说以前给了一个总参写项目,那总参那些项目他全部都像军队的项目,像税务的,像海关的,这些项目不可能直接让你公网登上去的,他可能就是内部用啊,内部用你想一想不会让你说,哎就就等你远程,你可能要出差,对吧,这个实实施人员就出差到对方去,然后呢,开始那个工作,这给他分享一个小故事啊,小故事也是我的一个学生,这个哥们俱乐过呢,诶面试,呃,面试不错,代码写的差不多了,他就跑,人家给老板给他一个分,分配一个任务,说你把这些代码打包,包括数据库的配置啊,IP配置,用户密码配置,你到对方去给人家实施一下,就在北京本地,好,这个小伙子呢就去了,去了过后,在实施的过程中,在实施搞实施过程中中,他就这个小伙子就喜欢聊天。又喜欢聊天,人家那个工作人员一个有个有个女孩,小女孩说诶,我们这个服务器有点慢哦啊,她说没事,我给你重装一下啊,他发现系统重装了过后,人家系统上面有很多这个资料,然后老那边的老板就打电话说你们来logo把们服务器都给弄坏了,服务器弄说要把它开除知道吧,所以说有时候去了过后不要乱动,不该你动的不要乱动,因为有时候这个服务器人家跑到别的项目,所以说作为这个新手,你就做一件事,不知道该不该干的事,通通不要干,朱老师,我不知道这个该干不干,当你不知道要干还是不干的时候,就不要干,就好像你参加工作以后,这个话该不该说,你不确定,你就不要说。
13:37
好,实施阶段完了过呢,就是维护阶段,维护阶段呢,一般来讲就是呃,就是有了问题,别人会打电话给项目经理,那么你们面试的时候呢,这个面试官,因为同学们都想拿高工资嘛,有可能别人都不会你你比如说你要拿一万五或者将近小2万的样子,一般都会问一下你这个项目的开发流程,至少能够答上来啊,至少能答上来,好项目开发流程完了过后呢,我就呃把这个按照这个节奏啊一点一点讲了,这里面有一个东西就大家分享一下,就是这个程序框架图的这个事。
14:15
嗯,就是我们同学们在呃,写代码的时候呢,我是有个小建议的。就是呃,同学们以后写这个代码,写模块,你可以写一个自己的这个模块的一个程序结构图。那么这个程序结构图有什么好处呢?就是利于我们分析,第二个呢,你也可以利于你跟别的程序员交流,比如说你们参加工作以后,你们肯定有很多东西不知道。甚至有很多技术难题,你去你是需要别人来给你帮助的,比如项目经理,那么你不可能说是一点都不去问是吧?问问题呢,不能一个都不问,也不能有什么问题都跑去问,你一个不问呢,别人觉得你这个这个人不愿意交流,如果你问的太多了,是什么都跑去问别人,就别人觉得你没有技术。
15:05
所以说呢,你问问题的时候,你就说诶,嗯,比如说呃,你觉得有个程,你有个老程序员技术很到位啊,你想多跟他学两招怎么办呢?诶那你就把这个你的这个画的图呢,所以说诶这个我这画了一个简易图,有一个地方我不知道怎么处理,跟他交流一下。呃,同学们呢,就是参加工作以后,还是要善于跟这种有经验的程序员多交流,这样的你的成长会非常的快,特特别忌讳这样的程序员,什么是什么样的程序员呢?就是去了过后,呃,闷声大发财,什么问题都不问,那这样子你发你的成长会特别的慢。还有一些人比较好面子,比如说我参加工作,我也不愿,我也不喜欢问别人问题,就什么自己研究,呃,最后也做出来了,但是做出来这个东西其实是不好的。啊,这就又想起我我参加工作的一件事情,我当时做了一个什么呢?做这个服务器,因为我按我刚刚参加工作的时候,我是没有资格做这个服务器开发的,因为做服务器是核心。
16:08
这个核心一般来讲,至少你没有这个在后台服务器做过这个四到五年的经验,不会让你干,那为什么让我去了,作为新手让我去呢?第一个就我面试的时候,面试的比较到位,第二个呢,呃,就是最合,但是这不是最主要的,主要就是没人干了,因为在当时他的人,他是新新浪出来一帮17个人,就是最核心的技术人员出来做这个点击科技,没人没有人。那个没有人的情况下呢,怎么办?诶小孩你还不错,就让你先尝试做一做啊,所以说你去你去的时候呢,就有一个问题,你不懂的地方,我当时就不愿意跟人家交流,我自己写了一个方案,写了一个方案过后,最终我们这个老大是吧,就看了一下,说你这个代码虽然完成了,但是效率很低。啊,这个时候我就说,哎,那你赶紧去问应该怎么做呢?好,如果一个比较负责任的这个领导呢,他会给你说一下,但是这个领导有实力才跟你说,他没有实力他也,他就,哎算了吧,你自己看啊,有些人他是不是不愿意你说。
17:10
他也不知道怎么办,你知道吗?有这样一个情况就说,呃,他有些人他藏着掖着是一方面,有些人他不愿意他教会你了,对吧,要是教会你了,你这个能力上去了,对他的这个职位呢,有些人他是小心眼嘛啊,就不愿意跟你说也有这种人。那有些人呢,他是比较愿意跟你说,但是涉及到核心的东西,一般来讲没有人愿意跟你说,比如说你在一个公司里面,你掌握核心技术了,你愿意把这个最核心最牛逼的技术解决方案,你告诉别人吗?你又不是他,又不是他又不是你儿子是不是?那你肯定给给你说的一般都是常识性的问题。对不对,但是我刚好遇到的这个这个老大呢,他本身就是公司的一个股东啊,他是公司的合伙人,但是他愿意公司好吗?所以他就诶说那小孩你应该这么这么写,他把方案告诉我了,说那个那段时间的成长是特别快的啊,出来过后就说出来过后那个到为什么出来过后到别的公司,那就是小小case,因为你你知道怎么做了,这些东西是你要长期好多年的一个经验。
18:15
不是说随随便便就告诉你的同学们知道吧,所以你们现在在学校里面学的,包括在培训机构学的东西,坦白来讲都是一些常识性的,常识性的技术啊,说韩老师这样子说的不合适吧,就是常识性的问题,核心的问题他一定是在业务相关的,明白吧,比如说你们将来到了一个大公司,做这个大数据的核心,那个时候你才能接触到东真正的东西,而且还跟这个公司它的规模有关。所以说这个地方你第一个要问,第二个呢,你要善于跟人家交流啊,当时我设计方案我觉得很好,结果人家就指出来说你这样写是有问题的啊,他把这个方案一说就特别服气啊,这高手对吧,这种成长速度特别快,不是书本来的。好,那么这个呢,就是善于交流问题,后面呢,我就把这个功能一步一步实现,这个就上啊这个呃项目我们就说到这,紧接着呢,我们下午讲了一个并发编程模型叫阿卡,那么阿卡这个学阿卡最主要的目的呢,也是为了同学们学Spark打一个基础的,那么阿卡首先呢,呃,要知道它是一个并编写并发程序的一个框架,它是一个编写并发程序的框架,这点要很清晰,那只要谈到框架,大家就要知道,所谓框架就是说他已经把我们的整体这个结构给你了。
19:36
你要做的就是按照它的一个规范去进行开发,这就叫框架,对,那么为什么要提供这样一个框架呢?原因很简单,第一个高效,第二个性能得到保障,你开发速度也快,你性能得到保障,你为什么不用阿卡呢,对吧?所以说阿卡呢,是我们并在这个Spark里面用的比较多的一个并发啊,编程的一个模型,或者叫框架。
20:02
好,那么框架里面有讲了什么东西呢?我就首先给大家说了一下,它的核心是艾模型,那艾模型要解决问题,以及艾模型的它的整体的一个这个机制我做了一点介绍,首先大家要知道在这个阿卡的艾模型里面呢,它有一个actor system,它的开发流程应该是这样子的,我们简单回顾一下它的开发流程是这样子的啊,来同学们简单再回顾一把。呃,我们作为一个呃这个呃阿卡的开发流程,它是怎么样子的呢?好,我们来看一下。好,这个地方我作为作为一个文字版的上面呢,我们画一个图。啊,画一个图。好,首先我们要很清晰的知道,阿卡呢,它是整个都是actor,是工作在一个叫actor system这个体系之下的,他是在这个这个体系之下的。
21:00
哦,体系体系之下。OK,体系之下,那么这个,呃,这个体系之下呢,它有可以有很多的actor。它可以有很多的actor,比如说这这个地方是他的一个actor。好,这是一个actor。好,这是它的一个actor,那么这个actor我们是怎么创建的呢?那第一步我们应该先。创建出这个actor system。这是我们的第一步,好语句我就不去写了啊,第二步呢,我们要通过这个actor system来创建一个actor,当然这个它可以创建很多actor,所以说然后是第二步呢,是通过这个actor system去创建什么呢?创建对应的啊,对应的这个什么呢?Actor。Actor,呃,这个时候他是这样子的啊,他是一步到位啊,一步到位,他创建这个actor的同时呢,也把这个actor refer给你带过来了,在它们之间是一个关联关系,那那个函数我们应该还有印象对吧?好,这是创建好了,那创建创建好了,第三步呢,我们就通过通过这个ier的refer refer,然后呢,我们可以发送消息。
22:19
发送消息,这里面要注意一下,就是这个地方,这个I refer是谁,就代表把这个消息发送到对应的这个艾特的那个邮箱去,这点要清晰,就是这里表示表示将消息交消息,消息发送到这个I refer。对应的这个IO的这个邮箱。哎,他是这么一个逻辑。好,就是第三步,那么第四步当我们邮箱到了以后,好,那比如说我这个地方有一个这样的一个逻辑,这有一个actor,这有也有另外一个actor。好,这有一个actor。
23:02
那么你你在这个进行发送的时候,因为你这持有了它的一个引用,比如说我这里。表示这个action的一个引用。啊,我就简写了啊,就是艾特的一个引用对不对。那a ref ref,这是它的一个引用,我换一个颜色。啊,跟他一个一样一样的颜色,那么他们之间是个什么关系呢?其实他们之间你可以理解成是一个我指向你的关系,或者我引用你的关系,他们两个是同一回事,那么这个时候你通过艾发邮发这个信箱发信息的时候呢,其实你首先是把这个信信,把这个信息发给了一个中,专门来管由这个信息,呃,专门来管我们。就是信息转发的一个东西,叫dispat。叫的pat message这个玩意儿,呃,简单说就是叫做信息消息分发器,那么你的信息实际上先通过你的refer对发送到了哪里呢?发送到了我们这一个这个dispat好,所以说这一帮。
24:12
运行的时候呢,它是一个message传过去的啊,Message传进去,那传到这个message dispa呢,他会去,因为这个dispa他已经管理了,其实他这地方它它是一个labelable,这个runable呢,它其实接管了所有的actor,就是在他的这个内存体系里面呢,它有一个集合,你可以认为他这里面有一个哈希map,或者是其他一个数据结构,就应该是一个哈希map,他这哈希map呢,它可以找到这个act,因为你act都有名字的,在这个同一个体系下面,同一个体系下面你的act不能有相同的名字,不然他无法区分,今天我们还要去说这个学这个好,他在这呢找到你对应这个艾克过后呢,他首先先把你的这个信息发给了这个这个I克对应的邮箱。
25:04
啊,他这个每个艾呢,它会有个邮箱。这个邮箱呢,是跟你这个艾关联的,所以说他干什么呢,他把这个信息就转发给这一个艾的这个这个邮箱。啊,因为他知道,因为这个家伙呢,就PA action,他是知道你这个被发送的这个action在哪里的啊好,这个邮箱就过去了。好就发发到这边去了,那发到这边去呢,如果你的这个邮,这个邮邮箱有很多这个message呢,它也会进行一个排队。啊,他会有,他会进行排队。因为你可能有很多message,那么这个message一旦拿到这里呢,因为它是一个run,它是一个runable啊啊这这个是个线程词啊,刚才说错了,这个线程词它也在运行的,它这个线程词。二线城市。呃,它也在一直运行的,那么呃,这边是一个runable啊,这边它实现了一个reable。
26:02
好,Re,那么一旦这个地方信息拿到以后呢,他就会去干什么呢?哦,OK,这时他怎么把这个消息推给这个actor呢?因为这个actor里面它至少有一个特别重要的方法,叫receive方法,IE这个方法,那这个方法拿到以后,它会怎么办呢?它会,呃,就是去调用在这个。Mailbox里面呢,他会去调用我们这个I的这个receive方法,那有些同学就要问了,说老师凭什么这个mabox知道,呃,这个怎么就是这个mabox怎么能调到这个action receive这个receive方法呢?因为这两个是关联关系的,所以说在这个邮箱里面,它会持有这个你创建的这个act的那个引用啊,那他的那个那个对象的那个那个那个地址或者引用好,他就把这个信息敲过来了,那这面呢,我们就能得到消息。啊,这边我们就得到消息,他是这么一个流程,那当然了,如果说我们这个艾特想回送一个消息给他,流程也是一样,就反过来呢,再把你的消息推送给他的act,他也去取,大致就是这么一个流程,所以说我们这简写一下啊,就是通过act refer消息将这里发送给游戏是先啊先。
27:21
啊,先将消息啊发送给我们的这个dispat啊message。Me,然后由这个第五步啊,由什么呢?由由这个管理者就是我们消息分发器啊,消息分发器将消息啊将消息干什么呢?哎,同学们,它是将。将这个消息推送给啊,推送呃发呃转发给吧,可以叫转发,那他本身就是转发的意思,Dispat就分配转发的意思嘛,转发给对应的啊对应的。
28:00
对应的这个aor的or的这个邮箱。啊艾邮箱mailbox,那么第六步呢,当当这个ICU特的邮箱,ICU的这个邮箱接收到了啊,收到收到这个消息后,消息后就会就会干什么呢?就会调用调用这个啊这个这个ICU的。什么呢?他的receive方法,Receive方法,Re这个方法将消息推送给把消息啊,把消息推送推送。对。推送给什么呢?这个actor,那么这个流程就完了,但如果说我们得到这个艾这个人呢,他想回送一个消息也很简单,如果希望啊,希望回复,回复消息通过什么呢?通过这个三段,这个就可以拿到对发给我的这个艾的引用,然后这个消息就发出去了,好,这是他的一个简单的流程,那么小心有面试官问到这个地方,你能够答得上来啊,那你不管怎么样,你要知道这个它的底层一个机制,因为后面我们在做所有这这一个阿卡开发的时候呢,这个机制它都是不变的,不管你是远程的还是本地的,这个机制它是不变的。好,这是我们昨天的一个回顾,那下面呢,我就不再一个一个的念了,就是把已经把这个全部就说说完了,我们写了一段代码对吧,写了两个案例,那第一个案例呢,就是呃,他自己给自己发,第二个案例呢。
29:42
好,我们是讲了一个艾之间的通讯的一个案例,好,最后呢,我们最后又讲了阿卡这个网络编程的一个基础,那同学们现在呢,因为我们班有一部分同学是做过开发的,但还有一部分同学呢,他在来之前是一个零基础的,那零基础的同学呢,一定要去多看一些基本的一些东西,就是他常识性的问题呢,有时候我们是不知道的,比如说这个图,昨天我画的这个图,其实很多人都是不知道的啊,也是我我后面才慢慢,诶,就是工作的过程中才知,哦,原来是这么回事,因为我以前想法很简单,就是说这个客户端发给这个服务器端,那这边有端口,这边有没有端口我不敢确定。
30:27
第二个呢,我不知道这一个端口监听了过后是不是可以同时连,这是可以的,而且我当时参加工作的时候,我甚至都不知道这样子的,我我老认为是这样子的啊,我有一个特别奇怪的想法,我是这样认为的,我说如果你是Windows,如果你服务器访到Windows的,那我我这个客户端呢,就必须是Windows,当时我还有这种认识啊,当时我还有这种,我说诶Windows和Windows之间才可以通讯嘛,所以我是认为,诶这个服务器在Windows,那我这边也必须是Windows,其实根本不是这么回事。因为我们这个底层,我们整个这个底层,它在进行通讯的时候,它不依赖于你的这个操作系统,因为它是走的这个TCPIT,它是走的TC pip协议啊,他是走的这个协议,呃,那么这个协议呢,它是跟你的操作系统没有半毛钱关系的,但是做一个初学刚刚入行的就是这样子的,其实你的客户端是Linux unnuxx,还有苹果根本没有关系,因为你不管是什么系统,它底层用的这个都是通用的,说这个就是协议的威力。
31:30
啊,但是你作为刚刚参加工作的你,你就是有可能连这个最基本的都不知道啊,很正常很正常,好的同学们,那关于上节课的回顾呢,我们就聊到这里。
我来说两句