自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (8)
  • 收藏
  • 关注

原创 面向对象设计模式之---简易工厂模式(Simple Factory Pattern)

今天有幸拜读了以下大鸟的《大话设计模式》,刷新了我的编程三观,发现如果写代码只为了实现功能,那也太low了,编程就是一门艺术。工厂模式是一个最简单的模式,它的主要功能是根据需要创建合适的对象。例如:有一天我口渴了想吃水果,到了水果店,跟里面的店员说:”我想吃苹果。“ 店员就拿出来一个苹果给我。这个水果店就像一个工厂,我想要什么,店员就拿给我什么。工厂模式的UML类图如下,以上面...

2018-02-24 12:05:20 416

原创 利用Python获取正方教务系统在校成绩

今天要说的一个小项目是利用Python来获取正方教务系统的在校成绩,说白了这就是一网络爬虫。做之前也有上网搜索了一下资料,这里就给一个总体的思路吧,就以我学校的作为例子。不过遗憾的是并没有添加验证码的破解功能,还需要手动输入。希望能够帮助到一些朋友。以下的代码全部基于Python3。开始之前:1、请自行安装BeautifulSoup 用于网页解析2、请自行安装PrettyTable 用户格式化输出...

2018-02-19 12:26:48 3985

原创 关于两种家庭常用局域网扩展方式的区别

这几天想把几台电脑联网,组建一个Windows家庭组,但是局域网中有两台路由器,都有连接设备,网络拓补图是这样的:网上找了一下扩展网络的方式,有两种1、将上图路由器B的LAN口与路由器A的LAN口相连接,取消路由器B的DHCP功能。(这是有线扩展的方式,无线就叫WDS)2、将上图路由器B的WAN口与路由器A的LAN口相连接,将路由器B设置为自动获取IP这两种的区别在于:

2018-01-23 23:34:37 2932

原创 【经典问题】汉诺塔(递归、C语言实现)

   这个月在学习Python,函数递归那一节提到了汉诺塔问题,这是一个很经典的问题,我们老师在之前也提到过这个例子,感觉蛮重要的,想记录下来。为了向经典致敬,这篇就不用Python实现了,就用C语言~  汉诺塔的来历我就不细说了,这里就自行左拥度娘右抱谷歌脑补一下。请看下面这张图,图片来自Google Images    我们要做的就是将A中的圈圈,移动到C上,每次只能移动一个圈圈,并且要保障大...

2018-01-17 22:27:11 25063 10

翻译 通过PHP执行系统命令

PS.这几天用PHP写了一个小工具,因为要部署在Linux,又要暂时使用sudo执行一些Shell命令,网上也有很多资料,但是有的要么就直接把Web服务器用户直接提升权限,要么就使用密码存文件方式,安全性都不是特别好,好在搜索到在Wordpress上一位外国友人的文章,很实用,安全性也不错,就把它翻译过来和大家分享一下,下面是正文部分。  许多时候我们需要在Linux系统上执行系统命令--比如来删...

2018-01-14 21:26:38 3033

原创 基于Docker容器和PHP技术的简易多人在线编程平台(云IDE)的实现

前言:  这篇文章将讲述如何利用Docker云计算框架和PHP技术在Linux环境下实现一个多人在线编程环境,同时保证服务器安全。我把它叫做云IDE。可能没有桌面级IDE的全部功能,只有简单的多语言编程,运行,下载代码功能,虽然现在这种平台在网络上还是不少的,不乏包括百度、华为这些大厂。不过当前有叙述这一实现思路的文献并不多(国内),中国知网上泛眼过去几乎看不到影子,我看到的一篇是《CodeR

2018-01-02 10:50:14 6886 6

原创 Apache设置https反向代理

这篇博客直切正题,简单粗暴,哈哈,最近实在是太忙了。这类的网上都参差不齐的,Google上也差不多  1.对于Apache的https反向代理,原理跟http的差不多,可参考 《使用Apache的虚拟主机以及代理搞定多个网站的子域名(包括跨域情况)解析问题》  2.在反向代理https的时候,由于多了证书认证环节,一定要保证代理服务器和后方的服务器都要装上相同的证书!  3

2017-12-01 23:38:32 20663

原创 【算法】基于AOE网的关键路径算法

这是图算法的最后一个比较重要的部分,就是关键路径。什么是关键路径,关键路径有什么用呢?我又去抱了抱度娘的大腿,发现这个是杜邦公司发明的算法,是用来算工期的。在工程上,我们都很讨厌工程的延期,同时一个工程由分为很多的节点,我们不知道哪些节点决定着这个工程是否会延期,每一个部分有没有可以伸缩的时间,于是,这个用来计划工程的关键路径算法就诞生了。看来,数据结构的应用真的不仅仅局限于处理计算机本身的问题上

2017-09-28 15:58:21 3092 1

原创 【算法】基于AOV网的拓扑排序

写在前面:这篇文章在一周前就应该发的,后来因为腾讯面试拖到现在,虽然现在下动车也有一两个小时了,但是感觉自己好像还在路上颠簸。昨天去腾讯深圳总部面试,深圳总部啊!马爸爸在的地方!可惜跪了。可能是因为我主要偏软件开发然后投了运维简历投偏了吧,腾讯的面试还真是玄学呢!我也感受到自己已经达到了技术瓶颈,回炉修炼~ 图的这一章节终于快复习完了,加油加油!今天要总结的是拓扑排序,是基于AOV网的。...

2017-09-19 08:50:53 2332 5

原创 【算法】图的最短路径(Floyd算法)

现在离考研还不到100天了,杜绝胡思乱想,活在现实中~不过我发现算法的文章阅读量不高啊,是不是我说的不好呢~如果哪里需要改进的各位可以评论区留言。还是现在都比较注重应用层面了呢? 今天总结的是图的最短路径的另外一种算法---弗洛伊德算法。与前面迪杰斯特拉算法不同的是,弗洛伊德算法求的是图中任意一对顶点之间的最短路径,当然,仍然针对有向带权图。 我们就先直接进入算法的演算过程吧~大家...

2017-09-16 08:21:16 21111 19

原创 【算法】图的最短路径(Dijkstra算法)

今天要总结的是图的迪杰斯特拉算法。这个算法是针对有向带权图的,求的是图中某一个定点到其余所有顶点的最短路径。  下面说说这个算法的基本思想吧:设定两个集合A和B,A中存放我们已经处理过的顶点,B中存放图中剩余顶点。刚开始的时候,A中只有一个我们选定的起点v0,每一次从集合B中取到v0的代价最小的点并入,每一次并入时都需要修改v0到B中顶点的代价,直到所有的顶点都

2017-09-14 08:37:11 5145 2

原创 一些感悟吧---记第一次腾讯校招笔试

昨天晚上刚笔试完,按照鹅厂官方的说法是如果通过的话会在14号中午12点之前收到第二轮性格测试的通知,刚才在论坛上也看到有人问了hr说昨晚技术类的已经开始发放了,然而都这个点了,哎~依然没收到,多半是要GG,心里拔凉拔凉的啊!不过看论坛上上午产品/HR岗位的大概傍晚会收到,或许还有一丝生机。  关于这个性格测试,微博上也有挺多人问,不过收到的并不是很多,论坛上有人说主观题不看的,只看客观题TAT

2017-09-13 16:14:30 9846 2

原创 Windows下搭建WordPress指南(nginx + PHP 7 + WordPress 4.8)

首先要先了解每一个WordPress的最低版本需求,在下载下来的压缩包里,有一个readme.html  WordPress 4.8的安装要求是    ok,我们开始一、准备工作      1、解压下载下来的三个压缩包          2、安装MySQL(具体过程略去,我使用的是5.5的版本)3、创建数据库,名为wordpressCREATE data

2017-09-03 21:40:57 6903 5

原创 超简单!Linux下FTP服务器的安装和配置(基于Ubuntu)

假期末,兴致就来了。刚好腾讯出了一个CFS文件存储,有免费10G的空间,我就想不如来挂载到我Linux的云主机上来做一个FTP吧~本文的重点不在于如何挂载CFS(其实就是NFS Network File System 网络文件存储),这个腾讯有专门介绍挂载的方法,我们就把重点放在如何搭建一个FTP服务器。一、下载vsftpd软件sudo apt-get install vsftpd我这

2017-09-03 21:15:59 19963 2

原创 【算法】图的最小生成树(Prim算法)

写在前面:从今年1月到现在,准备考研大概也有半年多了,前一阵子因为准备腾讯的简历花了几天,还不知道鹅厂给不给我笔试的机会,就当一次职场实践了。准备考研给我的感觉跟考证完全不一样,考证没有名额的限制,只要你过线,就发给你证;考研就不同了,一群人抢那几个名额,过线还不一定顶用,更何况现在一堆的名师啊,机构啊做宣传,划重点,现在独自默默看书的我有压力,感觉学习就变味了TAT。。。完全成了应试。。。这样以

2017-09-02 12:06:06 3276

原创 使用Apache的虚拟主机以及代理搞定多个网站的子域名(包括跨域情况)解析问题

假期也快完了,抓住假期的尾巴,做一些自己想做的事情。  之前一直在烦恼一个问题,就是诸如10.10.0.1:8080这样的网址如何采用域名访问,这样的方式显示在地址栏中,内网无所谓,要是到了公网就给人一种很low的感觉。后来想到使用各大厂的云解析DNS,目前只有一个万网的有提供类似的服务,他们称为【隐性URL】,说白了,就是做一个带特定端口号的转发,让地址栏没有那么“难看”。大部分提供商要想做

2017-08-31 20:42:54 5007

原创 【怀旧】Windows Longhorn Build 4074安装教程(包括开启Aero特效)

昨天饶有兴趣地折腾了一下Windows Vista的开发版Windows Longhorn。为了折腾这玩意,投入了Google的怀抱,查阅了很多的外文教程和资料,才勉强成功!不过看看就好,要使用就算了吧,稳定性真的很不好。于是想把这个过程记录一下,还有些心得。这方面的文章国内方面参差不齐,国外做的还是比较好的,甚至有专门的网站为每一个开发版的安装提供安装建议。  前期准备:  1、虚拟机(

2017-07-20 09:10:55 41826 22

原创 【算法】冒泡排序(从小到大) 排序范围(0~n-1)n为数组元素个数

今天要谈的是基本排序算法中的冒泡排序。除了冒泡排序,基本排序算法还包括:选择排序、插入排序。  插入排序算法的思想也是很简单的,它把排序过程模拟成了从水底冒气泡的过程。一趟排序过程结束后,最小(最轻)的元素就已经“浮”到水面上了。接下来就是不断缩小排序范围,把每个排序范围中最小的元素交换到数组头。  接下来就来分析算法,我们使用的数据是1 3 2 8 0 6 共6个元素    我们

2017-06-30 21:52:39 6656

原创 【算法】插入排序(从小到大) 排序范围(0~n-1)n为数组元素个数

我们再来谈谈另外一个基本排序算法,插入排序。  插入排序的思想也是十分简单。我们在排序范围(begin,end)中,选择数组下标为end的元素作为基准值,从它的前一个元素开始,向前遍历。在遍历过程中,把遍历到的值与基准值进行对比,如果比基准值大,就把这个值后移,遍历下标i前移。直到找到一个元素,比基准值小,或者遍历到数组头后结束,得到一个下标值,即插入位置。最后将基准值插入到这个下标值中。

2017-06-29 19:44:34 4045

原创 【算法】选择排序(从小到大) 排序范围(0~n-1) n为数组元素个数

今天我们就来谈谈排序算法中的简单排序算法之----选择排序

2017-06-29 11:24:45 4984

原创 【算法】快速排序算法(递归实现 从小到大排列) 排序范围(0~n-1) n为数组元素个数

  今天就来谈谈快速排序,我们也不详谈快速排序的时间复杂度,我们重点来分析一下快速排序的思想。  快速排序的思想十分简单,假设给定一个无序的数组,我们要从小到大排列,我们只需要完成以下几步   1、选取这个数组中的某一个元素为基准值,它的下标为基准点,这样数组就被分成了左右两个部分   2、将这个基准点左边的所有元素排好序(比这个基准值小)   3、将这个基准点右边的所有元素排好序...

2017-06-28 11:14:25 16530

原创 搭建百度地图SDK的Android开发环境(百度地图SDK版本V4.3.0)

今天老师上课是教我们使用百度地图提供的API,我感觉官网有教程啊,这种傻瓜式的按部就班难道我还搞不定?!就把老师的控制直接断掉了,自己折腾,结果是。。。。确实有点装逼了。。。现在才调试成功,一些经验总结一下。  状况1:  Q: .android文件夹在哪里?  A: 其实就在我们用户的文件夹下,直接cmd进去输入cd .android就ok了,哎~怎么没有认真看文档呢。。。以为在项目

2017-05-08 16:43:31 2433

原创 使用栈结构简易实现浏览器的后退与前进功能(以Android为例)

使用栈结构简易实现浏览器的前进与后退操作(不使用官方函数),以Android为例

2017-05-05 22:42:34 4155 3

原创 【算法】将一维数组arr中的元素循环左移p个位置

  要准备考研了,现在也开始看专业课了。传统的数据结构和算法啊!现在也在看书,看一些做一些记录吧,也算是积累,不仅仅是考研,说不定以后也用的上~  今天要谈的是【将一维数组中的元素循环左移P个元素】  题目是这样的:设将n(n>1)个整数存放到一维数组R中,设计一个算法,将R中的序列循环左移P(0<P<n)个位置,即将R中的数据由{X0,X1,...,Xn-1}变换为{Xp,Xp...

2017-05-03 23:35:35 12216 6

原创 面向对象设计模式之---代理模式(Proxy Pattern)

好久都没有写文章了呢,最近比较忙,一个是课业比较忙,还有一个打算要进修,在准备考试。这几天老师要求做一个记事本(Android课的作业),需要使用到SQLite数据库,肯定很自然的想到数据的增删改查。在以往的项目中,自己都挺随性的,把真正的查询逻辑和其它一些功能写在一起,这样的结果就是导致维护起来很难。刚好最近学校要求我把我的作品申请专利,申请专利需要找一个专利的代理商,然后再由代理商来找...

2017-04-02 11:31:55 635

原创 与Struts2中Validation框架的初见

咳咳,Struts2的验证(Validation)框架昨天纠结了N久啊,还是借助官方的文档,这次使用的是Basic Validation,官方的一个example,主要通过xml文件对用户的输入(是否为空、输入范围)进行验证。我第一次看的时候以为蛮简单,结果折腾到晚上11点才弄出来,应用到自己的期末课设那更狼狈QAQ,凌晨1点依然无果,刚刚才解决,赶快记录下来。  一、关于Struts2的验证

2016-12-26 11:36:08 1389

原创 Apache2.4安装SSL证书教程(基于ubuntu 16.04)

HTTPS是未来的一个风向标,今天我也把自己网站的云服务器配置了一下HTTPS,毕竟有多用户同时进行交互,安全性还是要保证一下。找了很多资料,也试了蛮久才弄出来,在此做个记录把。我还是比较喜欢折腾的哈哈,看到成功的那一刹那还是蛮兴奋的。  我的云服务器在校园网内,运行Ubuntu 16.04系统,Apache2.4作为网站服务器,要实现的目标是,无论用户是从HTTP还是HTTPS进入了,都自动

2016-12-23 23:05:11 15432 12

原创 PHP5.6以后开启curl支持的办法

今天突发奇想想做个小软件,需要抓包什么的,找啊找就找到了curl,不过要开启这个还不是那么容易,百度上好多都行不通,最后还是求助官方PHP手册,看到有一些用户贡献的方法还蛮有用的,就想记录一下,毕竟折腾了我这么久= =  我找到的方法如下,我用PHP7+Apache2.4,亲测ok     翻译过来就是:将libssh2.dll、php_curl.dll、ssleay32.dll、li

2016-12-22 22:58:46 4832 2

原创 (全英文)How to install and run a simple Asp.Net 5 Application in a Docker Container

Preface This is my first time to write this technical document in English, maybe it has some grammar or explanation errors, pointed out and tell me, thank you from the bottom of my heart. Let’s pr

2016-12-14 12:19:26 425

原创 简单的Struts2的Interceptors(拦截器)机制介绍以及利用拦截器实现用户登陆时执行耗时操作并自动跳转的实例

咳咳,标题有点长。话说也好久没有更文了。最近学校在学习Struts2,哎,感觉根本没上什么哇,教程都是用网上的。。。上周布置一作业说利用拦截器实现用户登陆时进行耗时操作并在完成之后进行页面跳转。看似很简单,但是对我这样的初学者来说还是有难度的。老师给的教程上的内容又太简单,百度也找不到我想要的答案,怎么办呢?最后还是要靠官方的文档,不了解Struts2拦截器的机制真的做起来很被动啊!最近也在准备C

2016-12-12 00:27:26 1403 2

原创 jsp基础之--jsp的静态、动态包含

最近学校在上Java Web,讲到了静态、动态包含,在这里做一个小结。  1、新建一个工程,叫include-test  2、新建一个index.jsp文件,内容如下      <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServer

2016-09-17 21:34:27 537

原创 DevStack云计算平台快速搭建

这学期学校开了一门课,叫云计算平台搭建,用的书是OpenStack,这个是现在比较流行的一个云计算平台,官方对这个平台的解释是OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, al

2016-09-10 20:31:33 976

原创 Ubuntu Server 14.04下安装桌面环境后出现只有Guest模式的解决方法

今天申请了一台Linux的服务器,哎,本人实在不喜欢黑乎乎的界面,决定安装ubuntu-desktop桌面环境,没想到安装完之后出现如下情况我的账户呢???怎么时有访客模式了???哎,最后靠度娘得到了答案,首先alt+ctrl+F1进入tty模式,然后sudo -s,输入密码后进入root模式,输入如下路径然后输入如下代码最后重启,搞定!

2016-08-25 19:25:55 4329

原创 jsp基础之--使用Session完成简单的登陆操作

今天来说说Session,Session也叫实域,能够保存一些信息,并且再页面跳转的时候不会丢失,常用作登陆,可以保存已经登陆用户的信息。今天就利用Session在不连接数据库的情况下实现简单的登陆操作。  在jsp中,session被作为一个独立的接口存在,叫做HttpSession  我们要用到的是设置Session,设置Session的过期时间,获取Session的值,移除Sessi

2016-08-20 10:46:24 20718 2

原创 jsp数据库基础之--使用PreparedStatement操纵数据库

之前都是使用的是Statement接口,这个是最原始,最直观的一种方法,为什么这么说呢,因为它所使用的SQL语句,是靠字符串的拼接,比较容易让人理解。不过这个也带来一个问题,就是安全性,许许多多的SQL注入都是利用这个弱点,这个漏洞还是蛮可怕的,我们老师有演示过,除了可以不用密码直接登陆之外,还能搞掉你整个数据库。。。吓死宝宝了,所以,强烈推荐使用PreparedStatement接口进行参数化查

2016-08-19 18:31:23 4081 2

原创 jsp数据库基础之--从MySQL数据库更新数据

终于进入数据库基础的最后一个环节,那就是更新数据了。这个操作对于初学者来说会稍微麻烦一些,要先从数据库中把我们想要的数据查询出来,然后再对数据进行更新。  我们开始吧~基本的原理跟之前增、查、删是一样一样的~可以相互参考  1、在WebContent下新建update_0.jsp文件,用于输入ID    输入如下内容<%@ page language="java" cont

2016-08-18 17:50:04 4265 3

原创 jsp数据库基础之--从MySQL数据库中删除数据

jsp数据库基础讲了增、查,下面来说说删,删应该是常用的数据库基础,增删改查中最最简单的了。不多说,马上开始  1、在FormAction文件夹下新建delete.jsp文件   2、在delete.jsp文件中添加如下内容<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding

2016-08-17 17:25:37 20134 6

原创 jsp数据库基础之--往MySQL数据库添加数据

前面讲到了查询,还讲到了从表单获取数据,这些是最最基本的了。下面来说说往MySQL数据库添加数据。先讲怎么做,后面再说明原理   1、新建一个jsp文档,名为insert.jsp,放到fromAction文件夹下   2、在insert.jsp文档中,添加如下内容<%@ page language="java" contentType="text/html; char

2016-08-17 16:32:26 31839 12

原创 LAMP(Linux Apache MySQL PHP)架构菜鸟快速搭建,基于Ubuntu

前几个月帮院里完成了新的官网,是基于PHP的,也做了跨平台处理,在Windows,Linux上都测试过,不过还是打算最后放到Linux上运行。中间折腾这个环境还是蛮久的,就想整理一下,积累一些经验。  我使用的系统是Ubuntu 16.04 LTS系统,Apache、MySQL、PHP都是从软件源里获得的,版本分别是(Apache 2.4.18、MySQL 5.7.13、PHP 7.0.8 )

2016-08-11 20:51:20 1013

原创 Apache设置多个监听端口与架设多个网站的方法

现在想实现这样一种效果,在一个Apache服务器中设置多个监听端口,每一个端口都对应着一个网站  打开Apache的httpf.conf文件,我使用的Apache版本是2.2.31  找到,大概129行附近  #LoadModule vhost_alias_module modules/mod_vhost_alias.so去掉前面的#号,这句话的意思是开启虚拟服务器的模式再找到,我

2016-08-03 17:10:27 8834

OS X 装机资源

OS X 10.11 装机资源。联想Z470专用,可用于安装OS X与Win双系统,方便用户使用OS X进行开发,体验。

2019-04-21

Altair 8800模拟器

Altair 8800模拟器 基于intel 8080的第一台个人电脑的模拟器,包含古老的操作系统镜像文件,对计算机历史感兴趣的小伙伴可以看看

2018-10-01

Nginx+PHP CGI Win服务

Nginx和PHP CGI的Windows系统服务脚本,系统启动后自动服务开启,项目要使用VS2012或以上版本打开。如果需要服务中的startup.bat以及shutdown.bat的详细内容,在http://blog.csdn.net/mgsky1/article/details/77816971博客中

2018-01-14

Nginx服务打包插件winsw

Nginx服务打包插件winsw,能够把nginx.exe打包成Windows服务,有利于进行维护,免去每次都要手动运行的烦恼

2017-09-03

Windows Longhron Tools

Windows Longhron Tools,用于开启Aero特效

2017-07-20

Windows Longhorn 4074 Vmware显卡驱动

Windows Longhorn 4074 Vmware显卡驱动

2017-07-20

MySQL5.0.22+Java驱动

MySQL5.0.22+Java驱动

2016-07-25

PHP5.2.6+Apache2.2.22组合套装下载

PHP5.2.6+Apache2.2.22组合套装下载

2016-07-22

空空如也

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

TA关注的人

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