自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP

hadoop 启动时报错:

2023-11-05 20:55:56 82

原创 Mac 下安装golang环境

mac下golang环境搭建

2023-11-05 20:53:38 770

原创 paralleles 在虚拟机关闭之前次页面的配置不可更改

操作->停止。然后去修改就可以了。

2023-07-21 22:28:45 378

原创 【Leetcode算法1865】 找出数组和为给定值的两个元素的下标

[leetcode]

2023-01-10 14:18:26 96 1

原创 Golang基础

Golang基础部分

2022-07-23 21:21:16 335

原创 GIT --local -branching-on-the-cheap

GIT究竟是怎样的一个系统呢

2022-07-11 17:52:34 225

原创 Linux部署SVN

Linux部署SVN

2022-06-02 13:39:28 97

原创 线程、进程、协程

一、进程定义:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础;“执行中的程序”进程是线程的容器;进程是程序的实体;特征:动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;并发性:任何进程都可以同其他进程一起并发执行独立性:进程是一个独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性;进程按各自独立的、不可预知的速度向前推进;切换: 进程切

2022-02-25 17:28:55 234 1

原创 【面试题】计算机网络基础

一、在浏览器中输入url地址到显示主页的过程大部分人的回答:1、DNS域名解析;[域名->IP地址]2、TCP链接;3、发送HTTP请求;4、服务器处理请求并返回HTTP报文;5、浏览器解析渲染页面;6、连接结束;如果你是面试官,听到这样的回答你会怎么想?觉得面前这个面试者没啥亮点吧!!所以我们还是尽可能的详细拆分每一个步骤DNS域名解析以www.baidu.com举例;首先在本地域名服务器中查询IP地址,如果没有找到的情况下,本地域名服务器会像根域名服务器发送一个请求,如果根域

2022-02-24 22:23:12 668

原创 【面试题】数据结构和算法

一、谈一谈,id全局唯一且自增,如何实现?SnowFlake算法,是Twitter开源的分布式id生成算法。核心思想:使用一个64bit的long型的数字作为全局唯一id。【在分布式系统中的应用十分广泛】SnowFlake id生成规则第一位标识符:0,正数是0,负数是1;第2-42位标识符(41位标识符):时间戳:当前时间-开始时间 的值;第43-52位标识符(10位机器标识码):5位机房ID+5位机器ID;第53-64位标识符:毫秒内的计数,每毫秒内生成的id的序号;SnowF

2022-02-21 11:01:37 519

原创 MySQL 面试之基础知识篇

一、概念MySQL是一个传统的RDBM数据库,也是关系型数据库。广泛应用于OLTP场景;拓展OLTP:联机事务处理,是传统的关系型数据库的主要应用,用于基本的事务处理;【日常处理】OLAP:联机分析处理,数据仓库系统的主要应用;支持复杂的分析操作,侧重决策支持,并且提供易懂的查询结果;【数据分析】...

2022-01-28 10:40:32 1476

原创 MySQL 面试之性能调优篇

一、MySQL调优思路整天大概主要有三个维度:SQL语句优化:包括索引优化、特定查询优化;对频率控制优化:包括读缓存,写缓冲分库分表;SQL语句优化:应该是面试或者我们写sql语句中最常考虑的点慢查询日志:用来记录MySQL在响应时间超过阀值的语句,这个值通常为10s;慢查询日志是默认关闭的,我们需要手动开启;执行计划explain:可以获取MySQL语句的执行计划,包括使用到的索引,扫描行数,表如何链接等信息都会显示;分库分表随着业务持续扩张,单表新能一定会达到极限,分表是把一个

2022-01-28 10:40:23 1295

原创 Redis 分区

分区:怎么将数据分布到多个redis实例定义:分区就是将你的数据分发到不同redis实例上的一个过程,每个redis实例只是你所有key的一个子集;根据要映射的不同系统来决定用户映射到哪个Redis实例。目的:1、分区可以让Redis管理更大的内存,Redis可以使用所有机器的内存。如果没有分区,你只能使用一台机器的内存。2、分区使Redis的计算能力通过简单的增加计算机得到成倍提升,Redis的网络宽带也会随着计算机和网卡的增加而成倍增长;方法:1、范围分区:将不同范围的对象映射到不同Redi

2021-12-30 16:48:24 366

原创 Redis 大批量数据插入

前言如果我们此时需要往redis导入大量数据,如果能快速操作??一行一行的命令加入的话耗费往返时间使用管道可以节省往返时间,但是会占用很多内存,即使发送大量的命令,也是要分批次的处理才可以;我们先创建一个redis命令集文件,将所有要设置的命令写在这个文件里,最后统一执行这个文件就可以;记:这个redis数据集文件,记得转码;linux请先确保有转码工具,没有的话请brew install unix2dos转码指令:unix2dos 文件名例如:我们要生成一个’keyN’->.

2021-12-22 11:16:46 3412

原创 Redis 持久化

一、Redis 持久化方式:RDB 持久化:能够在指定的时间间隔对你的数据进行快照存储。AOF持久化:记录每次对服务器的写的操作,当服务器重启的时候会重新执行这些命令来回复原始的数据,AOF命令以redis协议追加保存每次到写的操作到文件末尾;Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大;可以同时开启两种持久化方式当redis重启的时候会优先载入AOF文件来回复原始的数据;在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整;...

2021-12-20 16:26:57 420

原创 Redis 事务

Redis的事务是非原子性的事务中所有命令都会序列化,按顺序地执行;事务中单个命令时具有原子性的一、用法事务执行流程1、开启事务:MULTI命令用于开启一个事务;2、命令入队:客户端继续像服务器发送任意多跳命令,这些命令不会立即执行,而是放在一个队列中;3、执行事务:EXEC命令执行所有在队列中的命令。取消事务队列:DISCARD放弃执行事务;//事务开始到执行127.0.0.1:6379> multiOK127.0.0.1:6379> set k1 v1QU.

2021-12-03 16:52:42 919

原创 获取连续一周的时间以及对应的星期

// 获取连续7天的日期和对应的星期 $time = time(); $weekName=array('周日','周一','周二','周三','周四','周五','周六'); for ($i=0;$i<7;$i++){ $data[$i]['time'] = date('m/d',strtotime( '+'. $i .' days',$time)); $data[$i]['week'] = $week

2021-12-01 17:29:49 88

原创 Redis 过期Expires

Redis对存储值得过期处理实际上是针对该值得键(key)处理的,即时间的设置也是设置key的有效时间设置key的过期时间,超过时间后,将会自动删除key;一、设置过期时间expire key time(以秒为单位):最常见的方式pexpire key time(以毫秒为单位)setex key seconds value :字符串独有的方式;设置值并且给过期时间,如果key已经存在,setex命令将会替换旧值;expireat key timestamp 将key的.

2021-11-29 18:37:36 3731

原创 Redis Pub/Sub 发布/订阅模式

一、概念:redis 是一个快速、稳定的发布/订阅的信息系统;发布者不是计划发送消息给特定的接受者,而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅;订阅者对一个或者多个频道感兴趣,只需接受感兴趣的消息,不需要知道什么样的发布者发布的;发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑特点1、客户端执行订阅以后,除了可以继续订阅,取消订阅,PING命令和结束连接外,不能执行任何其他操作,客户端将阻塞直到订阅通道上发布消息的到来。2、发布的消息在Redis系统中不存

2021-11-24 15:18:21 1246

原创 Redis Pipelining管道

一、请求和响应发送请求的流程:1、客户端向服务端发送一个请求,并监听Scoket返回,通常是以阻塞模式,等待服务端响应。2、服务端处理命令,并将结果返回给客户端。无论网络如何延时或者其他的阻塞发生,数据包总是能从客户端到达服务器,并从服务器返回数据回复客户端。这个时间称为RTT(往返时间)如果客户端需要在一个批处理中执行多次请求时很容易影响性能;每秒的请求数也会少之又少;所以就有了下面的方法,用来改善这种情况;二、Redis 管道 ------ Pipelining定义:一次请求/响应

2021-11-12 17:50:42 731

原创 Redis(Remote Dictionary Server)自我介绍

一、定义Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。支持的数据类型:字符串(string)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)与范围查询, bitmaps,hyperloglogs和地理空间(geospatial)索引半径查询;Redis内置了复制(replication),LUA(Lua scripting)脚本,LRU驱动事件(LRU eviction),事务(transactions) 和不同

2021-10-30 13:56:22 121

原创 【超长文】 耗时三周整理出来的Redis的指令 (全网最全)、沉下心,提起笔

一、指令单个键值对增删改查操作set->key 不存在则新增,存在则修改set key valueget->key 获取对应key的value,不存在返回(nil)get keydel->key 删除指定的key(key可以是多个)del key [key……]示例:127.0.0.1:6379> set name hahhaOK127.0.0.1:6379> get name"hahha"127.0.0.1:6379>

2021-10-30 13:48:40 296

原创 深入理解面向对象,花费时间最后一次整理,以后只更新里面的内容

前言我相信很多同行去另一家公司之后都会吐槽原来的代码写的太菜。这其实很大一部分原因都来自公司要求“小步快跑,快速迭代”。不同的人重复造轮子,代码质量参差不齐,各种胶水式的代码遍布SVN和Git。大家不敢动原来的代码,只能在最后的地方进行修修补补,所以导致维护困难。...

2021-09-26 18:35:03 297

原创 php面试易错大总结一

一、empty, isset,is_null的区别定义:isset()用来检测一个变量是否已声明且值不为NULL,换句话说,只要变量值不是NULL就返回真值;empty()用来检测一个变量是否为空。在以下几种情况下返回真值:空字符串,false,空数组,NULL,0,以及被uset删除之后的值;is_null()函数用来判断变量内容是否是NULL值。也就是只有变量值为NULL时才返回真值。相同点:都返回布尔值,bool(true)或者bool(false);不同点:is_null()和isset(

2021-09-11 15:20:54 101

原创 关于CGI 和 FastCGI的理解

前言: 如何客户端请求的是index.html的这类静态页面,那么Web Server就去文件系统中找对应的文件,找到就返回给客户端–>一般是浏览器。但是如果请求的是index.php这种动态页面,那么Web Server根据配置文件知道这个不是静态文件,就会调用php解析器进行处理然后将返回的数据转发给客户端;大体流程则为:在整个过程中,Web Server并不能直接处理静态或者动态请求,对于静态请求是查找然后返回数据或者报错信息;对于动态数据则交给php解析器【php-fpm】进行处.

2021-09-05 16:38:55 286

原创 在Linux的世界里 一切皆文件

一、对linux的基础认识定义: linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统Linux系统启动过程1、内核的引导:当计算机打开电源后,就会开机自检,按照BIOS中设置的启动设备来启动。操作系统接管硬件之后,首先读入/boot目录下的内核文件2、运行init:init进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。init程序读取配置文件/etc/inittab。【许多程序开机启动,在Linux叫做“守护进程”,init进程的任务

2021-08-17 14:16:06 205

原创 Mysql 一条sql查询语句是如何执行的

接下来的有关mysql基础架构的文章参照物来自于极客时间的Mysql实战45讲Mysql 其实是My ESS QUE ELL的简写Mysql的基础架构示意图:大体看的出来:mysql分两部分,Server层和存储引擎层;Server层包括的东西就比较多了,除了分析器优化器等,还有内置函数,触发器等都在这一层;而存储引擎层则是负责数据的存储和读取第一部分:连接器连接器就是负责跟客户端建立链接,获取权限,维持和管理链接;注意:-p和密码之间没有空格 mysql -h 192..

2021-08-04 22:13:53 120

原创 详解Mysql 窗口函数 解决排名问题yyds

最近这段时间在刷leetcode数据库的题,在题解中发现窗口函数可以解决很多排名的问题but before this ……我并不知道有<窗口函数>这样的概念。可能是一直再用mysql5.6的版本,没有对mysql8的版本有过了解^^^ 简言之:窗口函数只有mysql8以上的版本才支持so make a simple understanding of this...

2021-08-03 16:57:53 532

原创 图解SQL语句:分组查询TOP N

力扣184题 & 力扣185题【题目】184、部门工资最高的员工信息,name ,salary ,department_name185、部门工资前三高的员工 表emplyee:id name salary departmentid 1 joe 7000 1 2 jim 8500 1 3 henry 8000 2 4 sam 6000 2 5 max...

2021-07-30 22:33:09 637

原创 图解SQL语句:经典排名问题+TOP N

力扣178题 分数排名问题题目:如果两个分数相同,则两个分数排名(Rank)相同,平分后的下一个名次应该是下一个连续的整数值值。换句话说,名次之间不应该有“间隔”。id salary 1 100 2 89 3 84 4 89 5 68 根据推断:所得到的值应该是id salary rank 1 100 1 2 89 2 4 89 2 3 84 3 ...

2021-07-29 21:50:44 582

原创 图解SQL面试题:如何多表查询 ?

力扣 SQL175题题目:表1:personpersonid firstname lastname 1 jia duan 2 san zhang 3 si li 表二:addressaddressid personid city state 1 1 山西 1 2 3 北京 1 问题:无论person是否有地址信息,都需要基于上述两表提供person一下信息:..

2021-07-28 17:44:56 485

原创 图解sql面试题:查找TOPN的数据

力扣SQL 第176题题目:求第二高的薪水employee表idsalary1100220033004300分析结果:查询结果应该最后返回的是200作为第二高的薪水。如果不存在则为null【解题思路】1:考虑到成绩可能有重复的值,所以我们第一就是使用distinct去重;2:思路一、可以先求出最大的值,然后再找出小于这个最大值的列即为第二高的薪水;如下:select max(distinct salary) from emplyee;

2021-07-27 16:16:02 234

原创 抽丝剥茧设计模式 -------- 单例模式(Singleton)

一、基础 1、定义:在当前进程中,通过单例模式创建的类有且只有一个实例。 2、特点:构造器必须是私有的,外部类无法通过调用构造器方法创建该实例; 需要提供一个公开的方法来获取这个唯一的实例; 3、优点:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销; 省去了NEW 操作符,降低了系统内存的使用频率,减轻GC压力; ...

2021-07-26 15:36:36 104

原创 看完这篇文章,对设计模式有基础的了解 [Design Patterns]

一、基础 1、概念:设计模式是一套被反复使用、多数无人知晓的、经过分类编目的、代码设计经验的总结。 2、目的:重用代码,让代码更容易被他人理解、保证代码的可靠性。 3、基于已下的面向对象原则:对接口编程而不是对实现编程;优先使用对象组合而不是继承; 4、分类...

2021-07-26 14:15:08 52

原创 php array_merge()和+的区别

php array_merge()和+的区别在技术交流群里聊天引起的反思。一个工作四五年的phper竟然在被面试官问到“标题”这样的问题的时候不知道如何回答???他的原话是老记但是记不住;死记硬背显然是走不通的,下面的就是按照自己理解来的;直接上代码:1、两个数组都是索引数组【下标是从0开始的,自己分配的下标】<?php$a = ['php','java'];$b = ['mysql','redis','kafka'];echo '<pre>';print_r($a

2021-07-21 22:30:16 240 1

原创 RBAC(基于角色的访问控制) 权限

一、RBAC基础知识 1、RBAC的组成:1:由3个基础的部分组成:用户、角色和权限;2:RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离,极大的方便了权限管理。名词解释:用户:每个用户都有唯一的uid,并被授予不同的角色;角色:不同的角色有不同的权限;权限:访问权限;用户--角色的映射:用户和角色之间的映射关系;角色--权限的映射: 角色和...

2021-07-13 21:35:10 3270

原创 详解垃圾回收机制(GC----Garbage Collection)

定义:实现一个变量,从声明开始到最后没人用,就把这个变量所占的内存给释放掉1:引用计数2:回收周期3:性能方面考虑的因素一、引用计数基本知识

2021-07-07 19:24:44 273 1

原创 Git -flow的安装步骤(Windows)

git-flow安装步骤:1、下载安装git:https://git-scm.com/downloads2、下载getopt.exe:http://downloads.sourceforge.net/gnuwin32/util-linux-ng-2.14.1-bin.zip下载libintl3.dll:http://gnuwin32.sourceforge.net/downlinks/libintl-bin-zip.php下载libiconv2.dll:http://...

2021-05-29 14:26:09 549

原创 PHP面试题整理

PHP部分:一 : oop面向对象编程思想 面向对象部分:(https://www.cnblogs.com/-shu/p/4600987.html) https://www.cnblogs.com/-shu/p/4600995.html https://www.cnblogs.co...

2019-12-28 17:02:07 298

原创 安装Laravel过程全解及增删查改

安装过程1、安装包下载安装laravel框架 安装地址:https://github.com/yuwenbo5/laravel5.2.15 存放在WWW下; 打开浏览器输入url:localhost/laravel/public 出现如下画面即安装成功 2、composer安装 前提是你要装好composer [co...

2019-12-28 16:59:56 91

综合整理内容所有内容都基于此文档

综合整理内容所有内容都基于此文档

2021-09-28

空空如也

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

TA关注的人

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