自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小拳头的博客

临渊羡鱼、不如退而结网

  • 博客(235)
  • 资源 (1)
  • 收藏
  • 关注

原创 windows环境下用c++实现socket编程

一、什么是Socketsocket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);前两种较常用。基于TCP的socket编程是采用的流式套接字。(1)SOCK_STREAM表示面向连接的

2017-02-27 16:29:42 133982 75

原创 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离总结

一、最长公共子串和最长公共子序列最长公共子串(Longest Common Substring)是串的一个连续的部分。最长公共子序列(Longest Common Subsequence,LCS)是不一定是连续的,但是不改变序列中元素在原串中的相对顺序,而是从序列中去掉任意的元素而获得新的序列。也就是说,子串中字符的位置必须是连续的,子序列则可以不连续。 二、思想采用动态规划的思想

2016-11-20 22:05:30 1372

原创 scrapy爬取京东商城某一类商品的信息和评论(二)

2、任务二:爬取商品评论信息如果不需要爬取用户的地域信息,那么用这个网址爬就好:http://club.jd.com/review/10321370917-1-1-0.html其中10321370917是商品的ID,评论的第一页就是 -1-1-0.html, 第二页就是-1-2-0.html。之前商品不是存了评论总数吗,一页30个评论,除一下就可以知道多少页了,

2016-07-06 17:48:55 10032 8

原创 scrapy爬取京东商城某一类商品的信息和评论(一)

一、前提默认已用scrapy爬取过网站,有爬虫基础,有爬虫环境二、以爬取电子烟为例1、任务一:爬取商品信息在搜索框里面直接搜索电子烟,搜出来的界面,你会发现它是动态加载的。即一开始源代码里面只能看到30条商品的信息,随着你的下拉,另外30条才会加载出来。因此爬取起来比较麻烦。后来发现,从京东左边的商品分类中找到电子烟这一分类

2016-07-06 17:28:18 27264 13

原创 c++ vector, set, map的用法总结

一、vector 向量容器(1)头文件 #include(2)创建vector对象, vector vec;vector的元素不仅仅可以是int, double, string,还可以是结构体,但是要注意:结构体要定义为全局的,否则会出错。(3)基本操作:cout使用下标访问元素,和数组一样下标从0

2016-06-03 15:16:51 14195 1

原创 第三期学习总结

跌跌撞撞一年时间,终于开始写第三期了 ,其实这一期的内容早就有了,只不过一直没有放到博客上。不能停下学习的脚步,要继续前进呀!1、JSON unmarshal map的结果是不确定的测试代码:package mainimport ( "encoding/json" "log")const str = `{"a":"aaaa","b":"baa...

2019-08-26 18:14:12 526

原创 第二期学习总结

1、json Unmarshalstruct中如果变量首字母是小写的,那么unmarshal后的值都是空的,所以struct的变量首字母必须大写。package mainimport ( "encoding/json" "fmt")type data struct { Age int `json:"age"` Name string ...

2018-12-13 20:26:51 2788

原创 第一期学习总结

在工作的过程中,不断听到新名词,新概念,新方法。觉得是时候总结一波知识点记录下来,促进深入了解的同时,便于以后复习。非常喜欢阮老师的每周分享,但是做不到像他一样每周去浏览那么多东西,而且总能发现很有趣的知识点。现在期望可以做到双月一总结,有些知识点可能还是没有那么深入理解,希望能坚持下来,在工作的同时慢慢进步,也是相当不错了。原本于国庆前就有此计划,并写好了初稿,中间各种原因,又推迟了一个月。= ...

2018-10-27 23:06:42 801

原创 2018年书单

入职一个多月了,从学生步入社会,越发的感觉时间是多么重要。作为程序媛,除了工作时间,课余更需要补充很多非计算机方面的知识。基于最近的糟糕状态,还是决定延用之前的习惯订下计划,继续以书单的形式鞭策自己进行阅读。刚刚进入6月份,所以从这个月开始吧。----2018.6.2:补充《5月份书单》1、《GO程序设计语言》作者:艾伦 A.A. 多诺万出版社:机械工业出版社进度:...

2018-06-02 16:55:03 1373 5

原创 golang中在遍历数组时,要修改数组中变量无法修改成功的问题

记录在写go时遇到的一个小坑例子:package mainimport ( "fmt")type UserInfo struct { Name string `json:"name"` UserId int `json:"user_id"`}type Message struct { Type string `json:"type"` Id int `json...

2018-05-21 15:20:13 11919

原创 golang中struct、json、map互相转化

一、Json和struct互换(1)Json转struct例子:package mainimport ( "fmt" "encoding/json")type People struct { Name string `json:"name_title"` Age int `json:"age_size"`}func J...

2018-05-07 23:14:14 99747 12

原创 mac上安装go环境

一、安装Homebrew安装命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Homebrew的使用:(1)安装软件:brew install 软件名,例如:brew install wget(2)搜索软件:brew search 软件名(3)卸载软件:brew u...

2018-04-18 11:27:13 54166 2

原创 【leetcode】771. Jewels and Stones

一、题目描述You're given strings J representing the types of stones that are jewels, and S representing the stones you have.  Each character in S is a type of stone you have.  You want to know how m

2018-02-05 16:33:51 806

原创 python踩过的一些坑

找完工作,又开始忙于做毕设,很久没更新博客了,不过博客新上线的这个新界面太不好用了,分类下只有两篇文章,每次点击进去都出现很多篇其他类的,每次找一篇博文都要翻很久。体验真是极差。废话不多说,先记几个做毕设过程中发现的小坑1、jieba分词生成迭代器,在第二次for循环会失效测试代码:用jieba分词生成的word_list是个迭代器,第二个for里面

2017-12-06 16:33:23 822

原创 nSum系列题目总结

1、Two Sum原题地址:https://leetcode.com/problems/two-sum/description/题目描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assu

2017-09-24 14:34:37 2151

原创 关于剑指offer上“二叉搜索树与双向链表”题的理解

题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。一、递归的思路对于函数TreeNode* Convert(TreeNode* root),传入的是需要转换的二叉树的头结点,返回的是已经转换好的双向链表的头结点。从root结点来看,以递归的思路就是将左孩子和右孩子做黑盒处理,left = Conver

2017-09-13 11:36:31 502

原创 关于剑指offer上“从1到n整数中1出现的次数”题的理解

写这篇博客是因为,看完剑指offer上这道题的解释后,我确实是没有看懂。所以按照我的思路重新描述一下这道题到底要怎么做。题目描述:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数首先想到的肯定是暴力法,这里就不多说了。更优化的方法需要我们先列举几个数来找找规律。假设用i表示当前的数位(1)当i位为0时,比如12034,显然当前位是第三位,那么第

2017-09-12 23:12:36 440

原创 【leetcode】【套路题】476. Number Complement

一、题目描述Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.Note:The given integer is guaranteed to fit withi

2017-08-15 14:12:48 527

原创 【leetcode】627. Swap Salary

一、题目描述Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update query and n

2017-08-15 11:21:45 695

原创 【leetcode】617. Merge Two Binary Trees

一、题目描述Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new binary ...

2017-08-15 11:00:51 395

原创 【leetcode】461. Hamming Distance

一、题目描述The Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming distance.No

2017-08-15 10:26:39 384

原创 【leetcode】657. Judge Route Circle

一、题目描述Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.The move sequence is

2017-08-15 10:16:38 1520 1

原创 redis的安装和配置

一、安装redis(1)Ubuntu下安装获得管理员权限后使用apt-get install redis-server安装完成后,redis服务器会自动启动,我们检查redis服务器程序ps -aux | grep redis# 通过启动命令检查redis服务器状态netstat -nlt | grep 6379(2)Mac下安装brew

2017-08-13 21:04:41 525

原创 网络分析工具

在后台开发中网络通信这一块非常重要,在处理定位问题或者多方联调时,需要用到网络分析工具。这里学习一下ping、tcpdump、netstat和lsof这4个网络分析工具的使用。1 ping2 tcpdump3netstat4 lsof1、 ping介绍:ping(Packet Internet Groper,因特网包探索器)是Windows、UNIX和Linux系统下的一个命令。ping也属

2017-08-13 00:30:16 3686 1

原创 网络编程知识点梳理

1 你怎么理解HTTP协议2 HTTP和HTTPS的区别3 ISO七层网络模型五层网络模型TCPIP四层网络模型4 TCP和UDP的区别5 同步和异步阻塞和非阻塞长线程和短线程的区别6 现在要访问wwwbaiducom整个过程是怎样的6 IPTCP首部7 TCP三次握手及四次挥手8 DNS是什么本机使用DNS时是TCP连接还是UDP10 TCP如何保证可靠性1、 你怎么理解HTTP

2017-08-06 11:42:38 4070

原创 linux下的一些常见命令学习

Linux常用命令学习Linux常用命令学习1 last命令2 awk命令3 cat命令4 top命令5 ps命令1、 last命令last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该文件中记录的登入系统的用户名单全部显示出来语法last (选项)(参数)选项-a : 把从何处登入系统的主机名称或IP地址,显示在最后一行-d : 将

2017-08-05 17:21:38 53391

原创 python的yield使用

在python中,yield被称之为generator(生成器)。下面举个小例子来理解,yield在程序是怎么执行的代码:def func(): print "begin" yield 1 print "mid" yield 2 print "end" f = func()f.next() //1f.next() //2f.next

2017-08-05 15:42:22 483

原创 c++实现装饰器模式

一、定义装饰器模式(DecoratorPattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。 使用情况:如果需要添加新功能,但又不想修改定义好的接口或者抽象类,此时适合用装饰模式。 应用场景举例:例如对于一个蛋糕Cake类,一开始是一个原始蛋糕模型,后面需要给蛋糕加工—加上奶油,加上巧克力,加上瓜子仁,加上水果,写上字等。等同于将原始蛋糕作为一个Cake类,我们

2017-07-30 15:37:44 3620 1

原创 c++实现单例模式

一、定义这种模式设计到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。总结为三点:(1)单例类只能有一个实例(2)单例类必须自己创建自己的唯一实例(3)单例类必须给所有其他对象提供这一实例 目的:保证一个类仅有一个实例,并提供一个访问它的全局访问点主要解决:一个全局使用的类

2017-07-29 16:34:10 393

原创 python异常处理

一、try/except语句作用:用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在异常发生时结束你的程序,只需在try里捕获它。 语法:一个简单的try...except...else的语法try: # 运行别的代码except # 如果在try部分引发了’name’异常except , : # 如果引发了’name’

2017-07-25 17:53:30 690

原创 python装饰器学习小结

一、应用场景装饰模式有很多经典的使用场景,例如插入日志、性能测试、事物处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。好好利用装饰器可以方便代码结构,让代码更清晰可观。 二、几个简单的入门例子现在我们需要通过代码来得到一个函数的大概执行时间,写法如下:import timedefget_time(func): startTi

2017-07-23 21:32:23 518

原创 爬虫常用的三种通用模板小结

确实有一段时间没怎么写爬虫了,最近又安排了写爬虫的任务,其实很多东西写过一份,之后再做大部分是复制粘贴代码,然后修改一下。所以这里总结一下通用的地方,方便之后编写爬虫的时候,可以直接取用。一、使用urllib2库对于一些简单的网站,需要获取的信息又是以json格式返回时,我一般喜欢用urllib2库直接写爬虫获取。 代码模板:import urllib2impor

2017-07-18 15:17:10 4715

原创 python的eval、exec函数使用总结

eval函数一、函数的作用将字符串str当成有效的表达式来求值并返回计算结果。它要执行的python代码只能是单个运算表达式(不支持任意形式的赋值操作),而不能是复杂的代码逻辑。 二、函数的定义eval(expression, globals=None, locals=None)参数说明:expression:必选参数,可以是字符串,也可以是一个任意的code对象实例(

2017-07-13 12:11:06 4472

原创 windows下使用虚拟机搭建linux环境

一、前期工作:需要下载的软件直接在百度软件中心下一个VMware即可VMware下载地址:http://rj.baidu.com/soft/detail/13808.html?ald&qq-pf-to=pcqq.c2clinux系统下载地址:https://www.ubuntu.com/download/desktop 二、安装教程参考:http://jingyan.b

2017-07-12 17:50:23 4068

原创 计算一个数的二进制表示中0和1个数的方法

常见的一个方法是:x&(x-1)   的作用是对一个数中二进制1的个数进行统计x|(x+1)    的作用是对一个数中二进制0的个数进行统计 今天做牛客网上的题,又学习到了一个新的算法,叫做平行算法,用来计算二进制的1的个数intBitCount(unsigned int n){ n = (n &0x55555555) + ((n >>1)&0x55555555) ;

2017-06-30 17:29:12 7659

原创 python collections模块中的双端队列

deque是双端队列,是一种具有队列和栈的性质的数据结构,适合于在两端添加和删除。常用的方法:d =deque([])  # 创建一个空的双队列d.append(item)   # 在d的右边(末尾)添加项目itemd.appendleft(item)  # 从d的左边(开始)添加项目itemd.clear()  # 清空队列,也就是删除d中的所有项目d.extend(it

2017-06-30 16:38:22 1283

原创 c语言结构体的位域相关知识

发现这个问题,源于牛客网上一道题,原题如下:struct s{ int x:3; int y:4; int z:5; double a;};求sizeof(s)A、16    B、32    C、20    D、24 一开始认为只是简单的sizeof类型的题,对于64位机器,int占4个字节,double占8个字节,因此按照对齐原则

2017-06-08 15:19:22 599

原创 编程语言相关知识点梳理

c++语言常考点c语言常考点1 c中的空类 默认产生哪些类成员函数2 单例模式的特点是什么用c实现单例模式3 c中不同数据类型所占用的内存大小4 编写类String的构造函数 析构函数和赋值函数5 引用和指针有什么区别6 c如何连接数据库7 c模板8 c中new malloc的区别9 c中头文件h和源文件cpp的区别10 头文件中的ifndef define endif的作用1

2017-05-03 23:33:20 3265 2

原创 手写代码算法题和智力题

一 实现memcpy函数二 大数相乘问题三全排列函数的实现四编写atoiitoa函数五 要求编写一个函数来打乱一个字符串的顺序六 求逆序对七 满二叉排序树求三个结点的最小公共父节点八 实现strstr函数九 智力题毒酒问题十 如何实现LRU算法十一设计一个数据结构实现三个函数void setValueint index int value int getValueint inde

2017-05-02 12:06:46 3794

原创 操作系统知识点梳理

1 什么是操作系统操作系统由什么组成2 select poll和epoll的区别3 什么是轮询4 进程的调度算法有哪些5 什么是死锁6 程序编译与链接的过程是怎样的7 静态链接和动态链接的区别8 分页存储和分段存储有什么区别9 进程和线程的区别10 怎么理解线程安全11 多线程如何同步12 堆和栈有什么区别13 进程间通讯的方式有哪些各有什么优缺点14 线程的状态有哪些1

2017-05-01 15:54:11 7188

人工智能管理第二章知识表示

是上课的PPT 人工智能管理想用的可以下载

2014-05-11

空空如也

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

TA关注的人

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