自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序之家的专栏

撰写技术人生

  • 博客(60)
  • 资源 (3)
  • 收藏
  • 关注

原创 自动加载实现桥接模式-命名空间的引入

自动加载规范PSR-4类泛指:类,接口,抽象类,trait等可复用的代码命名空间:\顶级命名空间\子命名空间(可以有多个子命名空间)\完整类名psr-4规定必须有一个如上说的顶级命名空间,表示一个特殊的文件目录。类名可以大小写(建议统一大写)一个文件中只有一个类方便测试:下面 A 目录表示:项目根目录自动加载核心代码#目录:A/vendor/Loader.phpclass L...

2019-08-28 17:46:47 117

原创 Linux性能分析与优化

影响Linux服务器的性能的因素操作系统CPU目前多数CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,即可利用超线程来提高系统性能。SMP内核才支持超线程。多核处理器当作多个单独的CPU来识别,但是相对多个单核的CPU的性能,还是低20%-30%。出现CPU瓶颈的应用:邮件服务器,Web服务器等。说明:SMP的全称是"对称多处理"(Symmetrica...

2019-08-09 14:34:22 324

原创 记一次替换命令mv的使用-如何批量替换

最近因为有些文件需要替换,但是又要保证批量一次性替换完,且需要重启nginx写了一个shell脚本,分享如下:#!/bin/bashmv /home/1.txt /home/testbak/1.txt && mv /home/2.txt /home/testbak/2.txt # &&表是 逻辑与,第一个命令执行成功,则会执行第二个命令# if 后面要...

2019-07-05 11:18:19 1991

原创 关于RSA公私密钥换行处理的问题

在RSA加密处理时,经常遇到RSA密钥为一行,但是在Linux下,需要换行处理,否则,无法进行加密处理。换行,只能按照指定的规则换行,否则无法加密,下面介绍下标准处理方: public function TrasferRSA() { if (IS_POST) { $rsa_type = I('post.rsa_type'); ...

2019-03-18 10:09:29 10280 1

原创 关于在PHP5.6版本以上用get_file_content函数抓取远程内容的问题

最近,因为Web应用程序迁移到云服务器上,发生了一个致命问题。原有服务器的PHP环境为5.5,云服务的PHP环境为5.6。当时,抓取远程内容的函数用的是:get_file_content(),迁移之后,发现PDF文件打不开,经过调试,原来PHP5.5时,抓取URL远程内容时,不会自动gzip压缩内容,而PHP5.6时,抓取URL远程内容时,会自动gzip压缩,恰恰 get_file_content...

2019-03-14 15:25:04 1426

原创 PHP判断微信浏览器

PHP如何判断是不是微信浏览器-代码演示<?php function is_wxBrowers(){ $str=strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger'); if($str!==false){ return true; //微信浏览器 } return false; //非微信浏览器 }?>...

2018-10-12 11:41:29 1754

原创 SpringCloud配置网关服务GateWay遇到的问题

routeDefinitionRouteLocator

2022-10-05 13:20:12 465 2

翻译 Java实现二叉树排序

package com.collection;import java.util.ArrayList;import java.util.List;public class Node { //定义节点 public Node leftNode; public Node rightNode; public Object value; public void add(Integer v) { if (null == value) {

2020-07-27 09:55:51 264

转载 解决Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configurat

2020-06-30 17:13:15 812

原创 关于引入mybatis-spring-boot-starter.jar包之后的访问404的问题

在搭建SpringBoot的时候,遇到一个问题,在引入了mybatis-spring-boot-starter.jar包,去访问的时候,所有页面立即404因为不使用数据库,故没有配置application.yml或者application.xml配置文件,没想到这点后来排除所有原因之后,又回到此处,经过源码分析,得知如果引入了mybatis-spring-boot-starter包,必须配置相应的配置数据库驱动配置,否则就会404;仅供参考,不做特殊说明。谢谢!...

2020-06-10 11:47:29 1391

原创 PHP 实现二叉树排序

数据结构实现原理:二叉树操作原理:通过递归的方式,对数据进行重排输出;<?phpnamespace Tool;/** * PHP 实现二叉树排序 * @Author:Victor */class Node{ public $leftNode; public $rightNode; public $value; public static $array = []; //排序 publ

2020-05-27 11:00:41 230

原创 关于开发工具的说明与收集

目录Java-依赖管理jar工具地址Java-依赖管理jar工具地址https://mvnrepository.com/artifact/com.mchange/c3p0/0.9.5.5

2020-03-31 11:26:45 108

原创 Spring-MVC-学习笔记

目录控制器设置XML配置异常处理日志使用控制器设置package com.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapp...

2020-03-04 14:54:22 149

原创 Spring-框架学习笔记

目录IOC容器基于XML的加载方式XML配置文件作用域生命周期DI依赖注入基于设置方式 / 构造函数注入注入集合的写法自动装配自动装配byName注解配置@Required 、@Autowired 、@Qualifier@Configuration 、@Bean @Import事件处理AOP面向切面IOC容器基于XML的加载方式package com.bean;public class M...

2020-03-03 10:21:28 82

原创 linux-Centos部署tomcat部署

目录安装启动/停止/查看安装yum install tomcat或yum -y install tomcat #-y遇到询问是否弹出询问操作#https://blog.csdn.net/zhaoyanjun6/article/details/79131856安装完成之后,安装目录:/usr/share/tomcat所包含子目录如下:bin 、conf、lib 、logs、temp、...

2020-02-28 11:54:38 218

原创 Java基础学习之-数组操作

实验目录数组元素的排序数组元素的位置查找数组元素的反转数组中的最大值和最小值数组合并数组填充数组扩容删除数组元素数组差值数组交集数组元素查找判断数组数组合并数组元素的排序int array[]= {-1,3,0,5,2};//【数组排序】Arrays.sort(array);//从小到大排序:-1,0,2,3,5数组元素的位置查找//【数组元素的位置查找】查找值为5的索引,存在,则返...

2020-02-21 11:31:20 141

原创 Java基础学习之-字符串操作

实验目录字符串分割字符串分隔字符串反转字符串大小写转换判断字符串是否相等字符串性能测试字符串格式化字符串拼接字符串查找字符串截取字符串替换字符串分割String string="Victor-Tang - Qing";//【字符串分割】String[] temp;temp=string.split("-");for(String string2:temp) { System.out....

2020-02-18 22:10:35 152

原创 关于使用PHP对一致性哈希的实现

实验目录配置Memcached服务一致性哈希原理介绍定义接口实现Hash接口的逻辑接入测试用例准备Memcache服务器准备图形程序 index.html测试用例程序详情介绍配置Memcached服务参考:https://www.runoob.com/memcached/memcached-connection.html一致性哈希原理介绍把个服务器节点映射放在钟表的各个时刻上,把key也映...

2019-12-13 14:42:19 118

原创 Python实验六:正则表达式操作

本次测试包含了绝大部分Python的正则表达式的操作方式下面为测试源代码:#!/usr/bin/python3# -*- coding:UTF-8 -*-import re;# 签名的字符:r,表示将该字符串标记为原始字符串,它不包括转义字符test_str = '415-555-0001 My number is 415-555-4221';# 【简单匹配提取】reg_1 =...

2019-11-08 15:20:22 1316

原创 Python实验五-图像操作

图像操作#!/usr/bin/python3# -*- coding:UTF-8 -*-## import subprocess;# import time;# 【执行指定的程序】# cal = subprocess.Popen('c:\\Windows\\System32\\calc.exe');# #可以传递列表参数:['C:\\Windows\\notepad.exe', '...

2019-11-07 17:14:13 308

原创 Python实验四:时间日期操作

Python时间模块操作#!/usr/bin/python3# -*- coding:UTF-8 -*-# 针对时间,日期编程import time;# print(time.time());#1573106087.3047192 生成Unix时间戳# round(time.time());# 时间戳四舍五入,生成整数;# time.sleep(3);#程序暂停3秒import...

2019-11-07 17:08:14 164

原创 Python实验三:Web模块-CSV模块

本次练习-Web-CSV模块#!/usr/bin/python3# -*- coding:UTF-8 -*-import requests;# 【通过requests进行数据下载】res = requests.get('http://www.gutenberg.org/cache/epub/1112/pg1112.txt');# print(res.status_code) #200...

2019-11-07 11:46:40 145

原创 Python实验一:文件&目录操作

**本次实验旨在加深对文件操作的熟悉度。**#!/usr/bin/python3# -*- coding:UTF-8 -*-import shutil;import os;# 【文件路径操作】# 生成路径方法str = os.path.join('usr', 'bin', 'spam');# print(str); # usr\bin\spam# 获取当前工作目录cur...

2019-11-06 17:02:45 1275

原创 Python实验二:openpyxl处理Excel数据

最近,应公司要求需要对Excel做批量复杂的数据处理,所有学习了下Python ,做了如下实验:如何通过数字转换成Excel相应的字母,如1=>,2=>B等,代码如下#!/usr/bin/python3# -*- coding:UTF-8 -*-# Author:Victor# Date:2019-11-05# transfer_upper.pydef transfe...

2019-11-06 11:30:04 617

原创 Memcache内存管理原理

内存的碎片化C语言中,直接malloc,free 来向操作系统申请和释放内存时,不断的申请和释放过程中,形成了一些很小的内存片段,无法再利用。这种无法利用内存的现象—称之为内存的碎片化。Memacache如何克服内存碎片化memcached 用slab allocator 机制来管理内存。原理:预先把申请到的内存划分成数个slab class仓库(即不同尺寸的小块)如下图所示需要内...

2019-10-24 13:49:04 166

原创 记一次用Nginx代理的实验测试

最近,因为要更换云服务器,但是不能更换解析的服务器,于是可以使用NGINX反向代理。服务器数目两台假解析的域名为:www.testt.com解析的代理服务器A:106.13.*.*被代理服务器B(真实访问的服务器):139.159.*.*A代理服务器的配置 # 用upstreamp设置代理参数 # /usr/local/nginx/conf/nginx.conf upstre...

2019-09-16 15:12:59 497

原创 学习用composer开自己的php扩展包

composer 是PHP用来管理依赖关系的工具详情可以阅读:https://www.phpcomposer.com/安装 见 https://www.phpcomposer.com/开发流程初始化自己的扩展包 composer init$ composer init Welcome to the Composer config generator This comm...

2019-08-30 15:06:03 917

原创 Composer实现PHP自动加载

从**composer**出来之后,php开发者对php的代码构建得心应手,以前臃肿的代码文件引入的时代一去不复还了。安装中文官网:https://www.phpcomposer.com/使用方法在根目录下创建composer.json文件,内容如下{ "require": { "monolog/monolog": "1.0.*" }}在根...

2019-08-29 18:25:32 1032 1

转载 阿里工程师谈,什么是好的代码?

https://mp.weixin.qq.com/s/AjubL4vVhFa_FIlaopLVCA

2019-08-27 11:53:13 65

原创 PHP设计模式----桥接模式

程序开发中,我们面对不同的信息(M种信息,用不通的工具(N种工具)发送,按照单一职责原则,我们可能需要使用M*N种类来完成此项功能,这样会使程序显得非常臃肿,所以,需要用一种方式来完成此项工作-----桥接模式原理:把发送工具(发送器),当做一个父类的一个属性来调用发送工具中的方法,来进行消息发送。abstract class info{ protected $send = null...

2019-08-23 17:14:38 116

原创 PHP模式----适配器模式

开发中,我们经常会做一些API,以供各种客户端调用,我们把这种模式叫做适配器模式适用于各种客户端;简单,方便。//简单天气API:api.phpclass WeatherApi{ public static function show() { $today = ['tep' => 28, 'wind' => 10, 'sun' => ...

2019-08-23 15:24:59 80

原创 PHP设计模式----装饰器模式

在不修改核心功能的情况下进行装饰,称之为装饰器模式。主类不必修改连续添加修饰类,不影响核心功能—主类/** * User: Victor * Date: 2019/8/23 * Time: 10:29 *///装饰器模式class BaseArt{ protected $content; protected $art = null; public ...

2019-08-23 11:40:19 84

原创 PHP设计模式---策略模式

最近,写策略模式的时候,发现和工厂模式差不多,有点混淆不清,特意说说的它们的差异。实现方式(1)工厂模式返回的就是一个对象工厂,让使用者自己调用相应的工厂方法,又叫创建行模式;(2)策略模式返回的是直接结果,无需触碰里面的实现方法(聚合),又叫行为模式。关注点(1)一个关注对象创建;(2)一个关注行为的封装。<?php interface MathCal { ...

2019-08-21 16:16:42 71

原创 PHP设计模式-责任链模式

功能开发中,会遇到一些事件的处理,按照不同级别,处理不同的事情,我们称之为责任链模式 。无法处理,则层层汇报。class board{ protected $lev = 1; protected $toplev = 'admin'; public function process($lever) { if ($lever <=...

2019-08-20 17:59:24 104

原创 JS 之设计模式-观察者模式

HTML+JS 实现观察者模式JS实现两端:服务端和客户端HTML实现界面风格<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>&...

2019-08-20 14:35:55 114

原创 PHP设计模式之-观察者模式

开发中,有些验证功能需要我们实现,类似于这类功能,我们往往可以通过观察者模式去实现。下面分析下观察者模式。遵循单一职责原则 对于不同的验证,可以向外扩展,无需修改内部结构。 符合观察者与被观察者的模式<?php class user implements SplSubject { public $lognum; public...

2019-08-20 11:57:28 76

原创 PHP设计模式之-单例模式

在开发中,我们常常会遇到类的多次加载的问题,而我们实际又只需要加载一次即可,故出现了单例设计模式。只需要 new 一次即可保证不能被覆盖保证不能被克隆<?php class Single { private static $instance = null; public static function getInstance() { if (self::...

2019-08-19 16:58:53 75

原创 PHP设计模式之工厂模式

PHP工厂模式面向对象法则:重要的开闭原创—对于修改是封闭,对于扩展是开放的<?php //开放数据库连接接口(数据库连接工厂) interface Db { public function conn(); } //开放创造数据库的接口(创造数据库工厂) interface Factory { public function createDb(); }...

2019-08-16 17:00:58 99

原创 记一次Centos man命令的中文转换

命令:man 帮助命令,用法示例:man find在linux运维中,我们想对一些命令详细了解,由于语言环境的原因,很多帮助选项看起来比较费劲,这个时候,有没有中文转换呢?答案是肯定的,下面为大家介绍下中文设置方法:下载:wget https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.1.tar.gz/...

2019-08-06 11:03:57 456

原创 Laravel 小知识点汇总

模型获取查询的初始值 $user=new User(); $res=$user->find(1); $oirignalName=$res->getOriginal('name');//获取初始值 页面共享变量Illuminate\Support\Facades\View::share('name','123');where条件中写原始查询条件User::w...

2019-07-24 17:00:48 152

mybatis-mysql.jar.rar

mybatis-3.1.1.jar,对应的整合版本是:mybatis-spring-1.2.3.jar

2020-04-03

mybatis-mysql.jar.rar

mybatis包,mybatis-spring整合包,mysql-connector-java-5.1.6-bin.jar开发包,完整的持久层

2020-03-26

SSH通信工具

最先进的通信工具,安全,搞笑,当前最先进的Web通信工具,支持linux操作命令。

2014-08-19

空空如也

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

TA关注的人

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