将maven项目使用shade插件生成独立jar包

目前使用maven构建java项目的确很容易,主要是因为maven能帮助我们解决第三方包依赖的问题。但在部署时,由于java包依赖的问题 又让事情变得有些复杂。因此,这里介绍一下如何使用maven的shade插件将依赖的class文件打包在一个jar包中,方便部署与运行。

使用ECDSA算法的自签名https证书生成

在之前《自签名https证书生成 (附赠nginx配置文件)》描述了如何为网站生成https 的自签名证书了,但文中所用的非对称加密算法是传统的RSA算法,并且目前常见的自签名证书生成的文章基本都采用RSA算法。 然而作为非对称加密算法的ECDSA,其性能和安全性优于RSA算法,因此目前也被越来越多的地方用于https的证书中。 相比RSA算法的证书,相同安全强度下,ECDSA能够更少的服务器资源占用,更快的响应速度。因此,本文继上一篇文章后,再描述一下 采用ECDSA椭圆曲线算法生成自签名的ECC证书。

使用Rust进行stm32嵌入式开发之Blink

rust作为一个内存安全并且无运行时(runtime)的现代开发语言,其中的卖点之一就是能够进行底层开发。 那么,如果用rust替代嵌入式开发中常用的C/C++语言会是怎么样的一种体验呢?因此,我们这里尝试使用rust 针对stm32f103c8的最小系统板进行开发。

基于多模块的maven项目

目前Java的开发基本都已经依赖于maven对项目进行构建和依赖管理。虽然gradle也逐渐被更多的人开始使用,但就目前来说maven的使用率还是比较高的。 并且,随着微服务的流行在maven的多模块的需求也逐渐增加,也同样能够提升maven工程的代码复用。所以,这里对于maven的多模块项目做一个配置相关的介绍。

Rust针对树莓派的交叉编译开发

树莓派(Raspberry Pi)相信很多同学都有所了解,不了解的可参考树莓派官网。树莓派通俗点讲 是一台运行Linux的ARM处理器的电脑,因此在上面可以运行诸多Linux所拥有的应用程序。一般来说,主要的编程语言是Python,但其他语言 也能够在其上被支持。而Rust相较于Python有更低的内存占用以及更高的执行效率,能更好的提高rpi资源的利用率。然而,如果你的rust工程 较大时,迫于rpi的硬件性能等问题,编译工程就变得相对有些让人抓狂了,甚至在利用多个核心进行编译时,可能还会出现编译错误的问题。 因此,这里介绍如何使用rust在普通的PC环境下,编译生成运行于树莓派的执行程序。

自签名https证书生成 (附赠nginx配置文件)

在日常的工作中经常会遇到需要服务器具有HTTPS的特性。当然对于拥有域名和公网IP的正常服务器来说,使用受信机构签名的证书是最好的选择。 但对于用于内网环境,或者是没有域名的测试服务器而言,自签名证书是折中的选择。这里介绍的是采用一张CA根证书签名服务器证书的情况。 更复杂的多级CA认证的情况这边不作深入探讨。

基于密钥文件登入Linux服务器的配置

在日常工作中,经常需要链接Linux服务器进行操作,不论是普通的终端操作,亦或是通过scp命令将文件上传至服务器, 或从服务器下载。而在这一次次的服务器链接中,难免会需要输入密码进行登入,而对于那些繁杂的密码亦或者各种服务器地址, 我们往往会陷入抓狂。所以,这里就介绍一下如何使用密钥文件访问服务器终端。

数据传输需要安全的HTTPS,所以我们用了自签的CA证书

数据安全现在越来越多的被各个公司所重视起来,甚至有从业人员因为信息泄漏而直接丧失人生自由的。 所以,“安全”对于某些公司已经到了一个歇斯底里的地步了。这里不讨论这样重视“安全”的意识是否正确, 但为了安全而“安全”的做法,很多时候真的让人觉得哭笑不得,甚至让人抓狂。