2018年10月5日 星期五

如何在 golang 裡面引用 gitlab private repo

參考文章:https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository

原文是用 gitlab.company.com 當範例,這邊改成一般帳號並加入一些說明。

  1. 先連到帳號頁面產生 private access token,權限需要有 read_repository
    https://gitlab.com/profile/account
  2. 修改 git global 設定將剛剛產生的 token 加入 http.extrahdeader 參數:
    $ git config --global http.extraheader "PRIVATE-TOKEN: 你的access token"
  3. 修改 git global 設定將github 的 ssh 連線方式替換成 https:
    $ git config --global url."git@gitlab.com:你的帳號".insteadOf "https://gitlab.com/你的帳號"
  4. 完成後就可以正常使用 go get 下載 private repo :
    $ go get gitlab.com/slv922/private_repo

Go Module (vgo) 使用方法

對於 vgo 的使用方式其實一直都不是很清楚
Google 到一篇覺得不錯的文章,紀錄一下。

原文:
https://tonybai.com/2018/07/15/hello-go-module/


2018年7月31日 星期二

讓 Gin 的 HTML Template 與 Vue.js 不衝突的方法

        
如果有同時使用 Gin 及 Vue.js 的話,會發現在 HTML Render 變數時會有衝突,
這時候可以在 Vue.js 裡面加一行宣告,改變 Vue.js 呈現變數的方法

delimiters: ['&{', '}']

這樣在 HTML 中就可以使用 &{foo} 的方式去寫 Vue.js 中的變數,不會有衝突了

2018年6月13日 星期三

加入 .gitignore 後才刪除遠端目錄方法

有時不小心 push 上去後才發現有某些目錄忘記加到 .gitignore
這時候可以用下面的方法

git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master

原文:
https://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore

2018年6月6日 星期三

讓 Mac 的圖片預覽功能(QuickLook) 支援 WebP 格式的圖片

WebP (發音weppy) 是由 Google 開發的新一代圖片檔格式,但目前 Mac 的預覽功能 (在檔案上面按空白鍵那個功能) 還不支援,我們可以透過安裝外掛的方式,就可以預覽 WebP 的圖片檔囉。

只要在 Terminal 中輸入以下指令,就安裝完成了

curl -L https://raw.github.com/emin/WebPQuickLook/master/install.sh | sh


成果:


參考:

2018年5月30日 星期三

讓 Linux 主機查詢 DNS 時優先查找 IPV4 IP

如主機環境無法連 IPV6,但是要連線的 FQDN 有 IPV6 與 IPV4 兩種 IP
連線時就必須等 IPV6 連線逾時才會嘗試連 IPV4 IP
此時可新增如下設定,就會優先查 IPV4 IP

# vim /etc/gai.conf

precedence ::ffff:0:0/96 100

2018年5月18日 星期五

ssh 指定預設登入的使用者

 ssh 預設在建立連線時,會帶目前登入的使用者名稱,但實際上我們幾乎不會用目前登入的使用者名稱去連對方的機器,這時候只要在登入的家目錄設定一個 .ssh/config 檔案,就可以了

Host *
    User

Host example
    HostName example.net
    User buck

注意 .ssh/config 的權限需要是 600 才行

Bootstrap-Vue Table 綁定 row click 方法

藏在 document 的 Event 裡面...
找半天沒看到,結果 Google 看到 Github issue 也有人在討論 XD
<b-table bordered striped hover 
         :items="environments"
         :fields="fields"
         :current-page="currentPage"
         :per-page="perPage"
         :filter="filter"
         v-model="shownItems"
         @row-clicked="myRowClickHandler"
>
  <template slot="actions" scope="environment">
    <b-btn size="sm" @click="log(environment.item)">Details</b-btn>
  </template>
</b-table>
methods: {
  myRowClickHandler(record, index) {
    // 'record' will be the row data from items
    // `index` will be the visible row number (available in the v-model 'shownItems')
    log(record); // This will be the item data for the row
  }
}
https://github.com/bootstrap-vue/bootstrap-vue/issues/774
https://bootstrap-vue.js.org/docs/components/table#component-reference

2018年5月14日 星期一

Ubuntu 18.04 server 網卡配置設定

Ubuntu 18.04 採用了 netplan 來管理網路, 設定檔的部分採用 yaml 格式來撰寫,
預設路徑位於 /etc/netplan/, 設定好後執行 netplan apply 就套用新的設定了。

官網有很詳細的說明跟範例: https://netplan.io/examples

2018年4月19日 星期四

Python 計算巢狀式串列 (nested list ) 中某個元素的總數加總

好吧,nested list 不知道中文要怎麼翻譯比較順,就先叫他巢狀式串列吧 XD

假設有一個 list 集合的資料結構長這樣,我們想要計算書本的總數
[
    {'name':'James', 'books':["Python", "Java", "Golang", "C++"]},
    {'name':'Amy', 'books':["Node.js", "C"]},
    {'name':'Danny', 'books':["Perl", "JavaScript"]}
]
這時候可以先用 for 迴圈將所有 books 元素拉出來再計算 books 元素的長度,最後加總起來就可以了
sum = 0
for x in list:
    sum += len(x['books'])
print(sum)
我喜歡用一行寫法,簡潔快速
print(sum([len(x['books']) for x in list]))

2018年4月17日 星期二

使用 docker-compose 直接更新運行中 docker 的方法

如果有正在運行的 docker 想要更新資料,
可以透過下面的指令直接更新,且不用重啟 docker,
實在太好用了😍

docker-compose up -d --no-deps --build svc1

其中的 <service-name> 要和 docker-compose.yml 中設定的一樣

2017年8月23日 星期三

幫 Sqlite 檔案瘦身

當對一個 sqlite 檔案內容進行刪除紀錄後,會發現檔案大小都沒變,
這時需要使用 "vacuum" 來幫檔案瘦身

$ sqlite3 db.sqlite3 'delete from table'
$ sqlite3 db.sqlite3 vacuum

2017年8月1日 星期二

Linux 快速刪除檔案某一行的方法

沒想到這麼簡單(笑)
使用 sed 工具就可以了

ex. 刪除第三行
原始內容
1
2
3
4
執行結果
$ sed 3d /tmp/test
1
2
4

sed 工具預設只有將結果輸出,如果要直接寫入檔案,可以加 -i 參數

$ sed -i 3d /tmp/test

注意:加上 -i 後就沒有輸出任何訊息了!請特別小心!

2017年7月12日 星期三

Windows 環境下 Golang 的 andlabs/ui 安裝方法


備份一下網路上查到的資料

golang的gui库andlabs/ui的使用
http://www.jianshu.com/p/7948b273926f

MSYS2 + MinGW-w64 + Git + gVim 环境配置
http://dantvt.is-programmer.com/posts/63161.html

總結一下
MinGW 環境建議使用 MSYS2 去安裝就好
安裝後再使用 MinGW 安裝相關套件


2017年7月5日 星期三

Ubuntu 16.04 更新後無法開機

隔了一陣子沒有更新系統,想說更新一下相關的系統套件,以往也沒特別注意更新完的訊息,結果立馬重開機就進不了 OS 了。

這時候心想該不會更新 kernel 時爛掉了...!?
所以就再重開機一次於開機選單選擇先前的 kernel,果然可以進入系統。

不死心再更新一次,這時後仔細看了更新過程的訊息,原來是開機分割區 /boot 空間滿了!(笑)

原來 Ubuntu 每次更新 kernel 時,並不會主動清除先前的 kernel,我的 /boot 分割區只有 200MB,所以更新個幾次就滿了 XD

這時候要手動清除 kernel file 也是可以,不過有更聰明的方法
$ sudo apt autoremove

2014年2月26日 星期三

[HTC New One] 4.3 root 後如何更新 4.4.2

注意:升級到4.4.2 後需要重新 root


HTC 的 OTA 升級會檢查是不是原廠的 BOOTLOADER,


Mobile 01 上查到,若 Root 過要升級有兩種方式:


兩種方式選一種
1.刷回官方RECOVERY,OTA完成後再重刷RECOVERY.不用把S-OFF改成S-ON


2.先下載,但不要安裝,然後進第三方RECOVERY,選"INSTALL ZIP FROM SDCARD" 到\SDCARD\DOWNLOAD\找OTA檔案來刷


原文:http://www.mobile01.com/topicdetail.php?f=566&t=3775026&m=f&last=48694891#48694891


 


很開心的選擇第二種方式,感覺最簡單.....但我失敗了!!!(忘記截取失敗畫面)


失敗的訊息好像是解壓縮失敗...什麼之類的。


於是只好選擇第一種方式,但沒嘗試過有點可怕...


最後還好有成功。


不怕死的XD 各位可以跟著以下不負責的步驟嘗試看看:


1. 準備工具


下載:ADB-FASTBOOT


下載:官方原廠 BOOTLOADER recovery 3.18.709.2.img


原始載點:


http://d-h.st/users/Guich/Stock%20Recovery


http://d-h.st/xGy


2. 解壓縮下載回來的 ADB-FASTBOOT 到 C:\ ,方便等一下 CMD 操作


3. 將 recovery img 更名為 recovery.img ,放到 ADB-FASTBOOT 目錄,方便等一下 CMD 操作


4. 將手機關機,進入fastboot 模式,並將 USB 傳輸線連接手機跟電腦


進入 fastboot 模式很簡單,先將手機關機,然後持續按住 電源鍵+音量下鍵 


照片 2014-2-26 下午9.34


接著用音量鍵,將游標移至 FASTBOOT 上面(預設一開始就是),然後按下確定(電源鍵)


中間藍色的字會從藍色的 HBOOT 變成紅色的 FASTBOOT


照片 2014-2-26 下午9.34 #2  


連接上 USB 後,若有成功載入驅動與電腦連接,則會變成 FASTBOOT USB


照片 2014-2-26 下午9.35  


 


5. 開啟 CMD,進入到 ADB-FASTBOOT 目錄,然後輸入以下指令


fastboot flash recovery recovery.img


若有出現傳輸的訊息就成功把 recovery.img 上傳到手機了


螢幕截圖 2014-02-26 21.28.36  


6. 將手機重開機 (REBOOT),進行官方 4.2.2 升級


7. 升級過程約 10 分鐘,之後經過約三次重開機後就更新成功了!


Screenshot_2014-02-26-21-25-52  


2011年9月3日 星期六

Jdownloader 亂碼解決辦法 ( 謎樣的口口口 )

之前我都是使用別人打包好的免安裝檔


這次自己下載來用竟然發現中文無法顯示


圖片 2.png    


謎樣的 "口口口" 這是三小?!


於是我試了下簡體中文檔,竟然發現可以正常顯示簡體中文,真是令人生氣!


圖片 3.png  


於是開了他的語系檔來比對一下


路徑:C:\Program Files\JDownloader\jd\languages
繁體中文:zh-hans.loc
簡體中文:zh-hant.loc


發現簡體中文的語系檔比中文多了一行 "!font = System"
於是把這行設定貼到繁體中文語系檔裡就解決了...


另外,如果您是用 Notepad(記事本)開啟的朋友會失敗
原因是記事本幫你存檔的時候它會自動幫你存成UTF-8 (BOM)
造成 Jdownloader 讀檔失敗,於是謎樣的 "口口口" 又出現了....囧


 引用:UTF-8 的 BOM 地雷


" M$ 在使用 Windows 2000 (含)以後版本「記事本」儲存 UTF-8 檔案的時候,為了要能夠識別 UTF-8 和 ASCII 檔案,於是加上了 BOM 來辨別。 "



如您不小心先存檔造成讀檔失敗了,請使用 Notepad + 之類的文字檔編輯軟體開啟
於功能表選擇「編碼 -> 編譯成 UTF-8 碼(檔首無BOM)」再存檔,就解決啦! 


 圖片 5.png  


令人感動的繁體中文!!!


圖片 6.png  


2011年8月10日 星期三

[Linux] 強制卸載忙碌中的裝置

有時無法卸載忙碌中的裝置 , 或是未卸載就將外部裝置拔除


會出現如下訊息


# umount /media
umount: /media: device is busy
umount: /media: device is busy


 


這時只要加 l 參數就可以將這些裝置移除掉了


# umount -l /media


 


2011年6月24日 星期五

重設Windows Administrator 密碼

http://pogostick.net/~pnh/ntpasswd/


好用的工具


Supports all Windows from NT3.5 to Win7, also 64 bit and also the Server versions (like 2003 and 2008)


幾乎都支援啦


 


下載ISO後燒成光碟( 或是有USB版本 )


設定啟動, 之後會


如何在 golang 裡面引用 gitlab private repo

參考文章:https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository 原文是用 gitlab.company.com 當範例,這邊改成一般帳號...