自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

godop的博客

自己的学习的一些知识分享

  • 博客(86)
  • 问答 (7)
  • 收藏
  • 关注

原创 nodejs 使用cheerio解析带域名的xml格式

如这样一个标签中带有作用域的xml:<cas:serviceResponse xmlns:cas='http://www.hhhh.edu/cas'> <cas:authenticationSuccess> <cas:user>jason,102</cas:user> <cas:attributes&g...

2019-10-22 00:08:32 668

原创 VM2 VMScript预编译

简介vm2是一个沙箱,可以使用列入白名单的Node的内置模块运行不受信任的代码。安全!特征使用您的代码并排在一个进程中安全地运行不受信任的代码完全控制沙盒的控制台输出Sandbox对进程方法的访问权限有限沙箱可以要求模块(内置和外置)您可以限制对某些(或所有)内置模块的访问您可以安全地调用方法并在沙箱之间交换数据和回调免疫while (true) {}(这点应该是vm2可以设置...

2019-08-04 23:44:44 3804

原创 Redis分布式锁浅析

1. 前言开发时,碰到互斥问题,需要保证在分布式环境下,避免重复性操作修改用户状态,如:用户订单状态,购票时,修改票的余额等2. 分布式锁的条件分布式锁需要满足下列条件锁需要有充足的可访问的存储空间锁必须被唯一标识锁至少要有两种状态同时,要保证安全特性:互斥访问,永远只有一个client能拿到锁避免死锁:client最后可以拿到锁,不会出现死锁,即使原本上锁的client出现问题...

2019-07-14 12:28:34 206

原创 django 采坑

1、最近在使用django,报了一个错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6根据提示找到 python安装路径\Lib\site-packages\django\views\debug.py ,打开后,修改约在 332 行处,将:with Path(CURRENT_DIR, 'templates', 'technica...

2019-04-29 18:21:53 166

原创 python爬虫之scrapy

scrapy框架scrapy整体框架结构Scrapy 流程scrapy.Spider爬虫实例scrapy框架        Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。&nbs...

2019-04-29 18:09:42 291

原创 进程的创建fork和vfork

1.写时拷贝      传统的fork()系统调用直接把所有的资源复制给创建的进程。这种实现过于简单并且效率低下,因为它拷贝的数据也许并不共享,更糟的情况是,如果新进程打算立即执行一个新的映像,那么所有的拷贝都是白费的。linux的fork()使用写时拷贝页实现。写时拷贝是一种可以推迟甚至免除拷贝数据的技术。内核此时不复制整个进程空间,而是让父进程和子进程共享同一个拷贝。只有在需要写入的时候,...

2018-11-08 10:43:05 229

转载 Linux线程之线程 线程组 进程的关系

一直对于线程 线程组 进程 理解不是很深刻,今天看了这篇文章,感觉讲解很透彻。转载出处:http://www.it165.net/os/html/201305/5123.html#about然后看到例子中如果对于gettid()和 pthread_self() 函数不熟悉的,请看这篇文章:gettid 和 pthread_self 的区别Thread Local Storage,线程本...

2018-09-19 17:44:02 2476

原创 今日头条2017后端工程师实习生笔试题第一题:最大映射

有 n 个字符串,每个字符串都是由 A-J 的大写字符构成。现在你将每个字符映射为一个 0-9 的数字,不同字符映射为不同的数字。这样每个字符串就可以看做一个整数,唯一的要求是这些整数必须是正整数且它们的字符串不能有前导零。现在问你怎样映射字符才能使得这些字符串表示的整数之和最大?输入描述:每组测试用例仅包含一组数据,每组数据第一行为一个正整数 n , 接下来有 n 行,每行一个长度不超过...

2018-08-22 22:30:03 828

转载 Linux编辑器vim中删除行尾的^M

亲测有用,转载。有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符。看起来总是感觉很别扭。删除方法如下:在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。注意: ^M 要用 Ctrl + v,然后回车来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。(...

2018-08-08 15:12:44 846

原创 c++在windows下打开文件和如何访问文件夹下的所有文件

一,通过stream流方式打开文件ifstream  从硬盘到内存,读文件ofstream 从内存到硬盘,写文件在C++ 中,有一个stream这个类,所有的I/O都以这个“流”类为基础,包括文件I/O。1)插入器(&lt;&lt;)向流输出数据。系统有一个默认的标准输出流,一般情况下是指显示器;例如在 c++ 大家常用的 cout &lt;&lt; "hello world"...

2018-07-17 15:59:39 15004

原创 gcc/g++ 如何指定链接库和头文件路径

在此篇文章里我使用的方法是将库和头文件路径添加到环境中去1.先添加头文件路径export C_INCLUDE_PATH=$C_INCLUDE_PATH头文件路径                             #cexport CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH头文件路径        #c++在我的操作里,此处PATH后面直接添加路径,但也有可能...

2018-07-11 19:20:58 16982

转载 tcpdump抓包wireshark分析

分别转自https://www.cnblogs.com/senlinmilelu/p/6876650.html 和https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。...

2018-07-10 15:46:49 6017

原创 带外数据

许多传输层有带外数据的概念,它有时也称为经加速数据。其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端。这里“迅速”意味着这种通知应该在已经排队等待发送的任何“普通”数据之前发送。也就是说,带外数据被认为具有比普通数据更高的优先级。带外数据并不要求在客户和服务器之间再使用一个连接,而是被映射到已有的连接中。(udp没有实现带外数据)TCP并没有真正的带外数据,只不过提供了我们紧急模...

2018-06-02 22:02:36 1349

原创 ubuntu下第一次如何上传本地代码到github

在github上有两种方法上传代码,一种是通过https,一种是通过SSH,这篇主要分享的是通过https的方法上传首先,将你项目的所有代码放在一个文件夹中,然后在github上创建一个新的仓库如果是初次上传项目到github则需要先配置密匙:Linux创建SSH密钥:ssh-keygen 然后会让你输入密码,默认是将ssh密钥放在/home/xxxx/.ssh/id_rsa,接...

2018-05-29 19:55:27 1258

原创 linux基础命令之进程的查看

查看系统上正在运行的进程,可以利用静态的 ps 或者是动态的 top;静态即截取某一时刻的状态,动态即处于持续检测进程运行的状态。1、静态的psps:将某个时间点的进程运行情况选取下来;[root @www ~]# ps aux  &lt;==查看系统所有的进程数据[root @www ~]# ps -lA  &lt;==也是能够查看所有系统的数据[root @www ~]# ps axjf  &...

2018-05-17 15:18:52 417

转载 互联网协议入门

转载出处:阮一峰,原著是两篇分开,第二篇为客户端,这将两篇和为一篇我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网...

2018-05-12 17:09:28 250

转载 HTTP 协议入门

转载出处:阮一峰HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET...

2018-05-12 15:58:30 216

原创 MySQL触发器

触发器可以让你在执行 INSERT、UPDATE或者 DETELE 的时候,执行一些特定的操作。可以在MySQL中指定是在 SQL 语句执行前还是在执行后触发。触发器本身没有返回值,不过它们可以读取或者改变触发 SQL 语句所影响的数据。所以,可以使用触发器实现一些强制限制,或者某些业务逻辑。使用触发器可以减少客户端和服务器之间的通信,所以触发器可以简化应用逻辑,还可以提高性能。另外还可以用于自动...

2018-05-08 17:26:21 209

原创 MySQL索引类型

MySQL支持哪几种索引类型呢?从不同的角度讨论不一样,这篇文章是从数据结构的角度去分类,还有物理和逻辑角度只做简单说明。从物理存储角度1、聚集索引(clustered index)2、非聚集索引(non-clustered index)从逻辑角度1、主键索引:主键索引是一种特殊的唯一索引,不允许有空值2、普通索引或者单列索引3、多列索引(复合索引):复合索引指多个字段上创建的索引,只有在查询条件...

2018-05-04 21:35:18 5054

原创 lambda表达式(c++)

1、lambda表达式是c++11 最重要也最常用的一个特性之一。lambda来源于函数式编程的概念,也是现代编程语言的一个特点。lambda有以下优点:    声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性。    简洁:不需要额外在写一个函数或函数对象,避免了代码膨胀和功能分散,让开发者更加击中精力在手边的问题...

2018-04-30 20:48:48 575

原创 linux命令之sed

sed是一个管道命令,可以分析standard input 的,而且sed 还可以将数据进行替换、删除、新增、选取特定行等功能。用法:[root@www ~]# sed [-nefr] [动作]参数:-n:使用安静模式。在一般sed的用法中,所有来自STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的哪一行才会被列出来;-e:直接在命令行模式上进行 se...

2018-04-24 12:43:26 884

原创 linux命令之awk

awk是一个非常棒的数据处理工具。相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个“字段”来处理。因此,awk 相当适合处理小型的数据处理。awk通常运行模式是这样的:[root@www ~]# awk '条件类型1{动作1}  条件类型2{动作2} 。。。'  filenameawk 后面接两个单引号并加上大括号来设置想要对数据进行的处理动作。awk 可以处理后续接的文件,也...

2018-04-24 11:25:38 241

原创 列表初始化

在c++98/03里有很多的对象初始化的方法:int i_arr[3]={1,2,3}; //数组 struct A{    int x;    struct B{ int i,j;    }b;}a={1,{2,3}}; //POD类型 //拷贝初始化 int i=0; class Foo{public:    Foo(int){}}foo=123; //...

2018-04-20 19:02:44 1331

原创 c++11新特性之模板别名和默认模板参数

大家都知道,在c++中可以通过typedef重定义一个类型:typedef unsigned int uint_t;被重定义的类型名叫“typedef-name”。他并不是一个新的类型,仅仅只是原有的类型取了一个新的名字;因此下列函数重载是不合法的:void fun(unsigned int);void fun(uint_t);使用typedef重定义类型是很方便的,但它也有一些限制,比如,无法重...

2018-04-17 21:16:54 387

转载 设计模式之一策略模式(c++实现)

前段时间春招实习面试,面试官问到设计模式这方面问题,没学过,很尬。马上又要面试,就补一补设计模式知识。这是在网上看的,分别摘自两位大佬,感觉写的不错,自作主张将他们总结了一下http://www.cnblogs.com/wanggary/archive/2011/04/07/2008796.html        文中实例出自这篇文章https://blog.csdn.net/lh84438643...

2018-04-12 22:01:10 147

原创 客户端的连接函数connect函数

TCP客户用connect函数来建立于TCP服务器端的连接#include&lt;sys/socket.h&gt;int connect(int sockfd, const struct sockaddr *servaddr, int *addrlen);                                    返回:若成功则返回0,失败则返回-1;    sockfd是有socke...

2018-04-12 21:16:03 8545

原创 网络编程之close函数

通常Unix close函数也用来关闭套接字,并终止TCP连接。    #include&lt;sys/socket.h&gt;    int close(int sockfd);            返回:若成功则返回0.失败则返回-1;       close一个TCP套接字的默认行为是把该套接字标记成已关闭,然后立即返回到调用程序。该套接字描述符不能再由调用进程使用,也就是说它不能再作为r...

2018-04-12 14:01:14 3886 1

原创 leetcode之ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I I G...

2018-04-12 12:54:57 131

原创 设计一个简单的并发服务器

当服务一个客户请求可能花费较长时间时,我们并不希望真个服务器被单个客户长期占用,而是希望同时服务多个客户。Unix中编写并发服务器程序最简单的办法就是fork一个子进程来服务每个客户。pid_t pid;int listenfd,connfd;listenfd=e(...); /* fill in sockaddr_in{} with server`s well_known p...

2018-04-11 20:22:09 527

原创 网络编程之accept函数和accept函数在三次握手中的位置

accept函数实际上是在三次握手之后,具体原因请看文章结尾具体解释。基本TCP客户端/服务器程序的套接字函数accept函数由TCP服务器调用,用于从已完成连接队列队头返回下一个已完成连接(从这不难看出accept是在三次握手之后,文章最后具体说明,已完成连接队列请转连接自行观看)。如果已完成队列为空,那么进程被投入睡眠(嘉定套接字为默认的阻塞方式)。#include&lt;sys/socket...

2018-04-11 19:00:46 7053

原创 网络编程之listen函数

基本TCP客户端/服务器程序的套接字函数listen函数仅由TCP服务调用,它做两件事    1.当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect连接的客户套接字。listen函数把一个未连接的套接字转换成一个被动套接字,指示内核应该接受指向该套接字的连接请求。如下图所示,调用listen导致套接字从CLOSED状态转换到LISTEN状态。   ...

2018-04-11 13:07:09 20924 2

原创 网络编程之bind函数

基本TCP客户端/服务器程序的套接字函数1、bind函数把一个本地协议地址赋予一个套接字。对于网际协议,协议地址是32位的IPv4地址或是128位的IPv6地址与16位的TCP或UDP端口号的组合。#include&lt;sys/socket.h&gt;int bind(int sockfd,  const struct sockaddr, socklen_t addrlen);第二个参数是一个指...

2018-04-10 21:56:15 44353 4

原创 网络编程之socket函数

基本TCP客户/服务器程序的套接字函数socket函数的参数:为了执行网络I/O,一个进程必须做的第一件事情就是调用socket函数,指定期望的通信协议类型(使用IPv4的TCP,使用IPv6的UDP,UNIX域字节流协议等)。#include&lt;sys/socket.h&gt;int socket(int family, int type, int protocol);返回:成功则为非负描述...

2018-04-10 20:56:38 884

原创 TCP连接的建立和终止

1.三路握手建立一个tcp连接会发生下列情形1.1服务器必须准备好接受外来的连接。这通常通过调用socket,bind和listen这3个函数来完成,我们称之为被动打开1.2客户端通过调用connect发起主动打开(active open)。这导致客户tcp发送一个SYN分节,它告诉服务器客户将在(带建立的)连接中发送的数据的初始序列号。通常SYN分节不携带数据,其所在IP数据报只含有一个IP首部...

2018-04-10 17:23:16 448

原创 leetcode之Longest Palindromic Substring

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer. Example:I...

2018-04-09 21:49:25 107

原创 linux系统常见的压缩命令

常见的压缩文件扩展名:*.z                compress程序压缩的文件*.gz              gzip程序压缩的文件*.bz2            bzip2程序压缩的文件*.tar              tar程序打包的文件,并没有压缩过*.tar.gz         tar程序打包的文件,其中经过gzip的压缩*.tar.bz2        tar程序...

2018-03-31 17:07:23 496

原创 linux基础命令之ln

ln:连接文件在linux下面的连接文件有两种,一种是类似windows的快捷方式的软连接(symbolic link),可以让你快速连接到目标文件;另一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬链接(hard link)。hard link:    在某个目录下新建一条文件名连接到某inode号码的关联记录。    举个例子:    [root@www ~]#...

2018-03-30 21:55:31 241

原创 leetcode之Median of Two Sorted Arrays

There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums1 = [1, 3]nums2...

2018-03-30 17:31:05 122

原创 linux基础命令之磁盘与目录的容量查询

磁盘与目录的容量查询:df,dudf:列出文件系统的整体磁盘使用量;du:评估文件系统的磁盘使用量(常用于评估目录所占容量)1.df命令格式:df    [参数]    [目录或文件名]参数:-a:列出所有的文件系统,包括系统特有的/proc等文件系统-k:以KB的容量显示各文件系统-m:以MB的容量显示各文件系统-h:以人们较易阅读的GB、MB、KB等格式自行显示-H:以M=1000K代替 M=...

2018-03-30 14:18:40 505

原创 leetcode之Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with the l...

2018-03-30 01:19:34 93

空空如也

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

TA关注的人

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