编程技术

同一主机上WordPress博客更换域名简易八步骤(2)

精博的域名已经由essentialblog.cn改为jingpin.org,下面介绍我是如何更换域名的。一、cPanel上的操作:在主机的cPanel上可以执行以下4个步骤:第一步:添加附加域名在cPanel控制面板上找到“附加域”这一项,然后添加你的新域名。第二步:添加数据库在MySQL数据库里面生成新的数据库。第三步:复制文件要把原来域名对应的WordPress所有文件复制到新域名的空间上,可以点击“文件管理器”,选择原来域名对应的WordPress所

系统 2019-08-29 22:41:07 2257

编程技术

Mongodb联合查询

在关系型数据库中,通过连接运算符可以实现多个表联合查询。而非关系型数据库的特点是表之间属于弱关联,Mongodb作为Nosql代表,其本身特性不建议对多Collection关联处理,不过对于有些需要对多表关联处理的需求,Mongodb也可以实现。主要分为两种方式:简单手工关联和DBRef方式关联1.简单手工关联下图表示帖子和用户两个Collection的ER图:首先将authors集合中的用户对象查询出来,放在一个变量author中,代码如下:>autho

系统 2019-08-29 22:09:51 2257

编程技术

Struts,MVC 的一种开放源码实现用这种servlet

简介小学生也可以在因特网上发布HTML网页。但是,小学生的网页和专业开发的网站有质的区别。网页设计人员(或者HTML开发人员)必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、图像创建和JavaScript等等。设计漂亮的网站需要做大量的工作,大多数Java开发人员更注重创建优美的对象接口,而不是用户界面。JavaServerPages(JSP)技术为网页设计人员和Java开发人员提供了一种联系钮带。如果您开发过大型Web应用程序,您就理解变化这个词的

系统 2019-08-29 22:08:10 2257

编程技术

【Lucene3.0 初窥】索引文件格式(3):Field数据

注意:以下文章是参见http://lucene.apache.org/java/3_0_1/fileformats.html#Fields和实践中读取文件内容概括总结出来的。Fields数据磁盘文件存储细节Lucene的数据域在内存中组织成Document和Field数据结构。每次建立索引的Document对象都可能拥有不同的Fields,而查询的时候,也可以通过查询词找到文档的相关Fields信息(这些Fields在创建的时候必须是Field.Store

系统 2019-08-29 21:59:41 2257

编程技术

我们应当怎样做需求分析:用例说明

当我们进行业务流程分析时,只空对空而不落到纸面上是不可以的。过去,在面向过程的时代,我们绘制DFD图、流程图,以及编写流程说明来描绘这一部分分析;而现在,在面向对象的时代,我们则是绘制行动图、状态图,以及编写用例说明来完成这部分工作。在这部分工作中,编写用例说明应当是最主要的工作,之后在一些关键部分辅之以行动图、状态图。现在我们来看看用例说明应当怎样编写。毫不疑问,做用例分析首先是要绘制出用例图(前面已经说过了)。图形的最大优势是能够形象生动地描述我们的分

系统 2019-08-29 21:59:15 2257

编程技术

大话重构连载15:采用Mock技术完成测试

第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与Gr

系统 2019-08-29 21:59:03 2257

Python

python中执行shell命令的几个方法小结

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,复制代码代码如下:os.system('cat/proc/cpuinfo')但是发现页面上打印的命令执行结果0或者1,当然不满足需求了。尝试第二种方案os.popen()复制代码代码如下:output=os.popen('cat/proc/cpuinfo')printoutput.read()通过os.popen()返回的是fileread的对象,对其进行读取read()的操作可以

系统 2019-09-27 17:56:49 2256

Python

python 键盘中断子线程及graceful exiting方案

最近需要实现一个服务程序的gracefulexiting,保证在退出前关闭所有已创建的子线程python借助KeyboardInterrupted异常响应键盘中断,因此首先尝试在子线程中try-catch这个异常(失败)查阅原因,键盘中断只有主线程可以响应并处理,子线程无法收到这个异常。因此可以使用类似这样的结构:cond=Truedefstart_task():whilecond:#dosomethingdefterminate_task():#brea

系统 2019-09-27 17:55:29 2256

Python

Python的自列表的定义排序

Python的自列表的定义排序因是c++Acmer,故经常用到自定义排序第一种方法:对小于号进行重载因为所有比较都可通过小于号的结果进行推导classDch:def__init__(self,a,b):self.first=aself.second=bdef__str__(self):return"first={},second={}".format(self.first,self.second)def__lt__(self,other):if(self.

系统 2019-09-27 17:55:12 2256

Python

python每天定时运行某程序代码

思路:利用time函数返回的时间字符串与指定时间字符串做比较,相等的时候执行对应的操作。不知道大家的思路是什么,感觉这样比较耗CPU。。。。此处设置为15:30:10输出相应内容,需要执行什么,就修改什么。importtimewhileTrue:time_now=time.strftime("%H:%M:%S",time.localtime())#刷新iftime_now=="15:30:10":#此处设置每天定时的时间#此处3行替换为需要执行的动作pri

系统 2019-09-27 17:55:04 2256

Python

Python的语言类型(详解)

Python是强类型的动态脚本语言。强类型:不允许不同类型相加动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译强类型语言和弱类型语言1.强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java、C#和python,比如Java中“inti=0.0;”是无法通过编译的;2.弱类型语言:数据

系统 2019-09-27 17:54:55 2256

Python

python Django 创建应用过程图示详解

如图输入如下命令pythonmanage.pystartappapitest添加应用到autotest项目项目下在settings.pyo中加入“apitest”,如下图创建视图在apitest/views中添加test函数fromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponse#Createyourviewshere.deftest(request):returnHttpRespo

系统 2019-09-27 17:54:35 2256

Python

python 列表越界

data=[1,8,5,9,7,4,5]print(data[10:])#返回空print(data[10])#出错,越界

系统 2019-09-27 17:54:02 2256

Python

Python+PyQt5实现灭霸响指

之前在GitHub有趣分享:Thanos(灭霸命令)中分享了有趣的“灭霸命令”,本博文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~GUI实现代码如下:#-*-coding:utf-8-*-fromPyQt5importQtCore,QtGui,QtWidgetsclassUi_MainWindow(object):defsetupUi(self,MainWindow):MainWindow.setObjectName("MainWi

系统 2019-09-27 17:52:47 2256

Python

python实现定时播放mp3

程序很简单,主要是mp3play模块的应用importmp3play,timefilename="ShouldItMatter.mp3"clip=mp3play.load(filename)while1:iftime.localtime().tm_min%30==0:clip.play()print"\nStarttoplay"time.sleep(clip.seconds())clip.stop()print"Stop"print'>',time.sle

系统 2019-09-27 17:51:13 2256