首页 > 其他分享 >79.尚庭公寓项目总结收获

79.尚庭公寓项目总结收获

时间:2024-12-23 14:42:33浏览次数:7  
标签:选项 尚庭 文件 公寓 key import com example 79

单体项目技术来自尚硅谷:
https://www.bilibili.com/video/BV1At421K7gP/?spm_id_from=333.337.search-card.all.click&vd_source=eb2341710c995d8261ecc99fdd066ba7

1.Typora的使用

image

用的其实就跟博客园写记一样的markdown形式 但我是习惯于win自带的记事本或是直接博客园
但是学学这个软件也挺好 养成写笔记的形式总是强于记忆的
关于破解参考:https://blog.csdn.net/qjkewdmgkq/article/details/139335063 Typora破解


2.Xshell和Xftp的使用

因为 此项目真正使用到了虚拟机的环境测试项目
那自然离不开远程连接软件Xshell和传递文件Xftp
关于使用上手很简单(ps:其实就知道一个 Ctrl+shift+c/v 复制粘贴就好)
正好现在虚拟机或是这几个软件都已开源使用

image
image


3.很很重要的就是Linux的学习 这个从来没有重视过的学习

damn 我之前写过的笔记误删了 其实也就是简单一些Linux常用的命令和一些操作
我简单阐述几点:
1.快照(类似于可以后悔)

image

2.常用的命令:

  1. pwd(print working directory)

    • 作用

      打印当前目录的绝对路径

    • 基本语法

      pwd

    • 案例实操

      显示当前工作目录的绝对路径

      [root@localhost ~]# pwd
      /root
      
  2. ls(list)

    • 作用

      列出目录内容

    • 基本语法

      ls [选项] [目录或是文件]

    • 选项说明

      选项 功能
      -a 全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
      -l 使用较长(详细)的格式列出信息,包含文件的属性与权限等等数据
  3. cd(change directory)

    • 作用

      切换路径

    • 基本语法

      cd [参数]

    • 参数说明

      参数 功能
      cd 绝对路径 切换路径
      cd 相对路径 切换路径
      cd ~或者cd 回到自己的家目录
      cd - 回到上一次所在目录
      cd .. 回到当前目录的上一级目录
  4. mkdir(Make Directory)

    • 作用

      创建目录

    • 基本语法

      mkdir [选项] 要创建的目录

    • 选项说明

      选项 功能
      -p 创建多层目录
  5. cp(copy)

    • 作用

      复制文件或目录

    • 基本语法

      cp [选项] source dest

    • 选项说明

      选项 功能
      -r 递归复制整个文件夹
    • 参数说明

      参数 功能
      source 源文件
      dest 目标文件
  6. rm(remove)

    • 作用

      移除文件或者目录

    • 基本语法

      rm [选项] deleteFile

    • 选项说明

      选项 功能
      -r 递归删除目录所有内容
      -f 强制删除,不提示用户进行确认
  7. mv(move)

    • 作用

      移动或重命名文件

    • 基本语法

      • 移动文件

        mv 源文件 目标目录
        
      • 重命名

        mv 源文件 目标文件
        
  8. cat

    • 作用

      查看文件内容

    • 基本语法

      cat [选项] 文件

    • 选项说明

      选项 功能描述
      - n 显示所有行的行号,包括空行
  9. tail

    • 作用

      输出文件尾部内容

    • 基本语法

      • tail 文件(功能描述:查看文件后10行内容)
      • tail -n 5 文件(功能描述:查看文件后5行内容,5可以是任意行数)
      • tail -f 文件(功能描述:实时追踪该文档的所有更新)
    • 选项说明

      选项 功能
      -n<行数> 输出文件尾部n行内容
      -f 显示文件最新追加的内容,监视文件变化

3.网络的有关配置
参考之前写过的:https://www.cnblogs.com/gaodiyuanjin/p/18551680


4.MinIO的使用

类似于阿里云的oss存储服务

image
image

如果之前学过那个苍穹外卖项目 这个大致一样 开源 也是往“桶”里云存储东西
image


5.MyBatis Plus的复习

真是学得快忘得快 真正ssm项目 我觉得应该抛弃MyBatis 而去使用Plus可以省略很多
简单来阐述一下:

  1. 实体类entity
点击查看代码
package com.example.gao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@TableName("user")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class User {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("name")
    private String name;

    @TableField("age")
    private Integer age;

    @TableField("email")
    private String email;
}
  1. mapper接口
点击查看代码
package com.example.gao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.gao.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

@Mapper
@Component
public interface UserMapper extends BaseMapper<User> {

}
  1. service业务接口
点击查看代码
package com.example.gao.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.example.gao.entity.User;

public interface UserService extends IService<User> {

}

  1. serviceImpl业务实现
点击查看代码
package com.example.gao.service.Impl;


import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.gao.entity.User;
import com.example.gao.mapper.UserMapper;
import com.example.gao.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

关于测试有很多简单的增上改查 都已经有了 直接去使用 省去我们一些xml的sql写

例如:
package com.example.gao.mapper;

import com.example.gao.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class UserMapperTest {
    @Autowired
    UserMapper userMapper;

    //增刪改查
    @Test
    void cha() {
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

    @Test
    void zeng() {
        User user = User.builder()
                .name("高远")
                .age(22)
                .email("asdasdasd")
                .build();
        userMapper.insert(user);
    }

    @Test
    void gai() {
        User user = userMapper.selectById(1);
        user.setName("约翰");
        userMapper.updateById(user);
    }
    @Test
    void shan() {
        userMapper.deleteById(1);
    }
}

这里要说一个最常用 也是新知识

条件构造器Wrapper 用于构建复杂的数据库查询条件
QueryWrapper:专门用于构造查询条件,支持基本的等于、不等于、大于、小于等各种常见操作
它允许你以链式调用的方式添加多个查询条件,并且可以组合使用 and 和 or 逻辑

UpdateWrapper:用于构造更新条件,可以在更新数据时指定条件
与 QueryWrapper 类似,它也支持链式调用和逻辑组合
使用 UpdateWrapper 可以在不创建实体对象的情况下,直接设置更新字段和条件。
还有分页查询也需要学习
具体学习参考:官网 https://baomidou.com/getting-started/


6.缓存Redis

Redis基于内存的键值对结构数据库  Mysql存储在磁盘上  优点内存存储读写性能高
redis.windows.conf配置文件中设置密码  # requirepass (密码foobared)
Redis常用命令:
 一:字符串操作命令 
	SET Key value  设置指定key值
	GET Key		获取指定key值
	SETEX key seconds value 设置指定key值 并设置过期时间秒
	SETNX key value 只有在key不存在时设置key的值
二:哈希操作命令 
	HSET key field value  将哈希表key字段field的值设为value	
	HGET key field           获取存储在哈希表中指定字段的值
	HDEL key field		  删除存储在哈希表中的指定字段		
	HKEYS key		  获取哈希表所有字段
	HVALS key                 获取哈希表中所有值
三:列表操作命令(有序不唯一) 
	LPUSH key value1 [value2]      将一个或多个值插入到列表头部
	LRANGE key start stop 		 获取列表指定范围内的元素	
	RPOP key				 移除并获取列表最后一个元素
	LLEN key					 获取列表长度
四:集合操作命令(无序唯一) 
	SADD key member1 [member2]        向集合添加一个或多个成员
	SMEMBERS key				   返回集合中的所有成员	
	SCARD key                                         获取集合的成员数
	SINTER key1 [key2]                            返回给定所有集合的交集
	SUNION key1 [key2]                          返回所有给定集合的并集
	SREM key member1 [member2]        删除集合中一个或多个成员
五:有序集合操作命令(有序唯一 关联一个double分数) 
	ZADD key score1 member1 [score2 member2]   向有序集合添加一个或多个成员
	ZRANGE key start stop [withscores]               通过索引区间返回有序集合中指定区间内的成员
	ZINCRBY key increment member             有序集合中对指定成员的分数加上增量increment
	ZREM key member [member....]               移除有序集合中的一个或多个成员
六:通用命令
	KEYS pattern			查找所有符合给定模式的key
	EXISTS key			检查给定key是否存在
	TYPE key				返回key所存储的值的类型
	DEL key				key存在时删除key
RedisTemplate封装了Redis进行交互的各种方法
RedisTemplate和命令行操作序列化不同 会导致产生的key不一致
使用StringRedisTemplate来解决


7.接口业务实现

这个没啥好说的 增删改查业务
image


8.登陆板块

登录模块:
两种常用的认证方案:
 一.session
在服务器端创建一个session对象将标识保存在这个对象中 
若用户数量多 就会使服务端受压 
借此使用负载均衡(类似中转站) 将各种不同请求发给相应的多台服务器(集群) 
此处要使用登陆共享(即将登录的信息存储在Redis中)
二.Token(JWT令牌)
登陆状态保存到客户端 服务器无须保存
客户端发起的每个请求自身携带登陆状态
JWT是一种轻量级的安全传输方式 为一个字符串 
由三部分组成 .分隔 header payload(负载) signature(签名)
例如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJ1c2VybmFtZSI6Ind3dy5iZWpzb24uY29tIiwic3ViIjoiZGVtbyIsImlhdCI6MTczNDUwMDYzNywibmJmIjoxNzM0NTAwNjM3LCJleHAiOjE3MzQ1ODcwMzd9.
HdeGpO61iaiN7ODgpNrYIXuMIJIpHJ5e6cc4UsPDd7g

其实不是什么什么项目做的多厉害多广度就好 最重要的是打好基础那些东西
还有就是 永远保持高度的愿意不断学习能力 那样就可以干成任何事

标签:选项,尚庭,文件,公寓,key,import,com,example,79
From: https://www.cnblogs.com/gaodiyuanjin/p/18623825

相关文章

  • P8795 [蓝桥杯 2022 国 A] 选素数
    题目描述:小蓝有一个数 x,每次操作小蓝会选择一个小于 x 的素数 p,然后在 x 成为 p 的倍数前不断将 x 加 1,(如果 x 一开始就是 p 的倍数则 x 不变)。小乔看到了小蓝进行了 2 次上述操作后得到的结果 n,他想知道 x 在一开始是多少。如果有多种可能,他想知道 x......
  • P7962 NOIP2021 方差
    首先观察什么样的序列是能操作得到的。考虑差分数组(由于算的是方差,所以不含第一项)可以发现,这个操作相当于交换差分数组相邻两项。也就是说,要让差分数组重排之后方差最小。考虑推方差的式子,写成\(n\suma_i^2-(\suma_i)^2\)的形式。发现最小化这个东西不太可做,于是去找结论。......
  • ssm+jsp794学生工作管理系统设计与实现
    博主介绍:专注于Java(springbootssm等开发框架)vue .net phpphythonnode.js  uniapp微信小程序等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了1600+毕设......
  • Springboot校园寻物系统79yop
    Springboot校园寻物系统79yop本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,类型,失物招领,寻物启事开题报告内容Springboot校园寻物系统开题内容报告一、项目背景与意义在繁忙的校园生活......
  • 【079】基于51单片机智能浇水灌溉系统【Proteus仿真+Keil程序+报告+原理图】
    ☆、设计硬件组成:51单片机最小系统+DHT11温湿度传感器+LCD1602液晶显示+土壤湿度传感器+光敏电阻+ADC0832模数转换芯片+AT24C02存储芯片+水泵浇水+LED补光灯+按键设置+LED报警灯。1、设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片;2、通过ADC0832模数转换芯片......
  • 洛谷P7911 [CSP-J 2021] 网络连接题解
    普通的模拟题,数据很小,基本排除超时超空间的可能上代码:#include<bits/stdc++.h>#defineLLlonglongusingnamespacestd;vector<pair<int,string>>sv;//用于存储Server,sv[i].first代表Server编号,sv[i].second代表Server地址intturn(stringstr){//string转int if(str.......
  • java&springboot&msyql进出校园门禁管理系统79219-计算机毕业设计 原创(附源码)
    摘 要信息化的进出校园门禁管理可以节省人力和物力,并且具有较高的精确性。随着计算机技术和网络技术的迅猛发展,进出校园门禁管理系统不断向着集成化、智能化、网络化与分布式的方向发展。本文主要针对目前大部分高校校园进出管理方式落后、管理效率低下的状况,结合当前最新......
  • 百度网盘解除限速!跑满带宽,亲测最高79+MB/S!
    百度网盘解除限速!.跑满带宽,亲测最高79+MB/S!今天为大家带来某盘的不限速,宽带跑满的使用方法,软件使用非常简单,但是请大家一定要看完全文讲述的使用方法,这样才不会踩坑!软件是7月份刚刚更新的,新鲜可用!看网上有很多其他方法,各种脚本网站来回切换,眼花缭乱,最终效果甚微,今天我为大家带来......
  • P11179 [ROIR 2018 Day1] 管道监控 题解
    题解:P11179[ROIR2018Day1]管道监控秒秒题。没有题解呢,来发一发。建议降蓝。思路发现往下匹配路径不好处理,于是反转每个路线的字符串,然后从下往上移动覆盖,这样定了一个方向。若只输出最小值,就从下往上dp,发现可以\(n^3\)处理,猜测正解设两维状态,\(\Theta(n)\)合并。第一......
  • leetcode 2779. 数组的最大美丽值
    2779.数组的最大美丽值暴力超时解......