
软件架构与设计
文章平均质量分 82
渡人先渡己
个人github github.com/marco2013
展开
-
安装boost库
由于深度学习框架需要依赖boost库,默认安装版本又低,所有只能手动安装了wget http://www.mirrorservice.org/sites/dl.sourceforge.net/pub/sourceforge/b/bo/boost/boost/1.55.0/boost_1_55_0.tar.bz21. 源博客中的链接地址一直出错,所以在网上找了上原创 2017-11-17 12:55:14 · 805 阅读 · 0 评论 -
三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)
LVS:1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生。2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived)3、应用范围比较广,可以对所有应用做负载均衡;4、不支持正则处理,不能做动静分离。5、支持负载均衡算法:rr(...翻译 2018-05-25 10:01:28 · 360 阅读 · 0 评论 -
dockerfile文件构建容器
前言:在之前的时候有说过docker构建镜像有两种方式:(1)docker cumin制作镜像;但是不利于用户之间的共享属于黑盒操作(2)通过dockerfile文件创建容器;利于用户之间的共享;可以知道镜像之前做过什么样的改动1:Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerf...原创 2018-05-07 14:59:28 · 4027 阅读 · 1 评论 -
Linux下查看和添加环境变量
$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。 编辑你的 PATH 声明,其格式为: PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N> 你可以自己加上指定的路径,中间用冒号隔开。环境变量更改...转载 2018-04-27 14:34:24 · 215 阅读 · 0 评论 -
CentOS7安装EPEL源
EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件了,但在我们在使用epel时是需要安装它才可以了,EPEL,即Extra Packages for Enterprise Linux的简称,是为企业级Linux提供的一组高质量的额外软件包,包括但不限于Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), ...转载 2018-04-25 17:53:05 · 3134 阅读 · 0 评论 -
卸载系统默认python 后yum 无法使用的恢复办法
解决办法:python和yum 全部卸载 重新安装 步骤1:卸载python rpm -qa|grep python|xargs rpm -e --allmatches --nodepswhereis python|xargs rm -fr 步骤2:卸载yum rpm -qa|grep yum|xargs rpm -e --allmatches --nodepsrm -rf /etc/yu...原创 2018-04-25 14:46:57 · 3022 阅读 · 0 评论 -
解决ubuntu的中文乱码问题
ubuntu中文支持,及中文乱码问题该篇博文,是本人踩了一下午的坑的成果,亲测有效。对服务器同样有效。状况:所用的ubuntu系统不支持中文,遇见中文就????。ORZ…目标:使系统/服务器支持中文,能够正常显示。首先,安装中文支持包language-pack-zh-hans:$ sudo apt-get install language-pack-zh-hans然后,修改/etc/enviro...转载 2018-03-28 10:17:40 · 756 阅读 · 0 评论 -
多线程死锁的产生以及如何避免死锁
一、死锁的定义多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 下面我们通过一些实例来说明死锁现象。 先看生活中的一个实例,2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。某一个时候,一个拿了左筷子,一人拿了右筷子,2个人...转载 2018-03-21 18:08:11 · 180 阅读 · 0 评论 -
线程同步的几种方式
---------------------用户模式下的同步对象--------------------------------1、 临界区(CCriticalSection)-------------------当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。---------...转载 2018-03-22 15:40:43 · 186 阅读 · 0 评论 -
进程,线程,协程,并行与并发区别, 上下文
进程 进程的出现是为了更好的利用CPU资源使到并发成为可能。 假设有两个任务A和B,当A遇到IO操作,CPU默默的等待任务A读取完操作再去执行任务B,这样无疑是对CPU资源的极大的浪费。聪明的老大们就在想若在任务A读取数据时,让任务B执行,当任务A读取完数据后,再切换到任务A执行。注意关键字切换,自然是切换,那么这就涉及到了状态的保存,状态的恢复,加上任务A与任务B所需要的系统资源(内存,硬盘,...原创 2018-02-24 14:27:53 · 811 阅读 · 0 评论 -
docker 概念与使用
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的组成一个完整的Docker有以下几个部分组成:docker Client客户端 Docker Daemon守护进程 Docker Image镜像 Doc...原创 2018-02-13 10:41:41 · 410 阅读 · 0 评论 -
状态机小结
简单来看,状态机的抽象核心概念只有一个——State即状态,外加一个统管所有状态的对象——FSM即状态机(Finite State Machine),基本上这两种class就够了。然后我们要把逻辑代码与状态机本身的代码尽可能分离,目标是让代码规范、统一、简洁。 先看我写的代码:#include #include #include #include #include using name原创 2018-01-20 20:50:26 · 657 阅读 · 0 评论 -
gcc 线程模型与宏常量查看
gcc -v[root@localhost Delaypackage12.11]# gcc -v使用内建 specs。目标:x86_64-redhat-linux配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.原创 2017-12-11 17:16:04 · 510 阅读 · 0 评论 -
make makefile cmake qmake都是什么,有什么区别?
大家都知道,写程序大体步骤为:1.用编辑器编写源代码,如.c文件。2.用编译器编译代码生成目标文件,如.o。3.用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编转载 2017-11-16 22:11:28 · 263 阅读 · 0 评论 -
CentOS 7.0安装Nvidia驱动
CentOS 7.0 Nvidia显卡安装步骤:1 在英伟达官网下载相应驱动搜索出相应的驱动后,不要直接点,而是右健,Save Link as...否则,会出现下载半天没动静的情况。存放的路径上最好不要有中文。我存放的路径是 ~/Downloads/NVIDIA-Linux-x86_64-346.47.run2 屏蔽默认带有的nouveau使用su命令切换到ro原创 2017-11-22 14:01:15 · 1023 阅读 · 0 评论 -
CentOS、Ubuntu、Debian三个linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。UbuntuUbuntu近转载 2017-11-16 10:12:44 · 3170 阅读 · 0 评论 -
centos 安装scp
CentOS安装scp命令 在测试中需要在两台虚拟机之间传递文件,首先想到的是scp命令,结果提示:-bash: scp: command not found想当然用yum install scp命令安装,结果提示:No package scp available.后来发现scp这东西应该属于openssh-clients这个包,运行:yum insta原创 2017-11-19 15:06:52 · 428 阅读 · 0 评论 -
编译google test 源码
Steps:1) 下载gtest源码2) 解压,新建目录 build, cmake 产生的输出都会存在build目录中$ mkdir build$ cd build$ cmake ..-- The C compiler identification is GNU 5.4.0-- The CXX compiler identification is GNU 5.4.0...原创 2019-06-05 13:22:35 · 3036 阅读 · 0 评论