2019年3月19日 星期二

[C#] 日期顯示昨天、前天、星期等format

當前端畫面對日期有格式上的要求,例如 :
1. 一天內,顯示幾點幾分
2.兩三天前,顯示為"昨天"、"前天"
3.四天到七天前,顯示星期幾
4.更久以前,顯示日期

public DateTime CreateDate { get; set; }
public string CreateDateFormat { get
    {
        var diff = new TimeSpan(DateTime.Now.Ticks - CreateDate.Ticks).Days;
        //判斷超過七天:顯示日期
        if (diff > 7)
        {
            return CreateDate.ToString("yyyy-MM-dd");
        }
        else if (diff == 1 )
        {
            return "昨天";
        }
        else if (diff == 2)
        {
            return "前天";
        }
        else if (diff < 1)
        {
            return CreateDate.ToString("tt hh:mm");
        }
        //轉換成星期
        else
        {
            return CreateDate.ToString("dddd", new System.Globalization.CultureInfo("zh-cn"));
        }
    }
}

2019年1月29日 星期二

[TFS] 取回最新版本


如果遇到不小心刪到資料或是改到,紀錄一下TFS如何回復原本的版本

1.可以先到資料夾總管去看看你動到甚麼跟版控不一樣


2.然後對對應的專案按右鍵 -> 原始檔控制 -> 復原占止的變更

之後點選你要復原的檔案進行還原即可!


2018年12月11日 星期二

[其他] outlook信件資料夾的信件不見

今天遇到有人outlook 資料夾點進去沒有信件

但還是有顯示幾封信的數字

查了一下,原來是被篩選掉了

解法 : 點擊資料夾 -> 上面選"檢視" ->  檢視設定 -> 篩選 -> 進階 -> 把裡面篩選準則都刪掉即可




ps. 之後可以到"變更檢視"套用到其他資料夾中

2018年12月7日 星期五

遠見 - 邏輯測驗

轉 : https://www.gvm.com.tw/article.html?id=53731

以下共有18道題目,前兩題分別是華爾街投資銀行的面試題目及知名的史丹佛考題,主要測你解決、分析問題的能力;後面16題則完全是考你的邏輯能力,你學生時期有沒有好好背「非P則Q」,一測就知道!

測驗方式說明

前2題請直接寫下你的做法及理由;後面16題邏輯題,則在你覺得「為真」的句子前打勾,不一定每題都有正確答案,也可能都沒有,請注意囉!

【第一題】

想像你正被綁在椅子上動彈不得,歹徒拿著一把6個槍膛全空的槍,再裝兩顆子彈進兩個緊鄰的槍膛內,並旋轉槍膛。然後對著你的腦袋扣板機一下,很幸運你還活著,這時他說再扣一次板機就放你走,你希望先旋轉後再扣或直接扣板機?為什麼?

2018年11月30日 星期五

[SQL] SQL PASS 學習


201811/29 SQL Pass

學到 :
1.null vs 空字串 vs space

2.DB 的raw log content 0 資料流解讀:
  因此可用此還原data

3.利用db log追蹤驗證下述主題的原因
查詢db log 及寫入log:
dbcc traceon 3604  ---> 允許輸出db , server level系統資訊出來

4.會使用transaction三個特點,

5.delete vs truncate

6.table variable @ vs temp table #

7.cursor vs while


2018年11月27日 星期二

[其他] Thinkpad Fn 熱鍵突然跑掉問題

今天遇到我的鍵盤最上面Fx全部失效問題

全部變成調整音量大小或調整亮度的fn 功能鍵

我想要編譯都不行...orz

一陣嘗試之後,終於發現應該是自己改到thinkpad 的功能鍵 Fn的預設定

導致他會切換預設功能變成Fn + Fx的狀態...


結論 :嘗試Fn + ESC 切換回原本狀態即可

---

參考 : 網址

舊版要進bios改

Legacy模式:表示使用热键时需要按住Fn键,然后再按相应的热键。
Default模式:表示使用热键时无需按住Fn键,直接使用即可。

2018年9月13日 星期四

[加密] Header Authentication (1) - 建立取用API Token


API Authorization 有很多方式


一般的身份驗證方式是向server發出request取得token,再拿token去呼叫server API


那第一步該如何製作取得token 的API部分, 我在網路上看到一些基本basic auth


會把帳密加密後,然後放在header傳給server, 但這樣瀏覽器按個F12檢查,就能查到


basic token,這樣就可以拿來使用....


因此,建議加入timestamp與限制期限的token來防止有心人士濫用




流程如下 :


1. 準備一組帳密 (ex. admin, 123456)


2. 把密碼跟timestamp做SHA256加密


3. 把此加密token放到header, post data 則打上帳號與timestamp, 發出request


4. server 端, 即可把拿到帳號與timestamp做一次一樣的加密來比對


如此一來,密碼本身不會洩露出來,也可以在server限制timestamp的期限,讓別人不容易使用token