自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hwaphon

允公允能,日新月异

  • 博客(57)
  • 资源 (10)
  • 问答 (2)
  • 收藏
  • 关注

原创 博客地址迁移

由于种种原因,本人已经将博客迁移到简书,详细地址为我的简书

2016-09-11 10:24:41 939

原创 CSS3 实现 Loading 动画

最近本人正在极客学院学习 HTML5 系列课程,这么课程涵盖的内容也是非常的多,虽然内容十分简单容易理解,但是非常难以记忆,比如 CSS3 的一些属性。今天所要介绍的 CSS3 Loading 动画也是极客学院里所介绍的内容,感兴趣的同学也可以前去观看视屏。Loading one第一种加载动画的效果,就是这么一个图在不停的转啊转,动态图就不在这里展示了,太过于麻烦了,想看效果的同学学习之后可以自己

2016-09-10 15:03:03 6547

原创 HTML5 Web Storage

本篇文章仅为个人笔记,方便日后查阅,不提供任何解释。sessionStorage 保存数据使用这种方法保存的数据会在浏览器关闭之后全部消失,关键 JS 代码如下所示function saveData(id) { var target = document.getElementById(id); var data = target.value; sessionS

2016-09-06 19:19:00 949

原创 Python 爬虫 + MongoDB

在以上两篇文章中已经介绍到了 Python 爬虫和 MongoDB , 那么下面我就将爬虫爬下来的数据存到 MongoDB 中去,首先来介绍一下我们将要爬取的网站, readfree 网站,这个网站非常的好,我们只需要每天签到就可以免费下载三本书,良心网站,下面我就将该网站上的每日推荐书籍爬下来。利用上面几篇文章介绍的方法,我们很容易的就可以在网页的源代码中寻找到书籍的姓名和书籍作者的信息。找到之

2016-08-30 20:58:21 3471 1

原创 MongoDB 安装以及使用

MongoDB 介绍之前学过 SQL Server , MySQL , SQLite , 除了 SQL Server 学习过原理之外,其它的也只是学习简单的使用就草草了事了,现在又开始入手 MongoDB 了,其实个人感觉所有的数据库操作起来都基本差不多,并不难学。那么我为什么要学习 MongoDB 呢? 因为我想要存取我爬取的数据,最近在学习 Python 爬虫,既然浪费时间爬取了数据,为什么不

2016-08-26 21:24:34 2450

原创 Python 爬虫实战 - 糗事百科段子

早上起来闲来无事做,莫名其妙的就弹出了糗事百科的段子,转念一想既然你送上门来,那我就写个爬虫到你网站上爬一爬吧,一来当做练练手,二来也算找点乐子。其实这两天也正在接触数据库的内容,可以将爬取下来的数据保存在数据库中,以待以后的利用。好了,废话不多说了,先来看看程序爬取的数据结果值得一提的是,我在程序中想一下子爬取糗事百科 30 页的内容,但是出现了连接错误,当我把页数降到 20 页的时候,程序就可以

2016-08-25 09:57:35 2146 2

原创 Python 爬虫第三步 -- 多线程爬虫爬取当当网书籍信息

XPath 的安装以及使用1 . XPath 的介绍刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑爹了,早知道刚上来就学习 XPath 多省事 啊。其实我个人认为学习一下正则表达式是大有益处的,之所以换成 XPath ,我个人认为是因为它定位更准确,使用更加便捷。可能有的人对 XPath 和正则表达式的区别不太清楚,举个例子来说吧,用正则表达式提取我们的内容

2016-08-23 06:57:36 6522

原创 Python 爬虫第二步 -- 爬取麦子学院课程信息

介绍本篇文章主要介绍如何爬取麦子学院的课程信息(本爬虫仍是单线程爬虫),在开始介绍之前,先来看看结果示意图怎么样,是不是已经跃跃欲试了?首先让我们打开麦子学院的网址,然后找到麦子学院的全部课程信息,像下面这样这个时候进行翻页,观看网址的变化,首先,第一页的网址是 http://www.maiziedu.com/course/list/, 第二页变成了 http://www.maiziedu.com/

2016-08-22 11:23:08 3621

原创 Python 爬虫第一步

正则表达式的使用想要学习 Python 爬虫 , 首先需要了解一下正则表达式的使用,下面我们就来看看如何使用。. 的使用这个时候的点就相当于一个占位符,可以匹配任意一个字符,什么意思呢?看个例子就知道import recontent = "helloworld"b = re.findall('w.',content)print b注意了,我们首先导入了 re,这个时候大家猜一下输出结果是什

2016-08-21 19:34:30 3268 2

原创 Python 入门之 运算符+控制流

其实一直犹豫要不要写这么基础的文章,其实很多东西都是相通的,我主学的是 Java 语言,跟 Python 同样是面向对象的语言,但是还是有些东西的使用 Python 是有区别的,担心自己弄混,所以还是写篇文章记录一下,一来方便以后自己查阅,二来也是想巩固一下所学的知识。下面就针对 Python 的运算符和控制流进行讲解,这里只介绍 Python 中比较独特的部分,和其他语言类似的东西,比如加减乘除运

2016-08-16 20:11:45 2786

原创 Python 入门之旅

昨天写了一篇文章叫做 《十分钟入门 Python》,里面仅仅介绍了 Python 的一些基础属性,想要利用那么点知识有所作为的话,怕是有点难度。所以今天再来详细介绍一下 Python 的语法知识。1 . 数与字符串Python 中数有 5 中类型, 分别为 int(有符号整数型) , long(长整型) , float(浮点型) , bool (布尔型) , complex (复数型)a =

2016-08-15 13:37:19 2598 3

原创 十分钟入门 Python

最近看 Python 挺火的,之前看别人用 Python 写网络爬虫的时候,自己就有些蠢蠢欲动了,不过之前在忙于学 Android 编程,所以也就耽搁下来了,现在终于抽出时间来学习一下这门语言了,在网上看了一些教学视屏,也看了一些入门文章,感觉 Python 语言使用起来十分轻巧,像之前接触过的 Lua 语言。好了,废话不多说了,下面来介绍一下 Python 中的基础内容。1 . Windows

2016-08-14 18:03:25 4221 3

原创 RSA 算法的使用

RSA 介绍RSA 算法是非对称密码算法中非常经典的一种算法,使用率非常高,一般用于数据加密和数字签名。RSA 算法加密的过程是怎样的呢?首先由接收方实例化密钥对,然后将自己的公钥公布出去,这就相当于告诉发送方,如果你要给我发送数据,请使用该公钥对明文进行加密,当接收方收到用公钥加密过后的明文后,需要使用配套的私钥进行解密,又因为该私钥只有接收方自己才有,所以就算数据在传输的过程中被黑客截取,他也不

2016-08-13 09:52:06 7421

原创 DH 加密算法的使用

DH 算法的介绍上面介绍的 DES,3DES,AES 算法都是对称密码算法,所谓对称,在上面也解释了,就是加密和解密的过程中使用相同的密钥 。而现在将要介绍的是 DH 算法,属于非对称密码算法,根据对称密码的概念,很容易知道,非对称密码算法就是解密和加密过程中使用不同密钥的算法。对称密码算法有什么局限呢?由于加密和解密使用相同的数据,所以我们在发送密文的同时,需要将密钥发送给对方,这个时候假如我们的

2016-08-12 20:56:14 16732 2

原创 3DES 和 AES 加密算法的使用

3DES 介绍上篇文章已经介绍了 DES 算法的使用,并且也提到,在计算机计算速度特别快的今天,要破解 DES 加密过后的数据是完全有可能做到的,为什么呢?因为 DES 算法的密钥 也就64位,所有可能性加在一起也就是 2^64 次方。所以 3DES 在 DES 的基础上进行了改进,把密钥的长度加长了,可以是 112 位或者 168 位,这样密钥的可能性就增加到了 2^112 或者 2^168,也就

2016-08-12 12:36:14 7313

原创 DES 算法的使用

DES 算法简介DES 加密算法属于对称密码范畴,那么什么是对称密码呢?加密和解密过程中所使用的密钥相同,就是对称密码,而且大多数对称密码算法,加密解密过程都是互逆的。DES 算法是一种数据加密算法,明文按照 64 位进行分组,分组后的明文与密钥按位替代或交换的方法形成密文组。 密钥的长度是 64 位(其实是56位,其中有8位是奇偶校验位)。DES 工作模式简介1 . ECB(电子密码密码本模式)这

2016-08-11 11:19:20 6223

原创 HMAC 算法的使用

HMAC 的用途HMAC 算法主要应用于身份验证,用法如下: 1.客户端发出登录请求 2.服务器返回一个随机值,在会话记录中保存这个随机值 3.客户端将该随机值作为密钥,用户密码进行 hmac 运算,递交给服务器 4.服务器读取数据库中的用户密码,利用密钥做和客户端一样的 hmac运算,然后与用户发送的结果比较,如果一致,则用户身份合法。这么做有什么好处呢? 如果我们

2016-08-10 19:21:54 11900 2

原创 SHA 算法的使用

SHA 算法简介之前已经介绍过 MD5 算法的使用,从生成的 MD5 值我们可以看出,MD5 加密过后的长度是 32 位 16进制,也就是 128 位二进制,而 SHA 算法相比与 MD5 是更安全了,因为 SHA 最短的摘要长度也有 160 位二进制。SHA 算法也分好几种,如下所示算法 摘要长度SHA-1 160SHA-256 256

2016-08-10 12:51:56 3646

原创 MD5 加密算法介绍以及使用

MD5 算法的介绍特点 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。用途1.可以用于加密用户密码 2.可以用于应用安装包的一致性验证MD5

2016-08-04 16:26:13 2367

原创 Java 中使用 MySql以及一些Mysql 基本的命令

Linux mint 环境下配置 mysql打开终端输入 sudo apt-get install mysql-server,回车即可安装 mysql,当然如果你想使用最新的 mysql,可以去官方下载并且配置,教程网上有很多,就不再赘述。安装完成之后,在终端中输入 mysql -u root -p,然后输入安装时设置的密码,即可显示以下信息如果没有显示如下信息,则说明安装出现了问题,可以到网上查阅

2016-08-02 16:12:18 4187 2

原创 Linux mint 系统实用软件推荐和安装

Linux mint 系统安装 JDK,Eclipse,Geany,CodeBlocks,WPS,网易云音乐

2016-07-29 11:47:05 8543 1

原创 Java 聊天室

学习内容 : Socket , Thread, IO操作,简单的GUI控件效果图如下 :界面可自行美化代码如下package com.hwaphon;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter

2016-07-27 22:34:46 2787

原创 Java 生成应用程序

Java 制作可执行程序Java 应用程序总共有三种部署方式1. 本机 整个程序都在用户的计算机上以独立,可携的 GUI 执行,并以可执行的 JAR 来部署2. 两者之间的结合 应用程序分散成在用户本地系统运行的客户端,连接到执行应用程序服务的服务器部分3. 远程 整个应用程序都在服务器端执行,客户端通过非 Java 形式,可能是浏览器的装置来存

2016-07-27 10:47:07 4186 1

原创 Java 设计模式 -- 职责链模式

下面,将通过一个例子,对职责链模式进行介绍。问题:设想,你有一个呼叫中心,员工分成三个层级,接线员,主管和经理。客户来电时会先分配给接线员,若接线员处理不了,就必须将来电往上转给主管,若主管无法处理,将来电往上转给经理。请设计这个问题的类和数据结构(为了方便,将呼叫者的问题分等级,分别为 S 级,由接线员处理,SS 级,由主管处理,SSS级,由经理处理)。首先,分析一下这个问题,对于一次电话呼叫,肯

2016-05-20 21:44:05 3520

原创 Java 设计模式 -- 享元模式

在介绍享元模式之前,先来看一个问题。假设要你去做一款扑克牌游戏,你会针对扑克牌设计一种怎样的数据结构呢?因为扑克牌有四种花色,也即红桃(Heart),黑桃(Spade),方块(Diamond ),梅花(Club),有 13 种不同的大小,也即 A - K , 还有大小王,所以这个类应该很好设计,代码如下所示public final class Global { public static fi

2016-05-20 20:14:55 3105 1

原创 链表试题及解法

个人认为,算法是程序员的内功,不管你是能把 Java 或是 C # 玩出花来,也是需要注意提升一下内在修炼的。毕竟,只有深厚的内功才能把招式发挥到极致。以下算法,可能咋一看觉得很简单,自己也能实现,但是要知道能实现功能固然重要,但算法的效率更值得研究。纸上得来终觉浅,相信如果你能把以下算法都亲手实现一遍,必定会有收获,至少我个人是这样。想要实现以下将介绍算法,首先需要自己实现一个 链表,下面粘贴上我

2016-05-14 15:19:04 2112

原创 利用 BitmapShader 制作自带边框圆形头像

Shader 制作 自定义边框 圆形头像

2016-05-13 10:52:17 9871

原创 数组与字符串相关的算法

最近在看 《程序员面试金典》,感觉书中的一些算法非常的精妙,所以本人对书中的每一个题目都着手实现了一遍,为了以后能够方便的重温这个知识,也为了能够将这个算法分享给 没看过这本书的小伙伴,于是本人决定将这些题目和算法写下来,当然我也只是写下题目和解法,不会对解法进行分析,想看具体分析可以买一本纸质书看一下,非常不错的一本书。1.1 实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外

2016-05-11 16:22:22 3309 2

原创 RecyclerView 添加 Footer and Header

RecylerView 的使用,定制不同 ItemView,添加 Header 和 Footer.

2016-05-11 14:45:29 1522 3

原创 PorterDuffXfermode 实现刮刮卡效果

Android 刮刮卡效果,PoterDuffXfermode 的实践

2016-05-09 22:29:22 2249 1

原创 Activity 须知

Activity 你必须知道的一些方在 onCreate() 方法中创建 UI 元素,onResume() 中重新初始化在 onPause() 中释放掉的资源,在 onPause() 和 onStop() 中清除 Activity 的资源,在 onDestory() 中清除开启的线程。当 Activity 长期处于 stop 状态,系统可能会因为内存不足回收该 Activity,但是此时系统会把 Activi

2016-05-02 12:09:48 740

原创 排序算法介绍

选择排序,插入排序,希尔排序,归并排序,快速排序以及各个算法的效率比较

2016-04-27 18:21:30 4091

原创 Fragment Menu and Navigate

Fragment 中使用菜单在 Activity 中我们可以通过调用 onCreateOptionsMenu() 创建菜单,通过 onOptionsItemSelected() 方法响应用户的点击事件。当然,在 Fragment 也是这两个回调方法的,所以我们就可以通过覆盖这两个方法为自己的 Fragmrnt 创建菜单栏。首先,创建一个自定义Fragment,命名为 MainFragment.jav

2016-04-17 15:34:19 2647

原创 Android Handler

Hanlder简介相比于 AsyncTask,Handler类允许准确的控制操作的运行时间,而且还可以多次使用,执行的操作会一直运行,直到被显示的停止。每个Handler实例都被包含在一个单独的线程里面。Handler 有两个主要的用途 : 1. 确保一些调度信息和任务在未来的某一时刻被执行 2. 让一些行为在其他的线程中表现出来HandlerThread 介绍HandlerThread 类用

2016-04-15 08:48:39 623

原创 Android AsyncTask

AsyncTask 简介AsyncTask 实际上是一个帮助类,可以让我们很简单的从子线程切换到主线程,去更新UI 界面,而我们却又可以在 doInBackground() 方法中异步执行耗时任务。这样的话,我们就不需要频繁的手动切换线程去更新UI了。但是需要注意的是,AsyncTask 类设计的时候仅仅是针对一些从执行到结束至多几秒的任务。为什么会这样呢?因为 AsyncTask 并不是为每一 A

2016-04-15 08:47:56 1392

原创 Android Service

Service 简介Service 是 Android 四大组件之一,一般而言,Activity 用于提供一个可供交互的屏幕界面,以此完成一些任务。而 Service 则与 Activity 不同,它主要用于执行一些不需要与用户进行交互且需要长时间运行的任务。值得注意是,Service虽然是处理后台任务的,但它仍然运行在主线程中,所以,如果需要执行耗时任务,还需要开启一个子线程,不然会出现 ANR(

2016-04-15 08:47:00 888

原创 Android -- GesturDetector

GestureDetector为什么要使用 GestureDetector 类?因为使用它可以很轻松的监听单击,双击,按下等许多手势事件的发生,并且做出相应的处理。GestureDetector 类使用了 MotionEvent 提供的方法来监听事件发生,并且调用 GestureDetector 提供的回调方法来给与一个反馈。想要使用 GestureDetector 类需要完成以下工作Ge

2016-03-29 20:19:57 463

原创 Java设计模式 -- 适配器模式

适配器模式什么是适配器模式呢?比如说客户端中需要一个Sort() 函数,它可以实现简单的排序功能,但是这个时候,我们发现我们之前曾经写过这个函数,而且已经打包到一个功能类里,而且该函数的名字为SimpleSort(),这个时候我们肯定不想再去实现一遍,如果能直接使用这个SimpleSort()就在好不过了,适配器就是用来完成这项工作的。适配器中有三个角色1.Target类 : 用来定义客户端需要的调

2016-03-28 21:45:46 399

原创 Java设计模式 -- 建造者模式

建造者模式建造者模式就是一步一步的创建一个复杂的对象,而且允许用户指定复杂对象的类型和内容。建造者的模式结构一般如下图所示。 Builder 类是一个抽象类,用于定义一些创建子部件的方法,Builder类中应该还有一个 getResult() 方法,用于将创建好的部件组装成一个产品返回。Director 类又称为指挥者,用于安排复杂对象的建造次序,通过construct() 方法,指导Builde

2016-03-23 16:19:59 585

原创 Android -- Intent传递对象的三种方法

Andorid 传递对象的三种方法 Serializable Parcelable GSON

2016-03-21 22:08:22 1326

UniversalTermsrvPatch x86 & x64

此压缩包中同时包含UniversalTermsrvPatch 64 位和32位两个版本。可用于解除 win7 无法多用户同时登陆的限制。

2018-07-12

sun.misc.BASE64Decoder.jar

Java 中使用 BASE64 算法

2016-08-04

mysql-connector-java

JAVA 链接 mysql 数据库所需要的驱动程序 jar 包,导入到 java项目中即可。

2016-07-31

Linux wps 缺失字体

Linux 系统中 wps 会提示系统字体缺失,下载此压缩包,解压之后将字体复制到 主目录/.fonts 目录下即可

2016-07-29

链表相关问题及其解法

链表相关问题的实现,如果发现错误,望予以指正,谢谢。

2016-05-14

AndroidParcelable

AndroidParcelable

2016-03-21

AndroidGson

2016-03-21

Android登录

Android登录

2016-03-19

登录+注册+找回密码

登录+注册+找回密码

2016-03-12

登录界面布局

登陆界面 xml 文件

2016-03-10

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

TA关注的人

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