分类目录归档:最后分类

macOS需要安装的软件

macOS需要在【/Users/userName/.zprofile】中添加下面的path:

alias ll='ls -alF'

export LANG=zh_CN.UTF-8

#java
export JAVA_HOME='/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home'

#maven
export MAVEN_HOME='/Users/userName/workfolder/tools/maven/apache-maven-3.9.0'
export PATH=$PATH:$MAVEN_HOME/bin:/usr/local/bin

#android

#cmake
#export PATH="/Applications/CMake.app/Contents/bin":"$PATH"

#nodejs
export PATH="/Users/userName/workfolder/tools/node-v18.14.2-darwin-arm64/bin":"$PATH"

# android
export ANDROID_SDK_ROOT='/Users/userName/Library/Android/sdk'
export ANDROID_NDK_ROOT='/Users/userName/Library/Android/sdk/ndk'
export PATH="$ANDROID_SDK_ROOT":"$PATH"
export PATH="$ANDROID_NDK_ROOT/25.1.8937393":"$PATH"
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
export PATH=$PATH:$ANDROID_SDK_ROOT/build-tools/33.0.0

# flutter
export PATH="/Users/userName/workfolder/tools/flutter/bin":"$PATH"

# Homebrew
export PATH="/opt/homebrew/bin":"$PATH"
eval "$(/opt/homebrew/bin/brew shellenv)"
# ruby
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
# export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
# export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"

安装Homebrew

# 访问该网址【https://brew.sh/index_zh-cn】,执行下面的命令进行安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 若是无法直接下载,可以将该【install.sh】下载之后,进行安装

安装cocoapods开发macOS程序

一般都会提示下面的错误,实际上是系统自带的ruby版本太低了,可以通过Homebrew来安装最新版本。:
ERROR: While executing gem … (Errno::EROFS)
Read-only file system @ rb_sysopen – /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem。

# 使用 Homebrew 更新 Ruby 版本
brew install ruby

#查看当前使用的源地址。
gem sources
# gem 删除默认源命令:
# 注:默认的url地址后必须有”/”,否则删不掉。 gem sources -r url地址
gem sources --remove https://rubygems.org/
# gem 添加国内源
gem sources -a https://gems.ruby-china.com/
//(官网给的原来的淘宝镜像已失效)或者
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/
# 确认是否添加成功
gem sources -l
# 更新源的缓存
gem sources -u

# 访问该网址【https://guides.cocoapods.org/using/getting-started.html#installation】,执行下面的命令进行安装
sudo gem install cocoapods

Linux shell下文本显示多行进度条方式(利用\r及\033来实现)

Linux shell下文本显示进度条方式(利用\r,以及特殊含义的转义符\033来实现)

# 单个进度条
function ProceessOne(){
spa=''
i=0
while [ $i -le 100 ]
do
 printf "我是单个进度条[%-10s] %d%% \r" "$spa" "$i";
 sleep 0.5
 ((i=i+10))
 spa+='#'
done
# 光标向下移动1行
echo

# 光标向下移动0行
#printf "\33[0B";
}

# 多个进度条
function ProceessThree(){
spa=''
i=0
while [ $i -le 100 ]
do
 printf "我是第一个进度条[%-10s] %d%% \n" "$spa" "$i";
 printf "我是第二个进度条[%-10s] %d%% \n" "$spa" "$i";
 printf "我是第三个进度条[%-10s] %d%% \n\33[3A" "$spa" "$i";
 sleep 0.5
 ((i=i+10))
 spa+='#'
done
# 光标向下移动3行
#echo
#echo
#echo

# 光标向下移动3行
printf "\33[3B";
}

ProceessOne
ProceessThree
printf "进度条执行完成";
继续阅读 Linux shell下文本显示多行进度条方式(利用\r及\033来实现)

Maven项目引用本地jar包

pom.xml文件中配置

system,system依赖不是由maven仓库,而是本地的jar包,因此必须配合systemPath标签来指定本地的jar包所在全路径。这类jar包默认会参与编译、测试、运行,但是不会被参与打包阶段。

<!-- 引入本地lib包 -->
<!-- 达梦数据库驱动 -->
<dependency>
    <groupId>com.dm</groupId>
    <artifactId>DmJdbcDriver</artifactId>
    <scope>system</scope>
    <version>1.8.0</version>
    <systemPath>${project.basedir}/src/lib/DmJdbcDriver18.jar</systemPath>
</dependency>

如果使用Spring Boot也想打包进去的话,需要在插件里做配置true

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- maven打包时会将外部引入的jar包(比如在根目录下或resource文件下新加外部jar包)打包到项目jar -->
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>

ubuntu安装cuda

# 更新系统组件,并重启
sudo apt update
sudo apt dist-update
sudo apt upgrade
sudo reboot
# 安装必须的gcc软件
sudo apt-get install manpages-dev
sudo apt-get update
sudo apt install build-essential
# 到nvidia的官网【https://developer.nvidia.com/cuda-downloads】
# 下载系统ubuntu 22.04对应的cuda包,也就是下面的命令
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
# gds相关组件,可以酌情安装,可以参考【https://docs.nvidia.com/gpudirect-storage/release-notes/index.html】
# sudo apt-get install nvidia-gds
# 接下来可以通过Nvidia专有指令,查看系统中的GPU卡。能够成功查看到GPU卡,说明安装成功
nvidia-smi
# 配置相关环境变量
cd /etc/profile.d/
sudo vim /etc/profile.d/cuda.sh
# 将下面的记录,加入到【cuda.sh】文件中
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 保存cuda.sh文件后,cuda.sh的默认权限即可,重启电脑即可生效全局环境变量
sudo reboot

Spring Boot 与awt一起使用注意事项

Spring Boot与Java awt一起使用的时候,注意不要将包含awt初始化的类【例如Robot】加上@service之类的注解。会导致一些自定义的属性无效。例如

// 本应该可以生效的,但是awt在Spring boot初始化时候初始化过Robot,会导致设置为true无效。
this.menuBar.setUseSystemMenuBar(true);

Spring Boot启动javafx,需要注意设置headless

SpringApplicationBuilder builder = new SpringApplicationBuilder(Demo1Application.class);
        builder.headless(false);
        ConfigurableApplicationContext context = builder.run(args);

CNC ddraw的一些特殊配制

有很多老的游戏使用的ddraw的API,在vista、win7,win10中无法被调用起来。这个时候就可以下载cnc ddraw放到游戏程序执行目录中,直接运行起来

Releases · FunkyFr3sh/cnc-ddraw (github.com)

1.3.7.0版本Note: If you use cnc-ddraw with a game that got its own windowed mode built in then make sure you disable the games own windowed mode first. If you want to play in windowed mode then start the game once in fullscreen and then press Alt+Enter to enable the cnc-ddraw windowed mode (Or modify ddraw.ini without using Alt+Enter).

4.8.0.0版本博德之门2:Added support for Baldur’s Gate 2 – Note: ‘Use 3D Acceleration’ must be -disabled- and ‘Full Screen’ must be -enabled- in BGConfig.exe

本地虚拟机安装kubesphere

参考网址:All-in-One Installation of Kubernetes and KubeSphere on Linux

1、下载kk软件

# 安装必须的软件
sudo apt-get install socat conntrack ebtables ipset
# 因为是国内,可以直接下载kk软件
wget https://kubernetes.pek3b.qingstor.com/kubekey/releases/download/v2.2.0/kubekey-v2.2.0-linux-amd64.tar.gz
# 解压
tar -xzf kubekey-v2.2.0-linux-amd64.tar.gz
chmod +x kk

2、参考官方网址进行操作

3、安装完成后,按照终端上提示进行操作

# To start using your cluster, you need to run the following as a regular user:
 mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf

ubuntu创建用户,添加sudo权限

添加某个用户

# 这种方式添加用户,比较友好,能直接创建home目录
sudo adduser username
# 这种方式可以解决大多数情况下的sudo权限赋予(直接修改/etc/sudoers文件比较麻烦)
sudo usermod -aG sudo username

给某个用户添加docker操作权限

# 给xxx用户添加docker的组权限
sudo usermod -aG docker xxx

安装Docker engine

curl -fsSL https://get.docker.com -o get-docker.sh
# 从阿里云源站点进行安装,速度更快
sudo sh get-docker.sh Aliyun
# 之后可以通过下面的命令进行docker引擎的处理
sytemctl start/stop/restart/enable/disable docker

docker安装neo4j

例如在本地,新建一个目录【/data/neo4j-data/】
查看neo4j的docker要对外曝露的port是否被使用:

netstat -alpn | grep 7474
netstat -alpn | grep 7687

若端口已被使用,需要更换端口。确认端口未被使用,继续下面操作。
在【/data/neo4j-data/5.1.0-community】中,新建文件【docker-compose.yaml】,填写下面内容【其中部分配置,参考https://hub.docker.com/_/neo4j】,会在【/data/neo4j-data/5.1.0-community】中【自动创建一个目录data,mount到docker中】:

version: "3.6"
services:
  neo4j:
    image: neo4j:5.1.0-community
    container_name: neo4j-5.1.0-community
    restart: always
    network_mode: bridge
    ports:
    - "7474:7474"
    - "7687:7687"
    environment:
    - TZ=Asia/Shanghai
    volumes:
      - "./data:/data:rw"

执行下面操作,启动docker镜像

cd /data/neo4j-data/5.1.0-community
# 根据配置,启动docker镜像
docker-compose -f ./docker-compose.yaml up -d
# 不更改配置,仅重启docker镜像
docker-compose -f ./docker-compose.yaml restart
docker-compose -f ./docker-compose.yaml start
docker-compose -f ./docker-compose.yaml stop
# 谨慎操作,该命令会查看所有日志,不会动态显示最新日志
docker-compose -f ./docker-compose.yaml logs
# 谨慎操作,该命令会查看所有日志,并且动态显示最新日志
docker-compose -f ./docker-compose.yaml logs -f
# 该命令会查看日志最后5行,并且动态显示最新的日志
docker-compose -f ./docker-compose.yaml logs -f --tail=5
# 该命令会进入docker内部,进行相关查看
docker-compose -f ./docker-compose.yaml exec neo4j /bin/bash

启动之后,可以通过【http://127.0.0.1:7474】来进行配置访问

利用pk8,x509.pem转成jks签名文件

把pk8 跟 x509放到一个文件夹,并使用cd命令进入文件夹

openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
# 其中android 为密码, Androiddebugkey为别名
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name androiddebugkey
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android

生成的jks,如果在android studio中gradle编译报错algorithm hmacpbesha256 not available,说明本地的jdk没有包含该算法包。

该算法包在jdk11.0.12中加入,所以将gradle使用的jdk升级到11.0.12之后的版本即可。