头像

win10修改ip,出现了一个意外的情况。不能完成所有你在设置中所要求的更改。

今天在调试硬件设计,需要修改网段信息。在修改的时候弹出以下窗口,提示修改失败。

微信截图_20220531175114

 

可以通过cmd 方式修改,执行 netsh interface ip set address “以太网” static 192.168.1.194 255.255.255.0

如果要修改为自动获取ip,执行:netsh interface ip set address “以太网” source=dhcp

头像

[postgresql] – 重复数据删除,仅保留其中一条

1.常规删除方法
explain analyse delete from deltest a where a.ctid <> (select min(t.ctid) from deltest t where a.id=t.id);
2.group by删除方法
explain analyse delete from deltest a where a.ctid not in (select min(ctid) from deltest group by id);
3.row_number删除方法
explain analyze delete from deltest a where a.ctid = any(array (select ctid from (select row_number() over (partition by id), ctid from deltest) t where t.row_number > 1));

根据某个字段分组删除重复数据,只保留日期最大的一条,建议使用窗口函数效率更高

头像

.Net 中Json序列化实体时忽略部分属性

接口对接中,返回的实体想要部分字段不被序列化返回。以前的做法是新建一个类做深拷贝,后来发现这方法不是很友好。

找了个不错的方法如下:

using Newtonsoft.Json;
namespace Actuator.Contacts
{
[JsonObject(MemberSerialization.OptIn)]
class ZJ
{
[JsonProperty]
public string seqid; //Varchar(50) 每条记录的时间戳标识,精确到毫秒
[JsonProperty]
public string code; //Varchar(200)设备号(终端 SN 号)
[JsonProperty]
public string pileCode;// Varchar(50) 桩编号由施工现场定义,一般为桩号

[JsonProperty]
public int isResultData = 1; // Int 是否为施工结果数据 1是,0否

[JsonIgnoreAttribute]
public int KeyId { get; set; }

}
}

附带解释
JsonObjectAttribute
这个标签的成员序列化标志指定成员序列化是opt-in(要序列化的成员必须带有JsonProperty或DataMember标签)还是opt-out(默认所有的都会序列化,但通过JsonIgnoreAttribute标签可以忽略序列化。opt-out是json.net默认的)。

JsonPropertyAttribute
允许被序列化的成员自定义名字。这个标签同时标示出:在成员序列化设置为opt-in的时候,成员会被序列化。

JsonIgnoreAttribute
忽略域或属性的序列化

JsonConverterAttribute
用于指派转换对象的JsonSerializer。
这个标签可以修饰类或类成员。用于修饰类时,通过此标签指派的JsonConverter会被设置为序列化类的默认方式。用于修饰属性或域成员时,被指派的JsonConverter会序列化它们的值

[XmlIgnore]
忽略xml 序列化

头像

Postgres数据库忘记密码,只需三个步骤重置

Postgres数据库忘记密码,三个步骤解决
一、修改data目录下的 pg_hba.conf 文件
将以下这行
host    all            all           127.0.0.1/32          md5
改为如下:
host    all            all           127.0.0.1/32          trust
如果开启ipv6的话,以下也要修改
# IPv6 local connections:
host all all ::1/128 trust
二、运行cmd,进入postgres安装路径的bin目录,运行如下命令:
psql -U postgres
postgres=# alter user postgres with password ‘你要设置的密码';
postgres=# \q 
三、修改data目录下的 pg_hba.conf 文件
将以下这行

host  all   all  127.0.0.1/32  trust
改为如下:
host  all   all  127.0.0.1/32  md5
ipv6的密码方式也修改
重新启动postgres
头像

Windows server 2012 没有远程桌面授权服务器可以提供许可证

server 2012 或server 2008等默认的最大远程登录链接为2个,超过这个数目需要使用licenseserver进行授权,这个授权据说是收费的,但官方给予了120天的Grace period来配置license server。如果超过120天后仍然没有可用的license server,就会出现第一种错误。而这个Grace period信息记录在上文的注册表中,因此只要删除注册表中的项(需要修改此注册表项权限所有者为Administrators,给Administrators增加修改权限),重启服务器就可以了。还有人提到可以修改系统时间为将来,然后删除注册表,再把系统时间改回来,这样可以获得更长的Grace period。

本人已解决,参考下文。
原文链接:https://blog.csdn.net/zhangzhen1992/article/details/80838302

头像

OpenSSL生成私钥和公钥

1.生成私钥

— 生成 RSA 私钥(传统格式的)

openssl genrsa -out rsa_private_key.pem 1024

— 将传统格式的私钥转换成 PKCS#8 格式的(JAVA需要使用的私钥需要经过PKCS#8编码,PHP程序不需要,可以直接略过)

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

2.生成公钥

— 生成 RSA 公钥(php和java都用转换前私钥生成公钥)

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

3.OpenSSL私钥生成签名

//获取私钥资源
$re = openssl_get_privatekey($privateKeyFilePath);
//生成签名
openssl_sign($data, $sign, $re);
//base64_encode防止乱码
$sign = base64_encode($sign);

4.OpenSSL公钥验签

$re = openssl_get_publickey($publicKeyFilePath);
$result = openssl_verify($data, $sign, $re);
头像

阿里云VPN+深信服SDW-R搭建

购买阿里云VPN部署

一、阿里云配置

1、创建VPN用户网关

ip地址填写本地服务器静态ip。

2、创建IPsec链接

选择对应的vpn网关、用户网关。

路由模式,我是选择路由模式

设置预共享密钥

高级设置,这里基本采用默认选项即可

3、VPN网关路由表

我这里使用的是目的路由表

如目标网段为:本地ip 192.168.88.94/32  (ip/32 这种用法,这里不做解释)

下一跳类型选择IPsec连接

下一跳选择建立好的IPsec连接

添加发布。

 

二、深信服配置,以我的版本为例,其它应该差不多,主要操作VPN

1、基本设置,添加IPsec VPN线路

2、进入第三方对接管理,点击新增第三方设备,填写对应信息。如下图:

 

20210429181554-vpn

IKE配置

20210429181758-vpn2

IPsec配置,使用默认就行了。

可以通过查看系统日志分析,在深信服vpn首页查看链接状态。

 

以上就配置完成,然后本地就可以访问服务器的内网ip了。