自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个保安的自由之路

吾生有涯,吾知无涯

  • 博客(105)
  • 收藏
  • 关注

原创 nodejs-12-数据仓库

更新的内容把之前的内容置空,解决这个问题如下操作:

2022-05-26 17:50:46 277

原创 nodejs-11-数据服务

一直next

2022-05-26 14:57:31 201

原创 nodejs-09-工作流程

tsconfig.json执行tsc.prettierrc

2022-05-23 17:01:43 294

原创 nodejs-06-管理包裹

恢复最初状态:

2022-05-22 15:33:14 131

原创 nodejs-05-网络基础

公网ip内网ip:手机也可以访问:https://ninghao.net/learn

2022-05-22 14:49:24 87

原创 nodejs-04-提供服务

切换分支到develop创建并且切换分支到web-servermain.js写如下代码:运行main.js浏览器访问代码修改提交:commit进行提交本地仓库服务端告诉客户端响应的数据类型是text/html响应结果是一个输入框:根据不同的路径,响应不同的结果:响应json数据:随便输入一个地址3000端口:...

2022-05-22 14:09:54 103

原创 javascript

两种方式练习javascript第一种nodejs第二种谷歌浏览器中:const book ={ title: "盐丁儿", toString(){ return `《${this.title}》`; }};console.log(book.toString())解构:展开操作符switch语法:try catch语法const getGasoline=()=>{ return false;};const d

2022-05-02 20:45:57 729

原创 git的使用

git init命令,初始化gitadd一般很少使用rmcommit下载sourcetreehttps://www.sourcetreeapp.com/远程提交代码:成功!.gitignore忽略的文件#compiled output/dist/node_modules# Logslogs*.lognpm-debug.log*#0S.Ds_Store#IDE -Vscode.vscode/*!.vscode/setting.

2022-05-02 19:30:01 387

原创 cmder-nodejs-vscode的联合使用

下载vscode,设置简体中文安装node.jshttps://nodejs.org/zh-cn/download/扩展程序node的帮助选项!

2022-05-02 17:50:48 818

原创 cmder使用

cmd和bash的区别系统环境变量的列表ls查看这个目录的命令

2022-05-02 17:25:11 264

原创 windows配置cmder

1 cmder下载地址:http://cmder.net/https://dl.pconline.com.cn/download/1059245.html2.配置环境变量,将cmder.exe路径添加到path中3.以管理员身份运行cmd,输入Cmder.exe /REGISTER ALL,即可右键选择打开Cmder

2022-05-02 17:00:46 420

原创 对象大小与指针压缩--JVM

1.导入依赖 <!-- 对象大小可以用jol­core包查看,引入依赖--> <!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol-core --> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol

2022-04-21 11:43:54 391

原创 JVM性能调优1

图解说明如下:javac com.tuling.jvm.Math.javajava com.tuling.jvm.Math在windows系统西java.exe调用的jvm.dll文件创建Java虚拟机(C++实现),创建一个引导类加载器实例(C++实现),除了直接C++发起调用,还可以C++调用java代码,创建JVM启动器,实例sun.misc.Launcher该类引导类加载器负责加载创建其他类加载器,通过sun.misc.Launcher.getLauncher()获取运行类自己的加载器Cl.

2022-04-21 06:05:16 192

原创 Ribbon负载均衡(4)---学习微服务

1.根据视频划出重点摘要除了飞哥的视频,再去找一套视频,进行补充,会有非常好的认识。不要单一依靠某人,而是多去听不同的教程资料,选出更加符合自己需要的那一套是非常重要的。数据量大,并发量大,肯定想着分,把服务分出去,建立集群,搭建微服务。肯定和团队沟通,如何去实施这些方案。为什么不用nginx进行负载均衡,而是使用Ribbon1.nginx不是springcloud的技术栈2.nginx配置麻烦,测试服务可用,需要重新编译加载nginx较为麻烦3.项目比较大的时候,每个人配的nginx,合并的

2022-03-23 19:31:07 3731

原创 Ribbon负载均衡(3)---学习微服务

1.根据视频划出重点懒加载,节省一点点内存。通过看源码可以得出这些结论:10000个并发进来,虽然负载均衡是轮询策略,但是进的是同一台服务器。而BestAvailableRule可以避免这个问题。企业生产上是不会用轮询和随机负载均衡器的,因为在高并发的情况下会出现,有些服务器忙的要死,有些服务器闲的要死的情况。BestAvailableRule因为这个查找最小值会存在性能开销,后面可以用一致性hash进行替换。如果都在忙,就会找父类的轮询算法RoundRobinRule如果定义的

2022-03-21 16:52:06 305

原创 Ribbon负载均衡(2)---学习微服务

1.根据视频划出重点局部配置方式一:局部配置方式二:实际开发中还是使用配置文件方式,因为更符合运维的要求。业务和配置分开,利用配置文件的优先级。因为shutdown比较危险,所以单独给它配置出来!配了以后就变多了@Bean是一个BeanDefination的节点。负载均衡器的初始化由AbstractLoadBalancerRule实现了springmvc的源码:一个是初始化(涉及生命周期的内容) init 一开始的类都是由springioc进行管理。相关类默

2022-03-20 23:23:24 69

原创 Ribbon负载均衡(1)---学习微服务

1.根据视频慢慢的好好的做总结Ribbon起到了负载均衡的作用。在分布式中,CAP理论,ap有可能,c很难做到。C(一致性):所有的节点上的数据时刻保持同步A(可用性):每个请求都能接受到一个响应,无论响应成功或失败P(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)集群化就是为了提高网站的高可用和高并发。一个tomcat能够承载的并发量400-800个。那么一个服务器能够装多少个tomcat.需要压测软件。如果想要上千万并发量,一台服务器几乎不可能做到,除非是银河

2022-03-20 21:24:02 3192

原创 自动构建和原理分析(4)--理论

1.根据视频截取核心思想debug分析,确实可以获取到自己想要的信息,从而完成数据的收集!学到这里可以知道,很多细节还需要深究。比如需要全面攻克freemark,阅读理解mybatis的底层源码,知道jdbc的运作,了解spring如何获取class的文件夹,也就是考验程序员的综合能力。以及Mysql如何获取字段的全部细节。其实走到这一步,我们完全有能力去开发一个mybatis的简易版本。replaceLine作用是把".”都转换成"/"静态页面可以走复制黏贴,但是yml要走模板替换,

2022-03-20 17:57:36 414

原创 自动构建和原理分析(3)--理论

1.视频重点内容截图分析自动构建的原理探索:自定义模板,流程如下:1.创建一个模板文件 文本文件,不要取名叫视频文件.avi .mp4这些不行。因为凡事都要有个度,合理就行了,不能太离谱。效果图:字段该怎么办?freemark不一定渲染html,也可以渲染到类中!也可以通过实体,反向生成数据库表!当然现在的自动构建是基于数据库表生成实体,以及一系列开发所需要的辅助类。为什么需要看源码?很多工具类可以借鉴源码,甚至直接拿过来使用。可能会感叹别人写的

2022-03-20 17:17:59 83

原创 自动构建和原理分析(2)--理论

1.视频截图分析由于正在做的项目是前后端分离结构,所以像工具类,启动类,commons类,就不需要自动生成,后面会优化掉,因为这些类只要用一次就够了,在项目初期架构中就已经存在。学习阶段,在这个单表测试中,这些一次性的类都能够自动生成,是不是非常方便。可以直接运行:树形菜单效果展示:很多学习javamvc开发的小伙伴,苦于没有项目,有了自动构建利器,就可以通过数据库表,直接快速搭建一个前后端项目,单表的增删改查,树形菜单,都是一键生成,验证,拦截,工具类,配置类,限流,redi

2022-03-20 15:44:18 74

原创 自动构建和原理分析(1)--理论

前言:没有一条道路是平顺的,编程中不一定只有编程的问题,更多的还来自生活和做人的问题,以及时间金钱的问题,时间已过,人事已非,在万变中去找到不变的原则,那就是向上学习,勇攀高峰,但是有时候还是得停下脚步,回顾自己的道路是不是正道,不及时调整很容易走向偏道。废话不多说,继续学习今天的课程。只要通过看视频,截图加分析,实践的话留给以后,可能文章会有纰漏,以后会不断修复。1.视频重点内容截图分析(1)搭建自动化后台的作用,后台的作用不言而喻,就是去管理前台的数据。有些内容不想给别人看,可以设置为私密。或者

2022-03-20 14:49:58 121

原创 Stream流的认识和实战

问题:我需要查询用户信息,但是我需要把每个用户的信息的密码在返回的时候设置为null。为什么这样做,因为这样安全。List<User> userList = new ArrayList();List<User> newList = new ArrayList();for(User user : userList){ user.setPassword(null); newList.add(user);}// stream流化List<User> newLi

2022-03-09 11:07:48 240

原创 java基础之stream流2重点摘要

排序sorted():自然排序,流中元素需实现Comparable接口sorted(Comparator com):定制排序,自定义Comparator排序器List<String> list = Arrays.asList("aa", "ff", "dd");//String 类自身已实现Compareable接口list.stream().sorted().forEach(System.out::println);// aa dd ff Student s1 = new St

2022-03-07 20:01:53 381

原创 java基础重难点之注解

问:为什么要要去用注解呢?就是因为:我们可以通过反射获取这个类,获取方法,获取属性,获取包名、获取参数。它们都可以通过反射获取到注解信息。也同时告诉你一个道理:注解可以定义在这些类,方法、属性、包名、参数中。问:注解给谁看呢?怎么获取呢?注解处理和注释都起到一个标记的作用,但是注释没办法获取,但是注解可以通过获取类,方法,属性,参数,包名进行获取一句话:给反射看,用反射来获取。问:场景架构中spring框架,获取你自己去进行拦截通用处理的时候日志拦截需要明确告诉方法执行的逻辑是什么

2022-03-07 15:06:50 596

原创 JDK1.7新特性AutoCloseable

JDK在1.7之后出现了自动关闭类的功能,该功能的出现为各种关闭资源提供了相当大的帮助,这里我们谈一谈自动关闭类。JDK1.7之后出现了一个重要的接口,以及改造了一个重要的方法结构:1、AutoCloseable自动关闭接口2、try(){}–catch{}–finally{}相应的 一些资源也实现了该接口,如preparedStatement、Connection、InputStream、outputStream等等资源接口。接口的实现类要重写close()方法,将要关闭的资源定义在try()中

2022-03-07 14:21:03 188

原创 java基础重难点总结之JDK新特性stream流

Stream两种操作中间操作intermediate operation 中间操作:中间操作的结果是刻画、描述了一个Stream,并没有产生一个新集合,这种操作也叫做惰性求值方法。对应的方法如下:这是所有Stream中间操作的列表:过滤()==>filter()地图()==>map()转换()==>flatMap()不同()==>distinct() 排序()==>sorted()窥视()==>peek()限制()==>limit()跳

2022-03-07 14:13:30 288

原创 java基础之枚举重点笔记总结

什么是类的模板,类的信息是如何在内存空间中进行存储的呢?声明:声明一个对象,包括对象名称和对象类型。 (1:准备一个class)实例化:使用关键字 new 来创建一个对象。(2: new 去标识出来创建对象)初始化:使用 new 创建对象时,会调用构造方法初始化对象。(3:会调用构造函数去java堆中申请空间)抽象类:其是比普通类多了一个抽象方法, 抽象方法它是子类的一种约束,告诉子类一定要覆盖和重写的方法抽象类可以继承抽象类吗?枚举用法一:常量在JDK1.5 之前,我们定义常量都是

2022-03-07 13:32:08 329

原创 Vue3之 vue-cli2

1、如何搭建一个简易版(毛坯房)的后台管理?App.vue<template> <div> <router-view></router-view> </div></template>Layout.vue<template> <pug-header></pug-header> <article class="pug-ui-article"> &l

2022-03-05 07:45:37 322

原创 Vue3 之vue-cli1

Vue3 之vue-cli11、如何用vue3的vue-cli搭建SPA准备工作:安装nodejs : http://nodejs.cn/download/npm install -g @vue/clivue --version通过命令行方式创建:vue create xxx-project选择好项目存放的目录,打开命令创建创建,输入vue create helloworld用键盘的方向键向下 ,选择vue3的语法即可。然后敲回车enter即可。会自动安装babel,

2022-03-04 09:01:06 349

原创 从零搭建个人资讯系统1

1.设计表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for taimi_blog-- ----------------------------DROP TABLE IF EXISTS `taimi_blog`;CREATE TABLE `taimi_blog` ( `id` int(11) NOT NULL AUTO_INCREMENT

2022-03-01 09:10:10 163

原创 Vue的监听器Wacth

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http.

2022-03-01 08:19:27 131

原创 Error response from daemon: driver failed programming external connectivity on endpoint mymysql

docker: Error response from daemon: driver failed programming external connectivity on endpoint mymysql (59ba4bda46b12a5ac9d20e021d9393e518542ac724c1dc8e5b0a524072513087): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DN

2022-02-28 01:46:02 405

原创 权限框架SpringSecurity实用总结

1.数据库结构图:2. SpringSecutiryConfiguration 此框架核心配置类package com.pug.security;@Configuration@EnableWebSecurity@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)public class SpringSecutiryConfiguration extends WebSecurityConf

2022-02-28 00:40:10 641

原创 权限框架SpringSecurity3

SpringSecurity常见配置操作UserDetailsService详解当什么也没有配置的时候,账号和密码是由 Spring Security 定义生成的。而在实际项目中账号和密码都是从数据库中查询出来的。所以我们要通过自定义逻辑控制认证逻辑。如果需要自定义逻辑时,只需要实现 UserDetailsService 接口即可。接口定义如下:UserDetailsService认证接口,里面提供了一个方法loadUserByUsername(String username);这个接口是开发者自

2022-02-27 23:28:54 4418

原创 权限框架SpringSecurity2

基于内存使用自定义适配器SecurityConfiguration类实现WebSecurityConfigurerAdapter父类,覆盖两个方法,在configure中授予用户名和密码授予用户对应的角色package com.pug.security.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;

2022-02-26 23:57:37 230

原创 权限框架SpringSecurity1

官网:https://spring.io/projects/spring-security概述一句话:如果你是使用spring框架开发项目,那么你可以考虑使用SpringSecurity框架来帮助你完成登录,权限,角色的控制。你再也不需要去开发登录相关功能,SpringSecurity会自动帮你完成。SpringSecurity整体的架构体系基于内存基于数据库(90%)(rbac)基于JWT (Filter + Aop)(rbac + jwt)基于Auth2.0(基于token)基于CAS

2022-02-26 21:24:26 346

原创 静态资源压缩-nginx缓存问题

如果图片过大压缩后模糊,建议使用图片分段形式展示;1.人工压缩Css/JS/IMG实现压缩地址:http://tool.oschina.net/jscompress/2.Maven自动打包压缩 自动生成.min文件<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <

2022-02-26 19:22:16 644

原创 Jenkins结合Docker实现代码实时提交

1.安装docker2.宿主机安装JDK,Maven,Jenkins3.开启Jenkins和dockerserver: port: ${SERVER_PORT:8088}重点:SERVER_PORT 设置了别名Dockerfile#FROM java:8 设置基础镜像FROM openjdk:8-jdk-alpine#指定镜像创建者信息MAINTAINER KsdPug#切换工作目录WORKDIR /#创建执行目录RUN mkdir -p /servers# 切换指定命令

2022-02-26 02:09:30 145

原创 was not registered for synchronization because synchronization is not active

Creating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79669d23] was not registered for synchronization because synchronization is not active关闭统一错误返回的配置类!看到tk.mybatis.mapper.provider.base.BaseSelectProvider.()导包错误、发现

2022-02-21 02:10:53 492

原创 Redis+lua限流大致流程

06、定义限流lua脚本新建一个iplimite.lua文件,放在resources目录下的lua文件夹下:-- 为某个接口的请求IP设置计数器,比如:127.0.0.1请求课程接口-- KEYS[1] = 127.0.0.1 也就是用户的IP-- ARGV[1] = 过期时间 30m-- ARGV[2] = 限制的次数local limitCount = redis.call('incr',KEYS[1]);if limitCount == 1 then redis.call("e

2022-02-16 17:16:37 466

空空如也

空空如也

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

TA关注的人

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