自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 没有core文件时定位segfault/core的问题——segfault at 0 ip xxxxxx(二):队友是猪吗?自己是猪吗?还是发现新大陆了?

接上文:https://blog.csdn.net/lianshaohua/article/details/107642136上文字位的问题比较简单,这次定位一个复杂场景的问题:有一个主程序,多线程调用多个so库,每个线程都有崩溃的可能,代码编译时做了-O3的优化;代码结构如下: 为了清晰,下面贴一下所有文件的代码:1、base_calc.h#pragma once#include <memory>...

2020-08-03 18:35:43 64

原创 没有core文件时定位segfault at 0 ip 的问题(一)

C/C++编写的程序,崩溃后有时不能生成core文件(即使设置了ulimited),所以往往不知道发生了什么事情,生产环境根本不允许研发小朋友去调试,日志有时候看不出问题了。(如果生成了core文件,或通过日志能定位到问题所以,则可略过此文章)。本文章专门针对于没有生成core文件、不能通过日志分析问题的情况首先,写一段测试代码吧,不用怀疑,这段代码肯定是有问题的#include <iostream>#include <cstdio>#include <mem

2020-07-28 18:18:51 131

原创 网银爬虫系统(爬取网银流水,爬取网银余额)难点分析

网银爬虫,难就难在以下几点(技术无错,请不要做非法的事情):1、输入用户名和密码:经过研究,输入的效率和正确率大有提升,并且不会被屏蔽,不会被杀毒,不连接外网。2、识别不同形式的验证码:这个事情没那么复杂3、解析爬取的数据(有些数据是加密的):需要随着银行的改版或升级而升级,没有一劳 永逸的做法网上说的很多方法都不靠谱,要么技术老旧,老么有各种各样的限制,不能真正用于生产环境。本贴子仅用于技术交流,有需要私下进行技术交流的请留下微信。...

2020-07-21 09:24:25 85

原创 word中实现图表的自动编号功能

工作中,经常需要对图表进行编辑和编号,有的时候会涉及图表的顺序调整、增加或删除,刚刚调整好的图表的编号就会被打乱,有的时候还会漏调,从而导致即使耗费了大量的时间,图表的序号依然会出现问题,有些得不尝失。实际上word已经为我们提供了图表统一编号的功能——题注。一、插入题注把光标定位在目标图片的下方(或目标表格的上方),在工具栏找到引用,点击【插入题注】按钮,...

2020-01-22 09:50:03 3445

原创 C++开发必备的书——《C++代码整洁之道》C++17可持续软件开发模式实践

https://item.jd.com/12599914.html?dist=jd每日新书《C++代码整洁之道:C++17可持续软件开发模式实践》掌握高效的现代C++编程法则;学会应用C++设计模式和习惯用法;利用测试驱动开发来创建可维护、可扩展的软件。编辑推荐:如果想用C++语言编写出易维护的、扩展性良好的以及生命力强的软件,那么,对于所...

2019-06-13 17:43:27 2478

原创 linux环境gcc多版本共存和版本切换

Software Collections(SCL)可以帮助解决 RHEL/CentOS 下的软件安装、软件依赖、多版本并存等问题,因为SCL 的创建就是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。 (此教...

2019-05-14 15:32:18 4738 3

原创 从U盘安装centos7.6(史上最简单的终极解决方案)

1、下载最新版本的centos(目前是centos 7.6) https://www.centos.org/download/ 由于我是安装服务器,所以选择了Minimal ISO(只有900多MB)2、制作Centos安装盘(准备一个空白的1GB以上的U盘) 2.1.安装UltraISO 2.2.安装完成后点...

2019-03-10 17:48:46 98418 102

原创 centos7升级gcc8.2

centos7系统自带的是gcc 4.8.5的,对c++11支持还算比较好。目前,c++14、c++17的标准都已出台,c++20还会远吗?为了更好的学习和工作,说白了就是为了尝鲜,老广干什么事情都是要尝鲜的,所以身在广东的我,也准备尝尝鲜,把centos7的gcc升级到gcc最新版本,目前最新的版本是gcc8.2(详见:https://gcc.gnu.org/) ...

2018-10-26 20:24:42 18285 13

原创 linux下安装vim8.0,支持python、perl、lua等解释器

centos vim7.4升级到vim8.0全过程

2017-06-28 14:00:25 4341

原创 vim 配置文件

set nocompatible " 关闭 vi 兼容模式set smartindent "当在大括号中间回车的时候,他会智能缩进,因为他知道括号中间要缩进set tabstop=4set shiftwidth=4set expandtabsyntax on " 自动语法高亮set number " 显示行号set cursorline " 突出显示当前行set ruler " 打开状态栏标尺set shiftwidth=4 " 设定 << 和 >> 命令移动时的.

2020-08-07 18:18:30 27

原创 CMakeList模板(二):编译多个工程

编译多个库和可执行文件分别编译出动态库add与sub,可执行文件main依赖这两个库,目录结构如下:.├── CMakeLists.txt└── source ├── add │ ├── CMakeLists.txt │ ├── add.cpp │ └── add.h ├── sub │ ├── CMakeLists.txt │ ├── sub.cpp │ └── sub.h └── main

2020-08-04 12:22:41 54

原创 CMakeList模板(一):简单的模板

cmake_minimum_required( VERSION 3.8 FATAL_ERROR)project(main VERSION 1.0.0 LANGUAGES CXX)#set dirsset(PROJECT_ROOT ${CMAKE_CURRENT_LIST_DIR})message("project dir:${PROJECT_ROOT}")SET(BIN_DESTINATION ${PROJECT_SOURCE_DIR}/bin)SET(CMAKE_ARCHIVE_OUTP.

2020-08-04 11:33:37 37

原创 python pip install read timeout的解决办法——使用国内的源

国内源有很多,建议使用下面的:清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣:http://pypi.douban.com/simple/在Linux下:修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)pi.

2020-08-03 08:41:58 38

原创 linux下删除文件夹之外除某个文件之外的所有文件

ls|grep -v "不想删除的文件名"|xargs rm -rf如:ls|grep -v "build.sh" |xargs rm -rf #删除当前目录下除build.sh之外的所有的文件 、文件夹

2020-07-30 15:05:10 17

原创 使用tushare获取交易日历和K线数据

import tushareclass basic_data(object): def __init__(self): tushare.set_token("46691c5820ed7e62507866e9e1b481f0c5fc36924fff0a21434798e") self._ts=tushare.pro_api("46691c5820ed7e62507866e9e1b481f0c5fc36924fff0a21434798") def get.

2020-07-30 14:04:32 42

原创 boost共享内存:managed_shared_memory用法示例

#include <iostream>#include <thread>#include <chrono>#include <boost/smart_ptr.hpp>#include <boost/make_shared.hpp>#include <boost/interprocess/managed_shared_memory.hpp>//#include <boost/interprocess/managed_.

2020-07-23 11:23:57 48

原创 房地产评估系统

前段时间,应一个朋友的需求,帮他做了一套专门用于房地产评估的系统,主要功能如下:1、询价功能:业务员或银行人员询价2、回价功能:自动回价和人工回价3、预预估功能:对房产进一预评估,价格、税费等4、正式报告:根据模板生成正式的评估报告5、与银行对接:6、人员、角色、权限的管理7、财务报表功能8、日程提醒功能;9、对接常见的房地产厂家的房地产数据;...

2020-07-22 18:39:02 52

原创 valgrind 使用简介

http://valgrind.org/docs/manual/manual-core.html

2020-05-27 12:29:58 93

转载 硬不硬你说了算!近40张图解被问千百遍的TCP三次握手和四次挥手面试题

前言不管面试 Java 、C/C++、Python 等开发岗位, TCP 的知识点可以说是的必问的了。任 TCP 虐我千百遍,我仍待 TCP 如初恋。遥想小林当年校招时常因 TCP 面试题被刷,真是又爱又恨....过去不会没关系,今天就让我们来消除这份恐惧,微笑着勇敢的面对它吧!所以小林整理了关于 TCP 三次握手和四次挥手的面试题型,跟大家一起探讨探讨。TCP 基本认识...

2020-04-16 08:48:26 193

原创 TiDB 整体架构

要深入了解 TiDB 的水平扩展和高可用特点,首先需要了解 TiDB 的整体架构。TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP 需求的TiSpark组件和简化云上部署管理的TiDB Operator组件。TiDB ServerTiDB Server 负责接收 SQL 请求,处理 ...

2020-03-23 12:51:38 68

原创 TiDB内幕之调度

为什么要进行调度先回忆一下三篇文章了解 TiDB 技术内幕 - 说存储提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行复制和管理,每个 Region 会有多个 Replica(副本),这些 Replica 会分布在不同的 TiKV 节点上,其中 Leader 负责读/写,Follower 负责同步 Leader 发来的 raft lo...

2020-03-22 17:40:31 137

原创 TiDB内幕之计算

关系模型到 Key-Value 模型的映射在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table 以及如何在 KV 结构上运行 SQL 语句。 假设我们有这样一个表的定义:CREATE TABLE User { ID int, Name varchar(20), Role varchar(20), Age int, PRIM...

2020-03-22 17:39:44 77

原创 TiDB内幕之存储

引言数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。很多人用过数据库,但是很少有人实现过一个数据库,特别是实现一个分布式数据库。了解数据库的实现原理和细节,一方面可以提高个人技术,对构建其他系统有帮助,另一方面也有利于用好数据库。研究一门技术最好的方法是研究其中一个开源项目,数...

2020-03-22 17:38:56 93

原创 tiDB简介二

TiDB 简介TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP (Online Transactional Proces...

2020-03-22 16:04:15 44

转载 tiDB简介

由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺点比较)数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致...

2020-03-22 15:54:21 87

原创 TiDB原理解析

TiDB是PingCAP公司设计的开源分布式NewSQL数据库。由于它兼容MySQL协议,并支持绝大多数SQL功能(比如joins,subqueries,transaction等)。业务能够直接通过MySQL connector去使用它来替换MySQL。TiDB适合场景:数据量大,MySQL复杂查询很慢。Online DDL影响业务的使用。 MySQL单机容量或者性能达到瓶颈,不想分库分表...

2020-03-22 15:53:12 296

转载 websocket、http、socket

Socket 和 WebSocket 有哪些区别和联系? WebSocket 和 HTML5 是什么关系? 必须在浏览器中才能使用 WebSocket 吗? WebSocket 能和 Socket 一样传输 raw 数据么? WebSocket 和 Socket 相比会多耗费流量么?但是,目前网上全面介绍这两种协议的中文文章并不多,或者说不够全面。我无法找到一篇文章能解决上面的所有问题。...

2020-03-21 10:46:13 29

转载 受得了多大的委屈,才做得了多大的事

2012年,8月23日,微信上线了微信公众平台。这个独属于张小龙团队的“发明”,让微信不再只是一个即时通讯工具或社交工具,彻底改写了中国互联网的生态解构。受得了多大的委屈,做得了多大的事;受得了多大诋毁,就能承的住多大赞美;耐得住寂寞,才能守得住繁华。为什么一个老板再难,也不会轻言放弃,而一个员工做得不顺就想逃走;为什么一对夫妻再大的矛盾,也不会轻易离婚,而一对情侣常为一些很小的事就分开...

2020-02-03 09:00:41 135

翻译 为什么谷歌的开发人员认为敏捷开发是无稽之谈?

在 Quora 上有人提出了 " 为什么像谷歌这种公司的开发人员认为敏捷开发是无稽之谈?" 的问题,关于此,作为一名前谷歌工程总监,David Jeske 提供了一些个人见解,以下是 David Jeske 的回答。对很多人来说,敏捷意味着很多事情。我认为敏捷宣言从较高层次而言,与谷歌工程师对软件开发的看法是很接近的。个体和互动高于流程和工具 工作的软件高于详尽的文档 客户合作高于合同...

2020-01-21 15:51:55 176

原创 Principles behind the Agile Manifesto

Principles behind the Agile ManifestoWe follow these principles:Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.Welcome changing req...

2020-01-21 10:38:44 133

转载 软件质量评估模型

软件质量评估模型大概分3个主要方向:1.需求的覆盖度需求的覆盖度计算方法可以用测试用例覆盖需求来计算,这里的需求是从需求规格说明书里提取的测试需求,每条测试需求要控制好一定的范围,差不多2条用例覆盖一条测试需求(1个正常用例,1个异常用例),一般要求需求覆盖度要达到100%。可以根据工具来计算这个需求覆盖度,比如禅道就可以在需求下关联测试用例。2.测试用例执行情况测试用例执行...

2020-01-21 09:27:46 216

转载 解读测试架构师

  测试架构师  测试的发展主要是管理线和技术线  管理线:测试人员管理,项目管理,资源协调等  技术线:测试策略,技术规划,测试方法引入,自动化框架,自动化平台等  软件测试架构师更多就是技术线的带头人。管理线的人更多的工作语言是:绩效,考评,时间点,质量等。  技术线的更多工作语言是:技术规划,技术可行性,技术价值,技术共享性,解决什么问题等。  软件测试架构...

2020-01-21 09:27:04 107

转载 一个测试人员如何变成测试架构师

测试架构师必须具备的第一个能力:“准确的商业理解力。”了解自己所在公司测试架构师团队的运作和工作内容,虽然我们之前也从未接触过微软的测试架构师。但随着公司业务的扩大,业务的需要驱动了我们公司内部有一小部分人担当起了测试架构师的职责,其title来源也是有其偶然性。原本公司中测试工程师往上发展就是系统测试工程师,系统测试工程师再往上应该叫什么呢?最后参考软件开发的title,就开创性的在公司内部...

2020-01-21 09:25:51 168

转载 好的架构师都是善良的独裁者

对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。就连世界首富比尔盖茨在2000年卸任公司CEO的同时,也担任了微软公司的荣誉角色“首席软件架构师”,可见“架构师”这一称谓的吸引力。架构师是公司的“金领”,有着非常高的收入,很少需要考虑生存的问题,从而有更多的精力思考关键技术问题,形成“强者愈强”的良性循环。部分优秀的开发人员在工作了一定时间后,就要开始考虑自己的未来到底向哪个方向发展。...

2020-01-20 14:54:23 79

原创 好的架构师都是善良的独裁者

对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。就连世界首富比尔盖茨在2000年卸任公司CEO的同时,也担任了微软公司的荣誉角色“首席软件架构师”,可见“架构师”这一称谓的吸引力。架构师是公司的“金领”,有着非常高的收入,很少需要考虑生存的问题,从而有更多的精力思考关键技术问题,形成“强者愈强”的良性循环。部分优秀的开发人员在工作了一定时间后,就要开始考虑自己的未来到底向哪个方向发展。...

2020-01-20 14:49:20 59

原创 好的架构师都是善良的独裁者

对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。就连世界首富比尔盖茨在2000年卸任公司CEO的同时,也担任了微软公司的荣誉角色“首席软件架构师”,可见“架构师”这一称谓的吸引力。架构师是公司的“金领”,有着非常高的收入,很少需要考虑生存的问题,从而有更多的精力思考关键技术问题,形成“强者愈强”的良性循环。部分优秀的开发人员在工作了一定时间后,就要开始考虑自己的未来到底向哪个方向发展。...

2020-01-20 14:37:36 72

转载 正交表

第一章正交表的概念§1-1引子在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。例如,假设某个实验的结果由A,B,C,D四个因素的取值决定,每个因素都有10个不同的取值,那么如果想把...

2020-01-02 17:38:56 524

原创 仗剑走天涯,执手闯天下

2019-10-29 11:20:35 178

原创 我想牵着你的手……

2019-10-29 11:18:03 90

转载 沈从文——一个战士不是战死沙场,便是回到故乡

开了网络,才知道五十号是沈从文离开我们29周年,对于一个喜爱先生文字的人,却忘记了这个重要的日子,难免感到几分遗憾,20岁的沈从文,辞别父母,从常德乘船,越过八百里洞庭湖,经武汉,到达郑州。因黄河涨水受阻,遂转徐州,经天津,到达北京。一个“乡下人”,从偏处一隅的蛮荒之地,突然置身于大都市,眼前的一切都使他感到新奇。同时,又有点手足失措,心里空落落...

2019-10-29 10:37:39 300

提示
确定要删除当前文章?
取消 删除