- 博客(29)
- 收藏
- 关注
原创 grpc学习
Protocol BuffersProtocol Buffers(Protobuf)是Google开发的一种二进制编码的数据序列化协议(类似于JSON)。Protobuf的主要目标是提供一种灵活、高效、自动化的方式来进行结构化数据的序列化、反序列化、存储和通信。个人理解是一种网络通信的信息的模板。因为不同的编程语言有不同的内存管理、类型系统和调用约定等,所以跨语言和跨平台等不能直接通信。通常是通过某种网络协议或中间件来实现的,例如HTTP、gRPC等。Protocol Buffers就是为此类跨语言通
2024-05-13 16:38:01
205
原创 后端开发大纲
后端3要素:后端编程语言:java、python等后端框架:spring、django等,降低构建后端程序的难度包管理工具:maven、pip等,别人把代码打包成包供我们调用域名:重定向到urlREST风格api:请求方式是动作,/名词是动作的对象云计算三大服务:IaaS、PaaS、SaaSIaaS:基础设施即服务:提供存储、网络、计算等基本能力PaaS:平台即服务:提供软件运行的平台,用户只用写软件,上传代码,不用管需要多少机器,不用管负载均衡等SaaS:软件即服务:提供具体服务
2024-04-26 22:38:11
365
原创 redis
redis命令stringset key value:设置键值对get key:取数据del key:删除数据exists key:键是否存在,0不存在,1存在keys *:查看所有键,keys *mm查看所有以mm结尾的键flushall:删除所有键ttl key:查看键还有多久过期expire key 时间:设置键的过期时间(秒)setex key 时间 value:设置一个有过期时间的键值对10.setnx key value:不存在时设置,存在时无操作listlpu
2024-04-10 16:59:34
140
原创 cookie、session、token、JWT、https等等
cookie:服务器发送到客户端(通常是浏览器)的小段数据,客户端会将其保存起来,并在每次请求时附上这段数据,将其发送回服务器。session:服务器会为每个用户创建一个唯一的会话 ID,并将其存储在服务端。同时,服务器会将这个会话 ID 发送给客户端(通常是通过 Cookie),客户端在后续的请求中会携带这个会话 ID。服务器通过会话 ID 来识别用户,并获取用户的会话信息。token:是一种身份令牌。Token 通常由服务器在身份验证成功后生成,并发送给客户端。客户端在后续的请求中会携带这个Tok
2024-04-09 22:27:05
240
原创 docker
docker是一个构建(build)、运行(run)、传送(share)应用程序的平台。docker可以将程序、依赖包、配置文件和环境变量等打包,以便在任何环境中运行。docker和虚拟机:docker不需要在容器中运行一个完整的操作系统,而是使用宿主机的操作系统;而虚拟机里是一个完整的操作系统。镜像是一个只读的模板,容器是一个运行的实例。镜像:类容器:对象Docker仓库:存储docker镜像的地方。docker运行容器步骤在项目根目录创建Dockerfile使用Dockerfi
2024-03-12 20:59:46
368
原创 MySQL基础
systemctl是Linux系统中的一个命令行工具,用于控制systemd系统和服务管理器。启动服务:systemctl start 服务名停止服务:systemctl stop 服务名重启服务:systemctl restart 服务名等等ubuntu安装mysql:sudo apt install mysql-server查看mysql服务状态:systemctl status mysql启动mysql服务:sudo systemctl start mysql查看默认用户:sud
2024-03-10 17:21:26
355
原创 web开发基础
请求(Request)是客户端对服务器发送的消息,用于请求获取、更新或删除服务器上的资源。四大请求方式:GET(从服务器获取资源)、POST(在服务器新建资源)、PUT(在服务器更新资源)、DELETE(在服务器删除资源)响应(Response)是服务器对客户端请求的回应。
2024-03-08 22:41:45
339
原创 git版本管理
git diff:在 Git 中用于显示暂存区和工作区之间的差异。它会比较当前工作目录中的文件与最后一次提交到暂存区(Index)的文件之间的差异。git status:用于显示工作目录和暂存区(Index)的状态。说明哪些文件已经被修改、哪些文件已经添加到暂存区、哪些文件还未被 Git 追踪等。git log:显示的是已经提交到本地仓库(Repository)的变更记录。这些记录包括了每次提交(git commit)的元数据(如提交者、日期、提交信息)和提交之间的差异。从项目创建开始,按时间顺序排列
2024-03-03 17:32:51
412
原创 云服务器ecs购买须知
云服务器没有公网ip,基本等于没用,不能挂网站,不能ssh连接,只能通过云服务商提供的控制台访问云服务器,只能访问云服务商的内网。云服务器不一定自带公网ip,购买时可选公网ip,但是要额外付费。如果没有公网ip,ecs配置那会是2核 2GiB 0Mbps。可以购买弹性公网ip(eip)来使ecs联网。如果以按量付费方式购买eip,需要支付3个费用:流量费、配置费(eip保有费)、绑定费。若eip未绑定实例,则会一直扣配置费。eip费用:https://help.aliyun.com/zh/ei
2024-02-16 18:07:21
385
1
原创 python语法
python魔法方法名称以双下划线(__)开始和结束通常不直接调用,而是由Python解释器在特定的上下文中自动调用例子:__init__(),__len__(),__add__()允许自定义对象对某些操作的响应方式使自定义类与其他Python内置类型具有相似的行为和接口,从而提高代码的可读性和一致性内置函数:是Python解释器的一部分,其行为和实现是由Python语言本身提供的无法自定义和更改
2023-12-24 23:28:11
405
1
原创 八数码(数字华容道)-分支限界法
当搜索到满足目标函数的棋盘状态时,此时搜索空间树的高度就是空格移动的步数。设newNode为要入堆的棋盘状态,oldNode为堆中的棋盘状态。distance是所有数字的当前位置与目标位置间的距离之和(使用曼哈顿距离),k是空格的移动步数。(4)计算当前棋盘状态下所有可能的合法移动,将这些移动生成的新的棋盘状态添加到优先队列中。约束函数是0<=i<m, 0<=j<n。约束函数:0<=i<m, 0<=j<n。
2023-12-12 23:21:25
546
原创 解空间树等算法的名词解释
解空间树:所有可能的解构成的树搜索空间树:在解空间树上进行剪枝后的树,只保留了有希望产生最优解的部分目标函数:指最终需要最大或最小化的函数,是问题求解的目标。约束函数:用来排除不满足问题条件的解,约束函数必须满足,否则解是无效的限界函数:用来排除不可能产生最优解的子树,它用一些启发式信息来估计后续可能产生的最大得分,若可能的最大得分都不如当前最优得分,则可剪去这个子树。
2023-12-04 23:54:12
777
原创 malloc和new
c++最好使用new,而不是malloc,特别是为对象分配空间。malloc是c的库函数,它仅仅只有分配空间的作用,没有对象概念,不会调用构造函数,用它初始化对象会有野指针等问题。
2023-09-08 20:45:36
35
1
原创 vue初学-路由细节
思考了很久,发现第一个“我是导航,角色列表,用户列表”就是LayOut.vue中定义的,而第二个“我是导航,角色列表,用户列表”是填充的。因为LayOut.vue的路由是根目录,所以会再渲染一次。()会替换为相应路径的组件,例如http://localhost:8080/#/index,则任何一个都会替换为path:"/index"的组件。项目默认启动文件是App.vue,我改为自定义的LayOut.vue后,页面出现问题,重复显示了两遍。总结,还是用App.vue作为启动文件。
2023-07-25 00:18:39
43
原创 c++程序生成(头文件问题)
这在一般情况下是不会报错的,除非在头文件里有定义,此时,链接时就会出现重定义错误(例如,函数定义写在头文件,就可能会有多个相同的函数副本)。所以,平时规定头文件里一般只有声明。#pragma once 可以防止本文件多次包含同一头文件。但是,最后链接时仍然可能会有同一头文件的多个副本,因为可能有多个cpp文件都包含了一次同一头文件。只有cpp文件才会被编译,头文件不会。头文件会嵌入cpp文件。ps:从0基础系统化学习c++,不可能学不会P.145。c++程序生成有3个阶段:预处理、编译、链接。
2023-05-07 15:56:43
180
1
原创 c++深拷贝案例&运算符重载
//输入://5//1 2 3 4 5//输出://1, 2, 3, 4, 5//2, 3, 4, 5, 6//3, 5, 7, 9, 11//1, 1, 1, 1, 1//70#include <string.h>#include <iostream>using namespace std;class MyArray { int size; int* ptr; friend ostream& operator<<(ostream
2021-06-15 21:44:16
98
1
原创 适合小白的eclipse中文乱码解决方法(1)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入上世纪方式欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如
2020-11-19 21:59:40
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人