- 博客(238)
- 资源 (9)
- 收藏
- 关注
原创 pom 关系
POM 关系Maven 一个很强的地方是它的对于项目关系的处理,包含了依赖(transitive dependencies,在这里可能应该理解为传递依赖),继承,和聚合(多模块项目)。Dependencies 依赖... <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>
2022-05-08 18:20:11 624
翻译 GitOps 的原则
The entire system described declaratively.整个系统都是被声明式地描述。With Gitops, Kubernetes is just one example of many modern cloud native tools that are “declarative” and that can be treated as code. Declarative means that configuration is guaranteed by a set of
2021-11-11 18:01:02 224
原创 GitOps 学习:GitOps 是什么
GitOps 是什么?参考官网:Pioneered in 2017, GitOps is a way to do Kubernetes cluster management and application delivery. GitOps works by using Git as a single source of truth for declarative infrastructure and applications. With GitOps, the use of software age
2021-11-10 19:01:47 1136
原创 Maven 的依赖仲裁
Dependency mediation依赖仲裁,是指在依赖树中有可能存在有不同版本的相同的制品,那么 Maven 会选择哪一个制品呢,或者说 Maven 选择的原则是什么呢?这里就给予了解释,Maven 是根据依赖树种,谁更靠近根节点,就选用谁,可以参考上面第一张图来理解,最终选择了 D 1.0,第二张图是一种解决方案,就是直接引用,这样降低了引用的层级,更靠近根节点。参考https://maven.apache.org/guides/introduction/introduction-to-de
2021-10-25 22:22:06 301
原创 Maven 的坐标
Maven Coordinates,coordinates 英文字面翻译过来就应该是坐标,这里的意思应该是使用这个坐标就能定位到一个具体的 maven 的制品。groupId:这个其实是组织的信息,组织的唯一标识,例如 org.apache.maven,不过这里不一定要一定使用点这个符号,也不必要一定要和项目的报名对应上,当然,最好是对应上,这样其实在 maven 仓库里面就可以呈现出很好的目录结构。artifactId:制品 Id,这个是在 group 下面一级的概念,是在组织内部用来区分的信息。v
2021-10-23 11:25:27 410
原创 CAS 学习
概要CAS Compare and Swap 学习,看到网上到处有人说 CAS 是一种无锁算法,实在是有点忍不住,这种对于技术的研究,需要一种寻根究底的态度,模棱两可没掌握清楚,就随便发帖,然后后面的人也是人云亦云,这样整体的技术水平怎么可能得到提高呢?博客IT老兵博客正文参考维基:In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve syn
2021-09-25 10:32:03 189
原创 算法:两数之和
两数之和 II - 输入有序数组难度简单给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。示例 1:输入:n.
2021-09-10 17:31:33 557
原创 Java 的 Funtional interface
函数式接口函数式接口包含了两部分,一部分是 java.util.function 里面已经提供的接口,另外一部分是允许用户自己来创建的接口。函数式接口的实现往往是 lambda 表达式。这里面的最后一句是请开发者先去浏览一下这个包的内容----在创建新的函数式接口之前----我也认真地去看了,理解这里的意思是说,因为这个包里面已经提供了一些函数式接口,先看一下有没有已经满足你需求的,而不要上来就创建新的,这样就是《大市场与市集》那本书(或者是《人月传说》)里面讲的,一个好的程序员应该更好地去使用现有
2021-07-09 11:08:53 217
原创 Java 的 Objects.requireNonNull()
理解一下 Java 的 Objects.requireNonNull(),参考 这里,截图如下,这种处理叫做 fail fast,其实就是方便了使用者,否则,使用者需要自己去进行入参保护。这个时候想起了两个小插曲:当年去华为面试,算法其实写的还行,最后被否掉了,面试官说,你没有做入参保护,代码不安全,他的话对我后来的开发工作带来很大的影响,写代码应该心存敬畏,小心翼翼,一个小地方都不要有任何疏忽。我跟同事说,你的代码没做入参保护,他说,我是内部系统,不需要----你的代码的健壮性取决于别人----这
2021-06-15 11:13:07 762
原创 POM 的 scope
scope 用来约束依赖的传递性,是说这个依赖能不能被外部依赖这个依赖的项目看到并且使用吗?参考https://www.baeldung.com/maven-dependency-scopeshttps://maven.apache.org/pom.html
2020-09-21 11:47:25 292
原创 自旋锁
参考这里,自旋锁是不释放 CPU 的,而一般的锁,会让进程进入睡眠状态,让出控制机,等待条件满足,被内核唤醒。参考https://stackoverflow.com/questions/1957398/what-exactly-are-spin-lockshttps://stackoverflow.com/questions/26709471/how-to-implement-a-spinl...
2020-04-17 17:20:10 215
原创 Python 的 module 和 package(未完待续)
博客博客地址:IT老兵驿站。概要正式使用 Python 也有一年多了,对于 Python 的 module 和 package 却感觉一直没有搞明白,当然,对于这一点,已经查阅过一些资料,有一篇帖子讲的是非常到位的,只是自己一直没有看透,或者换一句话,好像没有好好做做笔记,整理一下,这块知识点就一直没有成为自己知识体系的一员。参考的帖子地址是:https://realpython.com/...
2020-04-16 19:12:46 357
原创 MyBatis 的 mapper-locations 引发的
概要MyBatis 的 mapper-locations 引发的。博客博客地址:IT老兵驿站正文之前做项目,用的是 eclipse,项目是 gradle 管理的 SpringMVC 的项目,使用到 MyBatis,Mapper 的 Java文件和实现的 xml 文件放在一个目录下就可以,不需要做额外的工作。最近使用 Idea 开发 Maven 管理的 SpringBoot 项目,发...
2020-02-16 18:17:25 4296
原创 马丁富勒微服务论文学习
前言研究微服务,自然躲不开要读一读马丁富勒的这篇论文了,之前读过几遍,但是感觉还是有必要记录一下笔记。其实在参考里面的这篇原文的地址里面,已经有了中文的翻译,不过感觉还是应该自己详细研读一下,更得来的比较深刻。正文a definition of this new architectural termThe term “Microservice Architecture” has spr...
2020-01-07 14:35:27 3697
翻译 pom 文件学习(未完待续)
前言大概几十年前搞一个什么项目,研究 Makefile,看一些帖子说有 ant 这么一个东西,比 Makefile 要方便,然后又接触到了 mvn, 使用过 mvn install 这个命令----现在好像这个 install 命令都不怎么看得到了 ---- 一晃这么多年,又要和它打交道了,不过最近这一年来做 maven 项目,不知道看了多少遍官网了,感觉还是没有梳理清楚,这说明 maven ...
2019-12-23 14:53:02 1166
原创 Git:git-merge 的用法总结
前言检查了一下,居然没有总结git-merge,而只是写了几篇和git-merge相关的一些内容,现在来总结一下git-merge。正文git-merge来把两个或更多的开发历史合并。参考https://www.git-scm.com/docs/git-merge/1.7.4...
2019-12-17 18:44:38 3048
原创 如何根据 inode 删除一个文件
概要如何根据 inode 删除一个文件博客原帖收藏于IT老兵博客前言有的时候,在 Linux 下没有简单地使用 rm 来删除一个文件,因为这些文件名前面带有一些特殊字符,这个时候就得使用 inode 来删除一个文件。正文stat {file-name}或者ls -il {file-name}在上面两种情况下,都可以看到 inode 的值。然后像下面这样使用 find 命...
2019-12-15 10:30:05 662
翻译 再识 ES
博客IT老兵博客。概述再识 ES。前言14年创业时,学习过 ES,15年到了厦门,又复习了一遍,现在用到了,所以叫再识。暂时缺乏一个很好的思路去记录这个笔记,那么还是按照最老实的方式来记录,就是对官网的文章一篇一篇地去学习,记录笔记。正文Elasticsearch is a distributed document store. Instead of storing infor...
2019-12-11 16:14:28 485
原创 shell 里面的 ";" "&&" 和 "||"
概要shell 里面的 “;” “&&” 和 “||”博客博客地址:IT老兵驿站正文shell 下面的分号";" “&&” 和 “||” 的区别 。“;” semicolon 分号表示无论前面执行是否成功,都会执行后面的语句。“&&” double ampersand 表示逻辑与的关系,前面的语句成功了,才会执行后面的语句。“||”...
2019-12-09 14:23:07 381
原创 Python 的 module 和 package
前言学Python也有一段时间了,一直没有搞清楚 module 和 package 的区别和概念,走了一些弯路,所以需要做做笔记,总结一下。正文编写 module 的方式There are actually three different ways to define a module in Python:A module can be written in Python itse...
2019-12-07 11:49:16 312
原创 搭建一个 Nexus 的 Maven 仓库
概要搭建一个 nexus 的 maven 仓库。博客博客地址:IT老兵驿站。前言今年开始深度编写 Java 代码,这样就势必会遇到搭建自己的 Maven 仓库,但是 Maven 这个东西,似乎不是那么简单,可以一蹴而就的,所以,需要好好记录一下学习的笔记。本文记录一下使用 Nexus 来搭建 Maven 的仓库的笔记,感觉不是太好记,内容太多,先走一步,看一步吧,记录一下,总比不记录...
2019-12-04 18:52:51 595
原创 Python的异步编程介绍(MD)
概要Git:Python的异步编程介绍(MD)。博客博客地址:IT老兵驿站前言这里翻译和学习一篇介绍Python的异步编程的文章,在网上找了半天,感觉这篇写的很好,把几种实现方案都举了例子,而且列出了优劣。之前的文章采用了富文本编辑,不太方便,这次改为MD格式。正文介绍 IntroductionAsynchronous programming is a type of pa...
2019-11-28 23:25:29 531
原创 vim 的移动
概述vim 的移动。博客博客地址:IT老兵驿站。前言大概是在10年,还是11年,还在拉卡啦的时候,开始完整学习vim的手册,记得是一直到360,大概把手册看了几遍,不过因为需要记忆的内容实在是太多了,或者是因为懒惰,很多命令还是没有学明白,主要是没有去实践,就忘记了。其实,当时也记了笔记,不过笔记本早都找不到了,也是没有掌握记笔记的要领。现在重新记录一下。这篇笔记也比较难一气呵成,能...
2019-11-23 12:08:30 309
原创 Java中如何创建自定义的注解学习笔记(MD版)
前言这篇文章之前使用的是富文本编辑的,现在感觉迁移起来太痛苦,所以改为 Markdown 来记录。关于Java的注解,我一直在用,没有太搞明白它的原理,至于如何自定义一个注解,就更不明白了。其实参考的这篇文章,之前看过一遍,当时以为看懂了,但是最近在工作中去印证的时候,发现对注解还是不理解,所以这两天又再看了一遍,感觉这下又懂了一些。本文针对着原文的段落进行备注和记录笔记。正文This...
2019-11-16 14:57:18 507
原创 二叉树学习笔记(未完待续)
摘要二叉树学习笔记(未完待续)。博客IT老兵驿站。前言昨天(2019-11-07)复习红黑树,发现红黑树和二叉树密不可分,所以这里再复习一下二叉树。在大学的时候,这块我很认真地学习了一遍。大学毕业后,因为找工作的缘故,我又多次对这块进行过认真的学习,对于这块,心里还是比较清楚的。现在这个笔记呢,既复习一下知识和概念,也回顾总结一下很多经历过的事情。正文定义参考维基百科二...
2019-11-08 17:28:13 305
原创 红黑树学习笔记
摘要红黑树学习笔记。博客IT老兵驿站。前言在08、09年的时候,那个时候因为工作的需求,需要研究文件系统,然后就遇到了红黑树,也就研究了一下红黑树,不过时至今日,感觉已经记不太清楚了,感觉当时可能也没有研究的很透彻。最近的工作中,又遇到了红黑树,就捡起来复习复习。孔子说,“温故而知新,可以为师矣”,我为不了师,不过发现,温故确实是可以知新的。正文定义参考维基百科:节点是红色...
2019-11-07 20:11:46 206
原创 MySQL的聚集索引
概要MySQL的聚集索引。博客原帖收藏于IT老兵驿站。正文什么是聚集索引?参考这里A clustered index, on the other hand, is actually the table. It is an index that enforces the ordering on the rows of the table physically.聚集索引就是说索引...
2019-11-05 17:26:26 355
原创 B 树、B+ 树学习之一(MD版,不断更新中)
前言这篇帖子原本写于2015年,写于厦门,时至今日(2019年11月5日)来看,感觉当时记录笔记,缺乏一个完整的思路,记录的不好,不方便以后的阅读,今天刚好又遇到了B数的学习,那么把它修改一下。原本的帖子不是用MD写的,不利于编辑,只好删除掉,重新用MD格式来编辑。正文个人理解,现在,B树主要的一个应用是数据库存储引擎(InnoDB),用B树的原因,是为了更少地访问磁盘,更快地检索到数据的...
2019-11-05 16:50:13 536
原创 Linux的top和free命令里面的buffer和cache
概要Linux的top和free命令里面的buffer和cache博客原帖收藏于IT老兵博客前言linux里面top命令和free命令都会有一个buff/cache,从08年就一直遇到这个,感觉一直没有搞的太明白,这次好好地做一个总结。这个总结不见得能一步到位,到不了位,就分步来走,聚沙成塔。正文参考这里,buffersMemory used by kernel buf...
2019-10-19 16:54:18 2098
原创 微服务学习
前言这几天要学习一下微服务,这个名字一直在听,但是一直没有搞清楚,今天认真读了一下Martin Fowler的原著,准备把这篇文章好好地消化一下。正文Characteristics of a Microservice Architecture微服务架构的特征Componentization via Services通过服务来组件化Organized around Business ...
2019-09-09 21:36:35 161
翻译 Java的VO、DO、DTO和Java Bean学习
概要Java的VO、DO、DTO和Java Bean学习。博客原帖收藏于IT老兵博客。正文JavaBeansA JavaBean is a class that follows the JavaBeans conventions as defined by Sun. Wikipedia has a pretty good summary of what JavaBeans are:...
2019-09-06 17:15:50 869
原创 make 和 cmake 的区别
概要make 和 cmake 的区别学习博客博客地址:IT老兵驿站正文“The build process has one step if you use a Makefile, namely typing “make” at the command line. For CMake, there are two steps: First, you need to setup your...
2019-08-12 16:58:48 782
原创 Linux下shell命令用法及常见用例总结:tar
概要Linux下shell命令用法及常见用例总结:tar。tar命令用来归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用gzip或者bzip2等技术进行压缩。博客博客地址:IT老兵驿站正文命令格式tar [OPTION...] [FILE]...命令功能Tar(Tape ARchive,磁带归档的缩写,最初设计用于将文件打包到磁带上,现在大都使用它来实现备份某个分...
2019-08-12 14:58:45 387
原创 Git:git-rev-parse 命令学习
前言在研究Jenkins的时候,遇到了git rev-parse这个命令,这里学习一下这个命令。正文git-rev-parse - Pick out and massage parameters这是这个命令的概要解释,理解起来有一点障碍,挑选出来并且“按摩”参数,这个有点意思啊,对参数进行一下按摩。(这里这个massage是不是应该按照调整来理解呢?)Many Git porcel...
2019-08-09 18:31:25 15597 5
翻译 使用 Sping Boot 创建一个自定义的 Auto-Configuration
正文Create a Custom Auto-Configuration with Spring Boot1. OverviewSimply put, the Spring Boot autoconfiguration represents a way to automatically configure a Spring application based on the depend...
2019-07-25 13:53:23 959
翻译 Spring中的REST错误处理
前言这篇文章介绍了在Spring中的对于REST的几种错误处理。正文Error Handling for REST with Spring1. OverviewThis article will illustratehow to implement Exception Handling with Spring for a REST API. We’ll also get a ...
2019-07-25 11:09:23 2338
翻译 iOS 设计主题(迟来的总结)
博客原帖收藏于IT老兵博客。前言尽管之前写过iOS的程序,但是没有像当年(注1)学习安卓那样,去学习一下iOS的设计理念,等了这么久,今天在这里补充一下对设计理念的学习。这篇文章感觉比较重要,我尽量逐字翻译一下,感觉这样学习得就会更加深刻一些。注1:这里是指2013年,记得那会学习安卓的设计理念,有一句话让我印象很深,让便捷流于手纸,而安卓是偷师于苹果的设计,这里更需要好好研究一下苹果...
2019-07-24 14:09:08 787
The.C++Programming.Language.3rd.Ed
2010-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人