目前日期文章:201703 (23)

瀏覽方式: 標題列表 簡短摘要

最近將 iPhone 上的簡訊刪除之後,

才突然發現有個優惠的活動,必須要將簡訊給店員看,才能使用... =_=

真是尷尬,趕緊去找找看簡訊復原的方法~

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近很紅的新聞就是 Apple Pay 已經可以在台灣使用了,

再加上義美這幾天會有用 Apply Pay 付款的優惠,立刻將信用卡加入看看~

 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前在 Dropbox 裡放了一個擋廣告的 JavaScript 檔,方便在部落格的文章裡使用,

不料最近 Dropbox 修改了 Public 目錄的分享方式,

導致得重新取得分享連結,而新的連結和舊的連結不一樣,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

我在圖書館多重帳戶登入這個 Chrome 擴充功能裡面,會去讀取 Dropbox 的一個檔案,

不過最近因為 Dropbox 將 Public 目錄設成非公開分享,

因此重新去取得了新的分享連結,再讓擴充功能去讀取,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

iPhone 上的 Workflow app 確實是個好東西,

昨天剛用它自動將選取的文字加到 Wunderlist 中

今天又發現了另一個用途:製作常用的剪貼簿句子列表~

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在 CentOS 7 上一直是使用它內建的 vino-server 來做 VNC server 使用,

不過常常遇到一個奇怪的問題:用 Mac 可以連上 VNC server,

也可以看到 CentOS 的畫面,可是常常無法操作,滑鼠鍵盤都沒有反應...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前剛從 Android 換到 iPhone 時,就有在找自動化的 app,

那時有看到 Workflow 這個 app,只是要付費才能使用,所以就沒有碰過...

最近看到 Apple 買下 iPhone 上做自動化的 Workflow app,而且還變成免費使用, 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天在更新 Homebrew 時突然出現一個從沒看過的錯誤,

說 could not read Username for https://github.com:

testuser@localhost ~ $ brew update

fatal: could not read Username for 'https://github.com': terminal prompts disabled
Error: Fetching /usr/local/Homebrew/Library/Taps/koekeishiya/homebrew-kwm failed!
文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在寫網誌時常常會需要抓一些螢幕上操作的圖,

但有時候視窗的內容無法在一頁之內全部顯示,得捲動視窗才行,

但又想要可以抓一張圖將完整的視窗顯示出來...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(1) 人氣()

今天用 C++ 呼叫 openssl 來計算一個檔案的 SHA1 值,

簡單用這篇記錄一下寫完的函式吧:

#include <openssl/sha.h>

std::string CalcFileSHA1(const char* pFilePath)
{
    std::string sResult = "";

    if (pFilePath != NULL && *pFilePath != '\0')
    {
        FILE* pf = fopen(pFilePath, "rb");
        if (pf)
        {
            // Initialize sha1 context
            SHA_CTX ctx = {};
            int nRet = SHA1_Init(&ctx);
            if (nRet == SHA_FUNC_RET_SUCCESS)
            {
                char buffer[2048] = {};
                size_t nBytesRead = 0;
                while (!feof(pf))
                {
                    // Read some bytes
                    nBytesRead = fread(buffer, 1, sizeof(buffer), pf);
                    if (nBytesRead == 0)
                    {
                        break;
                    }

                    // Update bytes into sha1 context
                    if ((nRet = SHA1_Update(&ctx, buffer, nBytesRead)) != SHA_FUNC_RET_SUCCESS)
                    {
                        printf("Failed to update sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
                        break;
                    }
                }

                if (nRet == SHA_FUNC_RET_SUCCESS)
                {
                    // Finalize sha1 calculation
                    if ((nRet = SHA1_Final(reinterpret_cast<unsigned char*>(buffer), &ctx)) == SHA_FUNC_RET_SUCCESS)
                    {
                        snprintf(buffer+SHA_DIGEST_LENGTH, sizeof(buffer)-SHA_DIGEST_LENGTH, "%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
                                static_cast<unsigned char>(buffer[0]),
                                static_cast<unsigned char>(buffer[1]),
                                static_cast<unsigned char>(buffer[2]),
                                static_cast<unsigned char>(buffer[3]),
                                static_cast<unsigned char>(buffer[4]),
                                static_cast<unsigned char>(buffer[5]),
                                static_cast<unsigned char>(buffer[6]),
                                static_cast<unsigned char>(buffer[7]),
                                static_cast<unsigned char>(buffer[8]),
                                static_cast<unsigned char>(buffer[9]),
                                static_cast<unsigned char>(buffer[10]),
                                static_cast<unsigned char>(buffer[11]),
                                static_cast<unsigned char>(buffer[12]),
                                static_cast<unsigned char>(buffer[13]),
                                static_cast<unsigned char>(buffer[14]),
                                static_cast<unsigned char>(buffer[15]),
                                static_cast<unsigned char>(buffer[16]),
                                static_cast<unsigned char>(buffer[17]),
                                static_cast<unsigned char>(buffer[18]),
                                static_cast<unsigned char>(buffer[19]));
                        sResult = buffer+SHA_DIGEST_LENGTH;
                    }
                    else
                    {
                        printf("Failed to finalize sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
                    }
                }
            }
            else
            {
                printf("Failed to init sha1 context while calculating sha1 of [%s]: nRet=%d\n", pFilePath, nRet);
            }

            // Close file handle
            fclose(pf);
        }
        else
        {
            printf("Failed to open [%s] to calculate sha1!\n", pFilePath);
        }
    }
    else
    {
        printf("Invalid parameter for CalcFileSHA1: file path cannot be empty!\n");
    }

    return sResult;
}
文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近在嘗試將文章匯入到 Blogger,不過一直有些問題,

所以又得將 Blogger 裡的文章全部刪除...

原本想說用設定 > 其他 > 刪除網誌,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

覺得還是得注意一下用眼過度的問題,上網找了一下,

Time Out 這個免費的 Mac app 似乎還不錯,來試用一下吧~

 

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

原本已經可以成功讓 Cordova app 在 iOS 模擬器上執行

不過今天發現 app 的名稱是英文的,不知道什麼時候把 config.xml 裡的 name 改成英文的了...

把它改回成中文的「圖書館多重帳戶登入」,結果 Android 版本的 app 還可以編譯,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

前幾天記帳家的 HTTPS 網站簽章出現警告訊息

所以現在應該都是要連 https://www.urmoney.com.tw,

而不是舊的 https://www.urmoney.tw,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

才剛成功把 Cordova app 在 iOS 模擬器上跑起來

就立刻發現 app 執行起來怪怪的,本來該結束的地方,一直在轉圈圈...

應該是 JavaScript 哪邊出了問題,

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

用 Cordova 寫 app 已經好一陣子了,不過一直都只編譯出 Android 用的版本,

主要原因還是在於 Apple Store 上架實在太貴...

不過最近還是決定來研究一下,要如何讓 Cordova app 在 iOS 上執行...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天想在 Chrome 裡面,把一個網頁儲存成 .mht 檔案,

避免平常另存成 .html 時還會跑出另一個目錄放圖檔的麻煩,

意外發現:Chrome 不能另存成 .mht?

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天在修改 Cordova app 裡的 iOS 圖示大小,

不過遇到一個小問題:我要怎麼快速知道每個圖示的長寬呢?

當然用 Finder 一個個點圖檔,就會顯示它的長寬,但實在太慢了...

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在用 python 呼叫 C/C++ 的 DLL 時,常常會需要傳遞一個 struct 給 C/C++ 的函式,

struct 在 python 裡可以用 ctypes.Structure 來定義,

例如下面定義了一個 struct,對應到一個裡面有 char*, int, 和 bool 的 C struct:

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

在寫 python 程式時,有時會需要知道某個 class 的繼承關係,

舉例來說,我想知道 IOError 是繼承自哪些父類別的話,

通常會用 __bases__ 屬性來查詢,但是得一個個往上查,相當麻煩:

文章標籤

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2
找更多相關文章與討論