自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Blues的专栏

小心总结

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

原创 前端项目练习(练习-007-typescript-02)

document.querySelector是一个选择器,这里根据id选择了toLogin按钮,下面的 addEventListener 是在按钮是加了一个click事件,表示点击时执行 location.assign() 代码,这个方法表示直接跳转到一个新的页面。前面的例子,我们使用了nodejs+webpack,成功创建了包含html,ts,css三个文件的项目,并且在运行项目后,可以动态的修改内容,不用重启就可以在浏览器查看修改后的结果。现在打包就可以发现html引入的css和js文件都正常了。

2023-09-26 18:04:33 175

原创 前端项目练习(练习-006-typescript-01)

学习前,首先,创建一个web-006项目,内容和web-005一样。(注意将package.json中的name改为web-006)

2023-09-26 10:26:38 170

原创 前端项目练习(练习-005-webpack-03)

执行npm run dev重新启动项目,修改三个文件代码,可以看到,在不重启的情形下,三个文件代码修改的效果都可以实时看到。它不会产生dist文件,将打包结果暂时存在内存中,内部的http-sever访问这些文件并读取数据,发送给浏览器。其中,open:true 表示启动成功后,自动打开浏览器,port表示端口,compress:true 表示压缩。在项目启动完后,不重启项目的情况下,修改js文件和css文件,可以看到项目可以自动刷新并执行最新的代码。它会减少磁盘的读取,提高构建效率。

2023-09-25 17:30:45 391

原创 前端项目练习(练习-004-webpack-02)

学习前,首先,创建一个web-004项目,内容和web-003一样。(注意将package.json中的name改为web-004)前面的例子,成功将js文件打包到了dist中,但是我们有三个文件,css,js和html,还有css和html文件没有打包。webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。要想打包更多类型的文件,需要使用插件。插件可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量等。

2023-09-25 16:25:31 262

原创 前端项目练习(练习-003-webpack-01)

学习webpack前,首先,创建一个web-003项目,内容和web-002一样。(注意将package.json中的name改为web-003)想想,我们开发Java 的时候,Maven帮我们做的主要是编译,打包等等内容。开发前端其实也需要类似的工具。当然打包用的构建工具肯定不止一个,我们先从webpack开始入手。

2023-09-25 14:55:45 1029

原创 前端项目练习(练习-002-NodeJS项目初始化)

package.json是一个基于JSON格式的文件,用于描述Node.js项目中所需的模块以及项目的元数据。它是一个非常重要的文件,几乎所有Node.js项目都需要一个package.json来维护其依赖性和元数据。在Node.js项目中,通过使用 npm 来管理项目的所有依赖关系,而npm又通过读取package.json来确定需要安装哪些依赖包和各个依赖包的版本等信息。来看一下package.json文件的内容:目前都是初始化项目时的默认参数,没有其他内容。

2023-09-25 11:36:30 276

原创 前端项目练习(练习-001-纯原生)

这就是第一个项目的搭建,是从我们熟悉的老模式开始的。可以看到,字体颜色和控制台打印的效果都很正常。

2023-09-25 10:25:39 129

原创 MySQL安装(01):CentOS7安装MySQL5.7

mysql:5.7.37centos:CentOS Linux release 7.9.2009centos默认已经安装并准备好,下面开始下载mysql。下面页面地址: https://downloads.mysql.com/archives/community/下载完成后上传到服务器上面的 /packages 文件夹内,这里不再细说。如下:命令:如图:没有任何输出说明没有安装过mysql!如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除,使用命令:和来查看所有mysql关联的目

2022-06-28 22:30:00 360 1

原创 围棋入门(01)基础知识

围棋入门

2022-05-30 02:32:31 778

原创 Java程序员学习JavaScript(05)对象

在JavaScript的世界里,一切都是对象。但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串:typeof 123; // ‘number’typeof NaN; // ‘number’typeof ‘str’; // ‘string’typeof true; // ‘boolean’typeof undefined; // ‘undefined’typeof Math.abs; // ‘function’typeof n

2022-04-28 20:15:00 288

原创 Java程序员学习JavaScript(04)其它函数

1、函数作为返回值高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。我们来实现一个对Array的求和。通常情况下,求和的函数是这样定义的:function sum(arr) {return arr.reduce(function (x, y) {return x + y;});}sum([1, 2, 3, 4, 5]); // 15但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数!function lazy_sum

2022-04-20 20:30:00 184

原创 Java程序员学习JavaScript(03)高阶函数

1、高阶函数高阶函数英文叫Higher-order function。那么什么是高阶函数?JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。一个最简单的高阶函数:function add(x, y, f) {return f(x) + f(y);}当我们调用add(-5, 6, Math.abs)时,参数x,y和f分别接收-5,6和函数Math.abs,根据函数定义,我们可以推导计算过程

2022-04-19 20:00:00 393

原创 Java程序员学习JavaScript(02)普通函数

1、正常JavaScript函数格式:function abs(x){console.log(x);}。由于JavaScript的函数也是一个对象,上述定义的abs()函数实际上是一个函数对象,而函数名abs可以视为指向该函数的变量。因此,第二种定义函数的方式如下:var abs = function (x) {if (x >= 0) {return x;} else {return -x;}};由于JavaScript允许传入任意个参数而不影响调用,因此传入的参数比定义的参

2022-04-16 21:15:00 166

原创 Java程序员学习JavaScript(01)基础知识

1、由包含的代码就是JavaScript代码,它将直接被浏览器执行,有些时候你会看到2、调试JavaScript,可以使用alert和console.log(a),建议使用console.log(a)。3、Number数据类型:NaN表示Not a Number,当无法计算结果时用NaN表示(0 / 0=NaN),Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity(2 / 0=Infinity)4、JavaScript允许对任意数据类型

2022-04-07 20:00:00 24978

原创 Maven快速学习(01)Maven安装

介绍Maven是Java开发中不可缺少的构建工具,是目前最流行最实用的构建工具,相信很多人都在用。有的人可以已经开始用Gradle(被称为下一代的构建工具)。Maven简单点说就是可以让我们开发之外的工作大大减少,而且不是一般的减少。下面来简单而系统的学习一下Maven。Window安装Maven我们主要是安装在window系统上,用来辅助开发,废话不多说,下面开始。首先看一下下载安装包的官方地址:https://maven.apache.org/download.cgi下载上面标注的zip

2020-12-19 15:44:29 147 2

原创 Linux快速入门(09)JumpServer堡垒机学习

目录JumpServer堡垒机介绍JumpServer部署急速安装容器安装分布式安装1、部署MySQL2、部署Redis3、部署JumpServerJumpServer功能1、用户2、资产3、授权4、会话JumpServer堡垒机介绍大家都接触过很多安全设备,在Linux生产环境运维管理中,常用的安全设备是堡垒机。下面来了解一下堡垒机的安装和使用。市面上好多商业化的物理设备堡垒机,目前没有接触,幸好有有开源的堡垒机 --Jumpserver 。今天

2020-11-27 23:51:26 457

原创 Linux快速入门(08)Shell脚本学习

简介:Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell教程入门1、shell脚本shell脚本shell script,是一种为shell而编写的脚本程序。然而通常所说的shell却是指

2020-11-22 19:58:29 202

原创 Linux快速入门(07)JDK、Maven和Git的安装

安装JDK6.1 用JDK安装包安装查看是否已经安装JDK:rpm -qa | grep -i java 若有则删除:rpm -e --nodeps java-xxx,删除所有相关的java 下载jdk8安装包,将gz压缩文件放到指定目录如/usr/local,解压:tar -zxvf jdk-8u181-linux-x64.tar.gz 设置全局变量:vim /etc/profile,追加 JAVA_HOME=/usr/local/jdk1.8.0_181 CLASSPATH=$JA.

2020-11-18 11:21:09 170

原创 Linux快速入门(06)XShell安装和Linux基本命令介绍

五 Linux基本命令Linux命令用法一般用man命令可以查看其帮助信息下面给出了一些比较常用的命令。推荐一个Linux命令快查网站,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。中文Linux命令帮助大全:http://man.linuxde.net/5.1 目录切换命令cd usr: 切换到该目录下usr目录 cd ..(或cd../): 切换到上一层目录 cd /: 切换到系统根目录 cd ~: 切换到用户主目录 cd -: 切换到上一个所在.

2020-11-13 23:51:46 887

原创 Linux快速入门(05)Linux文件系统介绍

Linux文件系统简介在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。4.2 文件目录结构Lin

2020-11-13 23:39:55 168

原创 Linux快速入门(04)CentOS安装与固定IP配置

1、Linux虚拟机的安装Linux的发行版本中,有很多可供选择,其中最常用的就是Centos和Ubuntu。我们下面的学习都是在CentOS的环境上来学习Linux。CentOS的官网是https://www.centos.org ,如图:点击上面的Download 进入下载选择页面,我们直接选择CentOS Linux中的7版本(也是现在使用最多的版本,比较稳定),然后选择第一个64位的点击进去,进入后,会进入一个下载镜像的选择页面:上面一句话提示我们从原来的...

2020-11-13 23:16:39 235

原创 Linux快速入门(03)VMware安装与固定IP配置

1、VMware安装在我们工作学习的时候,我们使用的通常是windows操作系统或者苹果的操作系统。但是我们的项目在正式的生产环境中运行时,运行的服务器上面通常会安装Linux操作系统。不过现在我们是在学习Linux,一般还是使用window,然后在上面安装一些Linux虚拟机来学习。安装和管理虚拟机最常用的就是VMware,下面来进行一下安装。这里我们安装的是14版本。安装文件的下载网上有很多,破解秘钥也有很多,这里不提供,可以自行查找。VMware本身的安装并不复杂,直接连续下一步安装即可.

2020-11-08 19:27:31 164

原创 Linux快速入门(02)Linux简介

1、 Linux简介前面介绍操作系统时提到了Linux,我们这里只介绍三点。类Unix系统:Linux是一种自由、开放源码的类似Unix的操作系统 Linux内核:严格来说,Linux这个词本身只表示Linux内核 Linux之父:一个编程领域的传奇式人物。他是Linux内核的最早作者,随后发起了这个开源项目,担任Linux内核的首要架构师与项目协调者,是当今世界最著名的电脑程序员、黑客之一。他还发起了Git这个开源项目,并为主要的开发者。2、Linux诞生简介19...

2020-11-08 18:22:02 660 1

原创 Linux快速入门(01)认识操作系统

1、操作系统的简介我通过以下四点介绍什么是操作系统:操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石; 操作系统本质上是运行在计算机上的软件程序 ; 为用户提供一个与系统交互的操作界面 ; 操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。如下图所示:2、操作系统的分类操作系统可以简单分为以下几大类:1)Windows:目前最流行的个人桌面操作...

2020-11-08 17:57:45 184

原创 MySQL复习笔记(07):EXPLAIN 命令详解学习

MySQL EXPLAIN 命令详解MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的。这条命令并没有提供任何调整建议,但它能够提供重要的信息帮助你做出调优决策。1 语法MySQL 的EXPLAIN 语法可以运行在SELECT 语句或者特定表上。如果作用在表上,那么此命令等同于DESC 表命令。UPDATE和DELETE 命令也需要进行性能改进,当这些命令不是直接在表的主码上运行时,为了确保..

2020-09-26 18:08:15 378

原创 MySQL复习笔记(06):索引

本文主要介绍MySQL 中关于索引的一些问题,例如:索引的作用;怎么创建索引;设计索引的原则;怎么优化索引等等。一:索引概述索引一般是通过排序,然后查找时可以二分查找,这一特点来达到加速查找的目的的。所有的MySQL列类型都能创建索引,良好设计的索引能够很好地提高查询的性能,但如果索引过多,由于每次更新操作都会对索引进行更新,反而会影响到数据库的整体性能。因而,遵循一定的原则,设计合适的索引是非常重要的。(1):创建索引的语法CREATE [UNIQUE|FULLTEXT|SPQT.

2020-09-26 18:07:44 103

原创 MySQL复习笔记(05):MySQL表级锁和行级锁

一:概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情况下是采用行级锁。MySQL主要的两种锁的特性可大致归纳如下: 表级锁: 开销小,加锁快;不会出现死锁(因为MyISAM会一次性获得SQL所需的全部锁);锁定粒度大,发生锁冲突的概率最高,并发度最低.

2020-09-26 18:07:13 168

原创 MySQL复习笔记(04):存储引擎的选择

一:几种常用存储引擎汇总表二:如何选择一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB;或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情况,例如 多读少写,对数据恢复要求不高,反而是 对存储空间要求较高。****尤其注意:不要低估数据崩溃后恢复的重要性,MyISAM将数据写入内存中,然后等待操作系统定期将数据刷回磁盘。MyISAM:默认的MySQL插件式存储引擎。如果应用是以读操作和插入操作为主,只有很少的更新...

2020-09-26 18:06:34 99

原创 MySQL复习笔记(03):常用函数

一:字符串函数需要注意的几个细节:1.cancat中有一个字符串为null,则结果为null。2.left(str,x) 和 right(str,x)中x为null,则不返回任何字符串,不是null.二:数值函数注意的几个细节:1.truncate(x,y) 和 round(x,y) 都能截断,只是round会四舍五入,而truncate不会。三:日期和时间函数四:流程函数五:其他函数原文链接:htt...

2020-09-24 19:18:16 70

原创 MySQL复习笔记(02):MySQL数据类型汇总及选择参考

本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型。******几个通用的简单原则:*******1. 更小的通常更好。但是要确保没有低估需要存储的值的范围,如果无法确定哪个数据类型是最好的,就选择不会超出范围的最小类型。2. 简单就好。优先选择MySQL内建的类型而不是字符串来存储日期,时间。3. 尽量避免NULL。可为NULL的列会使得索引的优化比较复杂。***********************************************..

2020-09-24 19:17:45 76

原创 MySQL复习笔记(01):SQL基础

定义:SQL即Structure Query Language(结构化查询语言)的缩写,是使用关系数据库的应用语言。包括三个类别:(1):DDL(Data Definition Language) 数据定义语言,主要用于这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用语句包括:create,drop,alter等。(2):DML(Data Manipulation Language) 数据操纵语言,主要用于添加,删除,更新和查询数据库记录,常用 关键字:i...

2020-09-24 19:17:15 89

原创 Spring MVC学习(01)入门

内容概览介绍Spring MVC初步学习和配置接受参数处理表单总结1、 介绍我们开发的很多应用实际上都是web应用,而现在最流行的框架当属Spring的MVC框架。Spring MVC框架基于模型-视图-控制器模式实现,能够帮助我们构建像spring那样灵活和松耦合的web应用程序。2、Spring MVC初步学习和配置每当用户在浏览器中点击链接或者提交表单时,请求就开始了。请求就像快递员一样,把信息从一个地方带到另一个地方,从离开浏览器开

2020-09-24 19:09:18 132

原创 Spring AOP学习(全)面向切面的编程

内容概览什么是面向切面的编程通过切点来选择连接点使用注解创建切面在xml中声明切面总结1. 什么是面向切面的编程前面的内容我们讨论和学习了Spring的依赖注入,依赖注入有助于应用对象之间的解耦。这部分内容我们主要了解Spring AOP(面向切面的编程)。那么什么是aop呢?我们先回顾一下OOP:Object Oriented Programming,OOP作为面向对象编程的模式,获得了巨大的成功,OOP的主要功能是数据封装、继承和多态。AO

2020-09-24 19:08:21 324

原创 Spring IOC学习(02)Bean的高级装配

内容概览环境与profile条件化的bean自动装配的歧义性Bean的作用域运行时值注入总结1. 环境与profile在项目开发的过程中,不可避免的一个问题是项目需要在不同的环境之间运行与切换,比如最经典的例子,通常大部分中小型的项目分为开发(dev),测试(test),生产(prod)三个环境,这三个环境中,配置的数据库,缓存,常量或者秘钥等内容非常有可能是不同的,环境的切换通常非常有可能引发非预期的问题,详细大家都深有体会。这种多

2020-09-24 19:07:08 336

原创 Spring IOC学习(01)Bean的装配

内容概览简化Java开发Spring BeanSpring Bean生命周期装配Bean的可选方案自动化装配Bean通过Java配置类装配Bean通过XML装配Bean导入和混合配置总结1. 简化Java开发Spring框架是为了解决Java开发的复杂性而创建的,相对于EJB的复杂,Spring只用简单的JavaBean(或者Bean)组件就能实现EJB所完成的事情。而且因为Spring的简单,松耦合等特性

2020-09-24 19:05:38 346

原创 MyBatis框架实现(08)总结

前面的步骤基本上已经把mybatis框架实现类,主要的流程都在。下面我们来执行一次测试代码:现在在使用上很接近mybatis了,看一下运行结果:没有问题,框架正常工作!前面的所有内容都只是实现了一个框架的基本流程,并不算实现了一个框架,目前这个框架只能做查询对象功能,局限性很大。我们看到从开始到结束把jdbc分成了很多步骤,在这里分其实意义不大,但是对于一个完整的框架,很有必要,我们分出来的每一部分,包括sqlSession,执行器,参数处理器,结果处理器,结果对象生成...

2020-09-23 00:13:37 103

原创 MyBatis框架实现(07)处理执行结果

书接上回,SQL语句已经执行完了,就差处理结果了,先简单定义结果处理类:让参数处理器进行调用:这样前面SQL语句的执行就圆满了,下面来专门看结果处理器resultHandler。结果处理的大致流程是,利用反射生成结果对象实例,然后把执行SQL获取的结果放到返回类型实例当中,最后返回这个结果,除了第一行获取返回类型对象外,其它的组装结果都实现了,这里的很多代码都和反射有关系,有对反射知识遗忘的可以再去看看。大体的流程就是把结果返回到对象的每个字段当中。现在再来...

2020-09-23 00:12:57 310

原创 MyBatis框架实现(06)执行SQL语句

书接上回,我们获取了mapper对象,可以开始执行SQL语句了,执行时我们调用的起点是从mapper中的方法开始的,流程如下:1、调用mapper中的方法2、mapper代理类调用sqlSession中的方法3、sqlSession调用执行器的方法4、执行器执行时,会调用mybatis中的statement处理SQL语句,将参数替换为实际值5、结果处理器resultHandler对象直接执行,并处理返回的结果上面是一个简略的流程,虽然简略,但是也能反映mybatis真正的处理流程

2020-09-23 00:12:01 262

原创 MyBatis框架实现(05)从sqlSession中获取mapper

继续我们的简单版mybatis。前面的内容以及可以获取sqlSession了,下面我们来看从sqlSession中获取mapper。关于mapper我们只定义了接口,没有实现类,通过源码分析我们知道mybatis使用动态代理为我们生成。所以首先来创建一个mapper代理类:代理类中包含两个属性,一个是sqlSession,一个是接口类,invoke方法中,通过传入方法的全路径获取了我们自定义的MapperMethod对象,如果对象不为空就真正执行数据库方法,这里执行的内容先不定义。下面我们在sqlS

2020-09-23 00:11:25 714

原创 MyBatis框架实现(04)读取mapper配置

书接前文,我们写了一个架子,从SqlSessionFactory中获取SqlSession,但是中间还缺内容,下面我们要做的就是从配置文件中读取映射文件的配置。先来看一下现在的全局配置文件:现在我们只配置了数据源,在mybatis中最少要配置两个内容,一个是数据源,另一个就是映射文件。下面加入映射文件的配置:现在在resource下面加入映射文件:这里的SQL语句的参数先写成字符串的配置形式,其它的内容不变。然后我们在配置文件中读取mapper的内容,在读取前,首先考虑获取mappe

2020-09-22 12:07:06 545

空空如也

空空如也

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

TA关注的人

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