Go 的输入与输出
基础概念包io为I/O基元提供了基本接口。它的主要工作是将此类原语的现有实现(如包操作系统中的实现)封装到抽象功能的共享公共接口中,以及一些其他相关原语。 因为这些接口和基元使用各种实现来封装较低级别的操作,除非另有通知,否则客户端不应认为它们对于并行执行是安全的。
1234567type Reader interface { Read(p []byte) (n int, err error)}type Writer interface { Write(p []byte) (n int, err error)}
常用实现
网络、标准输入输出、文件流读取
net.Conn
os.Stdin
os.File
把字符串抽象成 Reader
strings.Reader
把[]byte抽象成Reader
bytes.Reader
把[]byte抽象成Reader和Writer
bytes.Buffer
抽象成带缓冲的流读取
bufio.Reader/Writer
bufio 介绍bufio 在程序和系统之 ...
java
java 基础
if 语句
循环语句
一些算法题….
力扣 leetcode.cn
mysql
下载从网上下载https://dev.mysql.com/get/mysql-apt-config_0.8.23-1_all.deb
安装 mysql-apt-config下载文件名: mysql-apt-config_0.8.23-1_all.deb
终端打开安装
1sudo dpkg -i mysql-apt-config_0.8.23-1_all.deb
安装时:必须选择 debian buster
选择确认后,然后选择 OK
更新 apt-get1sudo apt-get update
从图中我们可以看到已经加入了 mysql 镜像源
接着直接安装 mysql如果你在安装 mysql 时没有遇到没有软件包mysql这个错误,你可以不用管前面3个步骤。
1sudo apt-get install mysql-server mysql-client
输入密码,按确认
如果碰到这个,直接确认
这时候需要漫长的等待…
查看版本:
12#mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GP ...
nextJS 性能优化
参考链接:【NextJS】一文了解 NextJS 并对性能优化做出最佳实践 - 掘金 (juejin.cn)
4种渲染方式
Client Side Rendering (CSR)客户端渲染,往往是一个 SPA(单页面应用),HTML文件仅包含JS\CSS资源,不涉及页面内容,页面内容需要浏览器解析JS后二次渲染。
Static Site Generation (SSG)静态页面生成,对于不需要频繁更新的静态页面内容,适合SSR,不依赖服务端。
Server Side Rendering (SSR)服务端渲染,对于需要频繁更新的静态页面内容,更适合使用SSR,依赖服务端。
IncreIncremental Site Rendering (ISR)增量静态生成,基于页面内容的缓存机制,仅对未缓存过的静态页面进行增量式生成,依赖服务端。
SSG / ISR 都是非常适合博客类应用的,区别在于SSG是构建时生成,效率较低,ISR是基于已有的缓存按需生成,效率更高。
性能分析工具如何看性能?【打开开发者调试工具】
网络
性能
Lighthouse
优化
将不可见元素动态导入 ...
Nginx
参考文章:
Nginx配置文件详解 - 程序员自由之路 - 博客园 (cnblogs.com)
Nginx快速入门-KuangStudy-文章
三层架构三层结构:(具体以下图为例)
全局块
event 块
http 块
http 全局块
多个 server 块
server 全局块
多个 location 块
基本配置如下:
12345678910111213141516171819202122232425262728worker_processes 1;#...events { worker_connections 1024;}http { #... # 可以包含多个服务 server { #... listen 80; # 监听80端口 server_name localhost; # 监听主机地址 # 可以包含多个地址 localtion / { root html; index index.html index ...
nodejs 更新
nodejs 更新
查看版本
1node -v
清除npm缓存
1npm cache verify
安装 nvm
专门用来管理版本
下载地址:Releases · coreybutler/nvm-windows (github.com)
下载 nvm-setup.zip 文件,接着直接下一步…
安装成功后,输入命令
1nvm --version
安装新版 nodejs
1nvm install lts
切换nodejs
1nvm use 18.16.0
nvm
nvmLinux 下载Deepin 开启系统代理,开启 Qv2ray
1wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
下载后,自动添加到环境变量。
环境变量位置:~\.bashrc
安装目录:~\.config\nvm
使用新打开一个终端
查看版本:
1nvm --version
安装 lts 版本:
1nvm install --lts
查看当前使用的 node
1nvm current
Windows 卸载首先卸载 nodejs
控制面板删除
环境变量删除
安装目录删除(where node)
家目录有关 nodejs 删除
%AppData% 文件夹里面 nodejs 删除
先去 github 下载 nvm
双击可执行文件 nvm-setup.exe
Windows 下载
打开 nvm 安装目录
打开 settings.txt 文件,加入以下信息:
1234root: D:\software\nvm-1.1.11path: D:\Progra ...
pnpm 安装与使用
pnpmpnpm install 和 pnpm addpnpm add 和 pnpm install 命令的本质是相同的,都可以用来安装依赖包。它们的区别在于用法和语法。
pnpm add 命令会将要安装的依赖包加入到 package.json 文件的 dependencies 或者 devDependencies 中,并且可以指定包的版本。例如:
1pnpm add react@16.8.0
pnpm install 命令通常用来安装项目中已有的 package.json 文件中的依赖包。如果没有指定包的版本,则会安装最新版本的依赖包。例如:
1pnpm install
这个命令会安装 package.json 文件中的所有依赖包。
总的来说,pnpm add 命令更加灵活,可以实现指定版本安装,同时更新 package.json 文件。pnpm install 命令更加简洁,适用于快速安装已有的依赖包。
pnpm 换源与更新以下出现报错信息:
ERR_PNPM_REGISTRIES_MISMATCH This modules directory was created us ...
react 基础
react hook 函数useCallback
基本使用:
1const cachedFn = useCallback(fn, dependencies)
理解:
只有在其中一个依赖项发生更改时才会更改。这在将回调传递给依赖引用相等性的优化子组件以防止不必要的渲染。
对于 react 来说,只有状态发生了改变,就会重新渲染该组件。为了避免重新渲染,我们应该用 useCallback 函数进行包起来。
应用场景:
保证每次组件不会重新渲染,只有依赖项改变时,才会重新渲染。
例子:
1234567891011// hook 函数const [detail, setDetail] = useState([])const [detailLoading, setDetailLoading] = useState(false)const getDetail = useCallback(() => { // 写具体内容 // detail 改变时 detail = ['1'] // detailLoading detailLo ...
SpringCloud
概要SpringCloud Alibaba是SpringCloud的子项目,SpringCloud Alibaba符合SpringCloud标准。
具体大纲9大步:服务发现、负载均衡、模块通信、服务容错、消息驱动、网关、用户认证和授权、配置管理、调用链监控。
Spring Cloud Alibaba 五大组件:
Sentinel
Nacos 注册中心、配置中心、服务管理(UI可视化)
RocketMQ
Dubbo
Seata
服务发现 Nacos
服务发现原理剖析
Nacos Server/Clinet
高可用Nacos搭建
负载均衡Ribbon
负载均衡常见模式
RestTemplate整合Ribbon
Ribbon配置自定义
如何扩展Ribbon
声明式HTTP客户端-Feign
如何使用Fegin
Fegin配置自定义
如何扩展Fegin
服务容错Sentinel
服务容错原理
Sentinel
Sentinel Dashboard
Sentinel核心原理分析
消息驱动RocketMQ
SpringCloud Stre ...