自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 企业业务管理系统

2022-04-26 10:53:07 284

原创 如何在本地运行vue项目

一、在本地运行一个vue项目1、前言vue慢慢成为了前端程序员最主流的框架之一,与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合,所以被越来越多人所接受。因此,当我们从github上爬取别人的vue项目之后如何在本地运行呢?那么进入正题。2、安装node.jsNode.js 是一个运行在服务端的框架,它的底层就使用了 V8 引擎,虽然作用与Java的servlet类似,都能开发动态网页。但是Node.j

2021-03-03 19:01:29 7723 2

原创 五种常见的 PHP 设计模式

策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2.定义具体策略类(具体实现父类的共同方法)3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方

2021-02-24 19:28:32 161

原创 PHP八大设计模式

设计模式单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。单例模式$_instance必须声明为静态的私有变量 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义 getInstance()方法必须设置为公有的,必须调用此方法 以返回实例的一个引用 ::操作符只能访问静态变量和静态函数 new对象都会消耗内存 使用场景:最常用的地方是数据库连接。 使用单例模式生成一个对象后, 该对象可以被其它众多对

2021-02-24 19:27:41 130

原创 git查看本机公钥

查看本机ssh公钥方法:1.通过命令窗口a.打开你的git bash 窗口b.进入.ssh目录:cd ~/.sshc.找到id_rsa.pub文件:lsd.查看公钥:cat id_rsa.pub或者vim id_rsa.pub如图:2.或者你也可以直接输入命令 :cat ~/.ssh/id_rsa.pub如图:3.或者你也可以直接打开你用户(一般都是Ad...

2020-01-07 16:01:23 1488

原创 git + 码云 使用详解(入门)(mac+windows教程)

一直想使用git来托管代码以为对命令行不在行,怎么也没整好,网上看了很多教程也毫无头绪,后面在同事的帮助下完成了配置,希望分享出来对大家有帮助。这里先介绍windows的教程,后面结束再介绍mac,mac位置跳转准备工作:1.去官网下载git,下载过后安装一直下一步到安装完成为止即可。2.去码云官网注册账号:https://gitee.com/jmgg/events初始化:1...

2020-01-07 13:46:46 214

原创 软件测试面试题目2

1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。 2、你认为测试人员需要具备哪些素质 做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样...

2019-12-20 13:36:06 15924

原创 软件测试经典面试题

整理收集一些自己遇到的面试题及部分大家的题,自己来作答,回答不妥或者不全的还请大家指正网络(一)简单描述下TCP协议TCP:传输控制协议,是传输层通信协议。它有面向连接、可靠、字节流传输等特点TCP建立连接时,需要三次握手协议TCP三次握手的过程如下:客户端发送SYN保温给服务端,进入SYN_SEND(SEQ=X)状态服务端收到SYN保温,回应一个SYN(SEQ=Y) ACK...

2019-12-20 13:33:46 5234

原创 IOS面试题目及答案1

第一大类OC面试题一.设计模式是什么? 你知道哪些设计模式,并简要叙述?设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情。1). MVC模式:Model View Control,把模型 视图 控制器 层进行解耦合编写。2). MVVM模式:Model View ViewModel 把模型 视图 业务逻辑 层进行解耦和编写。3). 单例模式:通过static关键词,...

2019-12-20 13:28:47 1301

原创 Pycharm第三方库的安装及使用方法

1、Pycharm第三方库的安装方法一:pip install包名;pip uninstall包名。方法二:pip install下载路径\包名.whl (需要先下载第三包:地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/,找到所需的包并下载保存),如下例安装gensim包所示:方法三:若在pycharm编辑中,则在菜单setting/...

2019-12-02 10:55:51 3662

原创 Laravel中chunk组块结果集处理

如果你需要处理成千上万个 Eloquent 结果,可以使用chunk命令。chunk方法会获取一个“组块”的 Eloquent 模型,并将其填充到给定闭包进行处理。使用chunk方法能够在处理大量数据集合时能够有效减少内存消耗: 1 2 3 4 5 Flight::chunk(200,function($flights)...

2019-11-08 11:35:32 957 1

原创 Laravel Queue——消息队列任务与分发源码剖析

在实际的项目开发中,我们经常会遇到需要轻量级队列的情形,例如发短信、发邮件等,这些任务不足以使用kafka、RabbitMQ等重量级的消息队列,但是又的确需要异步、重试、并发控制等功能。通常来说,我们经常会使用Redis、Beanstalk、Amazon SQS来实现相关功能,laravel为此对不同的后台队列服务提供统一的API,本文将会介绍应用最为广泛的redis队列。本文...

2019-11-08 10:45:25 762

原创 分享一下 Laravel、PHPer 面试可能会遇到的问题

PHP strrpos () strripos () stripos () strpos () 之间的区别 strrpos () 查找字符串在另一字符串中最后一次出现的位置,区分大小写 strripos () - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写) stripos () 查找字符串在另一字符串中第一次出现的位置(不区分大小写) strpos () - ...

2019-11-08 09:58:17 310

原创 Laravel面试题及答案

Laravel是一个基于Symfony的免费开源PHP Web框架。 它由Taylor Otwell创建,允许开发人员编写富有表现力的优雅语法。 Laravel内置了对用户身份验证和授权的支持,这在一些最流行的PHP框架(如CodeIgniter,CakePHP)中缺失。通过阅读下面Laravel面试题和答案,有助于让您在面试过程中应付自如,也可作为测评或复习巩固Laravel知识。1....

2019-11-08 09:55:31 12798 1

原创 MySQL经典面试题

1、MySQL的复制原理以及流程(1)、复制基本原理流程1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;3. 从:sql执行线程——执行relay log中的语句;(2)、MySQL复制的线程...

2019-11-08 09:50:26 413

原创 最全MySQL面试题和答案

Mysql 的存储引擎,myisam和innodb的区别。答:1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。数据表类型有哪些 答:MyISAM、InnoDB、HEAP、BOB,...

2019-11-08 09:46:15 748

原创 MySQL常见面试题

事务四大特性原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态 一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的; 隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。这通常使用锁来实现。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。 持久性:事务一旦提交,其结果就是永久...

2019-11-08 09:44:22 187

原创 2019PHP面试题大全

一 、PHP基础部分1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?Get与post两种方式区别:(1)url可见性:get 方式url参数可见,po...

2019-11-08 09:36:55 1677

原创 phpstorm常用快捷键

1.shift + F6重命名 可以很方便的重命名方法和变量名等等。甚至文件的重命名,也会自动修正include filepath2. ALT+F7 也可以直接鼠标右键find usages 功能,寻找一个方法或者函数在哪里被调用3.CTRL+SHIFT+I//查看变量初始化的值,如果是css中的class则显示当前class详细信息,如果是js则显示function...

2019-11-08 09:35:42 94

转载 中国全量镜像Packagist 镜像使用方法

https://pkg.phpcomposer.com/还没安装 Composer 吗?请往下看如何安装 Composer。镜像用法有两种方式启用本镜像服务:系统全局配置:即将配置信息添加到 Composer 的全局配置文件config.json中。见“方法一” 单个项目配置:将配置信息添加到某个项目的composer.json文件中。见“方法二”方...

2019-11-07 09:33:43 234

原创 分布式架构如何设计

本次分享大纲如下:大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例一、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验二、大型网站架构目标...

2019-11-06 09:43:27 308

转载 分布式架构的演进

一、什么是分布式架构  分布式系统(distributed system)是建立在网络之上的软件系统。  内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系统。  透明性:是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。    在分布式数据系统中,用户感觉不数据是分布的,即用户不须知道关系是否分割,有无副本,数据存在于那个站点以及事物在哪...

2019-10-29 17:51:17 103

原创 分布式系统架构设计

一。主流架构模型 SOA架构和微服务架构SOA架构SOA全称(Service Oriented Architecture) 中文意思为 面相服务的架构,他是一种设计方法,轻重包含多个服务,服务之间通过相互依赖最终提供一系列的功能, 一个服务通常以独立的形式存在与操作系统进程中,各个服务之间通过网络调用,跟SOA相提并论的还有ESB(企业服务总线),简单来说ESB就是管道,链接各个服务节...

2019-10-29 16:42:18 162

原创 MySQL数据库(分库分表)中间件对比

分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。优点:数据不存在多个副本,不必进行数据复制,性能更高。 缺点:分区策略必须经过充分考虑,避免多个分区之间的数据存在关联关...

2019-10-29 14:30:41 430

原创 Mysql 实现读写分离-Atlas中间件

Mysq主从同步原理:Mysql 之间数据复制的基础是二进制日志文件(bin log file) Slave 数据库作为slave通过一个 I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现,master二进制文件发生变化,则会把变化复制到自己的日志中,然后SQL线程会把相关的数据库操作事件执行到自己的数据库中,依次实现从数据库和主数据库的一致性,也就是实现了...

2019-10-29 14:08:32 140

原创 TP5 数据库读写分离

mysql 配置1. 配置Master主服务器1.1 创建一个用户‘copier’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。mysql> GRANT REPLICATION SLAVE ON *.* TO 'copier'@'192.168.0.%' IDENTIFIED BY 'password';1.2 找到MySQL...

2019-10-29 14:03:06 684

原创 mysql中间件研究

mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是...

2019-10-29 13:50:13 202

原创 基于 Discuz!X 的双机热备部署方案

互联网应用(产品)一旦上线,就会面临可靠性和可扩展性两个永恒的问题。而对于很多创业公司而言,在还没有把用户量做起来之前,产品可靠性的问题则更加突出。笔者认为采用双机热备的方案是对小微应用而言最具性价比的方案。本系列教程将分几个章节由浅入深向读者展示一个完整的双机方案是如何部署并运行的。 1、业务环境系统设计 1.1、整个系统由三台服务器构成,其中两台负责承载生产业务,剩下一台负责监控、...

2019-10-29 13:48:17 867

原创 MySQL + Atlas --- 部署读写分离

Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西。而且安装方便。配置的注释写的蛮详细的,都是中文。英文不好的同学有福了。Atlas官方链接:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.mdAtlas下载链接:https://gith...

2019-10-29 10:02:30 420

原创 PHP实现的mysql读写分离操作示例

首先mysql主从需配置好,基本原理就是判断sql语句是否是select,是的话走master库,否则从slave查/*** mysql读写分离* edit: hyb*/class db{public function __construct($sql){$chestr = strtolower(trim($sql));if(substr($chestr,0,6...

2019-10-29 09:21:42 188

转载 MySQL主从复制配置指导及PHP读写分离源码分析

开发环境master环境:ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2slave环境:kvm虚拟机/ubuntu14.04.01/1G/30G/mysql5.7.23主从复制读写分离原理 主从复制: 主服务器数据库的每次操作都会记录在二进制日志文件 A 中。从服务器的I/O线程到主服务器中读取 A ,并将 A...

2019-10-29 09:21:22 222

转载 Git常用命令总结及其用法说明

以下是小编在工作中总结的关于git命令的一些使用方法,仅供参考。1、gitignore规则不生效.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:git rm -r --cached .git add .git commit ...

2019-10-28 16:50:04 92

转载 Git常用命令及方法大全

Git常用命令及方法大全下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库本地分支关联远程:git branch --set-upstream-to=origin/beta beta一、新建代码库...

2019-10-28 16:47:37 587

转载 初学Git——命令总结

1. Git简介// 1. 创建版本库$ cd:e // 切换盘符$ cd .. // 回到文件上一层(注: cd与..中间有个空格)$ cd ~ // 回到当前目录的主目录$ mkdir Git // 创建文件夹Git$ touch fileName // 新建文件$ vi fileName // 编辑文件$ press i button // 开始进入编辑状态...

2019-10-28 16:44:33 87

原创 网站流量与性能分析指标——PV、UV、PR、IP、QPS、并发数、吞吐量、响应时间

QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力。QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 * 请求时间 )QPS:单个进程每秒请求服务器的成功次数峰值QPS和机器计算:原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间公...

2019-10-28 16:29:52 481

转载 PHP分布式路由算法介绍与实现

在我们做负载均衡,分布式部署,数据分表时,需要用到一些分布式路由算法将请求路由到真实的节点上。最常用的有哈希取模,一致性哈希算法等。这里对他们的做一些介绍及提供PHP实现。场景举例:分布式缓存服务器路由1、哈希取模算法对缓存key进行hash得到结果取余数 (hash() modN):对机器编号从0到N-1,按照自定义的hash()算法,对每个请求的hash()值按N取模,得到余数i...

2019-10-28 16:26:08 173

转载 PHP的WEB系统从单机到分布式集群的演进

 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。   Web负载均衡    Web负载均衡(Load Balancing),简单地说...

2019-10-28 16:22:31 159

原创 ThinkPHP项目实现分布式部署(网站集群)

 普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。  使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Se...

2019-10-28 16:12:15 2637 1

原创 高并发平台解决方案

1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了。架构图如下:2.页面缓...

2019-10-28 13:18:40 468

原创 个人高并发架构解决方案总结

一、关于高并发高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11、双12,就会产生高并发。又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击。1 高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等。 用户角度:网站打不开 服务器雪崩:2 并发下...

2019-10-28 13:13:45 304

空空如也

空空如也

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

TA关注的人

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