Clay 的技术空间

用进废退 | 艺不压身

方案一

Hexo 官方推荐的部署方案,是在先本地编写 MarkDown 源文件,然后在本地构建静态资源文件,最后同步静态资源文件到服务器。

方案一

阅读全文 »

前言

互联网主流领域

大数据云计算人工智能物联网

人工智能主流领域

自然语言处理(NLP)计算机视觉(CV)推荐系统 / 计算广告
阅读全文 »

Redis 内存管理

如何查看 Redis 的内存使用情况

使用 Redis 的 INFO 命令,可以获取有关 Redis 服务器的内存信息,命令如下:

1
info memory

其中与内存使用情况相关的输出信息如下:

  • used_memory:已使用的内存
阅读全文 »

Spring Boot 配置

邮件发送

在本地开发环境测试,Spring Boot 能够正常发送邮件,但部署到阿里云 ECS 服务器以后,一直没有收到邮件,部分关键日志信息如下:

1
2
3
4
5
6
7
8
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: 连接超时 (Connection timed out). Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: 连接超时 (Connection timed out)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:447)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:322)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:311)

从现有情况看,跟程序运行环境有关,查看相关资料,发现在阿里云 ECS 服务器上,默认禁用了 25 端口,所以在通过 25 端口去连接邮件服务器时,无法连上,就报超时了。官方建议使用 465 端口,而 456 端口是 SSL 协议的,所以不仅要换端口,还需要进行 SSL 协议替换。下面是在 application.properties 进行的邮件发送相关配置,经过这样配置后,在阿里 ECS 上就能够正常发送邮件了

阅读全文 »

错误与异常

在 Java 中所有的错误 (Error) 和异常 (Exception) 都继承了同一个父类 Throwable,它们的关系如下:

  • Error (错误):是指程序无法处理的错误,表示应用程序运行时遇到比较严重的问题。大多数错误与开发者执行的操作无关,而表示在代码运行时 JVM 出现了的问题。
  • Exception (异常):是指在程序运行时由于程序处理逻辑上的错误而导致程序中断的一种指令流。通俗地说,就是代码存在逻辑错误(Bug)。
  • 上述两者的区别:错误无法被处理,异常可以被程序自身捕获并处理
阅读全文 »