Posts

NGINX 好用設定

Certbot (let’s encrypt 簽 https) Install find here Ubuntu $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install python-certbot-nginx Fedora sudo dnf install certbot-nginx 簽署 自動幫改 nginx 設定檔 sudo certbot --nginx 手動改 nginx 設定檔 sudo certbot --nginx certonly 自動更新憑證 sudo certbot renew --dry-run 手動更新憑證 certbot renew Redirect to https 301 server { listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/notebook.

Package Manager

Ubuntu ppa Sourse List find here find here /etc/apt/sources.list.d/ deb basic find here sudo apt update sudo apt upgrade sudo apt remove sudo apt-get --purge remove [name]: 連設定檔一起移除 sudo apt-get clean: 清除 /var/cache/apt/archives/ 下的所有 DEB 套件檔 (白話文:清除已經下載的套件) sudo apt-get autoclean: 清除 /var/cache/apt/archives/ 下已經過期的 DEB 套件檔 未滿足相依關係 系統處理 sudo apt --fix-broken install 尋找那個套件是那一套件需要用的,把套件刪掉 `sudo apt remove xxx

Proxmox 相關

Proxmox VE 4.x 中文初階學習手冊 安裝 磁碟選擇 在選擇安裝磁碟時,有一個 Options 可以調整 Filesystem ext3 ext4 xfs zfs (RAID 0) 加速,分散儲存,不做備份 一顆硬碟壞掉,就全部壞掉了 zfs (RAID 1) 完全備份,不加速 zfs (RAID 10) 需要至少 4 顆硬碟 !

SSH 相關設定

SSH 的全稱是 secure shell,大家都知道可以用來遠端進入機器的殼層,但有一些有趣的設定或應用也許不是廣為人知,仔細研究會發現 SSH 其實還蠻可怕的 XD Client Side SSH key SSH with hardware key Security issue SSH Tunnel Server Side Password Policy 密碼品質檢查,這個功能其實不是掛在 ssh 下面的,只是因為 ssh 是 pam linux 的,所以可以順便避免 user 弱密碼導致 ssh 被破解 (man pam_pwquality)

systemd 小記

sample 位置 /lib/systemd/system/xxx.service [Unit] Description=Jupyter Notebook Documentation=man:mysqld(8) Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target syslog.target docker.service [Install] WantedBy=multi-user.target Alias=mysql.service Alias=mysqld.service [Service] Type=simple StandardError=inherit StandardOutput=syslog PIDFile=/run/jupyter.pid # Step 1 and Step 2 details are here.. # ------------------------------------ ExecStartPre= ExecStart=/home/avkash/.

TensorFlow 亂記

安裝 CPU 使用 pip 安裝 sudo apt-get install python3 python3-pip python3-dev pip3 install tensorflow sudo pip3 install --upgrade docker sudo apt-get install docker sudo groupadd docker sudo usermod -aG docker $USER docker run -it -p [hostPort]:[containerPort] [TensorFlowCPUImage] docker run -it -p 8888:8888 gcr.

tmux 小抄

Basic 安裝 sudo apt install tmux 指令 tmux # 開啟一個新的 tmux tmux a # attach 到最後一次出來的 session tmux ls # 列出有那些 sessions tmux a -t [number] # 重回該number的session window session panel

以太坊 相關資源連結

名詞介紹 Geth 啟動 geth geth --datadir "/root/chain" console 其中 datadir用於指定數據目錄。這個目錄不能夠預先創建,否則命令會失敗 帳戶 (地址) 產生私鑰 (32 Byte) 由私鑰推導出公鑰,ECDSA 算法 (64 Byte) 公鑰推導出地址 (20 Byte) 公鑰 (64 Byte) 公鑰進行 Keccak-256 hash,變成 32 Byte 32 Byte 前的 12 Byte 移除,剩下的 20 Byte 就是地址 帳戶地址 合約地址 (Genesis File) GAS BitCoin 是發行自己的數字貨幣 Eth 希望是用相同的規範(protocal),創造自己的利用(ex 貨幣, 合約) 可是你在使用他的服務產生自己的利用時,是需要礦工的支援 Gas 就是你付費給礦工的單位(手續費) => 運行一個合約要付出一定的 Gas Gas 同時也要能夠確保合約能夠停止 BitCoin 的手續費是以交易大小作計算 Eth 是以礦工運算的複雜度做計算 Gas 是隨市場波動而改變 如何計算 Gas: … wei 1e-18 Gwei 1e-9 Token PoS Proof-of-Stack

以太坊 相關資源連結

英文 官網簡介 主鍊資訊 白皮書 實作入門 線上課程 Ethereum Frontier Guide 以太坊開發計畫 中文 技術相關網站 以太坊官网文档中文版 新手初探以太坊(Ethereum) 以太坊生态系统中的工具和技术 中國的以太坊論壇 (EthFans) 以太坊智能合约编程之菜鸟教程 Taipei Ethereum meetup 影片 陳昶吾 | A Tour of Ethereum Ecosystem 學習路線 了解用途與意義 新手初探以太坊(Ethereum) 陳昶吾 | A Tour of Ethereum Ecosystem 看懂名詞 名詞解釋 geth 架設 了解創世區塊鍊 如何讓資訊透過網路擴散

以太坊建置與實作

利用 Geth 創世區塊 (Genesis block) { "config": { "chainId": 46723, "homesteadBlock": 1, "eip150Block": 2, "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", "eip155Block": 3, "eip158Block": 3, "clique": { "period": 10, "epoch": 30000 } }, "nonce": "0x0", "timestamp": "0x594561a5", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000255eb6d4d37bfc66b565e6159948f829b67674f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x47b760", "difficulty": "0x1", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000", "alloc": { "0000000000000000000000000000000000000000": { "balance": "0x1" }, "0000000000000000000000000000000000000001": { "balance": "0x1" }, .