• 9eec801b7b0e6472e0eeb8433773e535.png
    因為現在用 Docker 越來越方便快速,省去很多環境設定的問題,所以像 Gitlab 這種東西,當然是用 docker 快速安裝囉~ 
    但是備份跟還原就是一個比較麻煩的問題,所以可以參考下面的方式。
     
     
    Docker | 1820 觀看 | 2019-10-04 | Kuann Hung 上傳
  • 僅有安卓系統可以使用
     
    简体版下载: android_GB_v1.apk
     
    繁體版下載: song_big5-v3.apk
     
     
     
    專題 | 12536 觀看 | 2019-09-15 | Kuann Hung 上傳
  • 0426e93ebb9e4b9db83adbbcfb7800d4.png如果 Linux 不小心中木馬,雖然重灌是最快的,但是有時候還是需要找到到底是哪裡來的,那就可以安裝一下 ClamAV 來查一下!
     
     
    Linux | 6422 觀看 | 2019-09-01 | Kuann Hung 上傳
  • MySQL 中有一個 federated 的 table type,其實應該出來滿久了,但最近有個狀況需要用到,所以就研究,紀錄了一下。
    其實這種情境還是挺多的,就是在 Production 上有一個 Master / Slave 的 DB,但為了一些報表需求,又不想吃掉,或是佔用了系統資源,可是報表計算量又特別大,所以就設計了一個這樣的方案,利用 federated 達到目的。
    8dc5afa979c5708b54592dcdff47e86b.png
     
    如上圖,拉一個 Read only 出來就是為了不要影響到 M/S 的效能。但 read only 就沒辦法產生一些 statistics 的 table,所以就建立另一個 reporting DB,透過 federated 的方式去把資料計算後存到 reporting 的 DB,這樣不僅不會影響到 M/S 的效能,還可以取得 near realtime 的資料庫。
    Database | 5703 觀看 | 2019-08-19 | Kuann Hung 上傳
  • 1b8cbe3f35e385f9a2eaf20c2cf4fcab.png發現一個好用,又是現成的 computer vision libarary, 針對 objection detection 特別方便,一起來玩一下吧~
     
    目前感覺上用 ubuntu 比較方便一些,所以我的環境是 ubuntu 18.04
     
    TensorFlow | 2774 觀看 | 2019-06-29 | Kuann Hung 上傳
  • 03403ad896fedd41e09381ea1534546c.jpg我想應該很多人在 Linux 上都是用 find 在找檔案,但速度實在不怎麼樣,有時候也很麻煩。
    其實 Linux 上有一個挺古老的指令,就是 locale。如果要用的話要先安裝一下:
    yum install mlocate
    安裝好之後,還不能直接使用,要先做 "索引",所以要下 updatedb 的指令。執行完之後就可以直接用 locate 了。比如說,我要找 httpd.conf 在那邊,就只要下:
    locate httpd.conf
    就會出現像這樣的結果
    [root@localhost]# locate httpd.conf
    /etc/httpd/conf/httpd.conf
    /etc/httpd/conf/httpd.conf.bak
    /opt/eff.org/certbot/venv/lib/python2.7/site-packages/certbot_apache/tests/testdata/centos6_apache/apache/httpd/conf/httpd.conf
    /opt/eff.org/certbot/venv/lib/python2.7/site-packages/certbot_apache/tests/testdata/centos7_apache/apache/httpd/conf/httpd.conf
    /opt/eff.org/certbot/venv/lib/python2.7/site-packages/certbot_apache/tests/testdata/gentoo_apache/apache/apache2/httpd.conf
    /usr/lib/tmpfiles.d/httpd.conf
    基本上所有路徑中含有 httpd.conf 的都會顯示出來,當然也可以配合 grep, more, less 使用。
     
    用了一段時間後覺得很方便,但是如果是 mount 進來的卻找不到。研究了一下發現,原來是設定的問題,想一想也合理,mount 進來的磁碟有時候沒有 mount 進來,檔案就不存在,而由於 locate 需要做索引,如果檔案經常變動,那索引也需要持續更新。所以預設不把 /mnt 加入索引也是合情合理的。
    其實只要檢查一下設定檔案
    vi /etc/updatedb.conf 
    看到內容長這樣
    PRUNE_BIND_MOUNTS = "no"
    PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"
    PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"
    大概可以看到,PRUNE_BIND_MOUNTS 要先設定為 "yes",然後 PRUNEFS 中要把 nfs 拿掉,PRUNEPATHS 也要允許 /mnt
    修改完像這樣 (提供參考,可根據需要自行條配)
    PRUNE_BIND_MOUNTS = "yes"
    PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"
    PRUNENAMES = ".git .hg .svn"
    PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"
    
     
    Linux | 2289 觀看 | 2019-06-22 | Kuann Hung 上傳
  • 5ea3a6b2b86c0b64255860b845191394.png最近身邊用 WordPress 幾乎都被入侵,看起來是有規模,並且針對部分 plugins 漏洞攻擊的。
    如果不幸中獎,當然要先想辦法登入,如果能夠順利登入的話,我建議可以安裝這兩個 Plugins,算是我用了這類型的 plugin 中比較不錯的!
     
    安裝好後有幾項設定,基本上都很簡單,照作即可。
    WordPress | 3023 觀看 | 2019-06-05 | Kuann Hung 上傳
  • 因為要把大檔案切割,雖然有很多種方法,但考慮到跟 Linux 相容 (包含神奇的 AIX),所以在 linux 上只能用最基本的 tar + split + cat 了.
    但因為檔案需要經過 windows 作處理,所以找一個能 split 的 script 來做就比較方便!
     
    介紹一下 split-win (https://github.com/anseki/split-win)
    他的作法是透過 powershell,所以在 win7 之後的版本上執行大概都不會遇到甚麼問題。
    執行方式很簡單
    split target-file
    即可。
    如果要按照尺寸分檔案,就只要 
    split target-file -size 100mb
    這樣就會每 10mb 一個檔案了。而產生的檔案副檔名就會是 .001, .002 .... 下去
    在 linux 上只要 cat target-file.* > target-file 即可合併喔!
    Windows | 6049 觀看 | 2019-06-05 | Kuann Hung 上傳
  • 在寫很多 bat or shell script 的時候,經常會遇到一個狀況就是,不確定檔案被執行的時候的目錄。這個時候就需要能夠抓到目前的檔案所在的目錄位置。相信是一個很方便且實用的方法。
     
    Windows
    cd %~dp0
     
    Linux
    #! /bin/sh
    cd $(dirname "$0")
    其他 | 3195 觀看 | 2019-05-18 | Kuann Hung 上傳
  • 用 FileZilla SFTP 登入時出現 No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) 錯誤
     
    其實很簡單,只要把 /etc/ssh/sshd_config 中的 PasswordAuthentication 設為 yes 即可喔!~
     
    Linux | 3811 觀看 | 2019-02-14 | Kuann Hung 上傳