• 等级
  • 121750 访问
  • 35 原创
  • 0 转发
  • 55474 排名
  • 28 评论
  • 63 获赞

面向对象设计原则

概述SOLID是面向对象设计中的五大基本原则,分别是「单一职责原则(SingleResponsibilityPrinciple)」「开放封闭原则(OpenClosedPrinciple)」「里氏替换原则(LiskovSubstitutionPrinciple)」「接口隔离原则(InterfaceSegregationPrinciple)」「依赖倒置原则(Dep...

2018-08-03 18:46:21

PHP常用设计模式之策略模式

概述策略模式定义了算法家族,分别封装起来,让算法之间可以相互替换,这个模式可以使算法变化,不会影响到使用算法的客户端策略模式的特点策略模式的初衷完成一项任务,往往有多种不同的方式,每一种方式我们可以称之为一种策略,我们可以根据上下文环境或者条件的不同选择不同的策略,来完成这个任务(在开发中我们会遇到这种情况,实现某一个功能,有多种途径此时可以使用策略模式)。在...

2018-08-03 16:01:58

SplSubject SplObserver SplObjectStorage使用方法

SplSubject接口SplSubject接口与SplObserver接口一起使用实现「观察者模式」接口SplSubject{/*方法*///添加一个SplObserver对象abstractpublicvoidattach(SplObserver$observer)//删除一个SplObserver对象abstractpu...

2018-07-17 19:09:35

PHP常用设计模式之观察者模式

概述观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式特点观察者模式的初衷将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、拓展和重用都带来不便。观察者...

2018-07-17 11:48:24

MySQL 解决批量插入数据去重问题

情景对大量的数据进行写入数据库操作时,会有这样的问题,如果有重复的数据这些数据有如下特征:-完全一模一样-有部分不一样解决思路:-把数据表存在的数据先删除,在重新添加一份-一样的数据不跟新,部分不一样的数据跟新,完全不一样的插入MySQL中可以使用REPLACE和INSERT...ONDUPLICATEKEYUPDATE语法实现如上的思路。...

2018-07-14 12:36:31

源码编译安装FFmpeg

源码编译安装FFmpeg安装编译时所需的依赖工具yuminstallautoconfautomakebzip2cmakefreetype-develgccgcc-c++gitlibtoolmakemercurialpkgconfigzlib-devel创建源码管理目录mkdir~/ffmpeg_sources安装NASM...

2018-06-29 17:05:24

Windows下安装Laravel Homestead遇到的问题

问题一PowerShell版本太低安装Microsoft.NETFramework4.5下载地址安装WindowsManagementFramework4.0下载地址可能会出现不能安装跟新,是因为禁用了Windows跟新程序,开启即可,如下图所示)问题二Box下载慢使用国内下载软件下载速度很快国外下载链接百度云下载链接https://pa...

2018-06-22 19:13:06

Laravel框架加载出错require(): open_basedir restriction in effect

错误详情Laravel运行环境LinuxNginx**Warning**:require():open_basedirrestrictionineffect.File(/home/wwwroot/ssmanager/vendor/autoload.php)isnotwithintheallowedpath(s):(/home/wwwroot/ssmanag...

2018-05-11 02:02:42

Latex使用Biber引擎显示参考文献

解决方式:这种问题有两种情况1.在没有cite文章时,使用下面代码即可\notice{*}2.在文章中cite相应文献,会自动显示出cite过的文章代码因为Latex采用内容和样式分离的思想,所以我将文章的各个模块进行分割放置,便于管理和书写1.目录结构2.完整代码如下master文件

2017-05-08 18:16:45

Centos下Apache遇到/usr/lib64/libnsssysinit.so: undefined symbol: PR_GetEnvSecure错误

错误详情:/usr/local/apache/bin/httpd:symbollookuperror:/usr/lib64/libnsssysinit.so:undefinedsymbol:PR_GetEnvSecure错误产生原因:Centos官方发布了一个新版本的NSS包,如果进行更新就会产生这样的错误解决方

2017-05-08 18:10:38

Git自动化部署代码

目录目录实现原理及相关知识Git钩子Git钩子所在目录客户端钩子pre-commitprepare-commit-msgpost-commit服务端钩子pre-receivepost-receive相关命令Git操作命令Linux命令具体操作创建服务器端代码托管仓库远程连接仓库服务器端创建部署项目的文件夹Git客户端设置本文是在Windows下使用Git进行操作

2017-05-08 18:03:09

Git源码安装

源码安装Git需要做一些准备工作1.安装Git的依赖包sudoyuminstalldh-autoreconfcurl-develexpat-develgettext-developenssl-develperl-develzlib-develsudoapt-getinstalldh-autoreconflibcurl4-g

2017-04-27 15:08:38

VirtualBox COM获取对象失败

错误详情1.先来看看错误详情获取VirtualBoxCOM对象失败.应用程序将被中断.FailedtoinstantiateCLSID_VirtualBoxw/IVirtualBox,CLSID_VirtualBoxw/IUnknownworks.PSDispatchlooksbrokenbysomeinstallerfeaturi

2017-04-17 09:04:15

JETBRAIN系列IDE改变终端的字体

简介JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境:PhpStorm, IntelliJIDEA。。JetBrains系列的编译器中大部分都带有Terminal,但是默认的字体是非常小不便于使用和查看。在这里以PhpStor

2017-04-15 20:35:07

GBrowse2.0中将GFF3数据转存到MySQL中

概述在实际项目中GFF3的文件数据量非常大,当GFF3数据量大于1000时就应该考虑使用数据进行存储GFF3数据了,GBrowse支持大量的数据库进行数据存储比如MySQL,SQLite...数据存储转换我所用到的数据及账号信息(均需替换成自己的):Malus_Gene_Zh.gff3苹果基因数据MySQL用户名root密码

2017-03-24 14:23:33

Centos7安装GBrwoser

一、GBrowse概述  GenericGenomeBrowser(GBrowse)是将基因的数据以网页的形式进行动态展示。其特性有:可以概括和细致地看基因的相关信息可以滚动,放大,居中可以使用预置或自己的数据。。。    GBrowse是一个开源软件,以perl为基础的,GBrowse2.x可以通过CAPN的方式进行安装;在Debi

2017-02-19 10:26:32

Centos更换为阿里源

1.备份mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup2.下载新的CentOS-Base.repo到/etc/yum.repos.d/#CentOS5wget-O/etc/yum.repos.d/CentOS-Base.repohttp:/

2017-02-18 22:46:10

Ubuntu16.04更换阿里源

1.软件包管理中心在软件包管理中心“软件源”中选择“中国的服务器”下mirros.aliyun.com即可自动使用2.手动更改配置文件a.备份#普通管理员sudocp/etc/apt/source.list/etc/apt/source.list.backup#root用户cp/etc/apt/source.list/etc/apt/sou

2017-02-18 22:45:01

Ubuntu16.04安装JDK1.8

1.安装python-software-properties$sudoapt-getinstallpython-software-properties$sudoapt-getinstallsoftware-properties-common#root身份安装apt-getinstallpython-software-propertiesapt-getinstalls

2017-02-18 22:16:46

Laravel学习之Windows下Homestead环境搭建

一、简介1、HomesteadLaravelHomestead是官方预封装的Vagrantbox,提供给我们学习和开发者一个环境,我们在自己的电脑上不要装PHP,HHVM,WEB服务器等其他软件。也不用担心环境搭建带来的问题,Vagrantbox全部都会给解决好,我们只需要使用就好。如果有问题,我们可以重新销毁vagrantbox重新安装一个即可。2

2017-01-05 16:15:41

benettzhang

持续思考 个人博客blog.vacuity.cn
关注
  • 广告·会展·公关/PHP开发工程师
  • 中国 陕西省 西安市
奖章
  • Github