Maple's Blog.

Maple's Blog.

keep coding and having fun

Java中PO,VO,POJO,DTO,DAO的基本概念
[转载] (https://developer.aliyun.com/article/19761) **PO:**persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 BO:business object业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会 关系等等。我们可以把教育经历对应一个PO,工作经历对应一个PO,社会 关系对应一个PO。建立一个对应简历的BO对象处理简历,每个BO包含这些PO。这样处理业务逻辑时,...
MySQL 启动 error [InnoDB: Missing MLOG_CHECKPOINT]
123456782023-02-28 9:38:50 0 [ERROR] InnoDB: Missing MLOG_CHECKPOINT at 6701716404 between the checkpoint 6701714063 and the end 6701716404.2023-02-28 9:38:50 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error2023-02-28 9:38:51 0 [Note] InnoDB: Starting shutdown...2023-02...
RabbitMQ 重启后无法启动问题
问题1234567891011121314151617181920212223242526272829303132333435363738394041424344BOOT FAILED===========Error description: init:do_boot/3 line 817 init:start_em/1 line 1109 rabbit:start_it/1 line 474 rabbit:broker_start/1 line 350 rabbit:start_loaded_apps/2 line 600 app_utils:man...
谈谈 es module
es module 估计很多人和我一样,纠结为啥 nodejs 要换 module 引入方式,难道 nodejs 真的作为前端小工具存在了? import export 对于前端而言,最大的优势是异步引入依赖,这样,在加载文件的过程中,前端 js 其实是属于 wait 的状态,而不是同步堵塞,这对前端而言意义重大。 而 nodejs 作为后端,加载速度可以说毫无压力,之前在前东家,算是比较大的项目,加载速度也不过几十秒。况且,后端完全不在乎启动速度。 更更更何况,用异步和同步的方式去加载文件,速度都是一样的,区别是同步 cpu 是堵塞,异步 cpu 是活动。很多小白会以为异步加载会快一点...
OpenVPN 存在 ping 超时的问题
场景 在家里有一台 ESXi ,用于创建乱七八糟用于开发的虚拟机。前段时间因为🐑了所以没去上班。今天到公司,按惯例连上家里的 OpenVPN,然后通过 SSH 访问 ESXi 上的一台主机。却发现有明显的卡顿。 使用 ping 了家里的网关,发现丢包严重,达到了 25%。 我的 OpenVPN 是基于 Synology Nas 服务的一个组件。而 Synlogy 搭建于 ESXi。 分析 公司网络问题 首先怀疑的是公司的网络问题。测试办法就是在没有连 vpn 的情况下,ping baidu.com。发现正常没有丢包。 然后又从家里启动一台基于物理机的 Nas ,连接这个 Nas ...
bootstrap.yaml 参数获取
123456789101112131415import lombok.Data;import org.springframework.stereotype.Component;import org.springframework.beans.factory.annotation.Value;/** * @author maple * @since 2022-12-06 */@Data@Componentpublic class GatewayProperties { @Value("${gateway.host}") priv...
Java9 - Java18 新特性
Java9 jshell 接口私有方法 优化了 try with resource 不支持 _ 作为变量名 String 内部从 char 存储改为 byte 存储 模块分组 Stream 加强 集合加强 List.of() Map.of() copyOf() Java10 用了 var 来进行自动推导类型 Java 11 (LTS) String.strip 用来去除首尾空格,还能除去 unicode 编码的空白字符 String.isBlank 判断字符串是否为 0 或者空格等空白字符 String.repeat(n) 字符串重复 Optional 加强 InputStrea...
TypeScript 的高级类型
Record给若干个参数创建属性 1234567type Coord = Record<'x' | 'y', number>;// 等同于type Coord = { x: number; y: number;} Pick选择若干个参数 1234567891011type Coord = { x: number; y: number;}type CoordX = Pick<Coord, x>type CoordX = { x: number;} Rea...
ArrayBuffer,二进制数组
转载:https://zh.javascript.info/arraybuffer-binary-arrays ArrayBuffer,二进制数组在 Web 开发中,当我们处理文件时(创建,上传,下载),经常会遇到二进制数据。另一个典型的应用场景是图像处理。 这些都可以通过 JavaScript 进行处理,而且二进制操作性能更高。 不过,在 JavaScript 中有很多种二进制数据格式,会有点容易混淆。仅举几个例子: ArrayBuffer,Uint8Array,DataView,Blob,File 及其他。 与其他语言相比,JavaScript 中的二进制数据是以非标准方式实现的...
ES 版本新特性
环境12$ node -vv18.9.1 ES6 (2015)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687// classclass Person { constructor(name) { this.name = name; } payMoneny() ...
avatar
Maple
coding & have fun