2020第19周


2020-05-08

  1. 《大学》中列出“格物、致知、诚意、正心、修身、齐家、治国、平天下”的儒家修身八条目

  2. Mac-显示隐藏文件-快捷键与命令行
    command+shift+.

  3. Go 版本管理器 gvm
    https://github.com/voidint/g

  4. Pika is a nosql compatible with redis, it is developed by Qihoo's DBA and infrastructure team
    https://github.com/Qihoo360/pika
    Pika是与Redis兼容的Nosql,由奇虎DBA和基础架构团队开发
    Pika是一项持久的巨大存储服务,可与绝大多数redis接口(详细信息)兼容,包括字符串,哈希,列表,zset,设置和管理接口。由于存储了海量数据,redis可能会遇到容量瓶颈,而pika就是为解决它而诞生的。除了巨大的存储容量外,pika还通过slaveof命令支持主从模式,包括完全同步和部分同步。您还可以将pika与twemproxy或codis一起使用(pika支持codis中的数据迁移,感谢left2right和fancy-rabbit),用于分布式Redis解决方案

  5. Linux和Unix退出代码
    获取命令的退出代码

    // 退出代码
    echo $?
    // 标准的退出代码是 0 成功的代码
    // 任何数字从1到则255是其他任何东西。
    
    // 在脚本中使用退出代码
    #!/bin/bash
    cat file.txt 
    
    if [ $? -eq 0 ]
    then
      echo "The script ran ok"
      exit 0
    else
      echo "The script failed" >&2
      exit 1
    fi
    
    // 标准错误代码
    1 -常见错误
    2 -滥用shell内置函数(根据Bash文档)
    126 -调用的命令无法执行
    127 - “找不到命令”
    128 -退出参数无效
    128+n -致命错误信号“ n”
    130 -脚本被Control-C终止
    255\* -退出状态超出范围
    
    // 取消退出状态
    禁止退出状态
    除0状态之外的任何其他操作都是不可取的。
    为了抑制错误消息,任何输出到标准错误的信息都会发送到/dev/null using 2>/dev/null。
    
    #!/bin/bash
    cat 'doesnotexist.txt' 2>/dev/null || exit 0
    

    go源码剖析

    go tool compile -S main.go

    https://www.bookstack.cn/

    gotty

    gotty -p 10000 -w zsh
    open http://localhost:10000
    

2020-05-09

  1. Run VS Code on a remote server.
    在远程服务器上运行VS Code
    https://github.com/cdr/code-server

  2. 通过SSH在任何服务器上运行VS Code。
    https://github.com/cdr/sshcode
    sshcode是一个CLI,可通过SSH 自动安装和运行代码服务器。
    它会自动上传您的扩展名和设置,因此您可以无缝地将远程服务器用作VS Code主机。

  3. 一款轻量级、高性能、功能强大的内网穿透代理服务器
    一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。
    https://github.com/ehang-io/nps

  4. 我的Goland Copyright 配置

    Copyright (c) $today.year
    User: $username
    File: $file.fileName
    Date: $file.lastModified.format("yyyy/MM/dd HH:mm:dd")
    
  5. 错误问题 invalid $GOPROXY setting: cannot have comma
    go 版本和goproxy的版本对应

  6. sonatype
    自动化DevSecOps
    普遍管理软件库和构建工件。
    世界上第一个也是唯一的免费使用的通用工件存储库
    https://www.sonatype.com/download-oss-sonatype
    依赖包仓库管理

  7. 查找数组中的第 K 大数 TopN 问题
    https://github.com/frontend9/fe9-library/issues/248

  8. 自旋锁 Golang代码阅读

    // Copyright 2019 Andy Pan. All rights reserved.
    // Use of this source code is governed by an MIT-style
    // license that can be found in the LICENSE file.
    
    package internal
    
    import (
    	"runtime"
    	"sync"
    	"sync/atomic"
    )
    
    type spinLock uint32
    
    func (sl *spinLock) Lock() {
    	for !atomic.CompareAndSwapUint32((*uint32)(sl), 0, 1) {
    		runtime.Gosched()
    	}
    }
    
    func (sl *spinLock) Unlock() {
    	atomic.StoreUint32((*uint32)(sl), 0)
    }
    
    // NewSpinLock instantiates a spin-lock.
    func NewSpinLock() sync.Locker {
    	return new(spinLock)
    }
    
  9. Golang noCopy 禁止复制实现

        // noCopy may be embedded into structs which must not be copied
    // after the first use.
    //
    // See https://golang.org/issues/8005#issuecomment-190753527
    // for details.
    type noCopy struct{}
    
    // Lock is a no-op used by -copylocks checker from `go vet`.
    func (*noCopy) Lock()   {}
    func (*noCopy) Unlock() {}
    
  10. Golang daemon 守护进程实现

    // 守护模式是后台进程的实现,它 Fork 子进程后,父进程退出,子进程则变为 init 进程的子进程,从而实现无需终端session也可运行
    procAttr := &syscall.ProcAttr{
    	Env:   os.Environ(),
    	Files: []uintptr{0, 1, 2},
    	Sys: &syscall.SysProcAttr{
    		Setsid: true,
    	},
    }
    
    _, err := syscall.ForkExec(os.Args[0], args, procAttr)
    if err != nil {
    	log.Fatal(err)
    }
    os.Exit(0)
    
  11. caddyserver
    A new kind of extensible platform for server apps.
    一种用于服务器应用程序的新型可扩展平台。
    https://caddyserver.com/v2

    仍然是唯一自动且默认情况下 使用TLS的 Web服务器。使用Caddy 2 轻松部署和扩展HTTPS。

  12. Golang 优化切片和数组的内存清理

     var zeroBuf = make([]byte, 65535)
     data := bufpool.Get().([]byte)
     defer bufpool.Put(data)
     copy(data[0:cap(data)], zeroBuf)
    

2020-05-10

  1. 瓦力 Devops开源项目代码部署平台
    walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。
    http://walle-web.io/
    https://github.com/meolu/walle-web


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM