这里是黄永亮的博客

20220510数据结构绿书读书笔记

/* From extension vscode.github */ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .vscode-dark img[src$=\#gh-light-mode-only], .vscode-light img[src$=\#gh-dark-m ...

20220509数据结构绿书读书笔记

20220509 数据结构读书笔记 全书目录如下 1.编程原则 2.栈 3.队列 4.链栈&队列 5.回溯 6.列表和串 7.搜索 8.排序 9.表格与信息检索 10.二叉树 11.多叉树 12.图 13.波兰式 开坑! 第一章其实上学时候就看过,我很多的习惯都是因为这本书才养成的,但当时并没有记录- -,这次一并补上,看英文书的好处就是写的足够详细,什么时候读都能get到作者的意思,不好的地方就是太啰嗦了。但好在我是为了消磨时间才立的这个flag 编写一个large的程序往往有很多问题,这里的large可以理解为实现复杂或者规模庞大 问题1.精确的定义问题 拆分并 ...

20220424树的布局算法

某群友需要绘制树形结构数据到excel中,拍脑袋想了下感觉不是很难,遂给出算法分析。 偷懒用了excel的column和row函数获取所在行列,直接能看到结果,目测也是算得出来结果的 因为要求是横着的,所以例子是横着的。但算法定义时候是竖着思考的,所以用的是宽度w和距离左侧的宽度l,算完了再横过来画就完了 首先这样定义子节点宽度: 当不存在子节点(即叶子节点)时,宽度为1 当存在子节点时,如果子节点为奇数n则宽度为n,如果为偶数n则宽度为n+1。说明:因为偶数的情况下父节点需要居中占一个,(n+1)/2的位置要空着给父节点 然后计算 ...

20211023.Web后端参数检查的通用代码生成设计与实现

Web后端参数检查的通用代码生成设计与实现 前言 本文章来自这里,主要讨论&设计常见接口实现逻辑中的参数校验部分,主要是实现到Controller实现逻辑的时候决定修改总计划,不再追求全流程代码生成,原因不再赘述。 相关源代码库 元模型定义 https://github.com/956237586/hyldesigner 代码生成器  https://github.com/956237586/hyldesigner-codegen realworld-mdd demo https://github.com/956237586/realworld-mdd 需求价值 简化&替代实际业务场景下常见的参数校验代码编写,提高开发效率,减少浪费在Copy And Paste上的宝 ...

20210828.近期动态分享:MDSE实践计划及过程记录

背景&闲聊 (说起来好久没好好写过博客了,进到主页看到之前挖的坑没怎么填,我的内心居然毫无波动。一个是工作比较忙没啥精力更新,一个是沉迷原神hhhh) 最近同事离职,开发任务短期内变多,接手项目得快速的阅读代码、填坑、修bug,还得开发新功能。面临的问题:1.面对未知项目代码,快速分析、理清逻辑依赖、上手开发新功能/修复bug。2.简化工作中重复/规律性极强的操作 下班后不由得开始思考,有没有一种工具/方法能简化我日常的工作,让我专注于更有价值的事情上,而不是照着设计文档人肉翻译到Java代码。 看着床头一摞毕业后 ...

20210424 Levenshtein距离解析

0.前言 距离上一次分析算法已经过去好几年了- -以我的算法水平其实是很讨厌分析算法的,一个是想写明白耗时很长,一个是说人话很啰嗦。但是写代码或公式又大部分人很难理解。今天要分析的算法是字符串相似度,Levenshtein距离 形式化描述:给定字符串strA,strB,求解dist(strA,strB)的值,dist为Levenshtein距离 说人话:两个字符串,编辑几次能变得完全一样,编辑允许的操作(插入,删除,替换字符) 0.定理/公理,人人都能看懂的情况 字符串基本操作: 连接 下文用+代表 删除字符 下文用 删除strA[0]表示 增加字符 下文用 str[x]=’ ...

2020javaweb开发环境搭建

1.前言 目前常用的IDE有eclipse、idea、vscode,本文暂时介绍前两个 tomcat、mysql、jdbc驱动无论哪个方案都需要 2.基础组件下载 2.1.tomcat9 不要用10,eclipse还不支持 https://tomcat.apache.org/download-90.cgi 2.2.mysql https://dev.mysql.com/downloads/installer/ 2.3.jdbc https://dev.mysql.com/downloads/connector/j/ 3.eclipse方案 目前最新eclipse运行本身需要java11以上,这里为了方便使用openjdk15 3.1.IDE下载 下载地址  https://www.eclipse.org/downloads/packages/ 3.2.jre下载 如果你本地有,可以不用下载 下载 ...