自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Voidsky

对于一个对新鲜事物总是充满无限好奇的人来说,这个世界显得格外慷慨

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

原创 你的方向值多少钱?从拉勾网数据看目前【IT市场行情】

之前一直说要分析拉勾网的数据就去学了爬虫,现在终于把分析结果带来了,想知道现在什么方向比较火,自己的方向的前(钱)途怎么样吗?一起来看看吧

2016-05-15 23:15:57 6534 2

原创 【图文详解】scrapy爬虫与动态页面——爬取拉勾网职位信息(2)

上次挖了一个坑,今天终于填上了,还记得之前我们做的拉勾爬虫吗?那时我们实现了一页的爬取,今天让我们再接再厉,实现多页爬取,顺便实现职位和公司的关键词搜索功能。之前的内容就不再介绍了,不熟悉的请一定要去看之前的文章,代码是在之前的基础上修改的【图文详解】scrapy爬虫与动态页面——爬取拉勾网职位信息(1)开始还是回到我们熟悉的页面,这里,我们熟练的打开了Newwork标签,我们点下一页,看会出来什

2016-05-14 11:47:34 5132 1

原创 【图文详解】scrapy爬虫与动态页面——爬取拉勾网职位信息(1)

现在很多网站都是动态异步加载的,就是说,网页打开了,先给你看上面一部分东西,然后剩下的东西再慢慢加载。 所以你可以看到很多网页,都是慢慢的刷出来的,或者有些网站随着你的移动,很多信息才慢慢加载出来。这样的网页有个好处,就是网页加载速度特别快(因为不用一次加载全部内容)。但是这对我们写爬虫就不方便了,因为你总是爬不到你想要的东西!我们举个例子,我因为最近想分析拉勾网有关职位情况的数据,所以我上

2016-04-29 22:17:29 17727 12

原创 【图文详解】scrapy安装与真的快速上手——爬取豆瓣9分榜单

哪有那么复杂!scrapy安装与快速上手——爬取豆瓣9分榜单写在开头现在scrapy的安装教程都明显过时了,随便一搜都是要你安装一大堆的依赖,什么装python(如果别人连python都没装,为什么要学scrapy….)wisted, zope interface,pywin32………现在scrapy的安装真的很简单的好不好!代码我放github上了,可以参考: https://github.co

2016-04-23 17:40:46 6485 6

原创 【图文详解】python爬虫实战——5分钟做个图片自动下载器

python爬虫实战——图片自动下载器之前介绍了那么多基本知识【Python爬虫】入门知识,大家也估计手痒了。想要实际做个小东西来看看,毕竟: talk is cheap show me the code!制作爬虫的基本步骤顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤。一般来说,制作一个爬虫需要分以下几个步骤:1. 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 2.

2016-04-19 11:18:12 17946 10

原创 GitBook入门(用github做出第一本书)——超详细配图说明

我最近接触到gitbook,发现它支持markdown和git,刚好把我之前在github上的笔记可以生成一本书,于是我就开始着手捣鼓gitbook,一下午的时间就弄的差不多了,说明这个东西还是挺容易的,可以看看我的书: 《LeetBook(LeetCode详解)》。比较建议直接在github上部署你的框架,然后再导入gitbook。创建一个新的仓库创建过程不需要我细讲了把,如果不知道,看看

2016-04-17 16:32:07 93616 13

原创 【Python爬虫】入门知识

爬虫基本知识这阵子需要用爬虫做点事情,于是系统的学习了一下python爬虫,觉得还挺有意思的,比我想象中的能干更多的事情,这里记录下学习的经历。网上有关爬虫的资料特别多,写的都挺复杂的,我这里不打算讲什么大道理,因为其实爬虫挺好理解的。就是下面一个流程:Created with Raphaël 2.1.0网页网页源代码正则表达式需要的内容爬虫的功能就是把网页源代码想办法爬下来,然后分析出需要的内容。

2016-04-14 20:58:58 4372 3

原创 GitHub与Git指令入门

GitHub入门GitHub入门Linux上安装GitMac上安装GitWindows上安装GitWindows上git使用Git常用命令获取仓库状态与暂存提交到本地仓库用SSH连接并推送到远程仓库之前做代码版本控制都是在bitbucket上面的私有仓库。现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历。首先创建账户的过程

2016-04-12 22:29:03 9313 2

原创 javascript精粹

分析jsjs是建立在一些非常优秀的想法和少数非常糟糕的想法之上的优秀函数弱类型动态对象富有表现力的对象字面量表示法糟糕的想法全局变量绑定 尽管JavaScript有缺陷,但它真的很优秀语法注释应该使用//,而不是/**/ 不然遇到下面的情况,注释就会失效/* var rm_a = /a*/.match(s);*/标识符建议应该由字母开头,允许中间出现数字和_应该遵循一定的

2016-12-13 14:22:47 874

原创 【解决】新浪sae 固定链接 404 问题

固定链接404问题固定链接是一个很重要的内容,wordpress默认的链接很复杂,也不利于搜索引擎搜索。wordpress也提供修改固定链接的功能,在设置里面【固定链接】修改。但是,使用新浪sae的小伙伴就悲剧了,修改完后的,所有的文章都访问不到了,哭!!解决方案网上有很多解决方案都是nginx或修改apache配置的,而在新浪sae下,我们没办法修改这些配置怎么办?还好,它提供了一个替换方案,修改

2016-11-03 16:25:40 1679

原创 《Javascript语言精粹》笔记(1)

分析jsjs是建立在一些非常优秀的想法和少数非常糟糕的想法之上的优秀函数弱类型动态对象富有表现力的对象字面量表示法糟糕的想法全局变量绑定 尽管JavaScript有缺陷,但它真的很优秀语法注释应该使用//,而不是/**/标识符建议应该由字母开头,允许中间出现数字和_应该遵循一定的命名规范数字Js只有一种数字类型。内部表现为64位浮点数,没有分离处整数类型,所以1.0和1一样。可以避

2016-11-01 11:29:23 923 1

原创 【图解】用虚拟机做服务器

最近在学nodejs,不知道有没有人跟我有一样的困惑,每次学新东西配置实验环境都是个麻烦事(其实也没那么麻烦),主要是当自己的电脑装了一堆环境,一堆IDE后,总会变得臃肿不堪,而且经常遇到莫名其妙的问题,解决麻烦,还容易造成系统的不稳定。而且每换一台电脑,所有的东西需要重新配置。所以我一直在想有一台专属的实验服务器就好了(可是对于学生来说还是贵啊),我可以在上面装我的专属实验环境,并且不用担心污染我

2016-10-31 16:27:58 54962 16

原创 常用的vim正则

参考Vim帮助文档:【pattern.txt】现在网上讲vim正则的文章多如牛毛,但是大多都只是简单的复制粘贴,转载。甚至还有很明显的错误(比如斜杠反了)。其实vim的帮助手册已经很完善了,也有中文版,而且文章质量非常之高,附带跳转功能,这么好的资料不看,为什么还要在网上找有明显漏斗的资料呢?很多手册里面也根本没提magic的概念,也没提其实+,?,=不能在vi中使用,也没提贪婪和非贪婪模式下面我只

2016-10-10 10:39:13 837

原创 vim离开模式

很多人只知道vim的离开是用Esc,但是很多人使用了也会发现,这是一个挺反人类的按键,因为目前的键盘Esc都是设置在最左上角,和原来的键盘区别很大,而恰好Esc又是vim里使用频率很高的按键,这无疑违背了vim的高效性。vim按键设计很程度上就是希望操作者的手可以完全不离开键盘( 比如用hjkl取代上下左右键 ),但是很少有人能按Esc而手不离开键盘(长指猿除外)所以,vim内嵌几个离开模式的映射。

2016-10-10 10:32:14 908

原创 详解负数取模运算

有人如果在python上使用%运算,肯定会遇到这样的问题,就是它在负数上的结果和我们之前在C或JAVA上的结果不一样。比如: -6 % 5这个运算,在python中的结果是4,但是在C/JAVA上的结果是-1这是为什么呢?wiki百科的解释很好,英文好的可以去看看,这里做一个简单的搬运:取模运算所谓取模运算在数学上就是通过辗转相除法得到的余数,一般满足下面这个式子:所以,r = a - nq,而q的

2016-10-10 10:29:03 39017 2

转载 三种纯CSS实现三角形的方法

纯 CSS 做三角形的方法,目前我知道三种1.利用 border 属性; 2.“◆”字符; 3. CSS3 transfrom 做 45 度旋转实现的,

2016-09-20 13:59:15 5582

原创 javascript数组常用操作

js的数组和python的list一样可以存不同类型不同维度个数据,除了可以用下标查看修改数据外,还有几个方法:push():加到最后pop(): 从最后取shift(): 从开头取unshift(): 加入开头构造数组的方式还有如下:(除了特别说明的外,都不改变原数组)用map创建数组var oldArray = [1,2,3,4]var timesFour = oldArray.m

2016-09-17 11:36:51 1776

原创 常用HTML标签

html的文件结构headtitlebodyhxpemstrongspanqblockquotebrnbsphrcodepreul-liol-lidivtablecaptionsummaryaimgformlabelinputtextareaselect-optionhtml的文件结构<html> <head>...</head>

2016-09-17 11:01:51 1339

原创 《常见算法和数据结构》元素排序(6)——重头戏:快速排序

快速排序是20世纪Top10算法之一。足以看出它的重要性。并且它不需要额外的空间,这是它比MergeSort厉害的地方。

2016-09-14 14:22:48 1221

原创 《常见算法和数据结构》元素排序(5)——归并排序

本系列文章主要介绍常用的算法和数据结构的知识,记录的是《Algorithms I/II》课程的内容,采用的是“算法(第4版)”这本红宝书作为学习教材的,语言是java。这本书的名气我不用多说吧?豆瓣评分9.4,我自己也认为是极好的学习算法的书籍。通过这系列文章,可以加深对数据结构和基本算法的理解(个人认为比学校讲的清晰多了),并加深对java的理解。

2016-09-09 20:25:32 1134

原创 webstorm2016.2简单激活方法

License server激活这可能是最简单的了,在激活框输入:http://114.215.133.70:41017 就可以激活了,这应该是最简单的激活方法文件激活这是网上流传的比较多的版本,具体我没测试,根据贴吧里面的反映情况应该是可以用的,至少在2016.1上。方法来自 Rover12421 大神。从官网下载WebStorm2016.1安装。下载 破解补丁 并解压,记住路径编辑Web

2016-08-30 11:08:27 62081 16

原创 《 常见算法与数据结构》平衡查找树(2)——红黑树(附动画)

红黑树介绍 红黑树是一种简单的实现2-3树的数据结构,它方便的把我们之前实现的二叉搜索树改造成了一棵2-3树。它的核心思想是用一条左倾链(红链)作为“胶水”把二叉树的两个节点给粘起来,形成一个3节点。把红链看成水平的,看是不是和2-3树就一样了BST改造成红黑树有一些约定: - 每个节点最多只有一个红链与之相连(连父亲和孩子) - 每条从root到null的路径,都是同样的黑链数(绝对黑平

2016-05-25 10:52:58 7288 2

原创 《 常见算法与数据结构》平衡查找树(1)—— 2-3查找树(附动画)

我们上回说到二叉查找树已经很接近我们的目标了,在很多情况下性能都很不错,但是唯独在删除上不行,一旦删除操作做多了就会失去平衡,那么,这回,我们来说说如何做一个平衡查找树,首先介绍一下2-3查找树2-3树介绍2-3树是一种特殊的二叉树,它允许一个节点中出现2个key。2节点:1个key,2个孩子3节点,2个key,3个孩子它有几个特性:符合中序遍历的顺序:左孩小于最左key,中间孩子在左右k

2016-05-25 10:45:16 4389 2

转载 [转]【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件注:此处之所有选用BlogsToWordpress,是因为此python脚本够复杂,依赖的模块够多。如果这个都搞定了,那么其他单个的python文件,和小python项目的打包,就更不成问题了。1.先去找找,目前主流有哪几种方法。找到几个名字cx_FreezePyI

2016-05-21 21:33:28 5484

转载 [转]python 获取脚本所在目录

平时写python经常会想获得脚本所在的目录,例如有个文件跟脚本文件放在一个相对的目录位置,那就可以通过脚本文件的目录找到对应的文件,即使以后脚本文件移到其他地方,脚本也基本不需要改动(相对于写死目录的好处)。下面通过一些代码进行一下对比。这是我写的一段代码在:/root/printfabcd/py/filePath.pyPython代码 收藏代码20 logger.debug("sys.pat

2016-05-21 16:27:32 643

原创 《 常见算法与数据结构》符号表ST(4)——二叉查找树删除 (附动画)

符号表ST(4)——二叉查找树删除 (附动画) 本系列文章主要介绍常用的算法和数据结构的知识,记录的是《Algorithms I/II》课程的内容,采用的是“算法(第4版)”这本红宝书作为学习教材的,语言是java。这本书的名气我不用多说吧?豆瓣评分9.4,我自己也认为是极好的学习算法的书籍。 通过这系列文章,可以加深对数据结构和基本算法的理解(个人认为比学校讲的清晰多了),并加深对

2016-05-14 19:31:19 2080

原创 《 常见算法与数据结构》符号表ST(3)——二叉查找树 (附动画)

符号表(3)——二叉查找树 本系列文章主要介绍常用的算法和数据结构的知识,记录的是《Algorithms I/II》课程的内容,采用的是“算法(第4版)”这本红宝书作为学习教材的,语言是java。这本书的名气我不用多说吧?豆瓣评分9.4,我自己也认为是极好的学习算法的书籍。 通过这系列文章,可以加深对数据结构和基本算法的理解(个人认为比学校讲的清晰多了),并加深对java的理解。符号表

2016-05-14 18:06:44 5785

原创 《 常见算法与数据结构》符号表ST(2)——初等实现分析和有序符号表

符号表(Symbol Table) 本系列文章主要介绍常用的算法和数据结构的知识,记录的是《Algorithms I/II》课程的内容,采用的是“算法(第4版)”这本红宝书作为学习教材的,语言是java。这本书的名气我不用多说吧?豆瓣评分9.4,我自己也认为是极好的学习算法的书籍。 通过这系列文章,可以加深对数据结构和基本算法的理解(个人认为比学校讲的清晰多了),并加深对jav

2016-05-14 16:36:55 2372

原创 《 常见算法与数据结构》符号表ST(1)——基本介绍

符号表(Symbol Table) 这次该介绍符号表(Symbol Table)了,这可是个很有用的数据结构 本系列文章主要介绍常用的算法和数据结构的知识,记录的是《Algorithms I/II》课程的内容,采用的是“算法(第4版)”这本红宝书作为学习教材的,通过这系列文章,可以加深对数据结构和基本算法的理解,并加深对java的理解

2016-05-14 15:10:19 11133 1

原创 《LeetBook》LeetCode题解(22): Generate Parentheses[M]

问题Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a solution set is: ”((()))”, “(()())”, “(())()”, “()(())”, “()

2016-05-12 21:45:51 1137

原创 【Qt界面个性化】大杀器——qss

自学qt一年多了,也捣鼓做了不少东西了,发现qt比mfc强大的地方就在与它的简洁和强大的qss。 如果学qt不知道qss那基本就和美观的界面无缘了。简单来说,qss就源于网页的css(语法也基本一样一样的)所以如果你之前懂一些css的知识,学qss那是非常快的。css学习:http://www.w3school.com.cn/css/css_syntax.aspqss能做什么?1.可以换

2016-05-12 21:35:29 45010 7

原创 cVim—Chrome上更强大的vim插件

cVim——Chrome上更强大的vim插件介绍也许很多人在chrome上都用过类似Vimium, ViChrome的插件,这些插件的目的都差不多,就是在浏览器中提供一些类似vim的操作来提高效率。但是大多这类的插件,实现的功能都比较单一化,实现了基本的浏览功能,但是不够强大。比如说 viusal 模式,就基本都不涉及。 机缘巧合下,发现了cVim插件,感觉就像打开了一扇全新的大门!!!获取cVi

2016-04-29 12:03:20 20781 5

转载 把《编程珠玑》读薄

目录开篇啊哈!算法数据决定程序结构编写正确的程序编程中的次要问题程序性能分析粗略估算算法设计技术代码调优节省空间排序取样问题搜索堆字符串

2016-04-28 22:04:11 1613

转载 动态规划:入门绝佳资料

作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。前言我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。 解决这类问题可

2016-04-28 22:02:33 869

原创 《常见算法和数据结构》优先队列(3)——堆排序

堆排序1堆排序思想堆排序的思想很简单,就是利用了堆的优点,不断的找最大值,然后删除最大值,重复操作。 - 首先,要构造一个二叉堆出来,我们采用自底向上的思想。 做删除root的操作(但是不是真删除,只是把root元素放到最后了) 循环直到数组有序。我们可以发现加入的代码非常少!!3.2堆排序代码public class Heap{ public static void sort(Comp

2016-04-28 21:40:01 748

原创 《常见算法和数据结构》优先队列(2)——二叉堆

1.二叉堆1.1二叉堆的定义堆是一个完全二叉树结构(除了最底下一层,其他层全是完全平衡的),如果每个结点都大于它的两个孩子,那么这个堆是有序的。 二叉堆是一组能够用堆有序的完全二叉树排序的元素,并在数组中按照层级存储(不用数组的第一个位置) 1.2二叉堆的性质 最大的元素在a[1] (root结点)每个k的父亲在k/2每个k的孩子在k*2和k*2+11.3二叉堆的操作1.3

2016-04-28 21:27:32 4702

原创 《常见算法和数据结构》优先队列(1)——API和初等实现

1.优先队列的API和初等实现做一个总结: 栈 :先进后出 队列 :先进先出 随机队列 : 随机出 优先队列:每次出来的是最大值或最小值1.1优先队列的API优先队列在很多场合都有用, 比如:在大量数据里,如果取前M大的数据(存储不足以存下如此大规模数据),就可以用优先队列(MinPQ来做,类似MaxPQ,只是每次删除最小值)——一直保证队列中只有M个比较大的数据,每次删除

2016-04-28 21:24:41 1052

原创 《LeetBook》leetcode题解(18) : 4Sum[M]

018. 4Sum 问题Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note: Eleme

2016-04-27 21:37:01 1067

原创 《LeetBook》leetcode题解(17):Letter Combinations of a Phone Number[M]

017. Letter Combinations of a Phone Number[M]问题Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone bu

2016-04-27 11:53:39 1339

原创 链表“倒数”问题两个解决思路

leetcode有道题就是问的这个问题: leetcode:Remove Nth Node From End of List[E]链表的问题这是链表中非常常见的问题,众所周知,链表慢就慢在遍历查找,而对于单链表来说,每次必须从头开始搜索,这样使得链表在处理“倒数”这个概念的时候,特别无力。常规的做法必须要2遍遍历:1遍计算链表长度len,1遍搜索倒数的元素len-n。(当然,你可以通过加入链表长度

2016-04-24 22:42:00 521

vc编写的音乐播放器

这是我自己编写的一个音乐播放器,实现了所有基本功能,不是支持左右的音乐格式,只有mp3格式,大家可以参考一下,代码里面有注释

2012-12-08

空空如也

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

TA关注的人

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