2019-11-27 14:01
⁄ 工业·编程
⁄ 共 3042字
随着经济的发展老百姓也越来越有钱,我们也不再以性价比为唯一标准去评价一件商品的好坏,更多关心是你是否认可这件商品,认可了它你就会愿意为它去花钱,就像你认可了这枚蛋,你就愿意用10块钱的价格去买一个几毛钱的东西。你用京东是认可它的物流,你用天猫是认可它的性价比,你去私立医院是认可它的服务,所以如果你是互联网企业的老总,你不用担心客户没有钱,你只需要担心你凭什么让客户认可你愿意为你掏钱,这就是互联网...
互联网, 软件开发阅读全文
2019-11-26 13:56
⁄ 工业·编程
⁄ 共 451字
「持续集成(Continuous Integration)」、「持续交付(Continuous Delivery)」和「持续部署(Continuous Deployment)」这三个概念有很详细的解释。这里借用文中的插图,说一下我对这三个概念的理解。
持续集成 持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续交付 持续交付在...
CI阅读全文
2019-11-25 13:46
⁄ 工业·编程
⁄ 共 3254字
产品研发生命周期演化史:
1 纯人肉构建
这是发生在我身上的7年前的故事,我们的项目每周四会发布一个新版本,大家在每周四的晚上买好干粮饮料熬夜苦战。研发人员先提交代码,你merge我我merge,忙得不可开交;测试人员们则无事可做耐心等待。夜晚10点钟,研发人员终于憋出来一个build的过的版本,你方唱罢我登场,测试人员接手下一棒,研发人员开始扯皮打游戏修bug。凌晨3点,整个研发部门终于发布出一个看似还能用的部署包,...
CI, 软件开发阅读全文
2019-11-24 13:38
⁄ 工业·编程
⁄ 共 622字
/bin:
最常用的系统命令,所有用户都可以使用的命令都在这里,例如mkdir、ping、cd、pwd、bash等
/sbin:
与/bin意义相近,里面是只有root用户拥有的命令,例如iptables、reboot、shutdown、sysctl
/boot:
启动linuxOS时所用的核心文件
/dev:
device的缩写,外部设备与Linux的关联是通过文件方式来表现的,都存放在/dev下,像网卡、磁盘等
/etc
所有的系统管理所用的配置文件和子目录,像hosts,dnsmasq,yum安装的那些组件...
linux阅读全文
2019-11-23 13:20
⁄ 工业·编程
⁄ 共 475字
最近被问到一个问题:谈谈你对MQ的理解。
回答时心里还是很有谱的,因为对于MQ的研究学习没少花功夫,我就开始回答MQ主要是为了异步做削峰啊,防止洪峰让系统线程和内存爆掉啊,可以做一些非及时性的操作例如短信邮件发送啊,可以做操作热度和日志信息收集等高并发又可用性要求不高的场景啊。
面试官对我的答案不满意,从更专业的角度给我做了分析,听完后如雷贯耳。
站在架构角度上来讲,什么情况下使用MQ?
松耦合
站在业务角...
中间件阅读全文
2019-11-22 12:32
⁄ 工业·编程
⁄ 共 1863字
1.目前常用的web服务器有apache,nginx,lighttpd,iis,tomcat等等。
nginx:节省资源、在处理高并发请求时通常可以是APACHE5-10倍。
lighttpd:静态页和图片服务器使用这种。
2.负载均衡:转发请求到后端服务器。是解决高并发量的方法。只要用了集群,那么肯定会用负载均衡。原理如下:
2.1 软件:优点:免费 。
有两种软件,一种工作在网络的第四层,一种是第七层。
lvs/haproxy(四层):所有...
集群阅读全文
2019-11-21 12:40
⁄ 工业·编程
⁄ 共 612字
有时候调试bug需要知道某个函数从哪里调用导致出了问题的,就需要打印函数调用堆栈信息,在Linux可以使用backtrace函数来实现,下面是一个简单的例子:
#include <cstdio> #include <cstdlib> #include <execinfo.h>
using namespace std;
void Test3(int i) { printf("Hello world!\n");
int nptrs; ...
软件调试阅读全文
2019-11-20 11:47
⁄ 工业·编程
⁄ 共 471字
之前写代码的时候一直有个疑问,malloc申请内存的时候指定了内存大小,但是free的时候却只指定要释放的内存地址,那么free是如何知道它要释放的内存空间大小呢?
源码之前,了无秘密,下面就从源码来扒一扒。
由上图可知,malloc和free分别调用了malloc_internal和free_internal来实现具体的操作。
在malloc_internal中,最需要注意的一行就是计算需要分配空间的大小,可以看到,计算该空间时还加了一个sizeof(allocation_he...
glibc阅读全文
2019-11-19 10:59
⁄ 工业·编程
⁄ 共 1935字
boost库是每一个C++程序员都应该学会使用的库,也是C++开发中少不了的库,这个库被称为C++的准标准库,很多C++的新标准都是从这个库里面扣出来的。在C++沉沦的十年中,是这个库一直给C++注入蓬勃的生机!紧跟boost库的发展可以说就是在跟进C++标准的发展。
一、下载安装
1、官网下载
下载地址:https://www.boost.org/users/download/ 进入下载页面可以看到很多信息:包括boost最新版本、有关boost的说明文档、历史版本等...
boost库阅读全文
2019-11-18 10:02
⁄ 工业·编程
⁄ 共 11377字
本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Write技术。
平台:x86_64-redhat-linux
gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
1. 问题提出
最近在我们的项目当中,出现了两次与使用string相关的问题。
1.1 问题1:新代码引入的Bug
前一段时间有一个老项目来一个新需求,我们新增了一些代码逻辑来处理这个新需求。测试阶段没有问题,但上线之后,偶...
GCC阅读全文