scp command

本地到远程

1
2
3
scp /local/file user@remote:/remote/folder

scp -r /local/folder user@remote:/remote/
  • 文件夹: -r

远程到本地

1
scp user@remote:/remote/file /local/folder/

远程到远程

1
scp user@remote01:/remote/file user@remote02:/remote/folder

压缩传输: -C

传输过程使用压缩,但是两端仍然是解压文件

Minio

Cheat Sheet

  • docker 快速启动 server

    1
    
    docker run -p 9000:9000 -v /mnt/c/temp/minio/:/data  -e "MINIO_ROOT_USER=matgene" -e "MINIO_ROOT_PASSWORD=matgene001" --rm  minio/minio server /data

Java Thread Notes

wait() 和 notify()

wait()

  • 作用

    • 暂时性释放锁
    • 在 synchronized 块中间暂时释放锁
  • 特性

    • native 方法
  • 调用位置

    • 只能在 synchronized 方法内部执行

      • 对应 this 锁, this.wait()
    • 在 synchronized 块内部执行

      • 对应 锁对象的 wait() 方法
  • 机理

    • this.wait()
    • 执行后释放锁
    • 返回后再试图获取锁

notify() 和 notifyAll()

  • 作用

Maven ---- Java package management tool

常见命令

清理 mvn clean

编译 mvn compile

打包 mvn package

运行 run

eg: java -jar target/gs-maven-0.1.0.jar

本地安装 mvn install

install to local Repository

Scope

compile

  • 编译时需要

Python abc module notes

作用

  • 强制子类实现方法(类似 Java 接口)

流程

  1. 定义抽象类

    1
    2
    3
    4
    5
    6
    7
    
    import abc
    
    
    class CopyBase(metaclass=abc.ABCMeta):
        @abc.abstractmethod   # 必须实现的方法
        def save(self):
            pass
  2. 定义子类,实现类

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    class CopyPaper(CopyBase):
        def __init__(self):
            pass
    
        def save(self):
            print("copy paper")
    
    
    class CopyQuestion(CopyBase):   # 没有实现 抽象方法
        def __init__(self):
            pass
  3. 测试