VSCODE配置笔记

VSCODE配置笔记

VSCODE作为一个较为轻量级的编辑器, 总体上来说是开箱可用的. 不过对于各类具体的场景, 安装一些插件或者修改一些配置能够带来更好的使用体验. 本文将简单介绍一些好用的VSCODE插件, 以及一些常用的VSCODE配置 插件推荐Markdown All in One此插件提供了大量Mark...

Web开发笔记之Vue框架

Web开发笔记
Web开发笔记之Vue框架

Vue是一款用于构建用户界面的 JavaScript 框架, 相较于几十年前以HTML+CSS+JS的开发方式, Vue提供了一系列的新语法, 使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系, 并且Vue框架会自动跟踪 JavaScript 状态并在其发...

Go语言笔记之并发编程

Go语言笔记
Go语言笔记之并发编程

对于并发编程, Go语言既提供了传统的锁模型, 也提供了通道, 多路复用等Go语言特有的并发模型. 其中的核心思路是使用通信来共享内存,而不是通过共享内存来通信. 大部分问题都可以通过传统的锁或者GO的通道解决, 选择最好描述和最简单的那个方法. 临界区与竞争条件临界区: 程序中需要独占访问共...

Go语言笔记之Web开发

Go语言笔记
Go语言笔记之Web开发

Go语言的Web开发与Java的Web开发一样,虽然内置包提供了基础功能,但还是会使用一系列的开源框架和中间件来简化开发。在目前的Go语言Web开发中,通常会使用Gin作为Web框架,使用Gorm作为数据库映射框架,使用redigo作为redis客户端。 Gin提供了URL绑定和Web参数绑定...

PlantUML绘图笔记

PlantUML绘图笔记

PlantUML是一个开源项目, 提供了用代码绘制时序图, 类图, 对象图等功能. 由于代码编辑更加便利, 因此在博客和文档中都非常适合使用PlantUML来插入对应的图片. PlantUML的官方文档上对每种图的特性都进行了详细的描述. 在必要的时候, 也可以通过在线服务器1和在线服务器2直...

Java源码分析之集合数据结构

Java源码分析
Java源码分析之集合数据结构

HashMapHashMap是是经典的数据结构, 也是Java最常用的数据结构之一. 由于HashMap不涉及多线程问题, 且作者 因此代码理解难度比较低, 非常值得一读. HashMap的源码真的有一种作者希望我能看懂的感觉 如果多个Key具有同样的Hash值, 但Key本身是Comp...

Spring笔记之登录系统

Spring笔记
Spring笔记之登录系统

依赖可以在创建项目的时候, 直接使用Spring Initializr加入Spring Security依赖, 也可以手动加入如下的两个依赖. 12345678<dependency> <groupId>org.springframework.security&l...

Spring笔记之Cloud组件

Spring笔记
Spring笔记之Cloud组件

由于Spring Cloud涉及的组件太多, 各个组件之间的依赖关系比较复杂, 因此为了保证项目的一致性, 任何时候都不建议手写这些配置文件. 可以使用SpringBoot官网上的Spring Initializr来获得初始项目的结构和pom文件. 如果使用IDEA, 也可以在创建的时候使用S...

Spring笔记之Web开发

Spring笔记
Spring笔记之Web开发

在Spring中, 最常使用的技术就是MVC框架, 使用Sping中的MVC框架, 可以实现将HTTP URL 映射到Controller某个方法上, 将HTTP 参数映射到Controller方法的参数上, 对参数进行检验, 调用视图等功能. 请求绑定在Controller层, 首先需要使...

Spring笔记之数据库

Spring笔记
Spring笔记之数据库

数据库组件为了使Spring能够访问数据库,我们需要导入三个依赖,即数据库驱动mysql-connector-java,数据库连接池druid和数据库映射工具mybatis-spring-boot-starter。 为了保证版本的一致性,使用官网工具添加依赖 mybatis-spring-...

Spring笔记之基础知识

Spring笔记
Spring笔记之基础知识

本文介绍Spring体系中Spring framework的主要内容, 包括Spring的两个核心概念, 即控制反转(Inversion of Control, IoC)和面向切面编程(Aspect Oriented Programming, AOP). 这些内容是Spring的基础知识, 被...

Spring笔记之通用配置

Spring笔记
Spring笔记之通用配置

项目依赖一致性由于Spring/Spring Cloud涉及的组件太多, 各个组件之间的依赖关系比较复杂, 因此为了保证项目的一致性, 需要通过引入合适的parent文件来规定各个组件的版本. 手写pom文件比较复杂, 任何时候都不建议手写这些配置文件. 应该使用SpringBoot...

Docker笔记之构建镜像

Docker笔记
Docker笔记之构建镜像

Dockerfile指令详解Dockerfile的指令不多, 只需要理解几个简单的指令就可以构建一个自定义的镜像. 一个Dockerfile一般具有如下的一些指令, 以下分别介绍这些指令的含义. 12345678FROM python:3.8-alpineWORKDIR /appCOPY a...

Java源码分析之动态代理

Java源码分析
Java源码分析之动态代理

前段时间在学习Google的Java工具库Guava, 发现其中有一个反射包, 提供了动态代理的封装功能. 深入源码一看, 发现实际上还是用了JDK提供的动态代理功能. 查阅一下网络上的相关资料, 就可以看到很多文章声称JDK的动态代理是基于反射实现的. 但仔细一想就会发现其中存在一个问题, ...

Guava学习笔记

Guava学习笔记

Guava是Google开发的Java工具包, 其中提供了很多好用的Java工具类. 学习这些类的使用方法和实现原理有助于提高Java的开发效率和Java的编写水平. Guava包功能简介首先简单介绍一下Guava包中每个模块的具体功能. base包Optional 表示一个可能为null的值...

Python笔记之网络请求

Python笔记
Python笔记之网络请求

由于Python的脚本特性, 使得Python特别适合开发网络请求的小脚本. requests库简介虽然Python自带的网络库也能够实现网络请求, 但用起来不够简单直接, 所以在条件允许的情况下, 还是直接安装requests库, 然后使用其提供的高级API能够更好的满足需求. 对于HTT...

Go语言笔记之内置模块

Go语言笔记
Go语言笔记之内置模块

本文介绍Go语言最常用的模块, 包括基础的数据结构(数组, 切片, 哈希表), 基本的IO操作, 字符串操作, 并发控制和反射相关的内容. 由于Go并不是我的第一门语言, 所以本文将对照C, Java, Python等语言已有的语法进行对比. 对于其他语言中已有的内容, 会比较简略地带过. 数...

Redis学习笔记

Redis笔记
Redis学习笔记

Redis是一个纯C语言实现的开源项目, 且项目中已经自带了所有的依赖, 因此在Linux平台可以非常简单的从源码编译得到Redis可执行文件. 配合Vscode可以轻松的阅读Redis源码. 在Mac平台可直接使用brew安装Redis服务端和客户端. 不建议在Windows平台查看和编译源...

Go语言笔记之基础知识

Go语言笔记
Go语言笔记之基础知识

Go基础配置Go语言的下载和安装过程比较简单, 不需要进行特殊处理. 在Go安装完毕后, 需要注意两个特殊的环境变量GOROOT和GOPATH. 其中GOROOT表示Go语言安装的位置, GOPATH表示项目和依赖存储的位置. 一般情况下不需要关注GOROOT的值, 对于低版本的Go(低于1....

MySQL笔记之事务原理

MySQL笔记
MySQL笔记之事务原理

在数据库原理之事务控制中, 我们从理论层面讨论了数据库的事务应该具备的一些特性. 但在实践层面, 数据库软件往往需要提供比理论要求更细致的能力, 才能满足实际业务开发的需求. 本文将以MySQL作为基础, 讨论MySQL中的数据库事务特性. 由于实现了ACID特性的数据库比没有实现ACID特性...

×
  • {title}