BASE理论之思考

一、什么是BASE理论?

BASE理论是对CAP中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。

CAP理论之思考

分布式系统的最大难点就是各个节点如何保持一致。最近我在工作中就遇到这样的问题,不同节点之间,彼此通过API,进行通信,交互数据,但有些服务节点存在延迟等问题,导致我看到的并不是实时的数据,以及系统更新时,更新A服务,间接影响到B服务,而B服务受到影响后,C服务随之受到影响,以此类推。对于公司技术架构平台设计者之一的我而言,虽然采用一些临时性措施解决了这些问题,但我不得不深入的去思考分布式一些本质上的东西,因为很多问题不从根本上弄清楚并解决,后面只会以一种或多种不同的状态存在着。搞清楚理论并带着直面的问题思考,或许能找到解决问题的最佳方式。

java使用jsoup时绕过https证书验证

详细错误信息:

1
SunCertPathBuilderException: unable to find valid certification path to requested target

问题原因:
爬相关数据,因该网站有SSL加密,故无法爬取。

问题解决之核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
* 绕过HTTPS验证
*/
static public void initTSL() {
try {
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, new X509TrustManager[]{new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}}, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());
} catch (NoSuchAlgorithmException e) {
} catch (KeyManagementException e) {
}
}

技术人对赚钱的思考与摸索

从2018年6月到目前为止,我一直在为一个目标而前进,即如何让自己的未来发展更好顺带着赚更多的钱。为此我做了很多尝试,有过成功,也有过失败,于是便有了这篇文章《技术人对赚钱的思考与摸索》。
本文主要内容为如下:

  • 自媒体;
  • 网站;
  • 外包接私活;
  • 在线课程;
  • 开源项目;
  • 网店;
  • 写作;
  • 投资理财;
  • 升职加薪;
  • 创业。

SpringBoot单文件与多文件上传

本次例子不基于第三方存储(如七牛云对象存储、阿里云对象存储、腾讯云对象存储等),仅基于本地存储。

单文件上传主要应用场景如上传头像、特定文件转换、授权文件验证等。
多文件上传主要应用场景如批量Excel文件数据录入等。
本文主要内容如下:

  • 公共文件存储代码;
  • 单文件上传代码;
  • 多文件上传代码。

模板引擎的思考

一、什么是模板引擎?

模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的文档
(模板文件和数据通过模板引擎生成一个HTML代码)。

数据库被删之反思

一、数据库为什么会被删?

同事小L最近负责整理数据库初始化脚本,在导出演示环境的数据库脚本后,在另外的服务器上执行该数据库脚本,最后由于操作的时候打开的窗口过多,没有注意到环境,当时他打开了很多窗口,有演示环境,也有自己试验环境,也有开发环境,一堆窗口,最后执行的时候发现执行错了,将演示环境给干掉了,演示环境有我们大量的数据,主要用于给客户演示用的,数据非常重要。