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