2018-09-30 10:59
⁄ 工业·编程
⁄ 共 833字
在大型后端系统中,白名单机制是必不可少的,主要用在以下几个方面:
黑名单的对立面。这是白名单最明显的应用场景,例如微信朋友圈禁止抖音、快手等平台的短视频分享,但是微信、QQ等APP拍摄的小视频是可以分享的,所以这里有一个“短视频分享白名单”在起作用。
测试帐号。我们在测试新功能的时候,刚开始不想对所有用户都生效,可以通过白名单机制限制生效范围,利用白名单的思想可以对账号进行分类,只有在白名单中的测试帐号...
方法, 软件开发阅读全文
2018-09-28 10:48
⁄ 工业·编程
⁄ 共 986字
程序core掉的方法可以通过glog的FATAL级别日志,或者调用abort函数等方式终止程序。core掉的好处是很明显的,它能将严重的错误及时暴露出来,以便及早处理。后端系统通常都设计有容错冗余机制,一个进程core掉,其服务功能会自动由同组的其他进程来承担(failover),因此没有必要让“生病的程序带病工作”。
在计算机术语中,故障转移(英语:failover),即当活动的服务或应用意外终止时,快速启用冗余或备用的服务器、系统、硬...
异常处理阅读全文
2018-09-25 10:10
⁄ 工业·编程
⁄ 共 794字
一般情况下,我们按照由外入内,从大到小的顺序介绍系统架构。
"外"是指系统的外貌,即系统的行业背景、核心功能、主要用户和系统特点。注意介绍时讲话要简洁明了,每个点都力求只用一句话,绝不拖泥带水,给面试官留下一个"惊人的好印象",让他觉得眼前这个面试者属于有备而来,不是来讲废话浪费双方时间的。
"内"是指系统架构的组成,主要包含哪些模块,各模块使用的技术栈。有个技巧是按照数...
架构师, 面试阅读全文
2018-09-22 08:26
⁄ 工业·编程
⁄ 共 4523字
线程池是一种很经典的技术,在后端系统中很常见。线程池的常规做法是提前创建好一组工作线程,然后将任务分发给这些工作线程来处理,这样就避免了频繁的线程创建和销毁,同时也能很好的控制线程数量。线程池本质上是一种池化技术,利用空间来换取时间。线程池技术已经存在很多年,在面试的时候被问到的概率很高,在工作中也非常有用。
首先来看面试中的线程池,通常面试官会提问线程池的目的和原理,如果面试时间充足的话,恭喜...
线程池阅读全文
2018-09-15 08:21
⁄ 工业·编程
⁄ 共 1243字
gdb是C/C++程序员必备的专业技能,工作中gdb最常用的场景有两个,一个是分析core文件,另一个是调试程序。
分析core文件的方法如下:
1、gdb 程序名 core文件名
2、bt或where命令查看堆栈信息。
3、进入某个栈:f N,f是frame的缩写,N是栈号,如0、1、2、3...
进入到某个栈后,才能通过p命令查看这个栈的临时变量,否则只能查看全局变量。
例如a.out程序core产生了core文件core-a.out-12345,gdb方法如下:
gdb a.out core-a.o...
GDB阅读全文
2018-09-10 07:28
⁄ 工业·编程
⁄ 共 619字
计算机网络中的带宽、交换结点中的缓存及处理机等都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。拥塞控制就是 防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。注意,拥塞控制和流量控制不同,前者是一个全局性的过程,而后者指点对点通信量的控制。
拥塞控制的方法主要有以下四种:
1). 慢启动:不要一开始就发送大量的...
TCP阅读全文
2018-09-05 07:27
⁄ 工业·编程
⁄ 共 617字
GET与POST是我们常用的两种HTTP Method,二者之间的区别主要包括如下五个方面:
(1). 从功能上讲,GET一般用来从服务器上获取资源,POST一般用来更新服务器上的资源;
(2). 从REST服务角度上说,GET是幂等的,即读取同一个资源,总是得到相同的数据,而POST不是幂等的,因为每次请求对资源的改变并不是相同的;进一步地,GET不会改变服务器上的资源,而POST会对服务器资源进行改变;
(3). 从请求参数形式上看,GET请求的数据会...
web开发阅读全文
2018-08-30 07:06
⁄ 工业·编程
⁄ 共 581字
TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。
对于可靠性,TCP通过以下方式进行保证:
数据包校验:目的是检测数据在传输过程中的任何变化,...
TCP阅读全文
2018-08-29 19:48
⁄ 工业·编程
⁄ 共 3299字
在上周举办的云栖大会重庆峰会上,阿里云总裁兼AliOS总裁胡晓明宣布,在重庆生产的新福特翼虎将搭载基于AliOS的斑马智行,并于近期上市,这是全球汽车巨头第一次使用中国的汽车操作系统。
他还畅想到,当搭载AliOS的车辆达到1000万、2000万辆,将会对城市规划、道路出行、资源节约起到促进作用。不得不说,胡晓明的野心真大。要知道,目前AliOS装车量仅为70万辆,年底将突破100万辆,从2016年7月全球首款量产互联网汽车荣威RX5...
AliOS, 操作系统阅读全文
2018-08-25 06:49
⁄ 工业·编程
⁄ 共 4866字
Windows CE最大程度继承了桌面版Windows的丰富功能,但是Windows CE并不是一个通用的安装版操作系统。在形形色色的嵌入式设备世界里,一款CE系统通常只会针对某一种硬件平台生成。
一般来说,Windows CE的开发过程可以分为:0AL(OEM Abstraction Layer)、驱动、应用程序开发三个步骤。其中,0AL开发最基本的一步是板级支持包(BSP),而BootLoader设计则在BSP开发中具有极为关键的地位。
1.什么是BootLoader
...
Bootloader阅读全文