分类
- .net (22)
- adf (11)
- android (3)
- article (236)
- astronomy (1)
- block chain (8)
- C# Code (9)
- c/c++ (2)
- cache (8)
- cloud (2)
- consensus (3)
- css (2)
- cve (1)
- db (55)
- digest (1)
- english (1)
- finance (2)
- go (3)
- gps (2)
- hardware (1)
- html (2)
- http (2)
- info (19)
- iot (1)
- it (3)
- java (30)
- javascript (6)
- jsp (2)
- linux (76)
- mail (14)
- math (1)
- message (8)
- mood (4)
- mq (2)
- network (22)
- php (9)
- protocol (4)
- push/pull (2)
- python (5)
- rpc (2)
- search (4)
- servlet (1)
- space (24)
- storage (15)
- technologys (103)
- templete (1)
- virtual machine (7)
- web server (37)
- windows (12)
-
近期文章
其他操作
链接
年归档:2016年
P3P 简述
Compact Policies(简洁策略)
常用的简洁策略的 P3P头为 - P3P : CP=CAO PSA OUR (其实, CP=. 就可以了.或者其他任何值都是可以的)分别对应了 :
compact-access(访问) : CAO - contact-and-other
Identified
Contact Information and Other Identified Data: access is given to
identified online and physical contact information as well as to certain
other identified data.
直译 : 被识别的联系信息,和其他被识别的数据: 网上,或现实中的联系信息,和某些被识别的数据,允许被访问.
我的理解: 应该是, 允许被确认的信息和数据的访问. (允许第三方cookie的读写)
compact-purpose(目的) : PSA - pseudo-analysis .身份验证、分析
compact-recipient(受体) : OUR - ours
Ourselves
and/or entities acting as our agents or entities for whom we are acting
as an agent: An agent in this instance is defined as a third party that
processes data only on behalf of the service provider for the
completion of the stated purposes. (e.g., the service provider and its
printing bureau which prints address labels and does nothing further
with the information
直译 :
我们自己,以及(或)实体作为我们自己的代理,或被我们所代理方的实体:这种情况下的代理,被定义为,相关进程数据,代表服务提供者,用来完成其所设定服
务的,第三方.(就好像,一个印刷局作为提供打印服务的,服务提供者,其只负责打印标签神马的,但是却不会进一步,对相关的信息,做任何事情 )
发表在 article
P3P 简述已关闭评论
C# 的一些发展轨迹
搞自 c# 7.0展望
C# 2.0 引入泛型。
C# 3.0 通过扩展方法、lambda表达式、匿名类型和其他相关特性带来了LINQ。
C# 4.0 都是关于与动态非强类型语言的互操作。
C# 5.0 简化异步编程和异步等待等关键词。
C# 6.0 完全重写,并且引入了各种各种更易实现的小特性和改进。你可以在DotNetCurry(DNC)杂志2016年1月版上找到一篇C#6.0特性的概述文章: U升级现有C#代码到 C# 6.0 。
发表在 article
C# 的一些发展轨迹已关闭评论
ALI SPAM
资料来源于阿里, 备份供查阅:
--------------------------------------------
企业邮箱发送IP被反垃圾邮件组织屏蔽后的解封步骤!
当邮件发送方服务器的IP被国际反垃圾邮件组织屏蔽后解除封锁的步骤首先要做的事:
1、所做测试均在问题服务器上进行。
2、确认问题服务器的IP(或整个IP段)不在SBL、RBL、CBL中
关于国际黑名单查询,您可以在这里:http://www.dnsstuff.com/tools/ip4r.ch?ip=(您的IP) 或http://www.kloth.net/services/dnsbl.php (推荐使用)进行查询。
其他应用范围较广泛的黑名单组织网站:
&...
发表在 article
ALI SPAM已关闭评论
Adf.Cs 使用 Adf.RegistryServer
参阅:
Adf.cs
http://www.xiaobo.li/adf/513.html
Adf.RegistryServer
http://www.xiaobo.li/adf/516.html
客户端支持, 配置模式及注册中心模式
两种模式使用方式完全一致,仅配置节定义区别,如下:
配置模式:
<section name="TestServer" type="Adf.Config.IpGroupSection,Adf"/>
注册中心模式:
<section name="TestServer" type="Adf.Cs.CsRegistrySection,Adf.Cs"/>
完整配置参考:
<?xml version="1.0"?> <configuration> <configSections> <section name="TestServer" type="Adf.Config.IpGroupSection,Adf"/> <!--<section name="TestServer" type="Adf.Cs.CsRegistrySection,Adf.Cs"/>--> </conf...
发表在 adf
Adf.Cs 使用 Adf.RegistryServer已关闭评论
Adf.RegistryServer 应用
应用及安装文章:
http://www.xiaobo.li/adf/516.html
安装完成后,通过以下方式调用:
以此配置为例:
<!-- 服务监听IP,不指定默认本机接口 -->
<add key="ServiceMonitorIp" value="127.0.0.1"/>
<!-- 服务监控端口 -->
<add key="ServiceMonitorPort" value="200"/>
主机地址: http://127.0.0.1:200
注册一个主机到组:
HTTP POST: http://127.0.0.1:200?action=register
POST DATA:
{
"group":"group name", //register group name
"host":"ip",
"port":0
...
发表在 adf
Adf.RegistryServer 应用已关闭评论
Adf.Service
通过 Adf.Service 嵌入,可简单实现一个 .Net 项目的 windows 服务
下载:
Adf.Service http://www.aooshi.org/adf/download/Adf.Service.1.3.zip
源码:
应用:
1. 创建控制台应用程序, 版本2.0或以上
2. 引用: adf.dll, adf.service
3. 修改: Program为共公public访问符
4. Program 继承Adf.Service.IService, Main 函数调用 Adf.Service.ServiceHelper.Entry(args);
5. 建立: app.config 文件,并配置 ServiceMonitorPort
6. 复制 Tool*.bat 并修改Adf.Service.Test为你的应用程序 继续阅读
发表在 adf
Adf.Service已关闭评论
Adf.RegistryServer Install
Adf.RegistryServer 是一个常规主机注册服务
下载:
http://www.aooshi.org/adf/download/Adf.RegistryServer.1.0.zip
源代码:
http://www.aooshi.org/adf/
安装:
下载后解压
点击目录下 ToolInstallService.bat 进行安装
非管理员时请点击右链选择”以管理员运行“
配置说明:
<?xml version="1.0"?> <configuration> <configSections> <section name="Authorization" type="System.Configuration.DictionarySectionHandler" /> </configSections> <appSettings> <!-- 服务监听IP,不指定默认本机接口 --> <!--<add key="ServiceMonitorIp" value="127.0.0.1"/>--> <!-- 服务监控端口 --> <add key="Se...
发表在 adf
Adf.RegistryServer Install已关闭评论
License
GNU General Public License
GNU General Public License (GPL)的可能是开源项目最常用的许可证。GPL赋予和保证了开源项目开发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件。 这意味着你可以:
- 复制软件
复制软件到自己的服务器,客户端的服务器,你自己的电脑,几乎任何你想要的地方,而且没有数量限制。
- 发布软件
发布你想要的软件,例如,在你的网站提供下载链接,刻成光盘,打印出来等等。
- 收取费用
如果你想在向别人提供软件时收费,如设置在别人的网站上或者其他用途时。GPL允许你这么做,但是你必须给客户提供一个GPL副本,告诉 他们可以在其他地方得到免费版本。当然最好在此之前,告诉客户,你为什么收费。
- 可以任意修改
如果你想添加或删除功能,没问题。如果想在其他项目中使用部分代码,也是可以的,但是唯一的限制是此项目也必须按GPL发布。
商业软件不能使用GPL协议的代码。
GNU Lesser General Public License
还
有另一个GNU License:GNU Lesser General Public License
(LGPL)。比起GPL它授予的权限较少。一般来说,LGPL比较适合连接到非GPL或者非开源文件的库文件。由于GPL的规定,使用到部分GPL代码
的软件,必须也使用GPL,开发人员不能使用GPL来...
队列应用的一些场景
注:以下内容收集于网络:
主题订阅典型产品架构:
队列模式经典产品架构:
典型场景之抢红包:
架构描述: 利用消息服务的队列模型,作为抽奖和发放红包高并发场景的缓冲。利用海量消息堆积能力和消息必达的特性。解决业务高并发下的超卖,漏单等常见问题
适用场景描述: 海量商品库数据离线计算后,结果数据准确无误的推送业务系统;抽奖出现促销活动场景,海量高并发订单下单支付,如何防止漏单和超卖
架构优势: 实现负责业务系统之间的解耦,并弹性可扩展
典型场景之定时任务
架构描述: QUEUE作为订单到支付之间的核心处理模块,简化秒杀原本系统需要考虑峰值并发的技术架构。消息延时发送和VIP插队机制,能保障特定用户的特定业务规则
适用场景: 团购,秒杀,促销活动等业务
发表在 technologys
队列应用的一些场景已关闭评论
unknown publisher
备忘:
应用程序提示:
unknown publisher
This file came from another computer and might be blocked to help protect this computer
单个文件: 右键 -> 解锁
多个文件:下载Microsoft提供的如下工具
Streams(http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx)
使用方法:
> streams.exe -s -d directory
如:
>streams.exe -s -d c:\temp
发表在 technologys
unknown publisher已关闭评论
Big Endian/Little Endian
Big Endian:最高字节在地址最低位,最低字节在地址最高位,依次排列。
Little Endian:最低字节在最低位,最高字节在最高位,反序排列。
当在本地主机上,无需注意机器用的是Big Endian还是Little
Endian。
但是网络上都是用的是Big Endian,需要进行一个转换,C#提供的BitConverter默认使用的Little
Endian,在需与网络通信时,反的字节序大有不便,特此提供一个可选Big Endian和Little Endian类方便转换。
为什么存在Little Endian?因为对于机器来说,Little Endian更有利于机器的运算。内存地址由低位到高位,在两个数相加运算,直接在高位添加进位数,不必移动内存地址
发表在 technologys
Big Endian/Little Endian已关闭评论
Unicode/UTF-8
=============很久以前保存的,别人写的但是很明了=============
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。
开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。
他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上0×10,
终端就换行,遇上0×07, 终端就向人们嘟嘟叫,例好遇上0x1b,
打印机就打印反白的字,或者终端就用彩色显示字母。他们看到这样很好,于是就把这些0×20以下的字节状态称为”控制码”。他们又把所有的空
格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。大家看到这样,都感觉
很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用...
Java/Android RSA使用时注意补位
java
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
android
Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding");
Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding");
参考:
http://stackoverflow.com/questions/6069369/rsa-encryption-difference-between-java-and-android
http://stackoverflow.com/questions/2956647/rsa-encrypt-with-base64-encoded-public-key-in-android
继续阅读
java base64
代码来源于网络
import java.io.UnsupportedEncodingException;
/**
* @date 2014年8月22日 下午9:50:28
*/
public class Base64Utils
{
private static char[] base64EncodeChars = new char[]
{ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' 继续阅读