ubuntu中常用的apt源
本文记录了ubuntu
中常用的apt
源, 以及如何配置apt
源.
本文记录了ubuntu
中常用的apt
源, 以及如何配置apt
源.
在日常开发中, 有时候需要使用不同版本的nodejs
来开发不同的项目.
例如, 有一个UI
项目, 需要使用nodejs
的v12
版本, 而另一个项目需要使用nodejs
的v14
版本.
这时候就需要使用nvm
来实现nodejs
的多版本管理.
本文将以nodejs-v18
为例介绍如何使用nvm
来实现nodejs
的多版本管理
在ssh
中, 默认是不允许使用password
认证的, 但是有时候, 我们需要使用password
认证.
为了能够实现这个功能, 我们需要对ssh
进行配置
在编程中, 命名是一件非常重要的事情, 好的命名能够让代码更加易读, 也能够让代码更加易于维护.
通常我们在阅读第三方库的代码时, 会发现很多方法的命名都是以一些固定的命名前缀开头的.
本文主要总结目前我所了解的一些常见的命名前缀的含义. 并对其进行分类, 大致的分类主要如下.
对于每种命名规则, 我都会给出自定义的例子, 同时也会附带第三方库中的现有案例以便于更好的理解.
代码以kotlin
实现, 但是大部分的命名规则都是通用的, 也适用于其他的语言.
springdoc
是一个可以快速生成API
文档的第三方公共库, 并提供了UI
页面以供访问.
同时它也提供了spring-webmvc
中的handler
中的参数对象到API
参数的转换.
对于spring-data-commons
中的Pageable
和Sort
, springdoc
提供了开箱即用的功能,
需要在配置文件中启用以及在参数中声明@ParameterObject
springdoc:
model-converters:
pageable-converter:
enabled: true
对于已经存在的项目, 当刚引入springdoc
时, 需要配置大量的@ParameterObject
注解以实现参数转换功能.
这个过程通常比较繁琐, 因为对于一个具有一定规模的项目而言, 其对外提供的API
往往会非常多,
需要进行大量的修改功能才能实现该功能
那么此时我们需要一种解决方案, 即如何在不配置@ParameterObject
的情况下实现Pageable
以及Sort
对象到API参数的转换
容器启动时, 需要通过环境变量注入配置给应用程序.
以spring.ldap.urls
此配置为例, 它是一个数组.
snap
默认会保留旧版本的应用, 但是这些旧版本的应用占用了大量的空间, 所以我们需要清理旧版本的应用, 以释放空间.
默认情况下k8s
中的Service
为ClusterIP
类型, 即只能在集群内部访问, 无法通过外部访问(这里的外部指的是k8s
集群外部,
即k8s
集群所在的VPC
外部).
NodeProt
也存在同样的问题, 无法通过外部访问.
为了能够通过外部访问k8s
中的service
, 需要启用nlb
以实现为aws-eks
托管的k8s
中的service
启用外部访问能力.
aliyun-webdav
是一个开源的工具, 可以为阿里云盘提供WebDAV
服务.
rclone
是一个开源的工具, 可以将本地文件同步到各种云存储服务中, 包括但不限于
以下将介绍如何使用aliyun-webdav
搭配rclone
实现将本地文件同步到阿里云盘.
本案例是基于ubuntu
实现的, 方案使用到了docker
因此理论上可以在任何支持docker
的系统中实现.
在使用snap
安装应用时,如果没有指定版本,会默认安装最新版本的应用.
有些场景下需要安装指定版本的应用
例如UI
项目目前仅支持nodejs
的v12
版本, 那么就不能安装最新版本的nodejs
这个例子仅作为参考, 因为更好的解决方案是使用nvm
来管理nodejs
的版本
在python
中,可以使用pyenv virtualenv
来管理python的版本
下面将介绍如何使用snap
安装指定版本的应用