- 博客(55)
- 资源 (8)
- 收藏
- 关注
原创 网络爬虫
参考我的知乎专栏:网路爬虫现在从网络爬虫的五个方面开始讲起,即定义,背景,原理,工具,实战。一:网络爬虫定义参考:百度百科网络爬虫定义 网络爬虫(又被称为网页蜘蛛,网络机器人,网页追逐者等),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,跟浏览器一样,是一个web客户端程序,如下图:网络爬虫二:网络爬虫背景计算机网络本质上是一种传播工具,方便人们更好的相互交...
2018-07-27 11:43:49
4518
2
原创 漫游科技、人类、计算机
科技发展日新月异,快节奏的步伐令人咂舌,比如人工智能,生物基因技术,区块链,虚拟现实等。科学是第一生产力,每一次科技的进步,都在推动着历史的齿轮巨速地前进,比如农业革命的农作物种植技术,工业革命的蒸汽电力技术,信息革命的电脑生物技术等。 不过我个人最近有些思考,记录下来,以便自己以后能够更深...
2018-07-17 23:42:37
365
原创 vim 使用(二):插件
参考谁说Vim不是IDE? 常用插件分为四种:通用插件:适用于所有类型的文件,在使用Vim的时候可以通过插件命令呼出。比如用来快速定位文件的插件CommandT,使用:CommandT即可启动该功能,对任何类型都适用。该类插件一般放置在.vim/plugin/目录下。文件类型插件:适用于特定类型的文件,比如c、java、xml等文件。在编辑特定类型的文件时,插件功能才会启用,该类插件一般...
2018-04-08 14:39:58
286
原创 vim使用(一):基本操作
参考Vim Practice vim 基本操作 Vim提供了一套面向编辑的语言,一旦你熟悉习惯这门语言,编辑的过程就是思考的过程; :h cmdname 可以查看某一个命令的作用说明, 比如 :h yy; d、y、c、v分别代表删除/拷贝/修改/选择 1. 移动操作:h,j, k, l 相对于光标位置分别表示为左,下,上,右(j,k可以理解为jump dow...
2018-04-08 13:16:35
365
原创 mysql information schema 相关表介绍与应用
information_schema 数据库介绍INFORMATION_SCHEMA provides access to database metadata, information about the MySQL server such as the name of a database or table, the data type of a column, or access privil...
2018-04-01 19:06:45
386
原创 macos pip3 AttributeError: '_NamespacePath' object has no attribute 'sort' 解决
主要参考http://blog.youkuaiyun.com/Dickson531/article/details/78043627由于自己在安装阿里云的tablestore服务的python sdk时,装好之后,查看安装的情况,报错如下:输入pip之后也报同样的错误,应该安装上面sdk的时候,pip给破坏了而出现的问题,所以把pip修复好就行。自己解决步骤如下:1.到网站setuptools 39.0.1下...
2018-04-01 19:04:17
7712
原创 常见排序算法
参考:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/1.常见排序算法如下:这里的稳定性,是指数组里的相同元素是否保持相对位置不变,一般不稳定的话,是指元素交换位置,存在跳跃性。2.算法代码加描述(1)冒泡排序【注意:】上述冒泡还可以优化,对于已经有序的,可以加一个判断,如果不存在相邻元素交换,则说明有序,复杂度为O(n);(2)选...
2018-04-01 18:52:44
187
原创 mysql 表字段设计与磁盘io的关系
1.磁盘结构对于管理磁盘,分磁盘面、磁头、磁道、柱面和扇区。磁盘面:磁盘是由一叠磁盘面组成,见下左图。磁头(Heads):每个磁头对应一个磁盘面,负责该磁盘面上的数据的读写。磁道(Track):每个盘面会围绕圆心划分出多个同心圆圈,每个圆圈叫做一个磁道。柱面(Cylinders):所有盘片上的同一位置的磁道组成的立体叫做一个柱面。扇区(Sector):以磁道为单位管理磁盘仍
2017-05-20 11:31:34
950
原创 webp格式图片转化为常见的png格式图片
问题背景在抓取百度首页和今日头条相关的创意广告时,发现有很多部分都是webp格式的图片,在调用图片去重算法时,报错退出,经排查发现库中调用的php api 函数‘getimagesize ( string $filename )',由于php为5.6版本,比较低,不能处理webp格式,只能处理常见的png,jpg, gif几种格式的图片。webp格式图片介绍WebP(发音 we
2017-05-17 13:37:36
10707
原创 第一个月总结(2016-04-18到2016-05-17)
完成:拉勾简版网站模型搭建成功智线云监控系统完成 后端数据获取系统operatool前端数据展示系统LabUI全球国家与城市信息收集、整理与表设计基本完成,还需完善收获:整体走了一遍web前端与web后端,大致了解其中区别与联系:相同点:都可以用mvc模式去设计,不仅仅前端包括界面展示,后端通常也需要见面展示,二者没有严格的界线。不同点:前端侧重于数据的展示与数据的收集;后端侧重于与
2016-05-17 00:42:45
689
原创 we job IT网设计
项目开发功能图项目开发功能图 表结构sql语句CREATE TABLE `job` ( `id` int(10) UNSIGNED NOT NULL, `name` varchar(20) NOT NULL, `company` varchar(100) NOT NULL, `city` varchar(20) NOT NULL, `min_salary` int(10) UN
2016-04-11 02:28:31
456
原创 数据结构与算法(七):常见数据结构与算法概括
常用数据结构线性结构: 字符串、数组(固定vs动态,有序 vs无序)、链表(单向链表、双向链表);栈、队列(普通队列、优先队列)、双端队列、块状数组(链表+数组);(注意,栈,队列或用数组或用链表实现)哈希表(数组或者链表实现)、关联容器(字典或者映射,主要还是哈希)、并查集、集合(散乱无序,交并差等操作)树形结构: 堆(大顶堆、小顶堆(数组+树))字典查找树(trie树)、二叉树(平衡
2016-03-29 17:04:01
618
原创 数据结构与算法(六):技术面试题
算法题的五种解法:《参考程序员面试金典》中技术面试题: 1. 举例法:先列举一些具体的例子,看看能否发现一般的规则。 2. 模式匹配法:将现有问题与一些类似基础算法问题作类比,看看能否通过相关问题来解决新问题,往往适用排序或者查找算法。 3. 简化推广法:分多步走,首先修改某个约束条件,比如数据类型或者数据量,从而简化这个问题;接着我们处理这个问题的简化版本,得到某种解决问题的算法;最后
2016-03-28 15:50:19
449
原创 python学习(九):异常、调式与测试
异常Python内置的try…except…else…finally用来处理错误十分方便。出错时,会分析错误信息并定位错误发生的代码位置才是最关键的。程序也可以主动抛出错误,让调用者来处理相应的错误。但是,应该在文档中写清楚可能会抛出哪些错误,以及错误产生的原因。raise语句如果不带参数,就会把当前错误原样抛出,此外,在except中raise一个Error,还可以把一种类型的错误转化成另一种
2016-03-28 15:13:38
837
原创 python学习(八):面向对象(三)
class typetype()函数既可以返回一个对象的类型,又可以创建出新的类型,原型为:type(object) -> the object's typetype(name, bases, dict) -> a new type要创建一个class对象,type()函数依次传入3个参数: class的名称;继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单
2016-03-27 10:56:16
725
转载 python中的用来定制类的特殊方法的含义
摘自《python核心编程》13.13节,用特殊方法定制类基本定制型 C.init(self[, arg1, …]) 构造器(带一些可选的参数) C.new(self[, arg1, …]) 构造器(带一些可选的参数);通常用在设置不变数据类型的子类。 C.del(self) 解构器
2016-03-26 01:19:21
826
原创 python学习(七):面向对象(二)
添加方法正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法;还可以尝试给实例绑定一个方法,但是,给一个实例绑定的方法,对另一个实例是不起作用的;为了给所有实例都绑定方法,可以给class绑定方法,给class绑定方法后,所有实例均可调用(需要from types import MethodType)。限制属性为了达到限制的目的,Pyth
2016-03-25 18:13:20
415
原创 python学习(六):面向对象
面向对象与面向过程面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。给对象发消息实际上就是调用对象对应的关联函数,我们称
2016-03-25 11:03:01
823
原创 python学习(五):模块
模块(module) 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。 使用模块有什么好处?最大的好处是大大提高了代码的可维护
2016-03-24 22:05:13
375
原创 筛选法求全体素数
计算素数的一个方法是埃氏筛法,它的算法理解起来非常简单,参考《廖雪峰的python教程》:def _odd_iter(): n = 1 while True: n = n + 2 yield ndef _not_divisible(n): return lambda x: x % n > 0def primes(): yield 2
2016-03-24 19:16:44
627
原创 python学习(四):函数式编程
面向过程 vs 函数式函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。计算机 vs 计算
2016-03-24 18:19:25
451
原创 python学习(三):高级特性
在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。1行代码能实现的功能,决不写5行代码。请始终牢记,代码越少,开发效率越高。切片取一个list或tuple的部分元素是非常常见的操作,Python提供了切片(Slice)操作符,对应类型为slice类型,能大大简化这种操作。可以先声明一个slice对象,然后对集合对象取部分元素,如:List[slice
2016-03-24 17:39:47
495
原创 python学习(二):函数
定义函数在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None;return None可以简写为return。空函数如果想定义一个什么事也不做的空函数,可以用pass语句:pass语句什么都不做,那有什么用?实际上pass可以用
2016-03-22 23:25:03
724
原创 Python学习(一):python3基础
主要参考廖雪峰的python教程 不断的学习才能不断发现好东西! 富而不骄易,穷而不怨难数据类型 (一切均为对象)整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、空值(NoneType)、变量、常量常用数据结构 (collections)list:是一种有序的集合,可以随时添加和删除其中的元素;用索引来访问list中每一个位置的元素,记得索引是从0开始的;
2016-03-22 00:11:22
664
转载 添加阿里yum源
1、加源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo2、安装yum update;yum install ntfs3g
2016-02-24 22:12:47
4671
原创 java 类型与移位运算
1.boolean 1bit 只能取值true or false byte 1byte char 2byte 专为unicode设计,包括全球几乎所有语言的字符,中文字符在64000左右 short 2byte int 4byte Integer.toBinaryString(toHexString) long 8byte Long
2015-09-19 20:34:17
507
原创 elasticsearch 1:入门
curl -XPUT 'http://localhost:9200/megacorp/employee/1' -d '{"first_name":"John","last_name":"Smith","age":25,"about":"I love to go rock climbing","interests": ["sports","music"]}'cur
2015-09-07 10:42:17
463
原创 MOOC网上调研以及个人见解
1.MOOC互联网思维 要做好互联网教育,根本上来说还是要做好学习者满意的产品和服务。面向全球用户的大规模在线开放课程 (MOOC)在大数据的应用、以学生为中心、免费开放等方面充分体现了互联网思维的本质。 用户思维——MOOC充分体现以学习者为中心 简约思维——MOOC课程与平台的简单易用性 迭代思维——MOOC课程设计与组织的灵
2015-07-30 12:16:42
1498
原创 c++编程经验一
1.判断浮点数相等,不要用==,因为计算机表示浮点数时存在精度误差问题,最好判断二者之差的绝对值,即fabs(a-b)是否小于某个阈值,例如:1e-9.2.判断一个整数是否为奇数,不要用x%2==1,请用x%2!=0,因为-3%2=-1,而不是1.3.注意类型提升问题,比如数组的下标类型为unsigned int 等等4.vector和string优先于动态分配数组,尤其在多位数组上,可以
2015-07-16 16:43:46
588
原创 scala学习笔记(三)
1.Scala和Java的互操作性互操作涉及两个方面,一是Scala访问Java;二是Java访问Scala。我们只是看前者,后者使用的比较少,支持也不完整,也没有多少意义。Scala的类继承结构图:Scala的AnyRef等价于Java的Object。需要注意的是Nothing和Null,它们是类型的下限。这在其他面向对象的语言里面是没有的。在Scala里面使用Jav
2015-07-16 16:43:43
584
原创 scala学习笔记(二)
1.告诉编译器你希望这个参数被当做参数序列处理,追加":_*"即可,如:val s=sum(1 to 5:_*).2.如果函数体包含在花括号当中但没有前面的=号,那么返回类型为Unit,这样的函数称为过程。过程不返回值,我们调用它仅仅是为了副作用。建议大家总是显示声明Unit返回类型。3.当val被声明lazy时,它的初始化将被推迟,直到我们首次对它取值。4.try/catch:处理异
2015-07-16 16:43:40
448
原创 scala学习笔记(一)
1.val 定义变量其值为一个常量,var定义的变量其值可以改变。在scala中,鼓励多使用val变量,大多数程序不 需要太多的var变量。2.在scala中,变量或者函数的类型总写在变量或者函数名称的后面。这使得我们更容易阅读那些复杂类型的声 明。3.在变量声明或者赋值语句后面并需要使用分号,仅当同一行存在多条语句时使用分号隔开。4.scala有七种数值类型:Boole
2015-07-16 16:43:38
531
原创 uniq命令
uniq [ -c | -d| -u ] [ InFile [ OutFile ] ]uniq 命令删除文件中的重复行。uniq 命令读取由 InFile参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。重复的行一定相邻。(在发出 uniq命令之前,请使用 sort 命令使所有重复行相邻。)最后,uniq 命令将最终单独的行写入标准输出或由 OutF
2015-07-16 16:43:36
426
原创 数据结构与算法五
很多问题来说,算法不是唯一的。同一个问题,可以有多种解决问题的算法。正因为算法不唯一,相对好的算法还是存在的。什么才叫好的算法呢? 首先一个算法必须具备以下性质:算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。算法必须是由一系列具体步骤组
2015-07-16 16:43:33
708
原创 数据结构与算法四
数据结构是数据存储的方式,算法则是处理数据的方法,通常我们通过分析算法的时间复杂度和空间复杂度来判断它的好坏。通常我们学数据结构的同时也会学习算法,数据结构的不同就会导致算法的不同,数据结构的选择对算法效率会产生重大的影响,所以数据结构与算法紧密联系。一个问题可能会有多种算法,我们当然会采用最好的那个算法,但是怎么判断一个问题的好坏与否呢?我们一般会通过分析它们的时间复杂度和空间复杂度来进行比较。
2015-07-16 16:43:31
664
原创 数据结构与算法三
在C语言中,按照取值的不同,数据类型可以分为两类: 原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。 结构类型:由若干个类型组合而成,是可以再分解的。例如,整型数组是由若干整型数据组成的。 抽象是指抽取出事物具有的普遍性的本质。它是抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。抽象是一种思考问题的方式,它隐藏了繁杂的细节,只保留实现目标所必需
2015-07-16 16:43:28
649
原创 数据结构与算法二
数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容: 数据的逻辑结构; 数据的物理存储结构; 对数据的操作(或算法)。 通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。 逻辑结构:是指数据对象中数据元素之间的相互关系。 其实这也是我们今后最需要关注的问题。逻辑结构分为以
2015-07-16 16:43:26
468
原创 数据结构与算法一
算法与数据结构之于程序设计的重要性不言自明。那么,什么是算法?什么是数据结构?什么又是程序呢?我们先从阐明大家最为熟悉的“程序”的概念入手。1)程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务;2)再来看什么是算法,算法是程序的逻辑抽象,是解决某类客观问题的数学过程;3)最后我们来看一看数据结构又是什么呢?在这里,数据结构具有两个层面上的涵义--逻辑
2015-07-16 16:43:23
642
原创 IF和h5
IF:impact factor影响因子影响因子并非一个最客观的评价期刊影响力的标准。一般来说影响因子高,期刊的影响力就越大。影响因子是以年为单位进行计算的。以1992年的某一期刊影响因子为例,IF(1992年) =A / B其中,A =该期刊1990年至1991年所有文章在1992年中被引用的次数;B =该期刊1990年至1991年所有文章数。 H5:指数是
2015-07-16 16:43:21
1054
原创 linux bunzip2
Linuxbunzip2命令是.bz2文件的解压缩程序。bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2-d的效果相同。语法:bunzip2[-cfklsv][.bz2压缩文件]参数:-f或--force 解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数。-k或-
2015-07-16 16:43:18
1574
统计学习方法 李航
2015-05-15
最优化理论与算法 陈宝林
2015-05-15
机器学习 3本
2015-05-10
精通Windows+Sockets网络开发书上源码
2012-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人