自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (3)
  • 收藏
  • 关注

原创 linux0.11中jmpi 0,8解析

那么上述的selector会被加载到段寄存器cs的selector部分,而段寄存器的不可见部分相当于缓存,它会将查询到的段的信息(段基值,段限长,可读可写等属性)缓存起来,当下次仍然用同样的段选择子去查询时就不用再查表,就直接用缓存的部分,相当于提高了执行效率,当然这个只是和该文主题没有半毛钱关系,仅仅记录。G表示段界限粒度,为0时表示粒度为1字节,为1时表示粒度为4KB,一般置为1。在jmpi 0,8中,段选择子的值为8。S表示是否为系统段,为1时表示系统段,为0时表示非系统段。

2024-03-30 21:42:16 640

原创 nginx配置跨域--OPTIONS

这是根据跨域资源共享(CORS)规范定义的行为。在预检请求中,浏览器会发送一个 `OPTIONS` 请求,并携带一些跨域相关的头字段,如 `Origin`、`Access-Control-Request-Method`、`Access-Control-Request-Headers` 等。因此,当你在发送 `PATCH` 请求时,如果服务器没有正确配置跨域访问的相关响应头,浏览器会先发送一个 `OPTIONS` 请求进行预检,然后根据预检请求的响应头来决定是否继续发送实际的 `PATCH` 请求。

2024-03-15 14:44:52 393

原创 Error: INSTALLATION FAILED: failed parsing

helm在设置参数时, 符号,需要利用\进行转义,即。使用helm命令安装包时报错。

2023-10-26 16:20:44 222

原创 threadSafeMap代码解析

该过成加速了查询,但是使更新变得麻烦, 更新的时候不仅要更新items中的数据,还要更新所有indices中的数据。以上就是k8s client-go 使用的缓存的最底层结构, 它用在deltafifo和store里面。该函数用于根据某个indexName(非主键索引)中某个obj对应的所有items。

2023-10-23 17:01:18 137

原创 SCRAM authentication requires libpq version 10 or above

pg_dump执行

2023-09-27 10:08:51 1735

原创 javascript中??和?的区别

如果 `expression1` 的值为 `null` 或 `undefined`,则 `result` 的值为 `expression2`;如果 `object` 不为 `null` 或 `undefined`,则返回 `property` 的值;在这个例子中,`name` 的值为 `null`,所以 `result` 的值为 `defaultName`,即 "John"。在这个例子中,`person` 对象存在,并且有一个 `name` 属性,所以 `result` 的值为 "John"。

2023-08-18 10:48:20 152

原创 fatal: ‘origin‘ does not appear to be a git repository fatal: Could not read from remote re

fatal: 'origin' does not appear to be a git repository fatal: Could not read from remote repository.

2022-11-10 21:59:34 635 2

转载 pthread_mutex实现

https://www.cnblogs.com/pslydff/p/7041444.html我们来考察下pthread中锁的实现。首先看下初始化宏:PTHREAD_MUTEX_INITIALIZER。# define PTHREAD_MUTEX_INITIALIZER \ { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }/...

2019-06-25 18:37:28 1383

转载 linux安装python2.7

http://www.jianshu.com/p/6425d18d3e47安装依赖的库yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel libxslt-develPython===================================

2017-10-27 11:18:31 1571

原创 利用sqlacodegen生成models.py数据库模型文件

最近在搭建FLASK服务器,利用sqlachemy访问数据库,自己写orm太麻烦了,于是利用sqlacodegen生成之    首先进入虚拟环境然后利用pip install sqlacodegen安装   然后利用easy_install mysql-python安装pymsql库   最后利用命令sqlacodegen mysql://root:[email protected]

2017-10-25 15:08:50 1682

原创 腾讯企业邮箱无法登陆

利用腾讯企业邮箱发送邮件,看日志发现无法连接上查看日志报错信息:(501,\xcf\xb5\xcd\xb3\xd2\xd1\xc7\xbf\xd6\xc6\xbf\xaa\xc6\xf4\xd5\xca\xba\xc5\xc9\xfd\xbc\xb6\xc9\xe8\xd6\xc3\xa3\xac\xc7\xeb\xb5\xc7\xc2\xbcexmail.qq.com\xb0\xf3

2017-10-23 19:56:52 4911

原创 python redis pipeline报ConnectionError

import redisconn = redis.Redis(host='172.28.12.177',port=19230,db=0)>>> conn.setnx('heheda', 0)True>>> pipe = conn.pipeline()>>> pipe.expire('hehe', 60)Pipeline>>>>> pipe.incr('hehe')

2017-10-19 18:07:26 5375

原创 服务器开发不容易啊

由于是做证券交易软件,今天server的统一接口层出现问题,客户端爆出这种问题,行情无法查询,各种验证码输入不了。发现大家都聚到一起商量了,已经影响用户交易了。开始只有一台机器cpu高,过后两台都很高了,导致使用统一接口层的服务都无法使用了。备份不够多,相切流量也切不了。    突然感觉好紧张。。。

2017-09-08 09:53:45 353

原创 备忘录

今天在网正式环境的db里面insert数据。首先执行了crontab -l,看到备份数据库的命令是./backup_db.sh op该命令通过mysqldump备份数据库,以便出错后恢复,然后执行./go_unsubs_db.sh在securecrt里面查询数据库出现中文乱码,首先在mysql里面输入命令set names utf8;然后检查securecrt的Op

2017-09-04 19:52:23 330

翻译 Ubuntu下Nginx源码编译

Nginx源码下载地址:        http://nginx.org/en/download.html        解压命令 tar -zxvf nginx-1.8.1.tar.gz        安装依赖库:        1.PCRE           # apt-get update   # apt-get install libpcre3 libpcre3-

2017-08-14 16:38:53 611

翻译 vim 跳转到某一行

一般跳转到某一行可以先输入:,然后在命令行中输入行号然后按回车::123(命令行模式)或者123G(非命令行模式)可以利用以下命令将回车键映射为G,这样可以在非命令行模式下面使用123就能跳转到123行,相对于G来说要方便不少。:nnoremap G如果没有进行这种映射,123G的含义是相对于当前行向下移动123行。在某些系统上,想让小键盘的Enter工作,你

2017-08-07 11:18:41 23777

原创 linux查看进程所有子进程和线程

今天去面试被问到冒泡排序的最好,最坏,平均时间复杂度;tcp有哪些窗口,拥塞的原因,TCP拥塞控制的思想;最后还问了linux下如何查看某个进程下所有线程的情况;进程和线程的区别;其实都没怎么答好,都看过想过,却没有实践并落到实处。这篇可以看作原创也可以看作转载,主要是自己记录一下。   问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到

2017-07-02 11:19:18 60982 2

转载 memset效率

今天在CSDN上有人聊memset的效率。凑巧,我这几天也看了看glibc的几个函数的实现。下面就扯一扯DIR/string/memset.c其中DIR是解压glibc后的路径。我下载的是glibc-2.11。//代码经过astyle格式化void *memset (dstpp, c, len)void *dstpp;int c;size_t len; //前几

2017-04-20 09:23:32 1760

原创 面试总结三

这次面试是我准备跳槽前的最后一次面试,其实也知道自己肯定面不过,毕竟社招需要相关工作经验,而我确实没有,C++服务器编程。第二轮面试的面试官直接拒绝了我,其实也不是太尴尬,就在意料之中。我们需要的是对同步异步,epoll LT和ET,网络收发包有经验的人,考了多个千万级数组求交,如何用libevent做收发包,同步、异步、阻塞和非阻塞的区别。        不过第一轮面试聊了两个小时,收获还挺

2017-02-23 15:16:28 398

转载 tcp_tw_recycle和tcp_timestamps导致connect失败问题

近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关;1. 现象    第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模

2017-02-14 16:07:41 369

转载 高性能网络里Time_wait状态过多

答疑(下) | 高性能网络里,你不知道的TIME_WAIT续[上篇],如果你没有阅读过上篇文章,可以点击底部的 阅读原文,先阅读上篇,搞清楚概念,再继续今天的下篇吧。先回答几个大家的问题1. 请问我们所说连接池可以复用连接,是不是意味着,需要等到上个连接time wait结束后才能再次使用?所谓连接池复用,复用的一定是活跃的连接,所谓活跃,第一表明连接池里的连接都是ESTABLISHED的,第二,

2017-02-12 22:52:46 3081

原创 KMP算法C 代码代码实现

最近做了一道题是叫写出一个字符串的nextval数组,其实我是知道next数组的含义的,上网搜了一下很着急,因为全部都在讲怎么求nextval和next数组,却没有一个讲清楚了nextval究竟是个什么东东,大概看了下求法,然后又自己按照next数组实现了一下kmp,顿时领悟了那个nextval是什么,不过其实这个数组用处不是太大。 牛客网请的左程云老师的课听了也非常清晰,虽然听...

2017-02-07 22:22:59 5125 1

转载 C ++ new的几种用法

http://blog.sina.com.cn/s/blog_3c6889fe0100tqe8.html

2017-01-21 21:09:48 7169

转载 libevent事件处理程序struct event解析

struct event{         //ev_next,ev_active_next和ev_signal_next都是双向链表节点指针;它们是libevent对       //不同事件类型和在不同的时期,对事件的管理时使用到的字段。   //libevent使用双向链表保存所有注册的I/O和Signal事件,ev_next就是该I/O事件在//链表中的位置;称此链

2017-01-16 10:05:11 825

转载 ip rule用法

linux 高级路由即基于策略的路由比传统路由在功能上更强大,使用也更灵活,它不仅能够根据目的地址来转发路径而且也能够根据报文大小、应用或ip源地址来选择路由转发路径从而让系统管理员能轻松做到:1、 管制某台计算机的带宽。2、 管制通向某台计算机的带宽3、 帮助你公平地共享带宽4、 保护你的网络不受DOS的攻击5、 保护你的Internet不受到你的客户的攻击6、 把多台服

2017-01-12 15:58:58 13291 1

转载 linux查网卡实时流量

sar –n DEV  1 2 命令后面1 2 意思是:每一秒钟取1次值,取2次。DEV显示网络接口信息-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接

2017-01-05 14:49:56 3258

转载 linux netcat命令详解

NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。先来看下它的基本用法:[email protected]:~# nc -h[v1.10-38]connect to so

2017-01-03 17:05:52 2810

转载 TCP状态详解及故障排查

我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。(总结网络上的内容)1、TCP状态linux查看tcp的状态命令:1)、netstat -nat  查看TCP各个状态的数量2)、lsof  -i:port  可以检测到打开套接字的状况3)、  sar -n SOCK 查看tcp创建的连接数4)、tcpdum

2017-01-03 16:59:59 1539

转载 使用tcpdump进行网络包分析

tcpdump介绍tcpdump 是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 适用于大多数的类Unix系统操作系统(如linux,BSD等)。类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 windows下的WinPcap。在学习tcpdump前最好对基本网络的网

2017-01-03 16:56:10 548

转载 TCP SACK选项详解

TCP通信时,如果发送序列中间某个数据包丢失,TCP会通过重传最后确认的包开始的后续包,这样原先已经正确传输的包也可能重复发送,急剧降低了TCP性能。为改善这种情况,发展出SACK(Selective Acknowledgment, 选择性确认)技术,使TCP只重新发送丢失的包,不用发送后续所有的包,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据重发了,哪些数据已经提前

2017-01-03 16:54:43 3636

转载 tcp教程--1

TCP简介      TCP是TCP/IP协议栈中传输层协议,TCP为应用层提供了一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。TCP的可靠性主要通过以下方法去保证: 应用程序被分割成TCP认为最适合发送的数据块。 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这

2017-01-03 16:52:29 1353

转载 TCP/IP详解--TCP首部选项中时间戳选项

TCP/IP详解--TCP首部选项中时间戳选项一、简介TCP时间戳选项会在TCP包头增加12个字节,以一种比重发超时更精确的方法来启用对RTT 的计算。 二、作用1) TCP时间戳位于TCP选项中,kind=8;lenth=10;data由timestamp和timestamp echo两个值组成,各4个字节的长度。2) TCP时间戳理论作用有3个:序列号回绕,乱序

2017-01-03 16:50:07 2125

转载 linux lsof详解

lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用

2017-01-03 14:58:22 237

转载 Linux管理员不可不知的五大命令 工具 - 51CTO.COM

【51CTO精选译文】对于Linux管理员来说,有很多非常有用的工具可供选择。在这里,我只是列举出其中5个,Linux管理员日常操作都要用到的工具。我认为,功能最强的工具可能并不适合你的使用情况,而且绝对有些工具我还忘了把它们统计进来,如果是这样的话,我恳请大家把我没收录的工具在评论中写出来。另外,本文中提到的工具仅供选择,并不是每个人都一定需要它们,而那些没提到的工具,并不是说Linux管理员就

2017-01-03 14:24:50 388

转载 归并排序递归和非递归实现

递归实现(函数递归调用) --自顶向下 1 /** 2 * Merge_Sort: 归并排序的递归实现 3 * 注:算法导论上给出的合并排序算法 4 * 递归过程是将待排序集合一分为二, 5 * 直至排序集合就剩下一个元素为止,然后不断的合并两个排好序的数组 6 * T(n) = O(nlgn) 7 **/ 8 #include 9 #define LEN

2016-11-26 21:36:12 652

原创 快速排序的递归和非递归实现

笔者过两天就要去面试,但是连最简单的排序算法都其实还写的不是很清楚,昨天又听了一节左程云老师的公开课吧,原来快速排序的空间复杂度是lon(n)。虽然快速排序大大概实现逻辑心里是清楚的,但是对于边界控制,返回时机真是不甚了了,故而痛定思痛,准备把快速排序的主流的实现都记忆一下。        以下为笔者写的快速排序递归实现:#include "stdio.h"#include "std

2016-11-26 17:57:36 663

转载 我感兴趣的一些C++链接

https://www.zhihu.com/question/19794858http://www.cnblogs.com/avril/p/3175175.htmlhttps://www.zhihu.com/question/24926411

2016-11-24 14:48:09 244

原创 电话面试总结二

今天晚上九点多,脑袋昏昏的,还在卖力的装女友双十一买的散装衣柜,一个电话面试就打过来了,本来信心就不是很足,但是还是有收获吧。        ps:是一个linux c++后台开发的岗。        开头大概寒暄了几句,我就自我介绍了一下,然后就是面试官发问了。       一、熟悉那些服务器编程模型,我回答了apache、nginx和epoll,然后又问nginx怎么连接的,这个我

2016-11-22 00:42:14 708

转载 linux netstat命令详解

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re

2016-11-20 21:00:19 293

转载 -D_REENTRANT编译选项的作用

-D_REENTRANT宏作用   _REENTRANT宏在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。假设在一个线程准备获取刚才的错误代码时,该变量很容易被另外一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为了解决这个问题,需要使用可重入的程序。可重

2016-11-20 14:07:23 5140

Linux高性能服务器编程_游双 源码

Linux高性能服务器编程_游双 源码

2017-02-19

Linux高性能服务器编程_游双

从网络协议 服务器变成核心要素 原理机制,就不废话了,相搞后端编程这本书的内容我觉得最好都记住。另外所带源码也有不过在另外一个文件

2017-02-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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