程序小白的技术普及贴

来自irising, 挺有意思的一篇文章

扫盲1:同步和异步

同步(Synchronous),主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求。比如你需要发送一条短信,必须等信息发送完毕才能退出界面;异步(Asynchronous),指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在服务端得到异步。比如你发送一条短信,不用等它发送完毕,你就可以爱干嘛干嘛去,系统会在后台把这条短信发送完毕。

【举例】同步就是你追一个姑娘,晚上给她发我爱你,她一直没有搭理你,你就一直等,一直等,一直等,一直等,直到姑娘终于答复了你,我也爱你,于是你们在一起了;异步就是你追一个姑娘,晚上给她发我爱你,没等她搭理你,你就又给另一个姑娘发我爱你,没等她搭理你,你就又给第三个姑娘发我爱你,姑娘一、姑娘二、姑娘三都以为你是专心致志的对自己,最后可能有的答复了我爱你,有的答复了对不起。

扫盲2:模态与非模态

模态(Mode),就是指当这个控件弹出的时候,鼠标不能单击这个控件之外的区域,这种控件往往是用户进行了某种操作后才出现的。例如:windows的选择字体颜色对话框 ;必须先关闭对话框才能进行其他操作;非模态(Modeless),通常用于显示用户需要经常访问的控件和数据,并且在使用这个控件的过程中需要访问其它窗体的情况。例如:word的查找对话框。可以直接点击任何地方,例如,发邮件时添加附件就是个非模态的。

【举例】模态就是你陪这个姑娘吃饭,姑娘让你不许玩手机,不许你上厕所,不许你听音乐,甚至不许你说话,只能做一件事,就是乖乖把饭吃完;非模态就是你陪这个姑娘吃饭,姑娘不管你,爱玩手机玩手机,爱刷微博刷微博,爱上厕所上厕所,甚至可以玩亲亲。

扫盲3:轮询和中断

中断(interrupts),程序中断通常简称中断,是指程序在正常运行的过程中,由于预选安排或发生了各种随机的内部或外部事件,使程序中断当前操作,转到处理相应事件,这个过程称为程序中断;轮询(Polling),是让程序以一定的周期按次序查询每一个外设,看它是否有数据输入或输出的要求,若有,则进行相应的输入/输出服务。

【举例】中断就是你跟这个姑娘开始同居,你正在写一个项目计划书的时候,姑娘一会儿跟你说玻璃脏了,要你擦擦玻璃,一会儿跟你说地板脏了,要擦擦地板;轮询就是你跟这个姑娘开始同居,她一会儿跟你说玻璃脏了,一会儿说地板脏了,你淡定的告诉她,当脏的地方累积到10个的时候,再告诉你,你才开始打扫,这样就不会频繁的被打断啦。

扫盲4:长连接和短连接

长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持;短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。

【举例】长连接就是你们俩开始异地恋了,他会每天给你一个电话,保持跟你的联系,遇到节假日等大事,会额外准备一些惊喜给你;短连接就是你们俩开始异地恋了,他会在逢年过节等特殊情况下,才跟你取得联系,然后就消失。

以一个程序小白的视角,去解释这些概念,肯定让人觉得傻的可笑吧,如果有说的不对的地方,还请真正的技术大拿帮忙指正一下。

程序和设计,都是有法可依有据可循的,当一个程序员跟你讨论二八原则简单法则,商量让你砍设计砍功能的时候,你肯定也更容易被说服,因为,你们是在同等的层面做沟通。