Maven 插件学习之: shade 插件

maven shade plugin 插件允许把工程使用到的依赖打包到一个 uber-jar(单一 jar 包) 中并隐藏(重命名)起来。 Shade Plugin 绑定到 package 生命周期。 使用 shade 常见的场景: 对包名进行重命名 生成单一 jar 包 使用 <project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins< Read more ...

2019-02-27 maven , maven-plugin , build , java

Cinnamon 桌面下 Applets 推荐

使用 Linux Mint 一些时候,真的发现有些功能和配置真的非常舒服,以前也写过一篇文章说的是 Cinnamon 桌面自带的 nemo 文件管理器,这可能是我用过的所有系统中自带文件管理器让我用的最舒服的了。所以这里再总结一篇 Cinnamon 下好用的 applets 。 Cinnamon 下所有的 applets 都存放在 ~/.local/share/cinnamon/applets/ 目录下,如果有安装包直接移动到该目录下即可。 Desktop Capture 一句话简单的说就是支持 Screenshot 和 Recorder,录屏和录制 Read more ...

2019-02-22 cinnamon , linux-mint , applets , desktop , gui

maven 相关的错误

deploy 遇到 400 错误 错误日志 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xxxx: Failed to deploy artifacts: Could not transfer artifact xxx:pom:1.0.1 from/to archiva.internal (http://nexus.xxx/nexus/content/reposito Read more ...

2019-02-20 maven , error

设计模式之行为模式

设计模式的行为模式关注类和对象如何交互,以及如何负责对应的事务,也就是怎么定义类的行为和职责。 模板方法模式 模板方法 (Template Method) 模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 Java 的集合就是一个典型的,利用了模板方法模式的例子。Java 集合中的 Collection 集合包括 List 和 Set 两大组成部分。List 是队列,而 Read more ...

2019-02-19 design-pattern , java

启动挂载配置 fstab 文件

因为之前克隆系统 获知了 fstab 文件,用来在启动系统时挂载对应硬盘分区中的系统。打开我自己系统的文件之后也发现可以配置挂载其他 FAT 或者 NTFS 格式的 Windows 下的分区。而最近可能因为 SSD 挂掉的原因,系统无法启动,再次把 fstab 放到了重要的位置,所以才有了这样一篇文章,主要用来总结一下 /etc/fstab 文件的作用及配置。 fstab 的完整路径是 /etc/fstab,纯文本文件,root 用户用任意的文本编辑器打开即可。fstab 是启动时配置文件,实际文件挂载是记录到 /etc/mtab 和 /proc/mo Read more ...

2019-02-18 fstab , mount , linux , file , disk

设计模式之结构模式

设计模式中的结构模式可以让我们组合类或者对象形成比较大型的结构,但也能保证结构的可维护性和可扩展性。 适配器模式 适用场景: 复用一个已经存在的类,但是类提供的接口不符合使用场景,使用适配器重新定义接口 在不对每一个都进行子类化以匹配它们的接口的情况下,使用一些已经存在的子类 类适配器 类适配器把”被适配的类的 API” 转换成 “目标类的 API”。 三个角色:目标 (Target),源 (Adaptee) 和适配器 (Adapter) 对象适配器 与类适配器一样,对象适配器也是把”被适配的类的 API” 转换成 “目标类的 A Read more ...


设计模式之创建模式

本文主要归纳设计模式中的创建模式 (creational pattern),主要包括了工厂模式,单例多例,建造者模式,和原型模式等。 创建模式是指对象的实例化过程,这些模式都提供了一种将对象实例化从客户端分离的方法。 为什么要有创建模式,这也符合开闭原则,Java 自带的 new Object() 实例化对象没有任何问题,问题在于修改,一旦当具体实例涉及变化,那么就必须修改实例自身,不符合开闭原则,所以才有这么多的创建模式。将对外暴露的接口抽象起来,将对象创建的方式封装,对外接口尽量减少。 简单工厂 主要分为三个部分,工厂,抽象产品,具体产品。 Read more ...


Kindle 篇一:如何把 Kindle Unlimited 的钱看回来

阅读专题书籍 Kindle Unlimited 特别适合专题阅读,比如想要了解日本文化,那么通过搜索日本,可以获得一系列的关于日本的书籍,借阅自己喜欢的书阅读即可。比如日本就可以搜索到,《静观日本》,《牛津通识读本现代日本》,《日本人的活法》,《走遍日本》,《图说日本》,《日本论》,《日本常识》等等的书籍,如果变换关键词也会搜索到像《菊与刀》这样的关于日本文化的书籍。那么通读这一系列的图书就能够快速建立起对于日本这个国家的认识。 同样的道理如果想要了解,政治学,心理学,可以直接以关键词去搜索,当然不一定这一个门类的图书都是在书名中包含关键字的,但是 Ki Read more ...


Google Forms 使用

Google Forms 是集成在 Google Docs 中可以用来快速创建调查问卷,建立报名系统,反馈调查等等的应用。Google Forms 原来属于 Google Docs,现在已经集成在了 Google Drive 中。 打开入口 Google Forms 的入口藏的有些深,如果不是之前就知道这个功能可能很多人用了多年 Google Docs 或者 Google Drive 都不曾知道有这个功能。在 Google Drive 中左上新建,然后在菜单中找到更多,然后其中有 Google Forms。 另外可以直接打开 Google Form Read more ...

2019-02-01 google , google-docs , google-drive , quiz

expect 脚本使用

expect 是用来进行自动化控制和测试的工具。主要是和交互式软件 telnet ftp passwd fsck rlogin ssh tip 等进行自动化的交互。Linux 交互命令中经常需要输入 yes/no 或者 password 等操作,模拟这些输入,就可以使用 expect 脚本。expect 是由 tcl 语言演变而来的。简单地说,expect 是一个工具,可以根据用户设定的规则和系统进程进行自动化交互,例如远程登陆的密码输入、自动化的执行远程命令。 一个非常典型的使用场景就是一般在公司中都会使用 relay 来连接管理服务器的远程连接和使 Read more ...

2019-01-29 expect , linux , automate , shell , script , 运维 , 自动化

最近文章

  • Windsurf 又一款 AI 智能编辑器 Windsurf 是 codeium 公司发布的一款 AI 辅助编程工具。
  • Flowith 基于白板的 AI 工具 Flowith 是一款基于二维画布、节点式、支持动态 UI 的 AI 内容生成工具。Flowith Oracle 想要打造一款 AI agent,自动帮助完成多个步骤,复杂的任务需求,可以自主规划、拆分和完成任务。年初的时候知道了这一款工具,但是一直没有用起来,现在就来再好好体验一番。
  • 个人订阅管理工具 Wallos Wallos 是一个强大的,管理订阅的开源工具,互联网应用发展到现在越来越多的应用从买断制转变成了订阅制,虽然这些服务给我们带来了便利,但是如何有效地管理和追踪自己订阅的内容就变成了一件相对麻烦的事情,因为有一些订阅可能是信用卡直接扣款,有一些可能是在 iOS App Store 里面管理,还有一些可能是 PayPal 订阅,Wallos 就是为了解决这个问题,提供了集中一体化追踪,管理,分析订阅的应用。
  • 另一款开源美观的稍后阅读和书签管理工具 Hoarder [[Wallabag]] 是我使用很久的一款稍后阅读应用,PHP 编写,但是整体 UI 界面都比较古老,但是整体使用上没出现什么问题,之后还陆陆续续体验过 [[linkwarden]],[[Omnivore]] ,[[Cubox]],[[Readwise]] 等等开源或商业的稍后阅读,但是最近也刚刚得知 [[Omnivore]] 被收购,服务也要停止了。
  • 全球旅行流量 Roamless eSIM 注册即送 5 美元余额 Roamless 是一个支持全球 181 个国家和地区的 eSIM 电话以及流量卡服务商,通过手机应用就可以快速安装 eSIM,并按需在全球不同国家和地区购买流量和通话,非常适合现代环球旅行或居所不定的人群。有了 Roamless 就不需要在各个国家的 eSIM 或流量卡之间进行切换,Roamless 会自动漫游当地的流量,我之前些天购买了一部支持 eSIM 的手机,并且刚好看到 Roamless 注册即赠送余额的活动就来体验一下,余额没有有效期,等以后出去旅游再用。