取得docker container的啟動資訊

有時候常常要查詢一下當初docker container啟動的參數, 若使用docker-compose當然沒問題,可以直接查看yaml檔案,
若不是使用compose , 就比較麻煩了, 尤其是我常常使用指令的方式, 又常常沒有記錄下來指令, 就會出問題.

好險這些問題有解法

https://github.com/lavie/runlike

只要執行以下指令, 後面接 container name 就可以知道當初執行的相關設定了

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike <container Name>

[心得]自製虛擬幣$TMC

先說明一下,4月才發現加密貨幣很夯, 但不管是挖礦,或是買幣都只能投入一些些;
於是我玩起自製幣(非ERC20), 只是好玩, 無法跟所有網路連線, 也只能提供最低2個節點, 讓伺服器正常跑起來.

我自製幣的網址為: https://tmc.kafeiou.pw , 可以取得錢包,與註記碼
然後, 然後就沒有然後了,因為這系統是PoS,無法透過挖幣取得, 好無聊!
於是我想了想該如何發幣:

  1. 空投
    只要寫錢包,與公鑰 , 我看到就會轉TMC過去
    https://docs.google.com/forms/d/1X-NpykI6RlMwjW3gTkoWdobNmoAGiVr97m4BwIOd7rI
  2. 自己寫了類似遊戲的線上獎勵程式
    只要在線,每隔一段時間得到1塊, 到最低金額會統一發放
    客戶端程式(含源碼):
    https://github.com/WilliamFromTW/ToolManCoinAirDropClient/releases
    下載程式後, 修改錢包與公鑰,就能因在線時間越久而得到獎勵.
    這樣很像挖礦的感覺,靠自己努力取得錢幣

心得:
網路上搜尋如何自製屬於自己的錢幣, 無奈都太過複雜,
而且大部分都需要”挖礦”取得錢幣.
最後我終於找到NXT未來幣(PoS), 該組織也讓大家能夠自製虛擬幣
https://github.com/sandoche/Proof-of-Stake-Cryptocurrency-generator

我自己覺得虛擬幣的世界真的無限想像, 真棒.
TMC=Tool Man Coin 工具人錢幣

PS.
伺服器端程式(含源碼)
https://github.com/WilliamFromTW/ToolManCoinAirDropServer
加入TMC節點的方式,可以到這下載
https://github.com/WilliamFromTW/ToolManCoin

很簡單直覺,java限制雙開的程式寫法

private static final int PORT = 9999;
private static ServerSocket socket;    

private static void main() {
  try {
    //Bind to localhost adapter with a zero connection queue 
    socket = new ServerSocket(PORT,0,InetAddress.getByAddress(new byte[] {127,0,0,1}));
    // 正常流程
    //
  }
  catch (BindException e) {
    // 異常流程
    System.err.println("Already running.");
    System.exit(1);
    Runtime.getRuntime().halt(0);
  }
}

Linux 將命令模式下執行程式,所輸出的紀錄引導到檔案

以java為例,

System.out.println(“log …”)

可以在console下看到結果, 但我們若需要未來分析使用, 就必須導到檔案.

執行時可以增加以下參數

java  -jar xxx.jar   > a.out  2>&1

以前常常搞不清楚, 現在也還是一樣不太懂, 沒差拉, 這樣就可以用了, 然後 tail -f a.out 就可以在螢幕看到即時訊息, 事後也能將a.out保存起來呢.

關於Java Single Instance只能執行一次的解法

我找了2資源, 想法都很不錯, serversocket 的做法最容易接受 , 但真的被反組譯修改,也是防不勝防,除非連程式都簽章加密處裡.

https://rosettacode.org/wiki/Determine_if_only_one_instance_is_running#Java

http://www.sauronsoftware.it/projects/junique/manual.php#5

launch4j把java程式轉成exe可執行檔案

一直以來,我都是讓使用者執行bat, 開啟命令提示視窗, 來啟動java程式,但 這樣很難讓麻瓜接受使用,

因此網路上找到好用的轉換程式, 可以直接把jar檔案轉換成exe檔案, 這樣就方便多了

使用方式可點這裡看教學 ,

比較值得注意的是,可以勾選single Instance , 限制只能執行一次, 不能多次執行, 這功能真是太棒了

免費空投虛擬幣外,一個很有趣的想法-自動空投

前篇文章 說到我自己發行虛擬幣 $TMC , 但是根本沒人用,
幣是參照未來幣$NXT源碼製作出來, 屬於 PoS共識機制 , 不能夠透過挖礦取得錢幣,
那怎麼吸引人注意呢? 一開始想到的作法就是空投, 免費送你錢幣, 活絡交易.

但是免費送幣這種作法又很怪, 應該跟挖礦一樣, 總得付出點甚麼賺到錢才有意義,
於是我又冒出一個很有趣的想法-自動空投, 這自動空投是用戶端必須付出”連線”的代價,才能取得錢幣.

除非像以太幣已經發行很大量, 生態網路非常活絡, 基本上不再需要礦工, 可以強硬從PoW(挖礦), 轉到PoS不需要挖礦的架構;
否則PoS錢幣,在大紅特紅之前, 應該要有仿礦工挖礦的作法就是我這種需付出簡單代價取得錢幣的做法.

最後我開發這種自動空投的程式, 有別於甚麼都不做就得到錢幣, 必須進行連線,每30分鐘賺到1塊錢, 有興趣的人可 到此下載,
解開後閱讀一下readme , 將 tmc.kafeiou.pw 取得的錢包與地址, 替換到設定檔案,就可以執行了,
這樣每天能得到48塊TMC幣.

程式有兩段, 一是伺服器端 , 一是用戶端程式 , 原始碼已放到github上:

https://github.com/WilliamFromTW/ToolManCoinAirDropServer

https://github.com/WilliamFromTW/ToolManCoinAirDropClient

1 ... 26 27 28 29 30 ... 73