WARNING overcommit_memory , vm.overcommit_memory=1

来源:http://m.blog.csdn.net/article/details?id=50864933

 

Redis 3.0.7版本启动时出现警告的解决办法

7283:M 12 Mar 12:13:33.749 # WARNING: The
TCP backlog setting of 511 cannot be enforced because
/proc/sys/net/core/somaxconn is set to the lower value of 128.

7283:M 12 Mar 12:13:33.749 # Server started, Redis version 3.0.7
7283:M 12 Mar 12:13:33.749 # WARNING
overcommit_memory is set to 0! Background save may fail under low memory
condition. To fix this issue add 'vm.overcommit_memory = 1' to
/etc/sysctl.conf and then reboot or run the command 'sysctl
vm.overcommit_memory=1' for this to take effect.

7283:M 12 Mar 12:13:33.749 * The server is now ready to accept connections on port 6379

第1个警告(WARNING: The TCP backlog setting of 511 ......)解决办法
方法1: 临时设置生效: sysctl -w net.core.somaxconn = 1024
方法2: 永久生效: 修改/etc/sysctl.conf文件,增加一行
net.core.somaxconn= 1024
然后执行命令
sysctl -p

补充:
net.core.somaxconn是linux中的一个kernel参数,表示socket监听(listen)的backlog上限。
backlog是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。
而socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。
当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。
所以说net.core.somaxconn限制了接收新 TCP 连接侦听队列的大小。
对于一个经常处理新连接的高负载 web服务环境来说,默认的 128 太小了。大多数环境这个值建议增加到 1024 或者更多。

第2个警告(WARNING overcommit_memory is set to 0! ......)同样也有两个解决办法
方法1: 临时设置生效: sysctl -w vm.overcommit_memory = 1
方法2: 永久生效: 修改/etc/sysctl.conf文件,增加一行
vm.overcommit_memory = 1
然后执行命令
sysctl -p

补充: 
overcommit_memory参数说明:
设置内存分配策略(可选,根据服务器的实际情况进行设置)
/proc/sys/vm/overcommit_memory
可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
注意:redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用的内存
为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所以这里
比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)。

 

发表在 cache | WARNING overcommit_memory , vm.overcommit_memory=1已关闭评论

Google Chrome VIEW HTTP/2

Google Chrome
 
Google Chrome 中在开发者工具中看不到 HTTP/2 指示器。
 Chrome 用特殊的地址
chrome://net-internals/#http2 给出了相关信息。

chrome://net-internals/#events&q=id:336

发表在 technologys | Google Chrome VIEW HTTP/2已关闭评论

windows 7/windows 2008/ Apple / ATS

配置windows7/windows 2008 支持ats
 

苹果提出的ATS强制标准:

部署服务器SSL证书,启用HTTPS加密连接。但需满足以下ATS默认的安全要求

1、ATS要求服务器必须支持传输层安全(TLS)协议1.2以上版本;

2、通讯中的加密套件配置要求支持列出的正向保密;(以下Apple官方文档列表)

3、数字证书必须使用SHA256或者更高级的签名哈希算法签名,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC算法。

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

 

DSA算法要求使用以下加密套件:

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

 

 

支持ATS标准:

1、购买苹果信任CA所颁发的证书;

2、部署https网站的web服务器也有一定要求,如下:

Apache,Nginx要求关联的openssl版本在1.0.1+,这样网站才支持TLS1.2,同时您需要对证书相关参数做一定调整:

Apache:

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

Nginx:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

Tomcat要求环境 tomcat7+和JDK1.7+,配置参考如下:

     <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
     keystoreFile="keystore/domain.jks"  keystorePass="证书密码"
               clientAuth="false" sslProtocol="TLS"
               ciphers="TLS_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_RSA_WITH_AES_128_CBC_SHA,
                        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                        TLS_RSA_WITH_AES_128_CBC_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
                        SSL_RSA_WITH_3DES_EDE_CBC_SHA,
                        TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />

IIS 要求环境 windows server 2008 R2/IIS 7+

Apple Documents:

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW57

 Requirements for Connecting Using ATS

Windows 安全通告:
https://technet.microsoft.com/en-us/library/security/3042058.aspx

Microsoft Security Advisory 3042058
https://support.microsoft.com/en-us/help/3042058/microsoft-security-advisory-update-to-default-cipher-suite-priority-order-may-12,-2015

在安装3042058之前可能需要先确定安装了: KB3020369
https://support.microsoft.com/en-us/help/3020369/april-2015-servicing-stack-update-for-windows-7-and-windows-server-2008-r2
其它相关链接
https://support.microsoft.com/en-us/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness-tool
https://help.aliyun.com/knowledge_detail/48151.html

Cipher Suites Added by the Update

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_128_GCM_SHA256

 

windows iis:

开启TLS 1.2

在Windows 2012中,缺省就已经开启了TLS 1.2,但在Windows 2008中缺省并没有开启TLS 1.2,所以需要我们通过修改注册表来启动TLS 1.2功能。

    点击“开始”—“运行”,输入 “Regedit”,点击OK.
    在注册表中寻找:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
    如果在Protocols下没有“TLS 1.2”选项,请依次新建“TLS 1.2”和“Server”项。
    新建一个DWORD值,在名称中输入“Enabled”。
    双击这个值,在数值数据中,输入“1”。

调整IIS加密套件顺序

1.    Windows 2008在命令提示符下,键入 gpedit.msc,并按 Enter 键来启动“本地组策略编辑器”。
2.    依次展开“计算机配置”、“管理模板”、“网络”,然后单击“SSL 配置设置”。
3.    在“SSL 配置设置”下,单击“SSL 密码套件顺序”设置。
4.    在“SSL 密码套件顺序”窗口中,单击“已启用”。
5.    在选项窗格中,双击以突出显示“SSL 密码套件”字段的全部内容,然后使用以下加密套件替换其内容:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

发表在 windows | windows 7/windows 2008/ Apple / ATS已关闭评论

windows 7/windows 2008/ tls1.2 / .net

Disable RC2 RC4 And SSL 2.0

https://support.microsoft.com/en-us/help/245030/how-to-restrict-the-use-of-certain-cryptographic-algorithms-and-protocols-in-schannel.dll

 Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

 Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 128/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
"Enabled"=dword:00000000

Protocol

KEA

SYM (bit)

HSH (bit)

CipherSuite

TLS1.0

RSAKeyX

AES (128)

SHA1 (160)

TLS_RSA_WITH_AES_128_CBC_SHA    

SSL3.0

RSAKeyX

RC4 (128)

SHA1 (160)

SSL_RSA_WITH_RC4_128_SHA

SSL2.0

RSAKeyX

RC4 (128)

MD5 (128)

SSL_CK_RC4_128_WITH_MD5

TLS 1.2 and Microsoft.Net

Now lets focus on using TLS 1.2 in .Net world. We need to make sure that
the web sites are served via TLS 1.2 protocol and client apps which are
consuming the same need to support TLS 1.2. .Net is running on top of
operating system and mostly its windows. If host windows supports TLS
1.2 .Net can also support TLS 1.2 as it relies on schannel.dll1
The first task here is to make sure we are using the right tools and technologies.


TLS 1.2 and .Net Framework 4.5


.Net is also versioned. Versions below 4.5*doesn't know how to
communicate via TLS 1.2.In .Net 4.5 the TLS 1.2 is enabled
by default.
Simply compile our applications in ,Net 4.5 and we will get TLS 1.2
communication for our applications.


How to make .Net 4.0 app talk using TLS 1.2


Technically speaking just recompile existing older application to .Net
4.5 to get TLS 1.2 support. It sounds simple as everybody expecting that
there are no breaking changes in .Net 4.5 and our application will
function as is. But if we are serious about delivering quality software
we also need to test entire app in 4.5 before shipping. It really adds
cost.

Lets see if there are any ways to use TLS 1.2 by .Net 4.0 apps.

System.dll overwrite

When we install .Net 4.5 its basically adding changes on top of .Net
4.0. In other words the System.dll used for 4.0 apps will be overwritten
to 4.5 version of System.dll. So there are possibilities that .Net 4.0
apps will execute 4.5 code when they access functions in System.dll.
Which means if we have .Net 4.5 installed in the machine where our .Net
4.0 is running it can take advantage of TLS1.2. All our solutions below
are depending on this factor.
Below links explains the .Net versioning and overwriting.


1.Code change in 4.0 to use TLS 1.2

Now its the matter of changing the default protocol used by 4.0 to TLS
1.2. This can be done by forcefully changing the  protocol as below.

//SecurityProtocolType.Tls1.2;

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

 

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
| SecurityProtocolType.Tls11 
| SecurityProtocolType.Tls;

// comparable to modern browsers
var request = WebRequest.Create("https://www.howsmyssl.com/a/check");
var response = request.GetResponse(); 
var body = new StreamReader(response.GetResponseStream()).ReadToEnd();


If we look at the SecurityProtocolType enum for .Net 4.0, we will not be able to see the TLS1.2. But in 4.5 we can see that. So .Net 4.0 will not compile if we use TLS1.2 enum value. But if we use the TLS1.2 enum number it will compile and at runtime since the .Net 4.0's System.dll is replaced with 4.5 the cast will work. 

 
Please note that this will fail if we are running the same app in a machine which don't have 4.5 installed. Recommended only for servers where its easy to manage the .Net version.


2.Registry change to force .Net 4.0 to use TLS 1.2

If we inspect the .Net 4.5 ServicePointManager source code we can see that the default protocol is depending on the below registry entry.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    SchUseStrongCrypto to DWORD 1

The default value will be 0. Simply change this to 1 to get .Net 4.5
System.dll use TLS 1.2. Since our 4.0 application uses 4.5 System.dll
4.0 gets TLS 1.2 support.

http://stackoverflow.com/questions/28286086/default-securityprotocol-in-net-4-5


References

https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet#Client_.28Browser.29_Configuration
https://www.simple-talk.com/dotnet/.net-framework/tlsssl-and-.net-framework-4.0/
https://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols(v=vs.110).aspx
https://istlsfastyet.com/
http://blogs.msdn.com/b/benjaminperkins/archive/2014/11/04/using-tls-1-2-with-wcf.aspx
http://blogs.msdn.com/b/benjaminperkins/archive/2011/10/07/secure-channel-compatibility-support-with-ssl-and-tls.aspx
http://www.dotnetnoob.com/2013/10/hardening-windows-server-20082012-and.html

TLS Cipher Suites in Windows 7
https://msdn.microsoft.com/en-us/library/windows/desktop/mt767780%28v=vs.85%29.aspx
TLS Cipher Suites in Windows 8
https://msdn.microsoft.com/en-us/library/windows/desktop/mt762882%28v=vs.85%29.aspx
TLS Cipher Suites in Windows 8.1
https://msdn.microsoft.com/en-us/library/windows/desktop/mt767781%28v=vs.85%29.aspx
TLS Cipher Suites in Windows 10 v1507
https://msdn.microsoft.com/en-us/library/windows/desktop/mt767769%28v=vs.85%29.aspx
TLS Cipher Suites in Windows 10 v1511
https://msdn.microsoft.com/en-us/library/windows/desktop/mt767768%28v=vs.85%29.aspx
TLS Cipher Suites in Windows 10 v1567
https://msdn.microsoft.com/en-us/library/windows/desktop/mt490158%28v=vs.85%29.aspx

Tools

for .net framework 4.5
SSLTLSCheck.zip

点击查看原图

发表在 .net | windows 7/windows 2008/ tls1.2 / .net已关闭评论

nuget


下载地址:

命令行: http://nuget.codeplex.com/downloads/get/669083
命令行: http://nuget.org/downloads
图形窗: https://github.com/NuGetPackageExplorer

*.nuspec

Folder Description Action upon package install
tools Powershell scripts and programs accessible from the Package Manager Console Contents are copied to the project folder, and the tools folder is added to the PATH environment variable.
lib Assembly(.dll) files (.dll), documentation (.xml) files, and symbol (.pdb) files Assemblies are added as references; .xml and .pdb copied into project folders.
content Arbitrary files Contents are copied to the project root
build MSBuild .targets and .props files Automatically inserted into the project file (NuGet 2.x) or project.json.lock (NuGet 3.x).
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<!-- The identifier that must be unique within the hosting gallery -->
<id>Contoso.Utility.UsefulStuff</id>
<!-- The package version number that is used when resolving dependencies -->
<version>1.8.3.331</version>
<!-- Authors contain text that appears directly on the gallery -->
<authors>Dejana Tesic, Rajeev Dey</authors>
<!-- Owners are typically nuget.org identities that allow gallery
users to earily find other packages by the same owners.  -->
<owners>dejanatc, rjdey</owners>
<!-- License and project URLs provide links for the gallery -->
<licenseUrl>http://opensource.org/licenses/MS-PL</licenseUrl>
<projectUrl>http://github.com/contoso/UsefulStuff</projectUrl>
<!-- The icon is used in Visual Studio's package manager UI -->
<iconUrl>http://github.com/contoso/UsefulStuff/nuget_icon.png</iconUrl>
<!-- If true, this value prompts the user to accept the license when
installing the package. -->
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<!-- Any details about this particular release -->
<releaseNotes>Bug fixes and performance improvements</releaseNotes>
<!-- The description can be used in package manager UI. Note that the
nuget.org gallery uses information you add in the portal. -->
<description>Core utility functions for web applications</description>
<!-- Copyright information -->
<copyright>Copyright ©2016 Contoso Corporation</copyright>
<!-- Tags appear in the gallery and can be used for tag searches -->
<tags>web utility http json url parsing</tags>
<!-- Dependencies are automatically installed when the package is installed -->
<dependencies>
<dependency id="Newtonsoft.Json" version="9.0" />
</dependencies>
</metadata>
<!-- A readme.txt will be displayed when the package is installed -->
<files>
<file src="readme.txt" target="" />
</files>
</package>


命令:

nuget spec
nuget pack ClassLibrary2.csproj -Build -Properties Configuration=Release
nuget push *.nupkg -s http://127.0.0.1 apikey

iis6:
需要添加通配符程序
点击查看原图
点击查看原图
注意64bit/32bit
点击查看原图

发表在 .net | nuget已关闭评论

ASP.NET URL

Browser Request 的網址相關的屬性與用法:

網址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc
Request.ApplicationPath /
Request.PhysicalPath D:\Projects\Solution\web\News\Press\Content.aspx
System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:\Projects\Solution\web\News\Press
Request.PhysicalApplicationPath D:\Projects\Solution\web\
System.IO.Path.GetFileName(Request.PhysicalPath) Content.aspx
Request.CurrentExecutionFilePath /News/Press/Content.aspx
Request.FilePath /News/Press/Content.aspx
Request.Path /News/Press/Content.aspx/123
Request.RawUrl /News/Press/Content.aspx/123?id=1
Request.Url.AbsolutePath /News/Press/Content.aspx/123
Request.Url.AbsoluteUri http://localhost:1897/News/Press/Content.aspx/123?id=1
Request.Url.Scheme http
Request.Url.Host localhost
Request.Url.Port 1897
Request.Url.Authority localhost:1897
Request.Url.LocalPath /News/Press/Content.aspx/123
Request.PathInfo /123
Request.Url.PathAndQuery /News/Press/Content.aspx/123?id=1
Request.Url.Query ?id=1
Request.Url.Fragment  
Request.Url.Segments /
News/
Press/
Content.aspx/
123

.

发表在 .net | ASP.NET URL已关闭评论

sql injection scans

测试SQL注入的工具:通过精度选择还是向量覆盖率选择?

为了回答这个问题,我们使用了sectoolmarket.com网站提供的标准测试结果,我们先假设候选的扫描程序的测试精度和向量覆盖率有相同的重要
性。我们将GET。POST,HTTP Cookie和HTTP
Headers作为应该被支持的输入向量。当所有的参数都被支持时,这个扫描器的覆盖范围的比率为100%(4/4)。

我们建议使用下面的算术方程式,也就是说对于漏洞扫描器的得分求一个平均值。

然后从得到的检测准确率的百分比中,我们列出前14名的扫描器:

Rank Vulnerability Scanner Vendor Detection Rate Input Vector Coverage Average Score
1 Arachni Tasos Laskos 100.00% 100% 100.00%
2 Sqlmap sqlmap developers 97.06% 100% 98,53%
3 IBM AppScan IBM Security Sys Division 93.38% 100% 96,69%
4 Acunetix WVS Acunetix 89.71% 100% 94,85%
5 NTOSpider NT OBJECTives 85.29% 100% 92,64%
6 Nessus Tenable Network Security 82.35% 100% 91,17%
7 WebInspect HP Apps Security Center 75.74% 100% 87,87%
8 Burp Suite Pro PortSwigger 72.06% 100% 86,03%
9 Cenzic Pro Cenzic 63.24% 100% 81,62%
10 SkipFish Michal Zalewski – Google 50.74% 100% 75,37%
11 Wapiti OWASP 100.00% 50% 75.00%
12 Netsparker Mavituna Security 98.00% 50% 74.00%
13 Paros Pro MileSCAN Technologies 93.38% 50% 71,69%
14 ZAP OWASP 77,21% 50% 63,60%

我们可以通过对扫描器的扫描漏洞的精度和向量覆盖率取到的平均值,做出下面一个图表。

点击查看原图

下表来源:https://msdn.microsoft.com/en-us/library/ms161953%28SQL.105%29.aspx

When you can, reject input that contains the following characters.

Input character

Meaning in Transact-SQL

;

Query delimiter.

'

Character data string delimiter.

--

Comment delimiter.

/* ... */

Comment delimiters. Text between /* and */ is not evaluated by the server.

xp_

Used at the start of the name of catalog-extended stored procedures, such as xp_cmdshell.

发表在 article | sql injection scans已关闭评论

China Unicom PING AWS

China unicom ping aws
位于北京-使用联通网络ping AWS 服务
2017/03/01

美国东部 (弗吉尼亚北部)
C:\Users\Administrator>ping console.aws.amazon.com

正在 Ping us-east-1.console.aws.amazon.com [54.239.31.83] 具有 32 字节的数据:
来自 54.239.31.83 的回复: 字节=32 时间=281ms TTL=224
来自 54.239.31.83 的回复: 字节=32 时间=281ms TTL=224
来自 54.239.31.83 的回复: 字节=32 时间=281ms TTL=224
来自 54.239.31.83 的回复: 字节=32 时间=281ms TTL=224

美国东部 (俄亥俄)
C:\Users\Administrator>ping us-east-2.console.aws.amazon.com

正在 Ping console.us-east-2.amazonaws.com [52.95.20.79] 具有 32 字节的数据:
来自 52.95.20.79 的回复: 字节=32 时间=219ms TTL=230
来自 52.95.20.79 的回复: 字节=32 时间=219ms TTL=230
来自 52.95.20.79 的回复: 字节=32 时间=223ms TTL=230
来自 52.95.20.79 的回复: 字节=32 时间=218ms TTL=230

美国西部 (加利福尼亚北部)
C:\Users\Administrator>ping us-west-1.console.aws.amazon.com

正在 Ping us-west-1.console.aws.amazon.com [176.32.112.45] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。

美国西部 (俄勒冈)
C:\Users\Administrator>ping us-west-2.console.aws.amazon.com

正在 Ping us-west-2.console.aws.amazon.com [54.240.254.239] 具有 32 字节的数据:
来自 54.240.254.239 的回复: 字节=32 时间=236ms TTL=233
来自 54.240.254.239 的回复: 字节=32 时间=237ms TTL=233
来自 54.240.254.239 的回复: 字节=32 时间=235ms TTL=233
来自 54.240.254.239 的回复: 字节=32 时间=236ms TTL=233

加拿大 (中部)
C:\Users\Administrator>ping ca-central-1.console.aws.amazon.com

正在 Ping console.ca-central-1.amazonaws.com [52.94.96.127] 具有 32 字节的数据:
来自 52.94.96.127 的回复: 字节=32 时间=242ms TTL=229
来自 52.94.96.127 的回复: 字节=32 时间=238ms TTL=229
来自 52.94.96.127 的回复: 字节=32 时间=238ms TTL=229
来自 52.94.96.127 的回复: 字节=32 时间=237ms TTL=229

欧洲 (爱尔兰)
C:\Users\Administrator>ping eu-west-1.console.aws.amazon.com

正在 Ping eu-west-1.console.aws.amazon.com [54.239.38.117] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。

欧洲 (法兰克福)
C:\Users\Administrator>ping eu-central-1.console.aws.amazon.com

正在 Ping console.eu-central-1.amazonaws.com [54.239.54.102] 具有 32 字节的数据:

来自 54.239.54.102 的回复: 字节=32 时间=413ms TTL=234
来自 54.239.54.102 的回复: 字节=32 时间=412ms TTL=234
来自 54.239.54.102 的回复: 字节=32 时间=413ms TTL=234
来自 54.239.54.102 的回复: 字节=32 时间=413ms TTL=234

欧洲 (伦敦)
C:\Users\Administrator>ping eu-west-2.console.aws.amazon.com

正在 Ping console.eu-west-2.amazonaws.com [52.94.56.93] 具有 32 字节的数据:
来自 52.94.56.93 的回复: 字节=32 时间=363ms TTL=234
来自 52.94.56.93 的回复: 字节=32 时间=354ms TTL=234
来自 52.94.56.93 的回复: 字节=32 时间=359ms TTL=234
来自 52.94.56.93 的回复: 字节=32 时间=366ms TTL=234

亚太区域 (新加坡)
C:\Users\Administrator>ping ap-southeast-1.console.aws.amazon.com

正在 Ping ap-southeast-1.console.aws.amazon.com [54.240.226.142] 具有 32 字节的
数据:
来自 54.240.226.142 的回复: 字节=32 时间=146ms TTL=238
来自 54.240.226.142 的回复: 字节=32 时间=146ms TTL=238
来自 54.240.226.142 的回复: 字节=32 时间=148ms TTL=238
来自 54.240.226.142 的回复: 字节=32 时间=146ms TTL=238

亚太区域 (悉尼)
C:\Users\Administrator>ping ap-southeast-2.console.aws.amazon.com

正在 Ping ap-southeast-2.console.aws.amazon.com [54.240.195.68] 具有 32 字节的数
据:
来自 54.240.195.68 的回复: 字节=32 时间=231ms TTL=237
请求超时。
来自 54.240.195.68 的回复: 字节=32 时间=233ms TTL=237
来自 54.240.195.68 的回复: 字节=32 时间=231ms TTL=237

亚太区域 (首尔)
C:\Users\Administrator>ping ap-northeast-2.console.aws.amazon.com

正在 Ping ap-northeast-2.console.aws.amazon.com [52.95.193.28] 具有 32 字节的数
据:
来自 52.95.193.28 的回复: 字节=32 时间=138ms TTL=236
来自 52.95.193.28 的回复: 字节=32 时间=135ms TTL=236
来自 52.95.193.28 的回复: 字节=32 时间=142ms TTL=236
来自 52.95.193.28 的回复: 字节=32 时间=138ms TTL=236

亚太区域 (东京)
C:\Users\Administrator>ping ap-northeast-1.console.aws.amazon.com

正在 Ping ap-northeast-1.console.aws.amazon.com [54.239.96.82] 具有 32 字节的数
据:
来自 54.239.96.82 的回复: 字节=32 时间=89ms TTL=235
来自 54.239.96.82 的回复: 字节=32 时间=88ms TTL=235
来自 54.239.96.82 的回复: 字节=32 时间=89ms TTL=235
来自 54.239.96.82 的回复: 字节=32 时间=91ms TTL=235

亚太区域 (孟买)
C:\Users\Administrator>ping ap-south-1.console.aws.amazon.com

正在 Ping console.ap-south-1.amazonaws.com [52.95.88.43] 具有 32 字节的数据:
请求超时。
来自 52.95.88.43 的回复: 字节=32 时间=336ms TTL=229
来自 52.95.88.43 的回复: 字节=32 时间=336ms TTL=229
来自 52.95.88.43 的回复: 字节=32 时间=336ms TTL=229

南美洲 (圣保罗)
C:\Users\Administrator>ping sa-east-1.console.aws.amazon.com

正在 Ping sa-east-1.console.aws.amazon.com [177.72.244.68] 具有 32 字节的数据:
请求超时。
来自 177.72.244.68 的回复: 字节=32 时间=487ms TTL=239
请求超时。

来自 177.72.244.68 的回复: 字节=32 时间=499ms TTL=239

 

BAT 1:

@echo off

echo 美国东部 (弗吉尼亚北部)
ping console.aws.amazon.com

echo 美国东部 (俄亥俄)
ping us-east-2.console.aws.amazon.com

echo 美国西部 (加利福尼亚北部)
ping us-west-1.console.aws.amazon.com

echo 美国西部 (俄勒冈)
ping us-west-2.console.aws.amazon.com

echo 加拿大 (中部)
ping ca-central-1.console.aws.amazon.com

echo 欧洲 (爱尔兰)
ping eu-west-1.console.aws.amazon.com

echo 欧洲 (法兰克福)
ping eu-central-1.console.aws.amazon.com

echo 欧洲 (伦敦)
ping eu-west-2.console.aws.amazon.com

echo 亚太区域 (新加坡)
ping ap-southeast-1.console.aws.amazon.com

echo 亚太区域 (悉尼)
ping ap-southeast-2.console.aws.amazon.com

echo 亚太区域 (首尔)
ping ap-northeast-2.console.aws.amazon.com

echo 亚太区域 (东京)
ping ap-northeast-1.console.aws.amazon.com

echo 亚太区域 (孟买)
ping ap-south-1.console.aws.amazon.com

echo 南美洲 (圣保罗)
ping sa-east-1.console.aws.amazon.com

pause

BAT 2:

@echo off

ping console.aws.amazon.com

ping us-east-2.console.aws.amazon.com

ping us-west-1.console.aws.amazon.com

ping us-west-2.console.aws.amazon.com

ping ca-central-1.console.aws.amazon.com

ping eu-west-1.console.aws.amazon.com

ping eu-central-1.console.aws.amazon.com

ping eu-west-2.console.aws.amazon.com

ping ap-southeast-1.console.aws.amazon.com

ping ap-southeast-2.console.aws.amazon.com

ping ap-northeast-2.console.aws.amazon.com

ping ap-northeast-1.console.aws.amazon.com

ping ap-south-1.console.aws.amazon.com

ping sa-east-1.console.aws.amazon.com

pause

 

 

 

发表在 article | China Unicom PING AWS已关闭评论

Int64/Long

Int64.Max        9223372036854775807
UInt64.Max        18446744073709551615

每分钟1亿条:

100000000 * 60 * 24

day =144000000000

9223372036854775807 / 144000000000 / 365

year = 175482

每分钟10亿条:

1000000000 * 60 * 24

day =1440000000000

9223372036854775807 / 1440000000000 / 365

year = 17548

每分钟100亿条:

10000000000 * 60 * 24

day =14400000000000

9223372036854775807 / 14400000000000 / 365

year = 1754

 

发表在 article | Int64/Long已关闭评论

基于lucene实现自己的推荐引擎

  采用基于数据挖掘的算法来实现推荐引擎是各大电子商务网站、SNS社区最为常用的方
法,推荐引擎常用的Content-Based推荐算法及协同过滤算法(Item-Based
、User-based)在电子商务推荐系统入门v2.0 、电子商务推荐系统入门基础 中已经有所阐述。但从实际应用来看,对于大部分中小型企业来说,
要在电子商务系统完整采用以上算法有很大的难度。

1、常用推荐引擎算法问题

1)、相对成熟、完整、现成的开源解决方案较少

粗略分来,目前与数据挖掘及推荐引擎相关的开源项目主要有如下几类:

数据挖掘相关:主要包括WekaR-ProjectKnimeRapidMinerOrange 等

文本挖掘相关:主要包括OpenNLPLingPipeFreeLingGATE 、Carrot2 等,具体可以参考LingPipe’s Competition

推荐引擎相关:主要包括Apache MahoutDuine frameworkSingular Value Decomposition (SVD) ,其他包可以参考Open Source Collaborative Filtering Written in Java

搜索引擎相关:Lucene、Solr、Sphinx、Hibernate Search等

2)、常用推荐引擎算法相对复杂,入门门槛较低

3)、常用推荐引擎算法性能较低,并不适合海量数据挖掘

以上这些包或算法,除了Lucene/Sor相对成熟外,大部分都还处于学术研究使用,并不能直接应用于互联网大规模的数据挖掘及推荐引擎引擎使用。

2、采用Lucene实现推荐引擎的优势

对很多众多的中小型网站而言,由于开发能力有限,如果有能够集成了搜索、推荐一体化的解决方案,这样的方案肯定大受欢迎。采用Lucene来实现推荐引擎具有如下优势:

1)、Lucene 入门门槛较低,大部分网站的站内搜索都采用了Lucene

2)、相对于协同过滤算法,Lucene性能较高

3)、Lucene对Text Mining、相似度计算等相关算法有很多现成方案

在开源的项目中,Mahout或者Duine Framework用于推荐引擎是相对完整的方案,尤其是Mahout
核心利用了Lucene,因此其架构很值得借鉴。只不过Mahout目前功能还不是很完整,直接用其实现电子商务网站的推荐引擎尚不是很成熟。只不过从
Mahout实现可以看出采用Lucene实现推荐引擎是一种可行方案。

3、采用Lucene实现推荐引擎需要解决的核心问题

Lucene擅长Text Mining较为擅长,Lucene在contrib包中提供了MoreLikeThis功能,可以较为容易实现Content-Based的推荐,但对于涉及用户协同过滤行为的结果(所谓的Relevance Feedback),Lucene目前并没有好的解决方案。需要在Lucene中内容相似算法中加入用户协同过滤行为对因素,将用户协同过滤行为结果转化为Lucene所支持的模型。

4、推荐引擎的数据源

电子商务网站与推荐引擎相关典型的行为:

  • 购买本商品的顾客还买过
  • 浏览本商品的顾客还看过
  • 浏览更多类似商品
  • 喜欢此商品的人还喜欢
  • 用户对此商品的平均打分

因此基于Lucene实现推荐引擎主要要处理如下两大类的数据

1)、内容相似度

例如:商品名称、作者/译者/制造商、商品类别、简介、评论、用户标签、系统标签

2)、用户协同行为相似度

例如:打标签、购买商品、点击流、搜索、推荐、收藏、打分、写评论、问答、页面停留时间、所在群组等等

5、实现方案

5.1、内容相似度

基于Lucene MoreLikeThis实现即可。

5.1、对用户协同行为的处理

1)、用户每一次协同行为都使用lucene来进行索引,每次行为一条记录

2)、索引记录中包含如下重要信息:

商品名、商品id、商品类别、商品简介、标签等重要特征值、用户关联行为的其他商品的特征元素、商品缩略图地址、协同行为类型(购买、点击、收藏、评分等)、Boost值(各协同行为在setBoost时候的权重值)

3)、对评分、收藏、点击等协同行为以商品特征值(标签、标题、概要信息)来表征

4)、不同的协同行为类型(例如购买、评分、点击)设置不同的值setBoost

5)、搜索时候采用Lucene MoreLikeThis算法,将用户协同转化为内容相似度

以上方案只是基于Lucene来实现推荐引擎最为简单的实现方案,方案的准确度及细化方案以后再细说。

更为精细的实现,可以参考Mahout的算法实现来优化。

文章来源:http://www.yeeach.com/2010/10/01/%E5%9F%BA%E4%BA%8Elucene%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%B7%B1%E7%9A%84%E6%8E%A8%E8%8D%90%E5%BC%95%E6%93%8E/

更为精细的实现,可以参考Mahout的算法实现来优化。

发表在 search | 标签为 , | 基于lucene实现自己的推荐引擎已关闭评论

Ceph

打造高性能高可靠块存储系统

UnitedStack块存储系统

分布式存储有出色的性能,可以扛很多故障,能够轻松扩展,所以我们UnitedStack使用Ceph构建了高性能、高可靠的块存储系统,并使用它支撑UnitedStack公有云和托管云的云主机、云硬盘服务。

由于使用分布式块存储系统,避免了复制镜像的过程,所以云主机的创建时间可以缩短到10秒以内,而且云主机还能快速热迁移,方便了运维人员对物理服务器上硬件和软件的维护。

用户对于块存储系统最直观的感受来源于云硬盘服务,现在我们的云硬盘的特点是:

  • 每个云硬盘最大支持 6000 IOPS和170 MB/s的吞吐率,95%的4K随机写操作的延迟小于2ms 。
  • 所有数据都是三副本,强一致性,持久性高达10个9。
  • 创建、删除、挂载、卸载都是秒级操作。
  • 实时快照。
  • 提供两种云硬盘类型,性能型和容量型。

软硬件配置

经过多轮的选型和测试,并踩过无数的坑之后,我们选择了合适我们的软件和硬件。

软件

点击查看原图

硬件

  • 从SATA磁盘到SSD,为了提高IOPS和降低Latency。
  • 从消费级SSD到企业级SSD,为了提高可靠性。
  • 从RAID卡到HBA卡,为了提高IOPS和降低Latency。

 

最小部署架构

随着软硬件的升级,需求的调整, 我们的部署架构也不断在演进,力求在成本、性能、可靠性上达到最佳平衡点。

点击查看原图

最小规模部署中有12个节点,每个节点上有3块SSD。节点上有2个万兆口和1个千兆口,虚拟机网络和存储网络使用万兆口,管理网络使用千兆口。每个集群中都有3个Ceph Monitor节点。

轻松扩展

云计算的好处是极强的扩展性,作为云计算的底层架构,也需要有快速的Scale-out能力。在块存储系统的部署架构中,可以以12台节点为单位进行扩展。

点击查看原图

 

改造OpenStack

原生的OpenStack并不支持统一存储,云主机服务Nova、镜像服务Glance、云硬盘服务Cinder的后端存储各不相同,造成了严重的内耗。我们把这三大服务的后端统一起来,进行高效管理,解决了虚拟机创建时间长和镜像风暴等问题,还能让虚拟机随便漂移。

原生的OpenStack

点击查看原图

改造后的OpenStack

点击查看原图

使用原生的OpenStack创建虚拟机需要1~3分钟,而使用改造后的OpenStack仅需要不到10秒钟时间。这是因为nova-compute不再需要通过HTTP下载整个镜像,虚拟机可以通过直接读取Ceph中的镜像数据进行启动。

我们还增加两个OpenStack没有的功能: QoS 和 共享云硬盘。云计算的另外一个好处是租户资源隔离,所以必备QoS。共享云硬盘可以挂载给多台云主机,适用于数据处理的场景。

我们还使用了OpenStack的multi-backend功能,支持多种云硬盘类型,现在我们的云硬盘类型有性能型、容量型,可以满足数据库和大文件应用。

 

高性能

高可靠性

自动化运维

 未来

发表在 storage | 标签为 | Ceph已关闭评论

ALPHA,BETA,GAMMA,GA,RC,LTS 常见版本/version

常见版本号:

Alpha:

软件或系统的内部测试版本,仅内部人员使用。一般不向外部发布,通常会有很多Bug,除非你也是测试人员,否则不建议使用,alpha 就是α,是希腊字母的第一位,表示最初级的版本,beta 就是β,alpha 版就是比beta还早的测试版,一般都是内部测试的版本。

Beta:

公开测试版。β是希腊字母的第二个,顾名思义,这一版本通常是在Alpha版本后,该版本相对于Alpha版已有了很大的改进,消除了严重的错误,但还是存在着一缺陷,需要经过多次测试来进一步消除。这个阶段的版本会一直加入新的功能。

Gamma:

软件或系统接近于成熟的版本,只需要做一些小的改进就能发行。是beta版做过一些修改,成为正式发布的候选版本。

RC:

RC(Release Candidate),发行候选版本。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错。RC版本是最终发放给用户的最接近正式版的版本,发行后改正bug就是正式版了,就是正式版之前的最后一个测试版。

GA:

GA(General Available), 正式发布的版本,这个版本就是正式的版本。欧美常用GA来说明release版本的。 比如:MySQL Community Server 5.7.21 GA 这是MySQL Community Server 5.7 第21个发行稳定的版本,GA意味着General Available,也就是官方开始推荐广泛使用了。

Release:

这个版本通常就是所谓的“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本,该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。

Stable:

稳定版。在开源软件中,都有stable版,这个就是开源软件的最终发行版,用户可以放心大胆的用了。这一版本基于Beta版,已知Bug都被修复,一般情况下,更新比较慢。

微软常用版本号:

RTM(Release to Manufacture):

给工厂大量生产的压片版本,与正式版内容一样。

OEM(Original Entrusted Manufacture):

给计算机厂商的出场销售版本,不零售只预装

RVL:

号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的

EVAL:

而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别

RTL(Retail):

零售版是真正的正式版,正式上架零售版

苹果常用版本号:

GM(Gold Master):

正式版前最后一个测试版,其实也就是正式版。


其它版本:

软件版本里的Final、Beta、Pro、Build.

Beta版:产品(驱动、BIOS)发布之前的测试版本,也叫做β版,与此对应的还有α版(Alpha版)。α版通常是软件开发商内部自行测试的版本,而β版则是公开发布让用户来进行测试的版本。

版本号里面的Build说明这个版本是第几次编译的结果,比如:
V1.79 Build210 比V1.79Build200 的版本要新。

Alpha: 内部测试版
Beta: 公开测试版
Cardware: 属共享软件的一种,只要给作者回复一封电邮或明信片即可。目前这种形式已不多见。
CHT: 繁体中文版
CN/SPC: 简体中文版
EN: 英文版
Corporation / Enterprise: 企业版
Deluxe: 豪华版
Demo: 演示版
Dev: 开发专用版,程序员版本。
Enhance: 增强版 / 加强版
Express&Special: 特别版
Final: 最终版
Free: 免费版
Full: 完全版
Green: 绿色版/破解版
Mini: 迷你版/精简版,只有最基本的功能,占用资源较少
Multi-language: 多语言版
Plus: 属增强版,不过大部分是在程序界面及功能上增强。
Preview --预览版
Professional: 专业版
Registered: 已注册版
Release: 发行版
Retail/RTM: 零售版
Shareware: 共享版
Stable: 稳定版
Standard: 标准版
Ultimate: 旗舰版
Upgrade: 升级版

版本进程:

工作进程:

工作进程:

...

 

发表在 technologys | 标签为 , , , , , | ALPHA,BETA,GAMMA,GA,RC,LTS 常见版本/version已关闭评论

耳机排行

最受欢迎的耳机十大品牌排行榜

 

注:数据来源于网络

TOP.1 森海塞尔耳机

  Sennheiser (声海)为全世界的使用者呈献质量最佳、最动听的声音盛宴。无论是在家里或是在户外;在舞台上、在录音室里或是在音乐骑师..

  TOP.2 铁三角耳机

   鐵三角总公司在1962 年于日本成立,公司的全球开发小组一直致力于音响器材的设计、制造、行销及发行上。鐵三角公司由最初专注于留

  TOP.3 AKG耳机

  1945年,二战后的维也纳被盟军占领,战火几乎将维也纳破坏殆尽,随着重建工作的开始,历史翻开了新的一页。两个精干的维也纳人再次相遇

  TOP.4 索尼耳机

  索尼公司(TYO: 6758, NYSE: SNE)(ソニー株式会社,Sony Corporation),或者索尼株式会社,简称索尼,台湾、香港译名新力公司,简

  TOP.5 飞利浦耳机

  飞利浦是个综合性大集团,目前旗下部门有:飞利浦优质生活,飞利浦照明,和飞利浦医疗系统。   飞利浦公司以生产家用电器、军用和民

  TOP.6 拜亚动力耳机

  提起拜亚话筒、耳机和其他音频产品,专业音响圈几乎无人不知、无人不晓,老一代的音响专家们对于拜亚话筒(过去中文译名为拜尔话筒)更

  TOP.7 漫步者耳机

  Edifier漫步者企业1996年创立于北京,多年来专注于音频技术的研究开发与产品应用,目前已发展成为以专业多媒体音响和家用音响为核心产品

  TOP.8 硕美科耳机

  企业已通过了ISO9001(2000)国际质量体系认证、CE(欧洲认证体系), 同时GS(德国认证体系)与FCC的国际安全认证也在申办当中。

  TOP.9 松下耳机

  80时代,免税商场才能购买到的National黑白电视,另外Technics即为松下针对高保真HiFi器材、以及专业性质产品的商标,松下在航空领域也.

  TOP.10 欧凡耳机

  深圳市欧凡实业有限公司其前身为深圳市声奥电子厂,成立于1996年,为行内起步较早,发展极为迅速的耳机专业生产企业。多年的生产经验

发表在 article | 耳机排行已关闭评论

CPU 一些参考

 

I7:

点击查看原图

 

 

 

INTER:

点击查看原图

 

DIFF:

点击查看原图

 

LIST:

点击查看原图

 

点击查看原图

 

 

发表在 article | CPU 一些参考已关闭评论

.NET Platform Standard

    .NET Platform Standard 直译过来就是 .NET 平台规范或标准,它的目的就是使 .NET 各个平台之间更加统一和规范 .NET Standard Library 现在有一个对应程序包NETStandard.Library,它的作用是兼容各个 .NET Platform。

 

.NET Platform Standard 列表:

Target Platform Name Alias
.NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6
.NET Core netcoreapp 1.0
.NET Framework net 4.6.3
4.6.2
4.6.1
4.6
4.5.2
4.5.1
4.5
Universal Windows Platform uap 10.0
Windows win 8.1
8.0
Windows Phone wpa 8.1
Windows Phone Silverlight wp 8.1
8.0
Mono/Xamarin Platforms *
Mono *

 

分别参考:

.NET Platform Standard:https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md

Introducing .NET Standard :https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

理解 .NET Platform Standard :http://www.cnblogs.com/xishuai/archive/2016/05/24/understand-dotnet-platform-standard.html

 

imports自身发布不携带依赖的程序包,而是使用系统中安装配置的,net45就是上面说的frameworks配置,win81是系统平台的意思,但不只是特指 Windows 8.1 系统。

Platform NuGet identifier
.NET Framework 2.0 - 4.6 net20 - net46
.NET Core netcoreapp
.NET Micro Framework netmf
Windows 8 win8, netcore45
Windows 8.1 win8, netcore451
Windows Phone Silverlight (8, 8.1) wp8, wp81
Windows Phone 8.1 wpa8.1
Universal Windows Platform 10 uap10, netcore50
Silverlight 4, 5 sl4, sl5
MonoAndroid monoandroid
MonoTouch monotouch
MonoMac monomac
Xamarin iOS xamarinios
Xamarin PlayStation 3 xamarinpsthree
Xamarin PlayStation 4 xamarinpsfour
Xamarin PlayStation Vita xamarinpsvita
Xamarin Watch OS xamarinwatchos
Xamarin TV OS xamarintvos
Xamarin Xbox 360 xamarinxboxthreesixty
Xamarin Xbox One xamarinxboxone

 

 

 

发表在 .net | .NET Platform Standard已关闭评论