Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
解决git中.gitignore文件不生效
.gitignore文件 新增忽略文件并没有生效
新增的忽略文件没有生效,是因为git是有缓存的,而之前的文件在缓存中,并不会清除掉,还会继续提交,所以更新.gitignore文件,要清除缓存文件
123git rm -r --cached .git add .git commit -m 'update .gitignore'
LeetCode刷题总结
一、LeetCode剑指offer03.数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
1234567891011121314151617public int findRepeatNumber(int[] nums) { if(nums==null||nums.length==0) return -1; //1.暴力遍历 超出时间限制 for(int i=0;i<nums.length-1;i++) for(int j=i+1;j<nums.length;j++){ if(nums[i]==nums[j]) return nums[i]; } // return -1; //2.利用set集合的不可重复 Set<Integer& ...
MySQL主从复制
1.什么是主从复制用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库
2.主从复制的作用1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
3.主从复制原理(重点)1.数据库有个binlog二进制文件,记录了所有sql语句
2.我们的目标就是把主数据库的binlog文件的sql的语句复制过来
3.让其在从数据库的realylog重做日志文件再执行一次这些sql语句即可
下面的主从配置就是围绕这个原理配置,具体需要三个线程来操作
(1)binlog输出线程 每当有从库连接到主库的时候,主库都会创建一个线程然后发送binlog内容到从库。
在从库里,当 ...
JWT实战总结
最近由于我们项目接入的学校越来越多,导入了大量师生的个人信息,因此提高项目的安全性至关重要。由于我们是前后端分离的项目,之前前端直接可以调用后台接口,基本上不需要任何验证,为了提高系统安全性,引入JWT进行认证和授权,前端在调用接口时,使用springMVC拦截器拦截请求,通过JWT校验传过来的令牌(token)是否正确,如果正确则相应请求,否则会重定向至登录界面,通过登录获取令牌。以下是该功能的具体实现:
1.什么是JWTJWT简称JSON Web Token,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。
2.JWT能做什 ...
MySQL学习记录
数据库1.事务的四大特性(ACID)
原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;
一致性(Consistency): 执行事务后,数据库从一个正确的状态变化到另一个正确的状态;
隔离性(Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
持久性(Durability): 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。
2.MyISAM和InnoDB区别MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。
大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyI ...
JAVA编程思想
JAVA1.jvm、字节码及其好处在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。
JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。
2.从源代码到执行的三个步骤Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。
3.java与c++的区别
都是面向对象的语言,都支持封装、继承和 ...
shiro框架学习
1.权限的管理权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。
权限管理核心:身份认证+授权,对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。
2.shiro的核心架构2.1 SubjectSubject即主体,外部应用与subject进行交互,subject记录了当前操作用户,将用户的概念理解为当前操作的主体,可能是一个通过浏览器请求的用户,也可能是一个运行的程序。 Subject在shiro中是一个接口,接口中定义了很多认证授相关的方法,外部程序通过subject进行认证授权,而subject是通过SecurityManager安全管理器进行认证授权
2.2 SecurityManagerSecurityManager即安全管理器,对全部的subject进行安全管理,它是shiro的核心,负责对所有的subject进行安全管理。通过SecurityManager可以完成subject的认证、授权等,实质上SecurityManager是通过Authenticator进行认证,通过A ...
hexo常用命令
1.简写指令: hexo n “我的文章” 新建文章 hexo p 等价于 hexo publish hexo g 等价于 hexo generate hexo s等价于 hexo server hexo d 等价于 hexo deploy hexo deploy -g 等价于 hexo deploy --generate hexo generate -d等价于`hexo generate –deploy
注: hexo clean 没有 简写, git –version 没有简写
2.指令说明: hexo server #Hexo 会监视文件变动并自动更新,除修改站点配置文件外,无须重启服务器,直接刷新网页即可生效。 hexo server -s #以静态模式启动 hexo server -p 5000 #更改访问端口 (默认端口为4000,’ctrl + c’关闭server) hexo server -i IP地址 #自定义 IP hexo clean #清除缓存 ,网页正常情况下可以忽略此条命令,执行该指令后,会删掉站点根目录下的public文件夹 hexo ...
Leetcode MySQL记录
1.超过经理收入的员工12345678SELECT *FROM Employee AS a, (新颖) Employee AS bWHERE a.ManagerId = b.Id AND a.Salary > b.Salary
2.删除重复数据1delete a from Person a,Person b where a.Email = b.Email and a.id > b.id
3.返回两个日期之间的天数(DATEDIFF)1SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate
4.取第二高的薪水offset X 是跳过X个数据 limit Y 是选取Y个数据
1234567SELECT IFNULL( (SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSE ...