最近再試,發現 Math.round() 又正確了....奇了! 116.55出來是116
==========
一般的說法是Math.round()
但實際上跑
decimal num = 116.55
Math.round(num)
結果是 117 這是錯的!!
所以
參考這個
https://windperson.wordpress.com/2013/02/21/c-%E5%B0%87%E5%B0%8F%E6%95%B8%E9%BB%9E%E5%BE%8C%E6%8C%87%E5%AE%9A%E4%BD%8D%E6%95%B8%E7%9A%84%E6%95%B8%E5%80%BC%E5%8E%BB%E6%8E%89%E7%9A%84%E6%96%B9%E6%B3%95/
改成
decimal GetFrag1(decimal input,int digit) //這個四捨六入五成雙才正確
{
if (digit < 0) { return Math.Floor(input); }
double pow = Math.Pow(10, digit);
decimal sign = input >= 0 ? 1 : -1;
return sign * Math.Floor(sign * input * (decimal)pow) / (decimal)pow;
}
GetFrag1(num, 0).ToString()
結果 116
[轉]vm安全性
http://www.mobile01.com/topicdetail.php?f=494&t=4790863
EluSiOn
請看 https://www.openssl.org/news/secadv/20160503.txt Severity: High. 2016/05/03 嚴重的 bug. 但是到了今天我伺服器上所有的 patch 都已經更新完畢了. 但是 Q & S 的 nas 的 patch 連影子都沒有.
所有的 debian/ubuntu/centos/freebsd 基本上都會在 5個工作天內完成 patch 提供更新, 但是不管是 Q牌或是S牌的更新是絕對超過 30天以上的.
再來就是 VM 有自己獨立的 file system. 其 file system 損會是不會傷害到 host 的資料. 但是 LXC/Docker 是允許跟 NAS host 共用資料夾, 這個時候, 就有機會讓針對於 host 共享的資料夾的資料造成毀損.
防火牆是使用 PFSense, 你的安全係數可以拉很高! 不管是 Deep packet inspection (DPI), Intrusion Detection System IDS 以及 Intrusion Prevention System 都有. 但是就要看你防火牆的 cpu 是否夠力了
pfsense 主體是 iptable, 但是搭配了其它的 package 後 (直接從 pfsense 裡面選擇安裝), 它就變成非常的強大. 安全防護的 package 如下
1. pfBlockerNG
2. snort IDS/IPS
3. Squid Proxy 可以搭配 clamav 掃毒任何所有的 http request.
但是上述這些服務都非常吃 cpu. 一定要時候夠有力的喲. intel atom 2558 等級以上的才可能考慮全開.
j1900 n3150 n3700 這些都不夠力
EluSiOn
請看 https://www.openssl.org/news/secadv/20160503.txt Severity: High. 2016/05/03 嚴重的 bug. 但是到了今天我伺服器上所有的 patch 都已經更新完畢了. 但是 Q & S 的 nas 的 patch 連影子都沒有.
所有的 debian/ubuntu/centos/freebsd 基本上都會在 5個工作天內完成 patch 提供更新, 但是不管是 Q牌或是S牌的更新是絕對超過 30天以上的.
1. pfBlockerNG
2. snort IDS/IPS
3. Squid Proxy 可以搭配 clamav 掃毒任何所有的 http request.
但是上述這些服務都非常吃 cpu. 一定要時候夠有力的喲. intel atom 2558 等級以上的才可能考慮全開.
j1900 n3150 n3700 這些都不夠力
[轉]减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
http://www.cnblogs.com/it-cen/p/4624939.html
android crosswalk goback
MainActivity.java
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() != KeyEvent.ACTION_UP) { //按下有用,key up 無用
if (mXWalkView != null && mXWalkView.getNavigationHistory().canGoBack()) {
mXWalkView.getNavigationHistory().navigate(XWalkNavigationHistory.Direction.BACKWARD, 1);
return true;
}
}
return false;
}
訂閱:
文章 (Atom)