This_Wei

Come on!

概述

这篇文章介绍了 docker 中的容器的概念以及docker 容器的操作和应用。

什么是容器

docker 中的容器(container)是独立运行的一个或一组应用,以及它们的运行环境。

阅读全文 »

概述

在开发中很容易遇到树状结构的数据,比如公司管理层级、比如目录结构等等,当用关系型数据库存储这些数据时,如何设计存储结构以提高查询效率就是一个问题了。这篇文章介绍了使用闭包(Closure Table)表来存储树状结构数据。

graph TD;
A((A)) --- B((B))
A --- C((C))
B --- D((D))
B --- E((E))
B --- F((F))
C --- G((G))

闭包表

闭包表是一张记录树中所有节点以及节点之间的距离的关系表。使用闭包表能够轻松的查询结点的所有子孙节点、父节点,能够按距离查询。但闭包表的使用也会带来一些问题,因为闭包表中记录了所有节点之间的关系,所以在新增节点或修改节点时,都需要变更闭包表,要小心的维护这个表才能保证查询结果正确。

阅读全文 »

概述

这篇文章的内容是我个人 Android 手机使用频率最高的 app,在手机存储空间严重不足的时候,甚至只剩几百兆的时候,这些 app 都没有删掉,可算是日常生活中最不能缺少的 app 了。

阅读全文 »

概述

mermaid 用于在 markdown 插入文档图,本文介绍了在 markdown 中使用 mermaid 插入图形的技巧。

认识 mermaid 图

mermaid github: https://github.com/mermaid-js/mermaid

中文网:https://mermaid.nodejs.cn/

mermaid (中文翻译为:美人鱼),是用文本语法来描述文档图形的工具,可以描述流程图、时序图、甘特图、类图等。在 markdown 文档中可以使用 mermaid 文本插入文档图形,比如:

graph TB;
A-->B & C-->D
阅读全文 »

概述

IOC 和 AOP 是 spring 的两大特性,这篇文章介绍了如何在 springboot 项目中使用 aop 特性。

AOP

AOP,即 Aspect Oriented Programming,面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP 技术将业务逻辑进行横切,在其中加入统一的逻辑处理,这样做的好处是将与业务逻辑无关的代码独立出来,对业务逻辑代码没有侵入性。AOP 技术被广泛用在程序中的权限控制、日志记录、性能统计、安全控制、事务处理、异常处理等方面。

阅读全文 »

概述

这篇文章介绍了一种让大脑休息的方法——正念冥想,介绍了它的概念、作用以及实践指导。

什么是正念

正 念( Mindfulness)起源于佛教禅修,是通过冥想等方法促使大脑获得休息的总称。苹果公司创始人乔布斯就是冥想的实践者,世界知名的企业都在积极的引进 SIY (Search Inside Yourself,探求内心)正念课程,如苹果、谷歌、Facebook 等。

阅读全文 »

概述

springboot 的出现大大方便了 java 者使用 spring 开发项目,springboot 项目中使用配置简化了代码,同时也增加了项目的灵活性。这篇文章讲解了在springboot 项目中使用的常见配置项,还介绍了如何使用自定义的配置项,以及让自定义的配置项拥有代码提示。

SpringBoot 的配置文件

在 springboot 项目中,配置文件默认是在 src/main/resources 目录下的 application.properties 文件,同时 springboot 支持使用 yml 格式的配置文件,只需要将文件 application.properties 的文件后缀改为 .yml 即可,使用 yml 配置文档结构鲜明,阅读和书写起来也更加友好。

  • application.properties

    1
    server.port=8080
  • application.yml

    1
    2
    server:
    port: 8080
阅读全文 »

概述

这篇文章介绍了回溯算法的概念、使用场景,并给出了一些示例代码。

概念

回溯算法的本质是深度优先遍历,不断从节点中尝试搜索找到问题的解,如果在搜索过程中发现不满足求解条件,则 “回溯” 返回,尝试其他路径继续搜索解决。这种走不通就后退尝试其他路径的方法就是回溯法,许多复杂的,规模较大的问题都可以使用回溯法解决,所以回溯法有 “通用解题方法” 的美称。

阅读全文 »

概述

这篇文章介绍了访问者模式(Visitor Pattern)的概念、优缺点、使用场景以及代码示例。

访问者模式的定义

Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.

封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于用于这些元素的新的操作。

——《设计模式之禅》

访问者模式的目的是将数据结构和操作分离,用于数据结构固定,操作易变的场景,例如给不同的主管生成不同的报表。

UML 类图

  • Visitor 抽象访问者,接口或抽象类,申明访问者可以访问哪些元素,通过 visit 方法的参数来定义哪些对象可以访问。
  • ConcreateVisitor 具体访问者,定义了对每个元素访问时的具体操作
  • Element 抽象元素,接口或抽象类,申明接受哪一类访问者,通过 accept 方法参数来指定。
  • ConcreateElement 具体元素,实现 accept 方法,通常都是 visitor.visit(this)
  • ObjectStruture 结构对象,元素产生者,一般容纳在多个不同类、不同接口的容器,如 List、Set、Map 等。
阅读全文 »

概述

这篇文章介绍了最常用的网络抓包工具——Wireshark 的简单使用方法,还讲解了一些相关概念。

Wireshark 是什么

官方网站:https://www.wireshark.org/

Wireshark 是开源的、世界上使用最广泛的网络抓包分析工具,可以从微观角度查看网络上发生的事情,是许多商业、非盈利企业、政府和教育机构的标准。Wireshark 可以用来解决网络问题,检查网络安全,验证网络应用,调试协议实现,还可以用来学习网络协议内部。

阅读全文 »
0%