自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问——Win10

问题描述你可能会出现上述的问题,当你访问共享文件夹是出现:“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问,这些策略可帮助保护你的电脑免受网络上不安全设备或者恶意设备的威胁” 这种情况。这是你需要修改电脑的网络策略。解决方案按住“win+R”打开下面的窗口。在这个窗口中输入“gpedit.msc”打开。进入计算机设置——>管理模板打开网络——>Lanman工作站——>启动不安全的来宾登录5.选择已启用——>应用——>确定

2020-07-29 13:24:32 7904

原创 如何将html转化为pdf

将html转化为pdf的常用方法

2023-10-24 10:17:33 666

原创 Docker 有什么优点?

背景知识Docker 从 2013 年发展到现在,它的普及率已经可以和最常用的 MySQL 和 Redis 并驾齐驱了。Docker 是一个开源(开放源代码)的应用容器引擎,可以方便地对容器进行管理。可通过 Docker 打包各种环境应用配置,比如安装 JDK 环境、发布自己的 Java 程序等,然后再把它发布到任意 Linux 机器上。Docker 中有三个重要的概念,具体如下。镜像(Image):一个特殊的文件操作系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时

2022-10-24 08:36:08 1122

原创 form中onsubmit=“ checkForm(this);“ 和 onsubmit=“return checkForm(this);“有何区别?

今天在看JavaScript基础知识的时候发现一个问题,就是在表单验证的时候。这里的 为什么前要有一个这个细节本来想着是就是返回值这么简单,但是仔细想想又有什么不对,很奇怪,于是查找了一些资料来理清思路。等价于以下代码块:而的函数内容如下。情况1:不加return代码就相当于:因为的返回值为,所以代码块化简为:这样的话,只是执行了一条语句,并没有返回任何值,而默认返回是所以什么都不会发生。代码就相当于:因为的返回值为,所以代码块化简为:此时返回是所以就会验证不通过!...

2022-07-07 17:32:17 808 1

原创 什么是go的反射?

基础反射是在运行期间获取类的各种信息。Go语言的反射需要理解两个概念Type和Value,它们也是Go语言中reflect空间里最重要的两个类型,举例如下: type MyReader struct { Name string​ } func (r MyReader)Read(p []byte) (n int, err error) { // 实现自己的Read方法}var reader io.Reader reader = &MyReader{"a.txt"}

2022-03-31 21:34:07 1601

原创 写给大家看的设计书(思维导图)

这本书其实可以改变你对设计的一些看法,其实平时见到的很多设计里都隐藏着一些巧妙的小细节!

2022-01-30 12:23:30 647

原创 SSL/TLS加密传输

基础知识SSL/TLS单向认证:客户端会认证服务器端的身份,但是服务器端不会对客户端进行认证。SSL/TLS双向认证:客户端和服务端会互相认证,即双发之间要证书交换。决定性因素:客户端的数量单向加密的认证过程SSL工作原理CA(Certificate Center)证书签发机构。两个属性:1.本身受信任,国际认可。2.给他受信任的申请对象签发证书。私钥用于加密,公钥用于解密。证书是带有签名的身份信息证书的签发过程证书包括签名和明文信息两部分,其中签名使用ca.key即ca的私钥加密

2021-12-29 17:30:00 1493

原创 Docker常用命令

帮助命令描述内// 在这里编写代码docker version # 显示docker的版本信息docker --help # 万能命令镜像命令docker images 查看所有的镜像// 在这里编写代码docker images --help #万能查询 -a, --all # 列出所有镜像 -q, --quiet # 只显示镜像的iddocker search 搜索镜像docker search mysqldocker search

2021-11-21 22:45:16 1112

原创 前端工程师必备的Nginx知识

历史背景进程之间切换的成本是非常高的,在这种背景下,Nginx应运而生,可以轻松处理数百万、上千万的连接。Ngixn的优势高并发高性能可扩展性好高可靠性热部署开源许可证Ngixn的主要应用场景静态资源服务,通过本地文件系统提供服务反向代理服务、负载均衡API服务、权限控制,减少应用服务器压力Nginx 配置文件和目录通过 rpm -ql nginx 可以查看 Nginx 安装的配置文件和目录。正向代理 Forward proxy正向代理的

2021-10-24 22:19:47 283

原创 BFS 和 DFS 的优缺点

BFS 和 DFS 的优缺点BFS(2^n):空间是指数级别的 大!!!空间是自己开的数组,存在堆里,不存在爆栈的风险。最短、最小DFS(n):空间和深度成正比 小!!!有爆栈的风险,比如树的深度最坏可能有100000层。不能搜最短、虽小...

2021-10-21 22:32:35 1111

原创 布隆过滤器的思维导图

2021-09-28 21:56:48 74

原创 错误:无法从 mirrors.aliyun.com : The requested URL returned error: 404

问题描述在今天安装redis的时候报了下面的问题,如图所示:问题分析这时候可能是**/etc/pacman.d/mirror文件**没有进行更新.解决方案可以通过sudo pacman-mirrors -i 更新该文件,然后再回来安装一下.sudo pacman -Sy运行结果最后安装成功....

2021-08-13 23:07:11 270

原创 Docker“Got permission denied while trying to connect to the Docker daemon socket“

问题我在进行docker pull bestwu/qq操作的时候报了错误:Got permission denied while trying to connect to the Docker daemonsocket at unix:///var/run/docker.sock: Post“http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=bestwu%2Fqq&tag=latest”:dial unix /

2021-07-18 22:03:55 194

原创 mkvirtualenv: 未找到命令的解决方法

解决方案升级python的包管理工具pippip install --upgrade pip使用这个命令的时候可以采用 pip install --upgrade 包名python虚拟环境的安装sudo dnf install python-virtualenvsudo dnf install virtualenvwrapper在上述命令的基础之上如果找不到mkirtualenv命令,则需要配置环境变量:创建目录用来存放虚拟环境:mkdir $HOME/.virtualen

2021-06-12 23:52:52 1815

原创 关系型数据和文档型数据库到底有什么区别?

背景知识关系数据库(Relational Database)是建立在关系模型基础上的数据库,借助于几何代数等数学概念和方法来处理数据库中的数据。所谓关系模型是一对一、一对多或者多对多等关系,常见的关系型数据库有 Oracle、SQL Server、DB2、MySQL 等。而文档型数据库是一种非关系型数据库,非关系型数据库(Not Only SQL,NoSQL)正好与关系型数据库相反,它不是建立在“关系模型”上的数据库。文档型数据库的典型代表是 MongoDB。那么关系型数据库和文档型数据库有什么区别?

2021-05-08 13:56:50 2693

原创 CentOS7 下的 nginx 安装与配置

必备插件安装 GCC命令:查看 gcc 的版本gcc -v一般阿里云上的 CentOS7 是有 gcc 的。命令:安装 gccyum -y install gcc安装 pcre、pcre-develnginx 中的 http 模块需要使用 pcre 来解析正则表达式。命令:安装 pcre、pcre-develyum install -y pcre pcre-devel安装 zlibzlib 支持很多压缩和解压缩的方式。命令:安装 zlibyum install -y zl

2021-04-21 11:11:40 753

原创 cnpm 执行时卡住应该怎么解决?

问题执行cnpm i时程序卡住,没有反应,此时最常见的方法就两种,一种是重新启动,另一种就是卸载重装。这两个办法都是非常的有效的。遇到了这个问题重新执行发现还是无法解决,之后我就卸载重装了 cnpm 。解决方案先卸载之前的 cnpm 版本。npm uninstall -g cnpm --registry=https://registry.npm.taobao.org注册模块镜像npm set registry https://registry.npm.taobao.orgnode-

2021-03-27 22:26:54 940

原创 npm 包发布时遇到的问题

问题一:npm ERR! publish Failed PUT 403 npm ERR! code E403 npm ERR! no_perms Private mode enable, only admin can publish this module: 错误:no_perms Private mode enable, only admin can publish this module原因:使用的是淘宝源cnpm,登陆到的是cnpm解决方案:切换到npmjs的网址npm c

2021-02-19 09:21:55 333

原创 mkvirtualenv: 未找到命令的解决方法

virtualenv安装升级Python包管理工具pippip install --upgrade pip安装python的虚拟环境sudo apt-get install python-virtualenvsudo easy_install virtualenvwrapper一般到了这一步就已经可以成功了,如果没有成功可能是需要配置环境变量。解决方案创建存放虚拟环境的目录mkdir $HOME/.virtualenvs在 ~/.bashrc 中添加行export

2021-01-12 17:16:16 947

原创 MySQL 的优化方案

背景知识性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升的并发请求之后,会导致严重的后果,轻则造成服务繁忙,重则导致应用不可用。它对我们来说就像一颗即将被引爆的定时炸弹一样,时刻威胁着我们。因此在上线项目之前需要严格的把关,以确保 MySQL 能够以最优的状态进行运行。那么MySQL 的优化方案有哪些?常见回答MySQL 数据库常见的优化手段分为三个层面:SQL 和索引优化、数据库结构优化

2020-12-23 20:36:33 110

原创 LeetCode75——颜色分类(三指针法)

题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例:示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:nums = [1]输出:[1]题目分析题目要得到的

2020-12-22 20:01:43 233

原创 npm: command not found

问题描述我在终端执npm install 命令的时候会出现bash: npm: command not found 的错误提示。解决方案可能是没有安装Node.js导致的,因此我们需要先安装Node.jscurl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -sudo dnf install nodejs...

2020-12-21 19:15:39 4520 1

原创 MySQL 的三个自问自答

查询缓存在什么问题?如何选择数据库的引擎?InnoDB 自增索引的持久化问题三大问题1. 查询缓存的利弊MySQL 8.0 之前可以正常的使用查询缓存的功能,可通过“SHOW GLOBAL VARIABLES LIKE ‘query_cache_type’”命令查询数据库是否开启了查询缓存的功能,它的结果值有以下三项:OFF,关闭了查询缓存功能;ON,开启了查询缓存功能;DEMAND,在 sql 语句中指定 sql_cache关键字才会有查询缓存,也就是说必须使用 sql_cache.

2020-12-17 20:26:44 136

原创 MySQL 是怎么运作的?

自问自答问:MySQL 是怎么运作的呢?答:MySQL 的执行流程是这样的,首先客户端先要发送用户信息去服务器端进行授权认证。如果使用的是命令行工具,通常需要输入如下信息:mysql -h 主机名(IP) -u 用户名 -P 端口 -p其中:-h 表示要连接的数据库服务器的主机名或者 IP 信息;-u 表示数据库的用户名称;-P 表示数据库服务器的端口号, 小写的 -p 表示需要输入数据库的密码。具体使用示例,如下图所示:当输入正确密码之后可以连接到数据库了,如果密码输入错误,

2020-12-16 20:29:12 389

原创 Springboot 是个什么玩意?

背景知识Spring 为 Java 程序提供了全面的基础架构支持,包含了很多非常实用的功能,如 Spring JDBC、Spring AOP、Spring ORM、Spring Test 等,这些模块的出现,大大的缩短了应用程序的开发时间,同时提高了应用开发的效率。Spring Boot 本质上是 Spring 框架的延伸和扩展,它的诞生是为了简化 Spring 框架初始搭建以及开发的过程,使用它可以不再依赖 Spring 应用程序中的 XML 配置,为更快、更高效的开发 Spring 提供更加有力的支

2020-12-15 18:55:24 206

原创 LeetCode540——有序数组中的单一元素(二分法)

题目描述给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例:示例 1:输入: [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: [3,3,7,7,10,11,11]输出: 10题目分析这次是用二分法的思想,你会发现下标 i(i是偶数)的数与 i+1(i+1是奇数),在遇到出现一次的数之前都是 nums[i] == nums[i+1] , 在出现一次数的右边, nums[i] != nums[i+1] ,我们可以通过这一点进行二分查

2020-12-10 22:06:04 144

原创 LeetCode540——有序数组中的单一元素(异或法)

题目描述给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例:示例 1:输入: [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: [3,3,7,7,10,11,11]输出: 10题目分析代码非常的简单明了,其实最核心的就是异或的思想,因为如果一个数只出现一次就代表这个数组的个数一定是奇数,那么出现两次的数,因为数值相同,所以异或的结果是0,那么数组中所有的数异或得到的结果就是那个只出现一次的数。代码class Solution

2020-12-09 23:07:18 138

原创 手写一个消息队列和延迟消息队列?

背景消息队列的使用场景有很多,最常见的使用场景有以下几个。1.商品秒杀比如,我们在做秒杀活动时,会发生短时间内出现爆发式的用户请求,如果不采取相关的措施,会导致服务器忙不过来,响应超时的问题,轻则会导致服务假死,重则会让服务器直接宕机,给用户带来的体验也非常不好。如果这个时候加上了消息队列,服务器接收到用户的所有请求后,先把这些请求全部写入到消息队列中再排队处理,这样就不会导致同时处理多个请求的情况;如果消息队列长度超过可以承载的最大数量,那么我们可以抛弃当前用户的请求,通知前台用户“页面出错啦,请重

2020-12-08 09:45:24 105

原创 fedora配置阿里云镜像

在使用dnf进行软件安装的时候,有时候会遇到软件安装的特别慢的情况,这时候可以使用国内一些镜像很好的解决这一问题。配置阿里云镜像备份mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backupmv /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup下载新的文件下载新的fedora.repo和fedora-

2020-11-30 20:57:28 549

原创 Win10删除文件需要管理员权限

解决方案按Win+R组合键,输入gpedit.msc点击确定;在窗口边依次打开:计算机配置——Windows设置——安全设置——本地策略——安全选项;在右边窗口找到:用户控制——以管理员批准模式运行所有管理员;右击属性,勾选禁用选项,重启计算机;成功。...

2020-10-24 17:42:18 248

原创 本地缓存和分布式缓存如何实现?

背景缓存(Cache)是指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,最后返回给调用方。知识讲解本地缓存是指程序级别的缓存组件,它的特点是本地缓存和应用程序会运行在同一个进程中,所以本地缓存的操作会非常快,因为在同一个进程内也意味着不会有网络上的延迟和开销。本地缓存适用

2020-10-24 10:43:06 318

原创 动态代理是如何实现的?JDK Proxy 和 CGLib 到底有什么区别?

知识解读动态代理的常用实现方式是反射。反射机制是指程序在运行期间可以访问、检测和修改其本身状态或行为的一种能力,使用反射我们可以调用任意一个类对象,以及类对象中包含的属性及方法。但动态代理不止有反射一种实现方式,例如,动态代理可以通过 CGLib 来实现,而 CGLib 是基于 ASM(一个 Java 字节码操作框架)而非反射实现的。简单来说,动态代理是一种行为方式,而反射或 ASM 只是它的一种实现手段而已。JDK Proxy 和 CGLib 的区别主要体现在以下几个方面:JDK Proxy 是

2020-10-21 11:56:29 194

原创 DOS/DDOS攻击你受得了吗?

定义DOS(Denial Of Service)拒接服务攻击。请求太多接受不了,容易造成服务器瘫痪。DDOS(Distributed Denial Of Service),很多台机器分布式的对服务器进行攻击,很难通过简单的封ip的方法来防止这种攻击。传输层攻击TCP的传输过程中,三步握手创建连接的时候,会出现Sync Flood攻击,不停的发SYN包,由此来摧垮你的服务器。而在UDP中也有类似的UDP Flood攻击。应用层攻击如何防止应用层的攻击呢?负载均衡配置。将很多请求均匀的分摊到

2020-10-19 09:57:59 112

原创 如何手动模拟一个死锁?

背景在并发编程中有两个重要的概念:线程和锁,多线程是一把双刃剑,它在提高程序性能的同时,也带来了编码的复杂性,对开发者的要求也提高了一个档次。而锁的出现就是为了保障多线程在同时操作一组资源时的数据一致性,当我们给资源加上锁之后,只有拥有此锁的线程才能操作此资源,而其他线程只能排队等待使用此锁。典型回答死锁是指两个线程同时占用两个资源,又在彼此等待对方释放锁资源,如下图所示:死锁的代码演示如下:import java.util.concurrent.TimeUnit;public class

2020-10-15 13:42:24 588

原创 synchronized 和 ReentrantLock 的实现原理及区别

背景在 JDK 1.5 之前共享对象的协调机制只有 synchronized 和 volatile,在 JDK 1.5 中增加了新的机制 ReentrantLock,该机制的诞生并不是为了替代 synchronized,而是在 synchronized 不适用的情况下,提供一种可以选择的高级功能。典型回答synchronized 属于独占式悲观锁,是通过 JVM 隐式实现的,synchronized 只允许同一时刻只有一个线程操作资源。在 Java 中每个对象都隐式包含一个 monitor(监视器)

2020-10-14 11:26:16 204

原创 ThreadPoolExecutor 的参数含义及源码执行流程

背景线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。但如果要说线程池的话一定离不开 ThreadPoolExecutor ,在阿里巴巴的《Java 开发手册》中是这样规定线程池的:线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的读者更加明确线程池的运行规则,规避资源耗尽的风险。说明:

2020-10-13 11:57:23 194

原创 线程到底是如何工作的?

概念线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。...

2020-10-08 17:31:54 947

原创 Bash Linux Shell到底是什么?

背景Shell是我们与计算机最原始也是最基础的交互方式,现在的使用的操作系统都自带可视化的图形交互界面,但是早期的计算机中是没有图形化用户界面的,用户是通过命令行与计算机进行交互的。其实图形界面能做到的事情,用Shell也能够完成,但是Shell目前存在的意义是什么呢?对服务器的管理通常需要用Shell完成。树莓派和主机的通信默认也是用Shell完成的。Shell本身是一种脚本语言,我们可以用它来做一些自动化的事情,比如定时关机,批量处理图片,自动生成文件列表等等。Shell的种类也有很多,

2020-10-07 10:00:17 541

原创 CAS是个什么玩意?

背景现在有多个线程想要操作同一资源对象,很多人一上来就会选择互斥锁,但是有一个问题就是:互斥锁的同步方式是悲观的。所谓悲观就是,操作系统会悲观的认为:如果不严格同步线程调用,那么一定会产生异常,所以互斥锁将会将资源进行锁定,直供一个线程调用而阻塞其他的线程,这样的同步机制叫做悲观锁。但是悲观锁不是万能的,如果在大量调用都是读操作的情况下,那么就没有必要在每次调用的时候都锁定资源。或者在一些情况下,同步代码的耗时远远小于线程切换的耗时,现在选择悲观锁的话就显得本末倒置了。这是就提出了一个问题,能否不锁定

2020-10-06 18:51:30 153

原创 动态规划是个什么玩意?

背景分治法的使用必须满足 4 个条件:问题的解决难度与数据规模有关;原问题可被分解;子问题的解可以合并为原问题的解;所有的子问题相互独立。然而在实际工作中还存在这样一类问题,它们满足前 3 个条件,唯独不满足第 4 个条件。那么这类问题我们该怎么解决呢?求解这类问题我们可以使用动态规划算法,它是最常用的算法之一。什么是动态规划从数学的视角来看,动态规划是一种运筹学方法,是在多轮决策过程中的最优方法。那么,什么是多轮决策呢?其实多轮决策的每一轮都可以看作是一个子问题。从分治法的视角来看,

2020-10-01 15:52:47 334 1

空空如也

空空如也

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

TA关注的人

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