chenyundage107
码龄9年
求更新 关注
提问 私信
  • 博客:6,482
    问答:6,835
    13,317
    总访问量
  • 12
    原创
  • 0
    粉丝
  • 32
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2016-04-18
博客简介:

chenyundage107的博客

查看详细资料
个人成就
  • 获得4次点赞
  • 内容获得0次评论
  • 获得7次收藏
  • 博客总排名1,990,007名
创作历程
  • 5篇
    2021年
  • 7篇
    2020年
成就勋章
TA的专栏
  • java
    3篇
  • 区块链
    2篇
  • 前后端交互
    1篇
  • 密码学
    1篇
  • 感想
  • 程序
    5篇
  • 论文
  • 日记

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Docker存储

docker存储Docker 为容器提供两种存储数据的方式 由storage driver管理的镜像层和容器层 data volume storage driver 容器有最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存储在这些层中。 新数据会直接写在最上面的容器层中 修改现有数据会先从镜像层将数据复制到容器层,修改后的数据直接保存在容器层中国,镜像层保持不变 如果多个层中有文件名相同的文件名,用户只能看到最上面的
原创
发布博客 2021.11.17 ·
812 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Docker网络

docker网络 容器网络的类型介绍 none网络:该模式关闭了容器的通信功能 应用场景:对于一些安全性较高的应用并且不需要进行互联网的应用可以使用none网络。比如某个容器的唯一用途是生成随机密码,就可以放到none网络中避免密码被盗窃 host网络 介绍:网络不会虚拟化出自己的网卡、设置IP,而是使用宿主机的IP和端口。使用--network=host指定使用host网络 应用场景:使用host网络的最大好处就是性
原创
发布博客 2021.11.17 ·
782 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mac使用homebrew安装postgresql

mac使用homebrew安装postgresql首先确保你的mac上已经装有homebrew,可以通过命令行查询brew版本brew info #查看homebrew的相关信息brew help #查看homebrew相关命令使用homebrew安装psql(postgresql,一下简称psql)brew install postgresql (-v)查看psql版本pg_ctl -V初始化psql数据库initdb /usr/local/var/postgr
原创
发布博客 2021.06.30 ·
791 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2021-05-20

LeetCode:runtime error: member access within null pointer of type 'ListNode'错误while(p1->next == p2->next)改为下面这种方式即可while(p1 != nullptr && p2 != nullptr &&p1->next == p2->next) 究其原因是因为没有判断当前指针是否指向了一个有意义的位置,增加其有意义的判断条件即可,即指针
原创
发布博客 2021.05.20 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从根上理解MySQL之初识MySQL

从根上理解MySQL之初识MySQL MySQL的服务端和客户端的结构 MySQL的服务端程序直接与需要存储的数据打交道,或者与需要查询的数据进行打交道,客户端程序主要与用户进行打交道,多个客户端可以与服务端进行连接,服务端执行相关MySQL语句后,返回给用户相关的数据 MySQL的安装 bin目录下的可执行文件 启动MySQL服务器程序 在UNIX系统下启动服务器程序 mysqld mysqld可执行文件就表示MySQL的服务端程序
原创
发布博客 2021.03.02 ·
191 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

分布式数字身份DID调研

分布式数字身份DID调研1.分布式数字身份​ 分布式数字身份不止是人,包括组织,甚至未来也包括物品。1.1数字身份标识数字身份通常由身份标识符及关联的属性来表示,分布式数字身份包括:分布式数字身份标识符和数字身份凭证(声明集合)两部分分布式数字身份标识符DID是由字符串组成的标识符,用来代表一个数字身份,不需要中央注册机构就可以实现全球唯一性。通常,一个实体可以拥有多个身份,每个身份被分配唯一的DID值,以及与之相关联的非对称密钥。不同的身份之间没有关联信息,从而可以有效的避免所有身份信
原创
发布博客 2020.08.12 ·
2308 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

分布式数字身份DID调研

分布式数字身份DID调研1.分布式数字身份​ 分布式数字身份不止是人,包括组织,甚至未来也包括物品。1.1数字身份标识数字身份通常由身份标识符及关联的属性来表示,分布式数字身份包括:分布式数字身份标识符和数字身份凭证(声明集合)两部分分布式数字身份标识符DID是由字符串组成的标识符,用来代表一个数字身份,不需要中央注册机构就可以实现全球唯一性。通常,一个实体可以拥有多个身份,每个身份被分配唯一的DID值,以及与之相关联的非对称密钥。不同的身份之间没有关联信息,从而可以有效的避免所有身份信
原创
发布博客 2020.08.12 ·
2308 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

AJAX的快速学习

AJAXAsynchronous Javascript And XML,简称AJAX,异步的JS和XML,它不是一种新的技术,只是老技术JS采用新用法前提:html、css、javaScript、json同步请求和异步请求同步请求,浏览器进行请求之后必须等到服务器返回请求才能进行浏览器的其他操作异步请求,浏览器返回应答之前也可以进行浏览器其他操作同步请求,整个页面都会刷新一次异步请求,局部刷新一次AJAX的对象XMLHttpRequest对象,专门用来发送异步请求当然也可以发送同
原创
发布博客 2020.08.06 ·
160 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

零知识证明Zero-Knowledge Proofs

零知识证明Zero-Knowledge Proofs示证者能够在不向验证者提供任何有用的信息的情况下,使得验证者相信某个论断是正确的。参与者示证者验证者分类Interactive交互式示证者和验证者之间相互交流,进行验证。但是示证者不会进行透露任何的有关信息Non-interactive非交互式 区块链的ZK-SHARKS示证者和验证者之间不要进行过多的交流,直接进行验证zk-SNARK全称是zero-knowledge Succinct Non-I
原创
发布博客 2020.08.06 ·
499 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

smbms系统项目环境搭建

搭建项目搭建一个maven项目 配置tomcat 测试项目是否能够跑起来 导入项目中会遇到的jar包 jsp servlet mysql驱动 jstl standard 创建项目的包结构 编写实体类 对应于数据库的表属性 ORM-映射:表-类映射 编写基础公共类 数据库配置文件 driver = com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306?useUnicode=true&c
原创
发布博客 2020.07.22 ·
304 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

面向对象的基础知识

面向对象编程面向对象&面向对象对于描述复杂的事物,为了从宏观上把握、从整体上合理的分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路进行解决什么是面向对象面向对象的本质:以类的方式组织代码,以对象的组织数据抽象三大特性封装:属性私有,get/set继承多态静态方法静态方法和非静态方法形参和实参值传递和引用传递构造器 使用new关键字,本质是在调用构造器 和类名相同,没有返回值
原创
发布博客 2020.05.15 ·
110 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

dos命令的学习

dos命令学习打开cmd的方式 Windows+R 输入cmd 在资源管理器中,地址前面加cmd 开始 + 系统 + 命令提示符 常用的dos命令#盘符切换#查看当前目录下的所有文件 dir#切换目录 cd change directorycd ..#清理屏幕 cls#退出终端 exit#查看电脑IP ipconfig​#打开应用 calc mspaint notepad#ping 命令 ping www.baidu.
原创
发布博客 2020.05.12 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MarkDown学习

MarkDown学习标题标题#+标题二级标题##+标题三级标题###+标题四级标题####+标题字体hello world!hello world!(左右两个*)hello world!(左右一个*)hello world!(左右三个)*引用Yun学Java (一个>)分割线三个 - 或者三个 *图片!+ //注意英文输入法超链接菜鸟学习Java([]+())列表 ​ A(减...
原创
发布博客 2020.05.12 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

app图片上传前端压缩了之后,后台还有必要再压缩一次吗?

答:

在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法。

  目前来说,HTML5的各种新API都在移动端的webkit上得到了较好的 实现。根据查看caniuse,本demo里使用到的FileReader、Blob、Formdata对象均已在大部分移动设备浏览器中得到了实现 (safari6.0+、android 3.0+),所以直接在前端压缩图片,已经成了很多移动端图片上传的必备功能了。

  在移动端压缩图片并且上传主要用到filereader、canvas 以及 formdata 这三个h5的api。逻辑并不难。整个过程就是:

  (1)用户使用input file上传图片的时候,用filereader读取用户上传的图片数据(base64格式)

  (2)把图片数据传入img对象,然后将img绘制到canvas上,再调用canvas.toDataURL对图片进行压缩

  (3)获取到压缩后的base64格式图片数据,转成二进制塞入formdata,再通过XmlHttpRequest提交formdata。

回答问题 2017.12.28

阿里云服务器tomcat启动无响应,怎么回事?

答:

买的是学生版的java运行环境,上面已经集成了JDK,TOMCAT,我把war也上传了,tomcat也启动了,但还是访问不了8080端口,说响应时间过长

回答问题 2017.12.28

SQL SERVER这样的触发器怎么写?

答:

以下是例程
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。(SQL Server 2000定义了新的触发器,这里不提)

我为什么要使用触发器?
比如,这么两个表:
Create Table Student( --创建学生表
StudentID int primary key, --学号,定义主键约束
....
)

Create Table BorrowRecord( --创建借书记录表
BorrowRecord int identity(1,1), --自动增长流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)

用到的功能有:
如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);

这时候可以用到触发器。对于1,创建一个Update触发器:

Create Trigger truStudent
On Student

for Update --触发器类型--Update

--Name:truStudent
--func:更新BorrowRecord 的StudentID,与Student同步。
--Use :None
--User:System
--Author: wp_love
--Date : 2003-4-16

--Memo : 临时写写的,给大家作个Sample。没有调试阿。

As
if Update(StudentID)
begin

Update BorrowRecord
Set br.StudentID=i.StudentID
From BorrowRecord br , Deleted d ,Inserted i
Where br.StudentID=d.StudentID

end

理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。
一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。

回答问题 2017.12.28

最新版的Eclipse提示显示为黑色

答:

你可以下载个包设置,替换成你想要的颜色

回答问题 2017.12.28

在Rxjava2+Retrofit中使用retryWhen重新拉取请求失败

答:

http://bbs.csdn.net/topics/392302929

回答问题 2017.12.28

codeblocks为什么终端显示乱码?

答:

http://blog.csdn.net/u012465304/article/details/75236442

回答问题 2017.12.28

如何用Python3自动更换IP

答:

#!/usr/bin/env python
#-*- encoding:gb2312 -*-

Filename: IP.py

import sitecustomize
import _winreg
import ConfigParser
from ctypes import *
print '正在进行网络适配器检测,请稍候…'
print
netCfgInstanceID = None
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'System\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}')
keyInfo = _winreg.QueryInfoKey(hkey)

寻找网卡对应的适配器名称 netCfgInstanceID

for index in range(keyInfo[0]):
hSubKeyName = _winreg.EnumKey(hkey, index)
hSubKey = _winreg.OpenKey(hkey, hSubKeyName)
try:
hNdiInfKey = _winreg.OpenKey(hSubKey, r'Ndi\Interfaces')
lowerRange = _winreg.QueryValueEx(hNdiInfKey, 'LowerRange')

检查是否是以太网

if lowerRange[0] == 'ethernet':
driverDesc = _winreg.QueryValueEx(hSubKey, 'DriverDesc')[0]
print '检测到网络适配器名:', driverDesc
netCfgInstanceID = _winreg.QueryValueEx(hSubKey, 'NetCfgInstanceID')[0]
print '检测到网络适配器ID:', netCfgInstanceID
if netCfgInstanceID == None:
print '没有找到网络适配器,程序退出'
exit()
break
_winreg.CloseKey(hNdiInfKey)
except WindowsError:
print r'Message: No Ndi\Interfaces Key'

循环结束,目前只提供修改一个网卡IP的功能

_winreg.CloseKey(hSubKey)
_winreg.CloseKey(hkey)

通过修改注册表设置IP

strKeyName = 'System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + netCfgInstanceID
print '网络适配器的注册表地址是:\n', strKeyName
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
strKeyName, \
0, \
_winreg.KEY_WRITE)
config = ConfigParser.ConfigParser()
print
print '正在打开IP.ini配置文件…'
config.readfp(open('IP.ini'))
IPAddress = config.get("school","IPAddress")
SubnetMask = config.get("school","SubnetMask")
GateWay = config.get("school","GateWay")
DNSServer1 = config.get("school","DNSServer1")
DNSServer2 = config.get("school","DNSServer2")
DNSServer = [DNSServer1,DNSServer2]
print '配置文件内设定的信息如下,请核对:'
print
print 'IP地址:', IPAddress
print '子关掩码:', SubnetMask
print '默认网关:', GateWay
print '主DNS服务器:', DNSServer1
print '次DNS服务器:', DNSServer2
print
res = raw_input('现在,请您决定:输入1,则将配置文件写入系统;输入2,则将现有的系统设定还原为全部自动获取;否则程序退出:')
if str(res) == '1':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'IPAddress', None, _winreg.REG_MULTI_SZ, [IPAddress])
_winreg.SetValueEx(hkey, 'SubnetMask', None, _winreg.REG_MULTI_SZ, [SubnetMask])
_winreg.SetValueEx(hkey, 'DefaultGateway', None, _winreg.REG_MULTI_SZ, [GateWay])
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, ','.join(DNSServer))
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切换成功!重置网络后即可生效'
elif str(res) == '2':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000001)
_winreg.SetValueEx(hkey, 'T1', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'T2', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, None)
_winreg.SetValueEx(hkey, 'DhcpConnForceBroadcastFlag', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'Lease', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseObtainedTime', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseTerminatesTime', None, _winreg.REG_DWORD, 0x00000000)
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切换成功!重置网络后即可生效'
else:
print '用户手动取消,程序退出'
exit('')

回答问题 2017.12.28
加载更多