自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MAC系统升级之后虚拟机黑屏问题

相信大家都抱着尝鲜的心理,更新了MacOS Catalina 。在更新之后,打开VMware Fusion使用中发现,虚拟机处于黑屏状态,无法看到虚拟机的屏幕。我也是如此,在各种尝试之后,找到一种正确的解决办法亲测十分靠谱下面是解决该问题的方法第一步:关闭SIP系统保护1.重启系统时按住Command+R进入恢复模式(记住是你在重新启动时,不是启动后)2.在你的电脑左上方点击实用工具栏并...

2020-01-27 10:46:35 10900 18

原创 【牛客网】—— 华为机试在线练习整理

题目ID:36884 - 查找组成一个偶数最接近的两个素数题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数示例1输入:20输出:7 13解题思路该题思路是:我们先实现一个判断一个树是否为素数的子函数,如何判断一个数是否为素数,那就很简...

2019-06-08 10:12:42 25010 2

原创 python中好用的库(一)

python中好用的库(一)时间库—arrow使用背景日期时间处理在实际应用场景中无处不在,所以这也成了编程语言中必不可少的模块,Python 也不例外。但是,你知道在Python中有多少个相关的模块吗?datetime、time、calendar、 dateutil、 pytz 等等。 你知道有多少种数据类型吗?date、time、datetime、tzinfo、timedelta 等等。博主在一次需求中遇到需要统计近几个月间的数据,前端传给我的是当前的时间戳,要通过时间戳来往前推三个月,或者四个

2021-09-16 14:41:09 735 1

原创 sqlalchemy数据库连接池QueuePool异常

数据库相关错误的解决办法错误一:数据库连接池超过限制SqlAlchemy QueuePool limit overflow造成连接数超过数据库连接池的限制,有两方面的原因,第一个是由于数据库连接池数比较小,因此当连接数稍微增加的时候就会超过限制,另一个原因就是在使用完数据库连接后未能即使释放,最后造成数据连接数持续增加从而超出数据库连接池的限制,所以我们也可以从这两个方面来解决这个问题,但是根本上还是得解决后一个原因造成的问题,不然即便是将数据库连接池增大时间长之后也还是会出现相同的问题。解决

2021-01-28 15:47:09 1253

原创 mac下pycharm使用小技巧--持续更新

Pycharm使用小技巧pycharm更改默认运行环境背景我们平时在运行一个项目的时候会考虑在虚拟环境下运行,这样配置包依赖什么不会影响计算机本身的环境,但是我们在依赖环境下如果想要debug运行项目,打断点调试项目的时候,你会发现debug只会在默认的运行环境下运行,然后报出一大堆不存在的依赖项,让你不停的安装,而无法到你配置好的环境下运行,这时候就需要我们修改默认的运行环境到我们已经配置好了的虚拟环境中运行,接下来我们看看怎样修改默认的运行环境。方法通过pycharm->Perfere

2020-11-05 11:42:51 2354

原创 看一个小故事了解redis

我是Redis缓存过期 && 缓存淘汰缓存穿透 && 布隆过滤器缓存击穿 && 缓存雪崩大家好呀,我是Redis,一个叫Antirez的男人把我带到了这个世界上。我是一个开源的、使用ANSIC语言编写的,支持网络的,可基于内存亦可持久化的日志型,Key-Value存储的、并提供多语言的数据库,也是一个在内存存储的数据库,缓存和消息中间件。说起我的诞生,跟关系数据库 MySQL还挺有渊源的。在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展

2020-09-28 15:07:27 226

原创 踩坑记录-----mac环境下:sh:vue-cli-sevice:command not found

记录一个前端的错误vue-cli-sevice:command not found前两天起了前端项目,我天报了一大堆错误,我一看这完蛋了呀,咋解决呢,就开始各种百度,google呀,结果找了一大圈也不知道应该咋解决,真的是太难了最后实在没办法了,找了大佬帮忙解决,大佬也是各种方法在试,网上最常见的一种解决办法就是说将node_modules给删除了,然后重新npm install一下就ok了,但是对我真的没用,可能是我本地环境的原因把,急到头秃还是找不出来原因这时大佬灵光一闪说,要不换一个镜像试试,

2020-08-31 16:41:39 3433

原创 mac下如何干净的卸载node和npm以及重新安装

npm 卸载 sudo npm uninstall npm -g要是遇到这句话不能够卸载npm的坑,也不要着急,博主还有别的办法,哈哈哈,接着往下看首先我们需要进入npm所在的文件夹cd /usr/local/lib/node_modules/npm接下来我们在npm的文件下执行sudo make uninstall接下来我们要是看到这个界面呢,说明我们卸载成功了npm -v 测试一下,显示not found说明真的卸载成功了node.js 卸载 sudo rm -rf /

2020-08-25 14:05:55 16034 3

原创 Mysql常用操作语句使用大全

MySql常见操作一、零、用户管理:1、新建用户:> CREATE USER name IDENTIFIED BY 'myuser';2、更改密码:> SET PASSWORD FOR name=PASSWORD('1234');3、权限管理> SHOW GRANTS FOR name; //查看name用户权限> GRANT SELECT ON db_name.* TO name;  //给name用户db_name数据库的所有权限> REVOKE

2020-08-08 10:02:50 5313 1

转载 深入了解强大的云计算服务------S3

Amazon Simple Storage ServiceS3的简介S3 是什么S3的特点对象存储高耐用高可用高扩展安全性计费模式S3 的作用S3桶(Bucket)S3 命名空间(Namespace)S3需要唯一的命名空间区域(Region)对象ObjectObject名字对象标签子资源(Subresources)子资源Bucket提供的子资源Object提供的子资源一致性模型存储类别(Storage Classes/Tiers)安全性发送请求的方式计费小故事ReferenceS3的简介S3 是什么

2020-07-21 15:22:25 1711

原创 mongoDB数据的批量备份、还原、导入与导出

mongoDB数据的批量导入与导出前面我们介绍了mongo数据库的安装与配置 mongoDB的安装与配置 接下来我们讲一讲如何在终端进行mongo数据库对数据的批量操作和如何使用mongo的可视化工具Navicat对mongo数据库进行操作

2020-04-27 10:08:27 7617

原创 mac系统mongoDB的安装与配置

mongo安装与配置mongo数据库的安装官网下载使用brew安装使用docker安装mongoDB的配置(brew安装时需要)设置环境变量创建数据库存储目录启动mongodb服务端mongo数据库的安装mongo数据库安装的方式有很多种,接下来我们具体来介绍一下官网下载mongoDB中文网 windows用户可以参考这种安装方式,比较方便,mac用户可参考以下两种方式使用brew安装...

2020-04-26 10:40:13 2590 2

原创 【Nginx】—— nginx安装、配置以及操作可能遇到的问题

我们就来看看这个强大的服务器是怎么进行安装和配置的。Nginx的安装官网下载安装brew安装nginxNginx操作可能遇到的问题nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/etc/nginx/nginx.conf:1

2020-04-10 10:15:02 435

原创 【测试】如何使用postman进行接口测试

前端段分离开发现阶段越来越流行,而前后端分离开发的好处之一就是前端和后端开发人员可以分别调试自己的程序,完成基本的单元测试,加快开发效率。最近自己也是在做的项目是前后端分离的,因此在测试接口的时候需要通过GET或POST来请求api,因此在这总结一下postman测试接口的方法安装postmanPOSTMAN安装链接POSTMAN其实就是一款Chrome的插件,用于模拟HTTP请求,帮助后...

2020-04-05 13:39:01 9344 2

原创 【数据结构】—— 浅析红黑树及模拟实现

红黑树红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。红黑树的性质每个结点不是红色就是黑色根节点是黑色的如果一个节点是红色的,则它的两个孩子结点是黑色的对于每个结点,从该结点到其所有后代叶结点的简单...

2020-03-10 10:25:39 456

原创 Mac电脑IDEA插件之颜值篇Material Theme UI

俗话说,工欲善其事必先利其器。工具的颜值也很重要,好的主题让人赏心悦目,有码代码的欲望。今天推荐一个IDEA颜值类插件:Material Theme UI大致效果安装方式IDEA插件官网地址:material theme uiGITHUB地址:material theme ui下载之后选择Pycharm->Preference进入界面选择Plugins搜索theme之后...

2020-02-24 13:10:36 3843

原创 【Java】—— MAC系统下IDEA中如何进行JDBC连接(MySQL)

最近一直在学习web项目,当然也会涉及与数据库的连接这块,这里就总结一下在IDEA中如何进行MySQL数据库的连接,这里提一下我的电脑是MAC系统,使用的编码软件是IDEA,数据库是MySQL,所以其他系统的小可爱们可能会有不一样的地方JDBC数据库连接MySQL中建表在终端使用命令mysql -u root -p打开数据库,在数据库操作环境下进行创建数据库,建表等等操作建立数据库语句c...

2020-02-06 16:55:32 4471

原创 【Java】动态数组(顺序表)

Java实现一个可动态增长的数组线性表线性表 linear list 是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表概念及结构顺序表是用一段物理地址连续的存储单元...

2019-12-06 18:43:25 546

原创 【Java】基础语法之数组的定义与使用

数组的定义与使用数组的基本用法1. 什么是数组数组本质上就是让我们能 “批量” 创建相同类型的变量. 例如:如果需要表示两个数据, 那么直接创建两个变量即可 int a; int b 如果需要表示五个数据, 那么可以创建五个变量 int a1;int a2; int a3; int a4; int a5; 但是如果需要表示一万个数据, 那么就不能创建一万个变量了.这时候就需要使用数组...

2019-12-02 20:29:37 581

原创 【计算机网络】—— 为什么面试官常问TCP三次握手和四次挥手

TCP连接我们之前在传输层协议TCP与UDP 中详细介绍了UDP协议和TCP协议格式以及他们各自的特点,我们知道TCP协议是面向连接的,那面向连接就得需要做建立连接,维护连接,断开连接这些工作,其实大家都听过TCP三次握手建立连接,四次挥手断开连接,那我们今天就来具体看看,TCP到底是如何三次握手和四次挥手的。...

2019-08-29 20:56:15 923

原创 【计算机网络】—— TCP保证可靠传输和提高网络利用率的方式(很全哦)

TCP如何保证可靠传输TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制来实现可靠性传输确认应答(ACK)机制正常数据传输,若接收方收到了发送方的数据,就会返回一个ACK响应确认已经收到TCP将每个字节的数据都进行了编号,即为序列号,每个ACK都带有对应的确认序号,意思是告诉发送方,我已经收到了哪些数据,下一次你应该从哪里开始发。超时重传主机A发给主机B...

2019-08-28 18:29:06 1640

原创 【计算机网络】—— 传输层协议UDP与TCP

再谈端口号我们之前在 网络编程套接字 提到过端口号,简单的来说端口号(Port)表示了一个主机上进行通信的不同的应用程序,端口号的作用主要是区分服务类别和在同一时间进行多个会话在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看),只要上述五个元素一个不同都表示其他通信常...

2019-08-28 18:26:49 946

原创 【计算机网络】—— 面试常问的协议之HTTP篇

HTTP协议认识URI和URLURI称为统一资源标识符,URL称为统一资源定位符URI用字符串来标识某一个互联网的资源,而URL表示资源所处的地址,因此URL是URI的子集平时我们俗称的"网址"就是我们现在要认识的URL使用http:或者https:等协议方案名获取资源时一定要指定协议的类型登录信息:指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证),可选项服...

2019-08-26 19:35:15 273

原创 【LintCode】—— 动态规划经典题之0-1背包问题(全)

Backpack题目描述在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]样例 1:输入: [3,4,8,5], backpack size=10 输出: 9样例 2:输入: [2,3,5,7], backpack size=12 输出: 12解题思路这里使用动态规划的思想,动态规划四部曲状态:F(i,j) 将第...

2019-08-25 18:57:38 685

原创 【计算机网络】—— 网络编程套接字Socket

套接字理解源IP地址和目的IP地址我们在 初识计算机网络 中也提到了源IP地址和目的IP地址,这里我们再来深入理解一下这个概念在IP数据包的头部,有两个IP地址,一个源IP地址,一个目的IP地址,它代表着这个数据包从哪里来准备去往哪里举个例子来说,西游记大家不陌生吧,唐僧西天取经,每到一个地方有人问唐僧你从哪里来准备去哪,唐僧回答的都是 “贫僧从东土大唐而来,去往西天取经”,那我们就知...

2019-08-20 16:15:32 342

转载 【计算机网络】—— HTTP升级为WebSokect

WebSocket和HTTP一、WebSocket是HTML5中的协议,支持持久连接;而Http协议不支持持久连接。首先HTMl5指的是一系列新的API,或者说新规范,新技术。WebSocket是HTML5中新协议、新API.Http协议本身只有1.0和1.1,也就是所谓的Keep-alive,把多个Http请求合并为一个。二、WebSocket是什么样的协议,具体有什么优点。首先,...

2019-08-12 15:27:20 4228

原创 【项目】—— 基于websocket协议的网页版群聊系统

使用开源websocket和mongoose框架编写网页版本的群聊即时通信工具使用HTTP+mongoose+session+MySQL+jsoncpp的技术构成,完成IM工具

2019-08-06 20:35:54 1149

原创 【Linux】—— 线程池的概念及实现

前面我们介绍了线程相关的所有概念,根据之前的所学的概念,接着我们看一下下面这张图线程生命周期,一个线程从生到死的过程线程池以上介绍我们可以看出,在一个应用程序中,我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存。而在C++中,内存资源是及其宝贵的,计算机的大佬们就提出了线程池的概念。线程池:一种线程使用模式。线程过多会带来调度开销,...

2019-08-01 11:08:05 233 1

原创 【项目】—— 语音小管家Sosuke

项目简介借助图灵机器人和百度语音识别和合成等第三方平台和第三方工具使用C++编写一个智能AI对话和语音命令执行的语音管理工具除去交流功能之外还可以执行Linux下相关命令,可执行的命令支持自己配置项目技术点C++ STL中主要是map和unorder_map的使用了解http第三方库,使用http中的post接口进行http请求通过图灵机器人API接口将机器人接入Linux平台...

2019-07-31 18:37:38 1285

原创 【计算机网络】—— 初识计算机网络

计算机网络的背景前面一直在学习Linux底层的系统编程,比较枯燥和乏味,现在我们终于结束了所有系统编程的内容,进入比较有意思的网络阶段了,今天我们先了解一下网络的基础知识,了解一下网络发展史及网络的概念模型等知识。网络发展独立模式:计算机之间相互独立网络互联:多台计算机连接在一起,完成数据共享局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起局域网通信:1.任何一个主机...

2019-07-29 17:08:41 513

原创 【Linux】—— Linux读写者模型

读写者模型读写锁在编写多线程的时候,有一种情况是十分常见的。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会反而高的多。通常而言,在读的过程中,往往伴随着查找的操作,中间耗时很长。给这种代码段加锁,会极大地降低我们程序的效率。那么有没有一种方法,可以专门处理这种多读少写的情况呢? 有,那就是读写锁读写锁接口设置读写优先初始化销毁加锁和解锁读写者模型源码展示...

2019-07-28 16:06:09 168

原创 【Linux】—— 基于信号量的生产者消费者模型

信号量前面我们在基于阻塞队列的生产者消费者模型 今天我们来看一下基于信号量的生产者消费者模型,也可以说是基于环形队列的。POSIX信号量POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源目的。 但POSIX可以用于线程间同步初始化信号量#include <semaphore.h>int sem_init(sem_t *sem, int...

2019-07-27 18:51:12 594

原创 【Linux】—— Linux线程同步

Linux线程同步前面我们在Linux线程基本概念 介绍了线程基本概念,在Linux线程控制中介绍了线程创建,线程终止,线程等待,线程分离等等概念,在Linux线程互斥 中介绍了互斥量这一重要的概念,那今天我们接着认识我们线程,介绍一下线程同步相关的概念同步的概念我们前面在线程互斥介绍了互斥这一概念,互斥简单的来说就是某个时刻只允许一个线程访问临界资源,那我们来举个栗子说明一下我们为什么在...

2019-07-25 17:45:25 209

原创 【Linux】—— Linux线程互斥

Linux线程互斥前面我们在 Linux线程基本概念 介绍了线程基本概念,在Linux线程控制中介绍了线程创建,线程终止,线程等待,线程分离等等概念,今天我们来介绍一下线程互斥的相关概念线程并发带来的问题互斥概念我们之前在 进程间通信之匿名管道 讲管道相关概念时我们提到了一些与进程线程间互斥相关的背景概念,我们今天站在线程的角度来回忆一下临界资源:多线程执行流共享的资源叫做临界资源临...

2019-07-24 11:43:55 672

原创 【Linux】—— Linux线程控制

Linux下线程的控制创建线程由于Linux下不可以像创建进程一样直接用命令创建线程,因此这里我们得先介绍一下POSLX线程库POSLX线程库与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以 pthread_ 打头的要使用这些函数库,要通过引入头文件<pthread.h>链接这些线程函数库时要使用编译器命令的-lpthread选项创建线程函数原型...

2019-07-20 19:18:04 261

原创 【Linux】—— 基于阻塞队列的生产消费者模型

在我们介绍今天的内容之前我们先了解一些相关的概念Linux线程基本概念Linux线程控制Linux线程互斥Linux线程同步接下来我们进入今天的主题生产者消费者模型生产者消费者模型生产者消费者模型概念321原则:3种关系,2类角色,一个交易场所3种关系是:生产者与生产者之间的关系,消费者与消费者之间的关系,生产者与消费者之间的关系2类角色是:一类为生产者,一类为消费者一个交...

2019-07-19 17:32:22 235

原创 【Linux】—— 线程基本概念

Linux线程概念什么是线程在讲线程之前我们来看一幅图,这个我们应该都不陌生,这个就是我们的进程PCB通过页表+MMU完成虚拟地址到物理地址的映射。接着我们看一下线程,我们之前提到线程是在进程的程序地址空间中运行的,从下图中我们就可以看出来此时并不像上图那样一个PCB指向一个程序地址空间,而是多个PCB指向一个地址空间,这样也就意味着这些PCB共享一个进程地址空间,但是在CPU眼中依然看到...

2019-07-18 21:17:11 183

原创 【Linux】—— vim下如何批量注释和反注释

之前我们在Linux下vim的使用及配置介绍了vim下一些简单的操作,今天我们来介绍一下一些能让敲代码变得更简便的操作vim下进行批量注释和取消注释批量注释首先我们需要在vim的正常模式下按v进入virtual(可视)模式下 接下来我们通过按上下左右键选择我们需要注释的行选择好注释的行之后我们我们按住ctrl + v 进入可视块模式接着我们我们按shift + i其实就是大写...

2019-07-17 17:11:19 696

原创 【牛客网】—— 斐波那契数列的变形

斐波那契凤尾题目描述NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。为了考验他,我们随便出一个数n,让他说出第n个斐波那契数。当然,斐波那契数会很大。因此,如果第n个斐波那契数不到6位,则说出该数;否则只说出最后6位。输入描述:输入有多组数据。 每组数据一行,包含一个整数n (1≤n≤100000)。输出描述:对应每一组输入,输出第n个斐波那契数的最后6...

2019-07-16 20:42:35 463

原创 【Linux】—— Linux进程信号2

进程信号我们在 Linux进程信号1中学习了什么是进程信号,信号如何产生等,今天我们继续学习一些关于进程信号相关的知识在目的进程中安装信号我们在谈安装信号之前必须了解操作系统处理信号的办法,我们之前也提到过操作系统处理信号有三种方法,执行默认操作,执行自定义操作,忽略现在我们来谈谈什么叫做信号的安装:在目的进程安装该信号,即设置如果目标进程捕获该信号时执行的操作代码。Linux采用...

2019-07-16 11:15:25 277

空空如也

空空如也

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

TA关注的人

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