QQ号都已经这样设置了为什么qq老是有乱七八糟的访客还是有这么多陌生访客?

“公司交给你,我下午不过来了。”

“……”陈筑把钥匙给他,江观澜接过,走之前对陈筑肩膀拍了拍,眼睛里有点狭笑:“好好开会,我回来要检查的。”

陈筑生硬地吐出两个字:“好的。”

跟许美芳又聊了两句,阮馥才把手机关了,倒扣在桌子上,觉得有些累。

桌子上两台电脑,一台笔记本,一个台式。

淼淼抱着电脑跑过来,指着一处问她:“阮阮,帮我看看?”

阮馥说了一声好,立起身体替她看,她尝试专注着眼前的问题,盯着电脑,过了几分钟,说:“我看了你写的,但这个信号分析,感觉有点不够全面呀。”

“对呀,你也发现了,”张淼淼苦着一张脸:“所以我就想问你,这些干扰怎么处理?”

对脑电信号采集过程中的干扰有很多,如工频干扰、眼动伪迹、环境中的其他电磁干扰等。

张淼淼说:“我已经对信号去噪滤波了,也做过P300信号分析。”

“特征值提取呢?”阮馥说,“小波分析+奇异值分解。”

张淼淼瞬间被点醒:“还是阮阮最厉害,我这就去!”

阮馥嗯嗯两声,也重新低头,做起自己手里的事。

现在张淼淼这个项目的主要负责人和参与人都不是她,自从来了馥方以后,阮馥就以阮铂正为借口,做一些小研究,因为当时她的重心在江观澜身上。

但现在不一样了,她想把重心转回事业。

最近所里刚好有个新项目,阮馥很感兴趣,她想争取当主要负责人,已经跟吴老说了,吴老也同意了,说竞标让她来负责。

所以她跟许美芳说的,最近有点忙,不算是假话。

她确实挺忙,但忙是好事,至少忙得没时间去伤感,去想江观澜。这些天的前期工作,需要对所投项目前期调查,包括工程内容、工期、资金到位情况等,对照调查了解情况结合自身实际,看团队是否适合投标等都已经做完了。

报名也成功过审,她开始在为下下周的竞标做准备。

她对自己,还有团队的实力还是有信心。

只是回国后第一次接项目,还是没有经验,所以找了吴老当第一负责人,吴老也支持,说,这样是对的,等阮馥这次有了经验,做出成果来,下次就让她自己去当第一负责人。

其实对阮馥来说,当不当第一负责人不重要,重要的是,在做项目的时候,能感觉到自己的生命是有意义的,有价值。

阮馥抬头,看着这所里的人,忙忙碌碌,埋头苦干,他们应该也是这么想的吧。

科研很累,但之所以还有这么多人热爱它,只是希望能为推动人类发展,做出一点贡献。

可能有时候觉得自己真的很微不足道,但还是咬牙,想着,再坚持一下吧,其实这么坚持着坚持着,回头看,也走了很远了。

正想的微微出神,电话响了,阮馥接起来,是座机。

“喂你好,303科研室。”

“你好,这里是门卫处,”保安室的大叔照着本子按了这个电话,又抬起头来看着这个西装革履的男人,有点为难的说,“是主楼303室的阮工吧?”

大叔道:“是这样,你的男朋友来所里找你了,你出来,接一下人。”

由于进门登记工作,江观澜对这破研究所还明显不爽,气势强盛,此时听见男朋友三个字,眼眸微眯,不爽少了一点儿。

阮馥却轻柔地道:“不好意思,你可能听错名字了,我没有男朋友。”

大叔和江观澜的目光对上,前者一愣,又问江观澜:“你刚刚说你找的是谁?叫啥名儿?”

江观澜脸色沉了沉,上前拿过电话,对电话那头的阮馥道:“没听错,是我。”

“找的就是你。”他补充。

“江观澜?”阮馥诧异。

他嗯了一声,看了看满脸怀疑的大叔,有点不爽:“你们研究所不让我进去,所以给你打了电话。”

先问:“你现在在门口吗?”

“那你等一下,”阮馥语气有几丝冷,“我这就出来了。”

很快,江观澜见一个套着黑色巨大型羽绒服的女孩一蹦一跳地从研究所主楼台阶上跑下来,马尾扎的高高的。

怕不是要荡到自己心里去。

也不知道江观澜怎么找到这里的,又是为什么要来找她。

应该是急事,或者又是找茬。

阮馥在电话里问不清楚,索性挂了,直接套上背椅上的外套,就出去了。

算了,见了面一问究竟。

越走到外面去,阮馥越皱眉。

这天气冷得不行,穿堂而过的风刮在脸上都像是刀子,如果不必要她一般是不会出来的,室内的暖气可足了,还有小毯子和电炉,果然没有对比就没有伤害。

“跑那么快干什么?”江观澜看她到了,先开口说,“我人在这,又不会突然走了。”

阮馥倒不是怕因为这个,她只是习惯了。

有人在等她的话,她一般都会跑过去。不然人家等着你,你却慢悠悠地走,显得很不礼貌。

江观澜:“看你还喘着,那我先说我找你什么事儿。”

江观澜道:“我妈让我给你买个礼物。”

阮馥皱了皱脸:“……其实没必要。”

顿了下,江观澜呲了声,背过身,说:“不知道你喜欢什么,所以决定带你去商场,你自己挑,走吧。”

“走啊。”过了半晌,看她没动。

阮馥抬眼看了看他:“你来找我就这个事?”

江观澜掀开眼皮,盯着她。

他眼角下拉,胸腔大幅起伏。

如果是陈筑在这里,就会发现男人是生气的前奏。

江观澜真是很想笑,好几次了,自从分手后每次见她,或者聊天找她,阮馥无一例外都是问的问什么事,仿佛在很排斥地说,没事就别找她一样。

“各类孕育问题,专家帮你解答”

亲,最好是不是要轻易的说离婚,毕竟你们还有孩子呢,夫妻是要共患难的

题目描述:JSON 格式的虚拟 Dom 怎么转换成真实 Dom

把上诉虚拟Dom转化成下方真实Dom

 
 
 
 
 
  • 如果在一个系统里面有许多类,它们之间的区别仅在于它们的’行为’,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。
  • 一个系统需要动态地在几种算法中选择一种。
  • 利用组合、委托、多态等技术和思想,可以有效的避免多重条件选择语句
  • 提供了对开放-封闭原则的完美支持,将算法封装在独立的strategy中,使得它们易于切换,理解,易于扩展
  • 利用组合和委托来让Context拥有执行算法的能力,这也是继承的一种更轻便的代替方案
  • 会在程序中增加许多策略类或者策略对象
  • 要使用策略模式,必须了解所有的strategy,必须了解各个strategy之间的不同点,这样才能选择一个合适的strategy

devServetr里面proxy则是关于代理的配置,该属性为对象的形式,对象中每一个属性就是一个代理的规则匹配

属性的名称是需要被代理的请求路径前缀,一般为了辨别都会设置前缀为/api,值为对应的代理匹配规则,对应如下:

  • target:表示的是代理到的目标地址
  • secure:默认情况下不接收转发到https的服务器上,如果希望支持,可以设置为false

promise手写实现,面试够用版:

TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族:

UDP的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

首先 UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。

  • 在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了
  • 在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作

2)有单播,多播,广播的功能

UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。

发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文

首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。

并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。

再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。

5)头部开销小,传输数据报文时是很高效的。

UDP 头部包含了以下几个数据:

  • 两个十六位的端口号,分别为源端口(可选字段)和目标端口
  • 整个数据报文的检验和(IPv4 可选字段),该字段用于发现头部信息和数据中的错误

因此 UDP 的头部开销小,只有8字节,相比 TCP 的至少20字节要少得多,在传输数据报文时是很高效的。

(2)TCP TCP的全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构)。

面向连接,是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。

每条TCP传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。

TCP不像UDP一样那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流方式进行传输。

对于可靠传输,判断丢包、误码靠的是TCP的段编号以及确认号。TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。

当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞。

TCP允许通信双方的应用程序在任何时候都能发送数据,因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。当然,TCP可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于MSS)

Chrome 打开一个页面需要启动多少进程?分别有哪些进程?

打开 1 个页面至少需要 1 个网络进程、1 个浏览器进程、1 个 GPU 进程以及 1 个渲染进程,共 4 个;最新的 Chrome 浏览器包括:1 个浏览器(Browser)主进程、1 个 GPU 进程、1 个网络(NetWork)进程、多个渲染进程和多个插件进程。

  • 浏览器进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能。
  • 渲染进程:核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。出于安全考虑,渲染进程都是运行在沙箱模式下。
  • GPU 进程:其实,Chrome 刚开始发布的时候是没有 GPU 进程的。而 GPU 的使用初衷是为了实现 3D CSS 的效果,只是随后网页、Chrome 的 UI 界面都选择采用 GPU 来绘制,这使得 GPU 成为浏览器普遍的需求。最后,Chrome 在其多进程架构上也引入了 GPU 进程。
  • 网络进程:主要负责页面的网络资源加载,之前是作为一个模块运行在浏览器进程里面的,直至最近才独立出来,成为一个单独的进程。
  • 插件进程:主要是负责插件的运行,因插件易崩溃,所以需要通过插件进程来隔离,以保证插件进程崩溃不会对浏览器和页面造成影响。
  • TCP应用场景: 效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。例如:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。
  • UDP应用场景: 效率要求相对高,对准确性要求相对低的场景。例如:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。

垃圾回收:JavaScript代码运行时,需要分配内存空间来储存变量和值。当变量不在参与运行时,就需要系统收回被占用的内存空间,这就是垃圾回收。

  • Javascript 具有自动垃圾回收机制,会定期对那些不再使用的变量、对象所占用的内存进行释放,原理就是找到不再使用的变量,然后释放掉其占用的内存。
  • JavaScript中存在两种变量:局部变量和全局变量。全局变量的生命周期会持续要页面卸载;而局部变量声明在函数中,它的生命周期从函数执行开始,直到函数执行结束,在这个过程中,局部变量会在堆或栈中存储它们的值,当函数执行结束后,这些局部变量不再被使用,它们所占有的空间就会被释放。
  • 不过,当局部变量被外部函数使用时,其中一种情况就是闭包,在函数执行结束后,函数外部的变量依然指向函数内部的局部变量,此时局部变量依然在被使用,所以不会回收。

浏览器通常使用的垃圾回收方法有两种:标记清除,引用计数。 1)标记清除

  • 标记清除是浏览器常见的垃圾回收方式,当变量进入执行环境时,就标记这个变量“进入环境”,被标记为“进入环境”的变量是不能被回收的,因为他们正在被使用。当变量离开环境时,就会被标记为“离开环境”,被标记为“离开环境”的变量会被内存释放。
  • 垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记。然后,它会去掉环境中的变量以及被环境中的变量引用的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变量了。最后。垃圾收集器完成内存清除工作,销毁那些带标记的值,并回收他们所占用的内存空间。
  • 另外一种垃圾回收机制就是引用计数,这个用的相对较少。引用计数就是跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型赋值给该变量时,则这个值的引用次数就是1。相反,如果包含对这个值引用的变量又取得了另外一个值,则这个值的引用次数就减1。当这个引用次数变为0时,说明这个变量已经没有价值,因此,在在机回收期下次再运行时,这个变量所占有的内存空间就会被释放出来。
  • 这种方法会引起循环引用的问题:例如: obj1obj2通过属性进行相互引用,两个对象的引用次数都是2。当使用循环计数时,由于函数执行完后,两个对象都离开作用域,函数执行结束,obj1obj2还将会继续存在,因此它们的引用次数永远不会是0,就会引起循环引用。

这种情况下,就要手动释放变量占用的内存:

虽然浏览器可以进行垃圾自动回收,但是当代码比较复杂时,垃圾回收所带来的代价比较大,所以应该尽量减少垃圾回收。

  • 对数组进行优化: 在清空一个数组时,最简单的方法就是给其赋值为[ ],但是与此同时会创建一个新的空对象,可以将数组的长度设置为0,以此来达到清空数组的目的。
  • object进行优化: 对象尽量复用,对于不再使用的对象,就将其设置为null,尽快被回收。
  • 对函数进行优化: 在循环中的函数表达式,如果可以复用,尽量放在函数的外面。

一个完整的URL包括以下几部分:

  • 协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符;
  • 端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口(HTTP协议默认端口是80,HTTPS协议默认端口是443);
  • 虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”;
  • 文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名;
  • 锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分;
  • 参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

我要回帖

更多关于 为什么qq老是有乱七八糟的访客 的文章

 

随机推荐