自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python练手项目5 -- 修改照片尺寸

项目来源:show-me-the-code5号题目:你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。分析:这个题目的关键在于如何读取一个目录下的所有图片,另外就是Iphone 5的分辨率是多少?上代码:from PIL import Imageimport os#我自己的路径path = "c:\projectpat...

2018-03-08 18:14:15 318

原创 Python练手项目4 -- 统计英文单词的数目

项目来源:show-me-the-code4号题目:任一个英文的纯文本文件,统计其中的单词出现的个数。分析:这道题目我个人觉得开放性很大,可以用很多种方式去做,我个人因为目前在做爬虫,使用正则表达式会多一些,就写了一个正则表达式的解析方法。主要是因为这样简洁一点。上代码:import rewith open('4.txt', 'r', errors='i...

2018-03-08 18:07:18 1087

原创 Python练手项目3 -- 把200个激活码放到Redis非关系型数据库中

项目来源:show-me-the-code3号题目:将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。分析:和第二道题目类似的题目,考察基本的python对redis的操作。上代码:import redis, randomsqu = 'qwertyuiopasdfghjklzxcvbnm1234567890'...

2018-03-07 17:51:19 495

原创 Python练手项目02 -- 把激活码存到Mysql中

项目来源:show-me-the-code2号题目:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。分析:学习使用最基本的关系型数据库Mysql的使用。上代码:import mysql.connector, randomconn = mysql.connector.connect(user='root', pas...

2018-03-07 16:29:26 408

原创 Python练手项目1 -- 生成200个激活码

练手项目来源:show-me-the-code1号题目:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?分析:这道题目是个比较灵活的题目,我刚看到题目时,还有点懵逼,没看明白意思。后来想了一下,本质上就是让你生成200个随机码。我这里生成的是一个类似于window...

2018-03-07 10:33:44 1156

原创 Python练手项目0 - 给头像右上角添加数字

题目来源:show-me-the-Code0号题目:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果。(偷个懒直接用链接的地址) 分析:这道题目就是考察最简单的图片处理,我这里用的是PIL库。上代码:#!/usr/bin/env python# -*- coding:utf-8 -*-from PI...

2018-03-06 17:55:25 504

原创 ConnectTimeout和ReadTimeout所代表的意义

ConnectTimeout 指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。 在java中,网络状况正常的情况下,例如使用HttpClient或者HttpURLConnetion连接时设置参数connectTimeout=5000即5秒,如果连接用时超过5秒就是抛出java.net.SocketException: connetct time out的异常。ReadT

2017-12-18 11:25:30 54941 4

原创 文本处理笔记

简单的记录一下,最近遇到的一些字段处理上的问题。在使用爬虫抓取数据时,有时会抓取到一些让人很无奈的数据,处理方式也需要你做一些不同的处理。 因为我用的框架是自己拼接sql语句,也就是匹配到页面内容后(一般用正则匹配),给字段内容的两端添加单引号,来实现拼接,在这种情况下就会出现一些很有意思的事情,例如字段内容自带引号(包括单引号和双引号,Mysql都识别)。 举例说明: name tel

2017-12-06 12:15:56 226

原创 HttpClient处理登录问题

本篇博客简单介绍两种处理登录问题的解决方法,具体各位的问题,请具体问题具体分析,辩证解决。我们在这里讲的两种处理登录问题的方式是针对于不同的需求所做出的方案。使用参数登录 适用于需要多次登录访问抓取信息的网站使用Cookie登录 适用于一次登录抓取完数据后就完事的网站使用参数登录一般情况下,登录请求都是需要使用POST请求来完成操作的,当然也不排除使用GET请求直接在url里带参数访问

2017-11-07 17:05:04 1313

原创 CharsetDetector的简单用法

Maven及jar包的下载地址:点这里 CharsetDetector的API路径:CharsetDetector API简单介绍一下:CharsetDetector这个类是为了解决未知格式的字符数据的编码格式的问题,也就是说你可以通过这个类得到一段编码格式未知的字符数据最可能的格式。(并不保证一定能找到,后续会详细解释)。 注:本篇博客只做最基本的使用介绍,更详细的使用方法,请看文章开头

2017-11-01 11:34:28 3773

原创 Git入门学习记录

git教程来自:廖雪峰的git教程。教程里面有下载路径,不过这里还是再贴一份吧。(国内镜像)这里说两句趣谈,当然也是从教程里看到的,真的没想到git的诞生是因为: 开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMov

2017-10-30 18:30:54 380

原创 HttpClient学习记录

这篇博客主要记录一下工作中使用到的点滴技术,也会对最基础的内容作讲解,当然讲的东西不只是工作内的内容,希望对各位读者有帮助。 这里说一句话:如果想要优雅的使用HttpClient进行抓取,应该同时掌握较好的关于HTTP协议的内容。就我个人的学习路程来看,对HTTP协议的内容和理解越深刻具体,对HttpClient的使用与理解就越容易。HttpClient基础学习(GET/POST)关于官方性质的

2017-10-12 18:07:00 253

原创 LeetCode - 283. Move Zeroes

题目链接:283. Move Zeroes题意:给你一个数组nums,将这个数组中的0移动到数组的末尾。例:nums = [0, 1, 0, 3, 12],处理后,nums应该是1, 3, 12, 0, 0]。 注:您必须在本地进行此操作,而无需制作数组的副本。(实在不会翻译了)尽可能减少操作的次数。这里我的理解是不使用额外的存储空间并且尽可能减少数组中的数的移动次数,也就是通过最少次的移

2017-10-12 10:03:49 195

原创 LeetCode - 371. Sum of Two Integers

题目链接:371. Sum of Two Integers题意:给你两个整数a和b,请你不使用+和-求出两个数的和。题意很明确,但是不使用+和-进行求和,确实是让我一脸懵逼,所以我取了巧。class Solution(object): def getSum(self, a, b): return sum([a, b])哈哈哈,虽然没看过sum()函数的源码,但也能猜到sum

2017-10-07 11:55:54 234

原创 LeetCode - 448. Find All Numbers Disappeared in an Array

题目链接:448. Find All Numbers Disappeared in an Array题意:给你一个整数数组,数组的值都是1≤a[i]≤n(n是数组的长度),有些数字会出现两次,但是有的数字只会出现一次。 找到所有在[1, n]这个数组中,但是不在给的数组中的数。(也就是符合1≤a[i]≤n,但是没有出现在给定数组中的数) 你能不用额外的存储空间并在O(n)时间内解决问题吗?你可

2017-10-06 23:55:22 283

原创 LeetCode - 258. Add Digits

题目链接:258. Add Digits题意:给你一个非负整数,将这个数的每一位拆开进行求和计算,直到只剩一位数为止。 例:num = 38,先对num进行拆分,3和8,求和为11,再拆分1和1,求和为2,2就是最终的结果。 另:你能在不使用循环/递归的情况下,用O(1)的时间复杂度求出结果吗?简单的解法,也就是使用循环求解的方法:class Solution(object): def

2017-10-06 21:59:10 282

原创 LeetCode - 496. Next Greater Element I

题目链接:496. Next Greater Element I题意:给你两个数组nums1和nums2,并且nums1的元素是nums2的子集(说白了nums1是nums2的子集)。找到所有nums1的元素可以对应在nums2的对应位置上的next greater numbers。 这个The Next Greater Number的定义是在nums2中对应的nums1的元素往后看,第一个比这

2017-10-05 17:29:51 298

原创 LeetCode - 463. Island Perimeter

题目链接:463. Island Perimeter题目大意:这里给你一个map(实际上是一个二维数组),这个二维数组中的0代表了水,1代表了岛(也就是陆地)。这些二位数组组成的网格是水平或垂直连接的(没有对角线)。这个网格中只包含了一块岛,其余的都是水,并且岛上没有湖泊。一个格子是一个边长为1的正方形,这个网格整体是个矩形,并且长和宽都不超过100,求出岛的周长。[[0,1,0,0], [1,

2017-10-05 16:03:03 284

原创 Python学习笔记

这是我个人学python的一点笔记,方便自己以后查看知识点。 学习地址:廖雪峰Python教程To-do List前面拉下的笔记 暂时先挖坑,以后再来填新东西往上记: 今天看到python的一个知识点:协程。链接:看这里。 协程看上去也是子程序(一个线程就是一个子程序),但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。 在一个子程序中中断,

2017-09-29 18:01:53 332

原创 LeetCode - 575. Distribute Candies

题目链接:575. Distribute Candies题目大意:给你一个长度为偶数的整数数组,这个数组中的不同的数字代表着不同种类的糖果。每种数字代表一个相应的糖果。现在把这些糖果平均分给哥哥和妹妹,返回妹妹能得到的最大种类的糖果数量(也就是不同数字最多的一种分类方式下的那个最大值)这道题目思路也很简单,假设糖果总数为n,假设糖果种类大于n/2,这样妹妹最多得到n/2种,如果糖果种类小于n/2,

2017-09-28 18:28:45 321

原创 LeetCode - Add to List 557. Reverse Words in a String III

题目链接:Add to List 557. Reverse Words in a String III题目翻译:给你一个字符串,将字符串中的每一个单词的字母顺序反转,但是仍然需要保留字符串中的空格和单词的顺序。 注:在字符串中单词之间有且仅有一个空格,而且字符串中没有多余的空格。这个题目非常简单,没有什么可说的,这里主要是记录一下对于python语法的运用。我的解法def reverseWor

2017-09-25 10:01:05 256

原创 LeetCode -500. Keyboard Row

题目链接:500. Keyboard Row首先说一下题目的大意:这道题的意思是给你一个List,要求你返回这个list中所有字符全部都在美式键盘的同一行的字符串,把符合要求的字符串在整合成一个List返回。 两点注意: 1. 每一个字符都可以输入多次。 2. 你可以假定输入的字符串只包含英文字母。题目大意说完了,来分析一下题目吧,这个道题实际上非常的容易理解,做起来可能会比较容易困惑,

2017-09-21 17:51:07 270

原创 LeetCode-627. Swap Salary

题目链接:627. Swap Salary这是一道关于Mysql的题目,题目大意是:一张数据库表中有一列为sex,这一列只有两种值f(female,女的)和m(male,男的),现在要求你只用一个update语句,并且不用中间表过渡,把f转化为m,m转化为f。这个题考的其实就是对于Mysql的关键字的了解,我个人因为工作原因基本不接触数据库表,所以并不怎么了解,后来查了才知道有以下这些关键字。第

2017-09-20 17:45:52 730

原创 Redis学习记录(一) - Linux下的Redis的安装

最近开始学习Redis,会写几篇博客来记录学习redis的过程。 这里的redis相关的内容全部来源于RUNOOB.COM,这个网站有着非常多的教程,我个人认为如果有一定基础还想学习新的知识的话,来这个网站学习是一个不错的起点。Redis学习第一步,在linux上安装redis 这里是Redis的最新的下载地址:Redis首先在指定目录中下载redis$ wget http://down

2017-09-20 11:02:14 344

原创 Eclipse中的Java工程中没有class文件以及看不到class文件的处理办法

这篇博客总结一下关于Eclipse的java项目中没有class文件以及有class文件却看不见的解决方法,这些方法自然有它的局限性,希望读者能根据自己的实际情况来做出选择。看不到class文件 这里的解决办法很简单,eclipse有很多种视图模式,当我们看不到class文件时,有可能是我们选择的视图模式不对(我的问题是这样解决的)。 首先将视图模式切换到java模式 其次点击工具栏的wi

2017-09-19 15:28:45 27975 1

原创 LeetCode-476. Number Complement

题目链接:476. Number Complement题目描述:给你一个正整数,求这个正整数的二进数的值,全部取反后的整数的值。这个正整数是一个小于32位的整数你可以认为这个二进制数没有前导0,也就是说二进制数的第一位一定是1这道题就没啥说的了,将给的正整数转化为二进制数,取反后再转化为整数,返回结果就ok。我的代码(很渣):class Solution(object): def f

2017-09-18 15:15:17 419

原创 LeetCode-561. Array Partition I

题目链接:561. Array Partition I这道题的题意也很简单:给你一个长度为2n的数组,数组中的数的值在-10000-10000之间,现在讲数组分为n个有两个数组成的小数组(a1,b1)到(an,bn),然后取出每个小数组中较小的值,并将这n个小数组中取出的值相加得到一个和sum,求这个和sum的最大值。这个题的解题思路其实是很简单的,既然要从每两个数组成的数组中去一个较小的值,那么

2017-09-12 18:43:30 243

原创 LeetCode-617. Merge Two Binary Trees

题目链接:617. Merge Two Binary Trees题目意思很简单:给你两个二叉树,将两个二叉树合并,合并的规则是如果某一个点是重合的,将它们的值相加,在某一个节点二叉树a有值而b没有值,则用a的值作为合并后二叉树在该节点的值。这道题说难也不难,说不难也能让人头疼,思路上来说很简单,但要实现代码的时候还是略有些繁琐,也不能用繁琐来说,应该用复杂吧。 先上代码:# Definitio

2017-09-12 16:31:48 202

原创 LeetCode-657. Judge Route Circle

题目链接:657. Judge Route Circle题目大意:有一个机器人,可以上下左右走,现在给你一个字符串,包含U,D,L,R四种字符,请判断机器人走完之后,是否回到原来的位置上了。常规解法:class Solution(object): def judgeCircle(self, moves): x=0 y=0 mList = li

2017-09-12 11:33:10 264

原创 LeetCode-461. Hamming Distance

题目链接:461.Haming Distance这道题的意思非常简单,给你两个31位的正整数x和y,求出x和y的二进制数一共有多少位不一致。 因为个人原因,我会使用Python语言编程,希望各位看官先看一看是否与自己想找的内容相符,当然编程的本质实际上是一样的,语法问题本来就不是个问题。此题也给出两种解法: 第一种解法:将两个数转换为二进制数并用list存起来,然后对较小的那个数进行补0操作,

2017-09-08 14:21:52 301

原创 LeetCode-595 Big Countries

题目链接:595 Big Countries这是LeetCode通过率最高的一道题(70.5%),也从侧面说明了这道题的简单。 废话不多说,简单翻译一下题目: 给你一个数据库表(表名:World),然后查出area大于3000000或者population大于25000000,并且只显示name,population,area这三个字段这里说两种解法: 第一种解法就是常规的做法使用or,

2017-09-08 13:49:14 546

转载 关于Eclipse下的SVN下载的java工程无法被识别的解决方法

注明:我个人遇到的问题是我在Eclipse上直接下载SVN的java工程可以打开查看代码也可以提交,但是无法使用(例如:一个类有主函数但仍然无法运行)。这篇博客解决的是以上所说的问题,如果读者有不一样的问题,请辩证使用本博客说叙述的方法。 在开源中国社区的博客山有更好的解决方法,推荐大家去看他的这一篇博客的内容。首先说明出现这个问题的原因:eclipse识别一个工程的方式是读取该工程根目录下

2017-09-07 14:57:05 1935 1

原创 重新开始

很久很久没有写过博客了,今天看到斌哥的博客以及他对自己的生活的思考,觉得自己自己果然还是太差劲了,最近比较迷茫,一直不知道到底该做些什么。想了想既然不知道该怎么做,那就从重新开始写博客起步,以后博客会尽可能的去更新,估计更新的东西会比较杂,希望可以通过坚持做一些微小的事情,从而能够提高自己把!

2017-09-07 11:13:35 253

原创 排序算法之归并排序

我们在这里主要探讨二路归并排序: 归并的意思是将两个及两个以上的有序表组合成一个新的有序表。 实现的方法是:对两个有序的序列进行遍历并一一比较两个序列当前元素的大小值,假定这两个序列都是升序的,我们要将这两个序列合并成一个升序的,只需要依次去两个序列中的较小值存入新的序列表中,直到两个序列都为空后,我们就得到了合并后的新的有序序列。归并排序:空间复杂度:需要辅助空间存储合并后的序列,大小为n,

2016-09-08 15:20:59 1043

原创 排序算法之选择排序

选择排序:一种非常简单而且容易理解的排序,每次遍历去寻找当前序列的最小值然后将最小值放在当前序列的第一位,如此往复,直到序列遍历完毕。简单排序:空间复杂度:O(1)时间复杂度:O(N^2)稳定性:不稳定代码如下: public static void sort(int[] nums, int length) { for(int i=0; i<length; i++)

2016-09-08 15:02:43 454

原创 排序算法之快速排序

快速排序:其根本思想是基于分治法的,每次从待排序的序列中找出一个数记为p,将序列中所有比p大的数字放在p后面,将所有比p小的数放在p前面,再对p左右两边的子序列执行上述操作,直到子序列的长度为1(一个数一定有序),最后返回的序列就是有序序列。快排相关:空间复杂度:因为快排是基于递归的,所以需要一个递归栈来保存每层的调用信息,平均情况为O(logn),最差的情况下为O(n)时间复杂度:当原始序列基

2016-09-08 12:01:37 493

原创 排序算法之希尔排序-优化后的插入排序

希尔排序的思想:将待排序的序列分成若干个子序列(由某一分量相隔的元素组成),分别对若干个子序列进行直接插入排序,之后依次缩小分量直到整个序列基本有序,再对整个序列进行直接插入排序,基于插入排序在基本有序的序列中效率极高,因此可以提高直接插入排序的效率。建议看希尔排序前,先看明白直接插入排序!!!关于希尔排序的各项信息:空间复杂度:O(1)时间复杂度:由于希尔排序的时间复杂度依赖于增量序列的函数,

2016-09-08 11:34:48 1549

原创 排序算法之直接插入排序(JAVA)

插入排序的思想:每次讲一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到所有记录全部插入完成。直接插入排序:我们可以将数组的第一个元素看做已经排好序的子序列,这样从数组的第二个元素开始遍历,依次向排好序的子序列做插入排序操作。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:每次插入元素时,都是从后向前比较移动,不会出现相同元素相对位置发生变化,所以直接插入排序是稳定的排序

2016-09-08 10:52:21 784

原创 关于Hibernate中创建ServiceRegistry对象时找不到ServiceRegistryBuilder对象的问题

在hibernate4.2中我们使用如下方式创建ServiceRegistry对象ServiceRegistry serviceRegistry= new ServiceRegistrybuilder().applySettings(configuration.getProperties()).buildServiceRegistry();在hibernate5.0.2中buildServiceR

2016-06-30 11:58:49 10110 1

原创 以一个简单的数据库表为例来展示创建全局/局部数据源和连接池的配置与测试

讲述如何创建java的jdbc mysql连接池

2016-06-05 14:50:32 2345 1

64位版git下载

这里提供了Git-2.8.1-64位的下载,毕竟直接去官网下载会很慢

2017-10-30

空空如也

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

TA关注的人

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