作者归档:kaisin

Adf.Smtp

配置描述:

默认实例可通过Smtp.Config,  Global.Config, AppSetting 配置

优先级以 AppSetting->Global.Config->Smtp.Config

 

配置项:

 

SmtpEnabled:    是否启用 ,必需,值为 true/false

SmtpHost:    主机地址,例: smtp.mail.com,非必需

SmtpPort:    端口,非必需, 默认为 25

SmtpAccount:    在配置了SmtpHost时,登录主机的帐号,非必需

SmtpPassword:    在配置了SmtpHost时,登录主机的帐号,非必需

SmtpSender:    默认的邮件发送者地址,与SmtpSenderRandomDomain互斥,非必需

SmtpName:    默认的发送者显示名称,非必需

SmtpSSLEnabled:    是否启用SSL登录,默认false,非必需

SmtpSenderRandomDomain:    默认随...

继续阅读

发表在 adf | 标签为 | Adf.Smtp已关闭评论

MySQL大数据场景的优化和运维之道

前言

MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视。

MySQL历史

  • 1979年,Monty Widenius写了最初的版本,96年发布1.0

  • 1995-2000年,MySQL AB成立,引入BDB

  • 2000年4月,集成MyISAM和replication

  • 2001年,Heikki Tuuri向MySQL建议集成InnoDB

  • 2003发布5.0,提供了视图、存储过程等功能

  • 2008年,MySQL AB被Sun收购,09年推出5.1

  • 2009年4月,Oracle收购Sun,2010年12月推出5.5

  • 2013年2月推出5.6 GA,5.7开发中

MySQL的优点

  • 使用简单

  • 开源免费

  • 扩展性“好”,在一定阶段扩展性好

  • 社区活跃

  • 性能可以满足互联网存储和性能需求,离不开硬件支持

上面这几个因素也是大多数公司选择考虑MySQL的原因。不过MySQL本身存在的问题和限制也很多,有些问题点也经常被其他数据库吐槽或鄙视

MySQL存在的问题

  • 优化器对复杂SQL支持不好

  • 对SQL标准支持不好

  • 大规模集群方案不成熟,主要指中间件

  • ID生成器,全局自增ID

  • 异步逻辑复制,数据安全性问题

  • Online DDL

  • HA方案不完善

  • 备份和恢复方案还是比较复杂,需要依赖外部组件

  • 展现给用户信息过少,排查问题困难

  • 众多分支,让人难以选择


到了刚才讲的MySQL的优势和劣势,可以看到MySQL面临的问题还是远大于它...

继续阅读

发表在 db | 标签为 | MySQL大数据场景的优化和运维之道已关闭评论

tools

Hex To ASCII Converter:    http://www.aooshi.org/tools/hex2ascii.html

继续阅读

发表在 technologys | tools已关闭评论

.NET Core dotnet 命令大全

命令目录:

dotnet-new

dotnet-restore

dotnet-run

dotnet-build

dotnet-test

dotnet-pack

dotnet-publish

 

现在来详细讲解。

创建(dotnet new)

首先我们创建一个项目 ,这里我们创建控制台程序。

dotnet new

点击查看原图

 

dotnet 更多命令请参考帮助。

 

还原(dotnet restore 及 dotnet pack)

我们在创建一个 class lib  也就是类库。

dotnet new -t lib

点击查看原图

创建好以后,编写一些自己的代码然后进行打包。

点击查看原图

 

我编写了两个方法,现在来打包。

dotnet restore

dotnet pack

点击查看原图

.NET Core 怎样添加离线引用包呢?现在答案就揭晓了。

打包好以后,我们将applib 添加到 app的 project.json 。

点击查看原图

添加好以后切到app 目录,然后进行还原。

还原使用的命令是:dotnet restore -f E:\dotnet\applib\bin\Debug\

dotnet restore -f 包的路径

点击查看原图

这样我们就能直接在项目里调用applib 里面的方法。

我们在代码里编写对应的调用,然后执行程序。可以看到正确输出class lib 的结果。

点击查看原图

 

运行(dotnet build 及 dotne...

继续阅读

发表在 .net | .NET Core dotnet 命令大全已关闭评论

回车换行,CRLF

历史

回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。

符号        ASCII码        意义

\n               10          换行

\r                13            回车CR

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正 好可以打两个字符。要是在这0.2秒里面... 继续阅读

发表在 article | 回车换行,CRLF已关闭评论

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


源码:

http://www.aooshi.org/adf


应用:

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来...

继续阅读

发表在 article | 标签为 | License已关闭评论

队列应用的一些场景

注:以下内容收集于网络:

主题订阅典型产品架构:

点击查看原图

队列模式经典产品架构:

点击查看原图

典型场景之抢红包:

点击查看原图

 

架构描述: 利用消息服务的队列模型,作为抽奖和发放红包高并发场景的缓冲。利用海量消息堆积能力和消息必达的特性。解决业务高并发下的超卖,漏单等常见问题

适用场景描述: 海量商品库数据离线计算后,结果数据准确无误的推送业务系统;抽奖出现促销活动场景,海量高并发订单下单支付,如何防止漏单和超卖

架构优势: 实现负责业务系统之间的解耦,并弹性可扩展

 

典型场景之定时任务

点击查看原图

架构描述: QUEUE作为订单到支付之间的核心处理模块,简化秒杀原本系统需要考虑峰值并发的技术架构。消息延时发送和VIP插队机制,能保障特定用户的特定业务规则

适用场景: 团购,秒杀,促销活动等业务

 

 

 

继续阅读

发表在 technologys | 队列应用的一些场景已关闭评论

adf.cs

使用方法简介:

    下载及源码: http://www.aooshi.org/adf

 

项目添加引用:

Adf.dll

Adf.Cs.dll

protobuf-net.dll

三个程序集

 

继续阅读

发表在 adf | 标签为 | adf.cs已关闭评论