11 2021 档案
摘要:管理依赖是一个复杂软件开发过程中必定会遇到的问题。 在Node.js项目开发的时候,我们也经常需要安装和升级对应的依赖。虽然 npm 以及语意化的版本号 (semantic versioning, semver) 让开发过程中依赖的获取和升级变得非常容易, 但不严格的版本号限制,也带来了版本号的不确
阅读全文
摘要:全链路追踪技术的两个核心要素分别是 全链路信息获取 和 全链路信息存储展示。 Node.js 应用也不例外,这里将分成两篇文章进行介绍;第一篇介绍 Node.js 应用全链路信息获取, 第二篇介绍 Node.js 应用全链路信息存储展示。 一、Node.js 应用全链路追踪系统 目前行业内, 不考虑
阅读全文
摘要:我常说,只有底层逻辑才有生命力。 因为底层逻辑在面临变化的时候,能够应用到新的变化里面,会产生出新的方法论。 如果用一个公式来表示的话,是这样: 底层逻辑 + 环境变量 = 方法论 如果说只掌握各行各业的“干货”方法论,那只是“授人以鱼”,只要环境出现任何变化,“干货”就不再适用。 但如果掌握的是“
阅读全文
摘要:搜索引擎为什么能查询速度那么快? 核心是在于如何快速的依据查询词快速的查找到所有的相关文档,这也是倒排索引(Inverted Index)的核心思想。那么如何设计一个快速的(常量,或者1)定位词典的数据结构就显得尤其重要。简单来说,我们可以采用HashMap, TRIE, Binary Search
阅读全文
摘要:一、unicode-range是什么? 一看名称,很多小伙伴可能认为是个什么生僻的东西,实际上,这玩意只是名字怪怪的,功能关键时刻还是很管用的。 unicode-range是一个CSS属性,一般和@font-face规则一起使用。 大家应该不赶时间吧,那我们一点一点往下深入,现在很多网站会使用微软雅
阅读全文
摘要:想要知道 Webpack 打包原理的我们需要提前知道两个知识点 1、什么是 require? 说到 require 首先想到的可能就是 import,import 是 es6 的一个语法标准, – require 是运行时调用,因此 require 理论上可以运用在代码的任何地方; – im
阅读全文
摘要:之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation。本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底! 项目源码:spring-validation 简单使用 Java
阅读全文
摘要:关于字符集 修改 /etc/my.cnf文件添加如下内容: [mysqld] collation-server = utf8mb4_unicode_ci init-connect='SET NAMES utf8mb4' character-set-server = utf8mb4 [client]
阅读全文
摘要:前言 随着互联网技术飞速发展,网页录屏技术已趋于成熟。例如可将录屏技术运用到在线考试中,实现远程监考、屏幕共享以及录屏等;而在我们开发人员研发过程中,对于部分偶发事件,异常监控系统仅仅只能告知程序出错,而不能清晰的告知错误的复现路径,而录屏技术或许能帮我们定位并复现问题。那么本文将从有感录屏和无感录
阅读全文
摘要:一、日志简介 1.1 日志是什么(WHAT) 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。 通常,Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug 调试功能来跟踪解决Bug,但项目发布到了测试、生产环境怎么办?你有可能会说可以使用远程调试,
阅读全文
摘要:学习目标 快速掌握邮件业务类的核心逻辑和企业邮件的日常服务。 快速查阅 专题阅读:《SpringBoot 布道系列》 源码下载:springboot-send-mail — Hey Man,Don't forget to Star or Fork . — 基础知识 什么是SMTP? SMTP全称为S
阅读全文
摘要:"All problems in computer science can be solved by another level of indirection.” – David J. Wheeler “计算机世界就是 trade-off 的艺术” 一、前言 最近接触的几个项目都使用到了 Elast
阅读全文
摘要:分组并获取每个分组中Top N个数据的需求在实际开发的过程中经常会遇到。例如,购物网站中经常会遇到的展示一个店铺列表,每个店铺列表中带有多个该店铺的产品信息。当然,展示店铺列表并分别去获取店铺指定数量的产品是个最为简单的做法,但需要消耗大量的资源。 在本文中,我们将会以一个简单的例子展示在Mongo
阅读全文
摘要:正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示: “兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。 -- 如果存在 person 表先删除DROP TABLE IF EXISTS person; -- 创建 person 表,其中 us
阅读全文