MongoDB入门

MongoDB的安装

  • MongoDB官网下载地址 下载安装包并解压到mongo/

  • 创建mongo/db目录和/mongo/log/mongodb.log文件

  • 创建配置文件mongo/mongodb.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 数据文件存放目录
    dbpath=/Users/youyou-2608/Downloads/mongodb/db
    # 日志文件存放目录
    logpath=/Users/youyou-2608/Downloads/mongodb/log/mongodb.log
    # 以追加的方式记录日志
    logappend=true
    # 默认端口27017
    port=27017
    # 对访问ip地址不做限制,默认为本地地址
    bind_ip=0.0.0.0
    # 以守护进程的方式启用,即在后台运行
    fork=true
    # 默认开启身份认证
    auth=true

阅读更多
最近减重心得

体重暴增

鉴于去年年底的两三个月在饮食方面有点不规律,导致从十一月份到今年一月份体重从55kg一下涨到了接近59kg,创下了体重记录的新高。前两天回去翻了19年的体重记录,因为那时候其实也买了一个体重称,每天关注体重的,发现那时候我的体重竟然才53kg,这几个月长了5kg左右,因为吃得多还没有运动,那段时间加班也是每天很晚才吃饭。

阅读更多
SpringBoot整合redis报错

在SpringBoot中整合Redis进行Token登录,测试方法中一直报错:

1
2
3
java.lang.IllegalStateException: Failed to load ApplicationContext

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'redisTemplate' is expected to be of type 'org.springframework.data.redis.core.StringRedisTemplate' but was actually of type 'org.springframework.data.redis.core.RedisTemplate'

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public boolean set(String key, String value) {
boolean result = false;
try {
redisTemplate.opsForValue().set(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}

// 测试方法
@Test
public void setTest() {
redisClient.set("key1", "value1");
String value = redisClient.get("key1");
assertNotNull(value);
log.info("value: {}", value);
}

原来是注入的时候变量名有问题:

1
2
@Resource
private StringRedisTemplate redisTemplate;

不是 redisTemplate ,而是 stringRedisTemplate。

@Resource和@Autowired的区别。


最近学到的IDEA使用技巧

昨天晚上加班到凌晨3点,和前辈一起改一段代码,代码提交完,在等测试的时候,和前辈交流了一下IDEA的使用技巧,学到了很多东西。上次有这种感觉还是实习的时候,那时候学会了很多Sublime的小技巧。

  • MyBatisX插件,直接查看MyBatis对应的SQL,自带MapperGenerator插件
  • Ctrl+Shift+F 查找所有
  • Ctrl+Shfit+R 替换所有
  • RestfulTool插件直接向接口发送请求。
  • Ctrl+Q查看Java文档注释,查看表信息并查看前十条数据
  • Ctrl+Shfit+上/下:上下移动一行代码
  • 多使用IDEA自带的Database插件,可以多个SQL脚本一键执行,SQL字段提示。
  • 多使用IDEA集成的git和SVN插件,方便查看代码变更。

才一个不到10万人使用的系统,就出现了很多性能问题,第一次在工作中接触到性能问题。每个SQL,每个循环,每个文件导入导出,一不小心就会超时出现数据提交失败的情况。大量优化代码逻辑,优化SQL执行效率,同步改异步,多线程,前端尽可能少提交数据,一晚上忙得晕头转向。虽然这两个星期每天晚上搞到很晚,身心疲惫,但是还是有所收获,真切的体会到了写高质量代码的必要性。

昨天上午因为一条SQL里加了递归,大量数据导致查询效率低下,流量高峰的时候系统直接挂了,然后又发紧急版本修复。之前从未使用过Oracle数据库,很多语法不懂,借此机会,正好可以学习一下Oracle。


Vue前后端分离项目中的跨域问题

前后端分离项目的跨域问题


阅读更多
解决Echarts自定义tooltip之后图例丢失问题

解决自定义 echarts 的 tooltip 之后 tooltip 中图例丢失问题。

阅读更多
服务无法注册到Eureka注册中心

今天遇到一个问题:eureka客户端和服务端都正常启动,控制台也没有任何错误,并且客户端都可以正常访问,没有什么报错信息,但是无法注册到注册中心,再三检查也没发现配置有什么问题。

阅读更多
Required request body is missing

用postman测试接口一直报错,提示:Required request body is missing。

用浏览器请求和用postman post + param方式请求都说body missing,后台接口加了@RequestBody注解。

网上查了一会儿资料才发现原来是请求方式不对,参数应该放在body中并且以json方式传递。

image-20201121165917262


Java字节码解析

最近在学Jvm相关的知识,看完视频,找了点字节码的资料看,理解字节码的含义。推荐 一文让你明白Java字节码

阅读更多
使用Let’s Encrypt给网站加密

使用 Let’s Encrypt 给网站加密

还没给你的网站加上Https?快用 Let’s Encrypt 给你的网站加个小锁吧!

阅读更多