- 博客(60)
- 收藏
- 关注
原创 Mysqldump 当中一些重要参数
未开启gtid的主库,创建从库,在从库通过mysqldump实时导入完毕数据后,如何实时同步binlog的位置点呢?--master-data[=value]Use this option to dump a source replication server to produce a dump file that can be used to set up another server as a replica of the source. It causes the dump...
2021-05-20 10:58:43
231
原创 Mysql Gtid实例分析
master create database udb; CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; delimiter ;; create procedure idata() begin declare i int; se.
2021-05-17 20:18:45
808
原创 TCP网络协议 TIME_WAIT总结
四次握手3.3 通过序列号与确认应答提高可靠性在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答(ACK)。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。 序列号是按照顺序给发送数据的每一个字节(8位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP ..
2021-05-06 19:17:06
424
原创 标准输出stdout stderr
分解这个组合:“>/dev/null 2>&1” 为五部分。1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt2:/dev/null 代表空设备文件3:2> 表示stderr标准错误4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于15:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"...
2021-04-27 17:35:28
1009
原创 nsenter 进程空间操作
nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。它位于util-linux包中。tcpdmp -Dtcpdump -i any icmp6 -nnv主库宿主机docker登录VM网络: docker inspect --format '{{.State.Pid}}' fea832cd-3acb-4c72-82bb-351b40184543 nsenter -t 4650 -n抓包:tcpdum...
2021-04-26 14:15:51
508
原创 Linux /proc/pid 文件目录解析
Linux 内核提供了一种通过 proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过 proc 得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取 proc 文件时,proc 文件系统是动态从系统内核读出所需信息并提交的。/proc/[pid]/auxv 包含传递给进程的 ELF 解释
2021-04-26 11:02:13
1497
原创 日常SQL
select case arch when 0 then "haproxy" when 1 then "sentinel" when 2 then "nvme normal" when 3 then "nvme ha" else "others" end as arch_new,arch ,id, state from t_ha_instance where state = 40;select a.id,b.id,a.virtual_ip as vip ,b.vir..
2021-04-20 19:45:09
151
原创 Golang编译原理
通过 cloc 工具先统计一下go的源码/root/.gvm/gos/go1.13.5/src/150万行go代码1.1.2 中间代码#生成汇编代码go build -gcflags -S main.go获得ssa,可以看到汇编语言的优化过程GOSSAFUNC=main go build main.go...
2021-04-06 14:58:43
516
原创 码字pthread
多线程tcp实例服务端:/************pthread_cond_wait()的使用方法**********/ //pthread_mutex_lock(&qlock); /*lock*///pt
2021-03-31 17:44:04
141
原创 浅析Linux信号机制
信号在Linux系统中有广泛的应用,但信号机制不像消息队列、信号量那么直接明了,而是存在着较多的特殊逻辑。本文主要是分析信号的用户层接口在内核中是如何实现的,以及使用过程中需要注意的地方。如无特别说明,本文中内核代码的版本是2.6.32.27(展示代码有删减,只保留相关的部分),体系结构是IA-32。1.基础知识这里不介绍信号的概念、作用和常用API等内容,只是描述一下内核中和信
2021-03-30 16:10:48
471
转载 Mysql5.7中文手册
Mysql5.7中文手册https://www.docs4dev.com/docs/zh/mysql/5.7/reference
2021-03-29 15:35:59
2871
1
原创 记录某DB公司一道笔试题
平时会遇到 随机码中的I 和 1 傻傻分不清楚吗那么把8字符以内的字符串,可能出现的所有模糊字符串输出到数组。思路挺简单的// 字符串长度不一定,最大值8// '1wI' 1 I | | w w /\ /\ 1 I 1 I输出:['1 w 1','1 w I','I w 1','1 w I']代码不难,就附在这里的,有需要的小窗我也欢迎沟通交流!...
2021-03-28 21:22:49
139
原创 记录大厂一道笔试题
再记录一道笔试题描述:迈克 负责下肉,下肉的个数为 n个,n>=1汤姆 负责吃,吃肉的速率是m秒,(每次只能吃一块肉) m<=1000(x,y)x 表示 肉在第x秒下锅,y 表示 肉下锅过y秒最美味(即汤姆吃到最合适)题目实例:n:3 m:1后三行,代表x,y的数组1 21 32 3解题思路:画个时间轴,题目就迎刃而解了编号A 1 2B 1 3C 2 3...
2021-03-28 21:10:43
160
原创 LeetCode 不定期刷题
//螺旋矩阵func spiralOrder(matrix [][]int) []int { //首先二维矩阵的行列不为0 if len(matrix) == 0 || len(matrix[0]) == 0 { return []int{} } //二维矩阵的行列数,常量 rows, columns := len(matrix), len(matrix[0]) //二维数组标记每个点是否被访问过 visited := mak...
2021-03-27 15:50:26
175
原创 auto_ptr、scoped_ptr、unique_ptr 分析
c++ 动态指针的一些问题 #这事涉及资源所有权的问题。scoped_ptr,auto_ptr都是表达唯一所有权持有者的,区别在于,scoped_ptr的所有权是从一而终的,auto_ptr则允许用户以很自然的方式转交资源。两者的设计理念都保证同一时刻所有权持有者唯一。auto_ptr的好处是显而易见的。比如你在用vector保存智能指针时,由于大量元素操作必须涉及资源转移,scoped_ptr完全没法用。然而其设计上的最大问题在于让一切赋值行为变成了资源转交。这一点不符合最小惊讶原则,你很难.
2021-03-25 11:17:49
249
原创 Go内存管理浅析
Golang内存管理虚拟内存#当Cache没有命中的时候,访问虚拟内存获取数据的过程。在访问内存,实际访问的是虚拟内存,虚拟内存通过页表查看,当前要访问的虚拟内存地址,是否已经加载到了物理内存。如果已经在物理内存,则取物理内存数据,如果没有对应的物理内存,则从磁盘加载数据到物理内存,并把物理内存地址和虚拟内存地址更新到页表。物理内存就是磁盘存储缓存层,在没有虚拟内存的时代,物理内存对所有进程是共享的,多进程同时访问同一个物理内存会存在并发问题。而引入虚拟内存后,每个进程都有各自的虚拟内存,内存.
2021-03-25 10:23:33
538
转载 广告术语
CPM、CPC、CPA、PFP、CPS、CPL、CPR等广告术语是什么意思 一个网络媒体(网站)会包含有数十个甚至成千上万个页面,网络广告所投放的位置和价格 就牵涉到特定的页面以及浏览人数的多寡。这好比平面媒体(如报纸)的“版位”、“发行 量”,或者电波媒体(如电视)的“时段”、“收视率”的概念。 1.CPM(Cost Per Mille,或者Cost Per Thousand;Cos
2017-04-10 11:50:13
539
原创 (phpbrew)PHP+FPM 多版本管理工具
大多数语言编程的时候,都会碰到在不同版本下的代码兼容性问题,测试代码兼容性,或者调试老旧代码,需要不同的语言版本环境. ruby有了rbenv,rvm,nodejs也有nvm,当然php也应该有个类似的 phpenv , php-version , phpbrew 来管理PHP版本,简单查看了下这三个工具,我更偏向于phpbrew一些,其实我更愿意叫它PHPbrew.
2017-04-07 19:08:14
4746
转载 Linux Shell之sort命令
[原文] http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.htmlsort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后
2017-03-23 08:52:29
568
转载 MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问
2017-03-21 16:17:21
1143
转载 gdb调试秘籍(寄存器、栈)
GDB的常用调试命令大家可以查阅gdb手册就可以快速的上手了,在这儿就不给大家分享了,需要的可以到GDB的官网去下载手册。这里重点分享下GDB调试中的一些寄存器和栈的相关知识用于解决下列gdb调试时的问题:优化的代码在printf或其它glibc函数处core没有检查返回值的函数调用异常导致的异常优化的代码的计算异常的中间过程分析栈溢出导致的core局部变量越界导致栈异
2017-03-21 16:13:49
19226
2
原创 【Laravel】 的请求生命周期
生命周期概述#第一件事#一个 Laravel 应用的所有请求的入口都是 public/index.php 文件。 通过网页服务器 (Apache / Nginx) 所有请求都会导向这个文件。 index.php 文件没有太多的代码,只是加载框架其他部分的一个入口。index.php 文件载入 Composer 生成的自动加载器定义,并从 bootstrap/app.ph
2017-03-18 22:24:38
737
转载 gzip、长缓存、 entity tag 的使用方法
Gzip 可以使资源加载时,大小缩减到原来的 1/3 。长时间缓存可以让浏览器不加载没有变化的文件。这两者都是前端性能优化的范畴,大家都懂的。资源文件长缓存将 Cache-Control 改为 public ,并加上一年的长缓存,配合 MD5 版本号实现长缓存 + 按版本号自动更新:location /res{ expires 1y;
2017-03-17 16:59:01
1676
转载 RTB竞价中的cookie mapping技术
首先通过一些关键词解释普及或者回顾一下背景,ADX:Ad exchange的简称。一般特指Ad exchange平台模块DMP:Data Management Platform的简称。DMP存储了流量、受众的各种特征信息。DSP:Demand Side Platform的简称。可以看做流量的购买方,为广告主服务。广告主可以通过DSP购买流量,达到营销的目的。DSP可以接入a
2017-03-14 18:21:56
655
转载 构建高并发高可用的电商平台架构实践
从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。转载请声明出处:http://blog.youkuaiyun.com/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索、开源技术QQ:306591368技术Blog:http://blog.youkuaiyun.com/yangbutao 一
2017-03-13 10:46:19
298
转载 SATA SAS SSD 硬盘介绍和评测
SATASATA的全称是Serial Advanced Technology Attachment,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。SATA硬盘采用新的设计结构,数据传输快,节省空间,相对于IDE硬盘具有很多优势: 1 .SATA硬盘比IDE硬盘传输速度高。目前SATA可以提供150MB/s的高峰传输速率。
2017-03-12 17:24:37
764
转载 SOA面试题
SOA代表了面向服务的架构。如果你正在准备采取SOA,以下SOA的面试问题和答案可能对你非常有用。基本上,这些SOA的面试题涵盖了整个SOA。涉及SOA的服务特点和原理,服务,合同,地址和绑定的松耦合,SOA对于业务和IT的主要优点,服务与组件的差别,SOA的业务需求等等。1. 什么是SOA的服务? 在现实世界中,服务是一种我们花费购买到的一种预期的服务。 例1 (来自
2017-03-11 22:14:41
686
转载 程序化广告实战分享系列 - 程序化广告入门
什么是程序化广告?程序化广告是运用技术手段将数字媒体广告投放整个过程中的各个环节信息化并通过技术手段衔接在一体;最终达成购买、投放、报表追踪、持续优化投放等等全环节完全可通过程序来自动完成,以提升媒介效率的目标。所以我们要认识到程序化广告仅仅是广告行业的信息化工具,工具是要被营销人员所用才能发挥效用的,我们需要将我们的媒介分析及优化策略在工具落实才能帮我们通过程序化的手段去管理大量广告投放
2017-03-10 22:15:11
3195
3
转载 程序化广告实战分享系列 - 程序化广告的前世今生及趋势(入门)
随着宋星老师的“CWA大课堂关于“数据驱动的互联网运营””开办了四期,陆续有学员询问宋老师关于程序化广告实操相关的问题。所以宋老师找到了我(其实我是谁并不重要,我只想把这么多年来在程序化广告实战中摸爬滚打的心得分享给到大家),希望我们俩能一起从买方、卖方、技术方等等各个角度为大家答疑解惑。所以我们也开始整理这个程序化广告实战的分享系列。但是随着整理内容的过程中我们发现这块的内容特别的繁杂,而且坑巨
2017-03-10 22:14:08
2139
原创 程序化广告入门
其实移动端和PC端是一样的。SSP英文全称“Supply Side Platform” 供应方平台,也可以说是媒体平台DSP英文全称“Demand Side Platform” 广告需求方平台,可以理解为广告主平台ADX英文全称“Ad Exchange”,叫做广告交易平台 是媒体流量的交易场所。SSP和DSP就是通过ADX实现的RTB模式程序化购买的DMP英文全称“Data Man
2017-03-10 22:11:28
1537
转载 MySQL中的联合索引
联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。两个或更多个列上的索引被称作复合索引。利用索引中的附加列,您可以缩小搜索的范围,但
2017-03-07 23:27:39
774
转载 mysql索引必须了解的几个重要问题
本文讲述了mysql索引必须了解的几个重要问题。分享给大家供大家参考,具体如下:1、索引是做什么的?索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。大多数MySQL索引(PRIMARY
2017-03-07 22:58:18
377
转载 FastCGI和php-fpm的区别
一直以来对cgi、php-cgi和php-fpm的概念都比较模糊,今天整理了一下:1、CGI是什么? CGI是个协议,跟进程什么的没关系。 web server(比如说 nginx)只是内容的分发者。比如, 1)如果请求的是/*.html静态数据,那么web server会去文件系统中找到这个文件,发送给浏览器。2)如果请求的是/*.p
2017-03-06 22:38:23
1312
转载 想不通HTTPS如何校验证书合法性来看
简介HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用 TLS/SSL 加密的 HTTP 协议。HTTP 协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议 T
2017-03-06 14:31:18
7756
2
转载 Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re
2017-03-06 12:11:37
333
转载 浅谈Linux信号机制
信号在Linux系统中有广泛的应用,但信号机制不像消息队列、信号量那么直接明了,而是存在着较多的特殊逻辑。本文主要是分析信号的用户层接口在内核中是如何实现的,以及使用过程中需要注意的地方。如无特别说明,本文中内核代码的版本是2.6.32.27(展示代码有删减,只保留相关的部分),体系结构是IA-32。1. 基础知识这里不介绍信号的概念、作用和常用API等内容,只是描述一下内核中和信
2017-03-05 22:26:06
1457
1
转载 Cookie/Session的机制与安全
Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道。本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题。因为HTTP协议是无状态的,即每次用户请求到达服务器时,HTTP服务器并不知道这个用户是谁、是否登录过等。现在的服务器之所以知道我们是否已经登录,是因为服务器在登录时设置了浏览器的Cookie!S
2017-03-05 10:30:29
331
转载 Android 架构图
架构图" name="image_operate_2311303812574052" alt="Android 架构图" src="http://s8.sinaimg.cn/middle/49f62c35ta1cf180a26a7&690" width="690" height="495">1.Applications 该层是Android应用程序层。每个应用必须利用android
2014-08-21 17:26:36
921
转载 三大WEB服务器对比分析(apache ,lighttpd,nginx)
一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth,输出压缩(output compress), URL重写, Alias等重要功能
2014-08-21 11:40:01
689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人