- 技术分享| 分布式系统中服务注册发现组件的原理及比较
anyRTC
音视频分布式系统音视频分布式系统ConsulZookeeperetcd
背景在分布式架构的系统中,服务发现简单来讲就是通过服务名找到提供服务的实例地址和端口,主要用于解决如何获取服务实例地址问题。随着容器技术的兴起,服务集群部署在系统各处,服务之间的远程调用都需要通过服务发现来实现。服务注册发现是分布式系统中不可或缺的关键组件,常用于构建服务注册发现解决方案的开源框架如ZooKeeper、Etcd、Consul。下面主要介绍一下如何基于ZooKeeper、Etcd、C
- 解决 kubeasz 安装k8s集群跨节点pod 无法使用cluster ip通讯问题
CHEN_RUI_2200
k8s运维kubernetesdocker容器
问题描述使用kubeasz搭建k8s集群后使用的配置文件#'etcd'clustershouldhaveoddmember(s)(1,3,5,...)[etcd]192.168.xx.22#masternode(s)[kube_master]192.168.xx.22#worknode(s)[kube_node]192.168.xx.9192.168.xx.22#[optional]harbors
- 从入门到放弃之生产环境基于Kubernetes V1.21.10搭建高可用集群
收破烂的小白
dockerlinuxkubernetes
1.资源规划名称系统配置IP组件k8s-master01CentOS7.94核8G500G存储172.16.97.27kube-apiserverkube-controller-managerkube-scheduleretcdk8s-master02CentOS7.94核8G500G存储172.16.97.28kube-apiserverkube-controller-managerkube-s
- ubuntu22.04搭建ETCD集群
qq_43199968
etcd数据库
一、软件环境ubuntu22.04etcd3.5.1二、服务器角色ubuntu01192.168.209.124ubuntu02192.168.209.125ubuntu03192.168.209.126三、使用cfssl生成自签证书1.下载cfssl工具(/home/wuyu)wgethttps://pkg.cfssl.org/R1.2/cfssl_linux-amd64wgethttps://
- 《Linux运维总结:基于Ubuntu 22.04+x86_64架构CPU部署etcd 3.5.15二进制分布式集群》
东城绝神
《Linux运维实战总结》linux运维ubuntuetcd
总结:整理不易,如果对你有帮助,可否点赞关注一下?更多详细内容请参考:《Linux运维篇:Linux系统运维指南》一、功能简介1、什么是etcdetcd是一个分布式、可靠的键值存储系统,用于分布式系统中存储关键核心数据。它由CoreOS开发,并且是开源的,授权协议为Apache许可证。etcd内部采用了Raft一致性算法,可以实现配置共享和服务发现。etcd中文文档可参考如下:Etcd中文文档或者
- Kubernetes控制平面组件:APIServer 基于 Webhook Toeken令牌 的认证机制详解
grahamzhu
云原生学习专栏kubernetesapiserver企业认证系统webhook令牌tokenTokenReview系统集成
云原生学习路线导航页(持续更新中)kubernetes学习系列快捷链接Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控制平面组件:etcd(一)Kubernetes控制平面组件:etcd(二)Kubernetes控制平面组件:etcd常用配置参数Kubernetes控制平面组件:etcd高可用
- 二进制部署ETCD单机版
神奇的海马体
#ETCDetcd数据库
文章目录一、签发etcd证书二、搭建etcd单机版三、测试ETCD服务一、签发etcd证书注意:在操作签发证书操作时一定要检查服务器时间、时区是否一致,会导致证书不可用!!1、创建etcd目录mkdir/etc/etcd/{ssl,data}-p2、安装签发证书工具wgethttps://pkg.cfssl.org/R1.2/cfssl_linux-amd64wgethttps://pkg.cfs
- K8S组件SWEET32 CVE-2016-2183漏洞修复方案 —— 筑梦之路
筑梦之路
linux系统运维云计算kubernetes容器云原生
涉及得组件:kubeletkube-apiserveretcd等扫描方法:nmap-sV--scriptssl-enum-ciphers-p10250192.168.100.100nmap-sV--scriptssl-enum-ciphers-p2379192.168.100.100nmap-sV--scriptssl-enum-ciphers-p6443192.168.100.100扫描结果示例
- k8s ssl 漏洞修复
魏 无羡
kubernetesssl容器
针对Kubernetes集群中SSL/TLS协议信息泄露漏洞(CVE-2016-2183)的修复,需重点修改涉及弱加密算法的组件配置。以下是具体修复步骤及验证方法:一、漏洞修复步骤1.修复etcd服务修改配置文件:编辑/etc/kubernetes/manifests/etcd.yaml,在command段添加以下参数禁用弱加密算法:---cipher-suites=TLS_ECDHE_RSA_W
- 还活在上个时代,Etcd 3.0 实现分布式锁竟如此简单
程序员荒生
开源学习etcd分布式
上下文传统Python单机系统部署中,由于GIL的存在,相同进程中我们可以不用处理并发问题。但是随着业务发展需要,原有单机系统演变成分布式或多进程系统后。这将使原有的单机单进程并发控制策略失效。为了解决该问题需要引入一种跨进程、跨机器的互斥锁机制来控制共享资源的访问,这也就是分布式锁的由来。所以,分布式锁的引入是为了保障多台机器或多个进程对共享资源读写的同步,保证数据的最终一致性。分布式锁天生具有
- 用java实现etcd分布式锁_etcdsync 一个golang的ectd分布式锁实现
曈漾
用java实现etcd分布式锁
etcdsync介绍etcdsyncisadistributedlocklibraryinGousingetcd.Iteasytouselikesync.Mutex.Infact,therearemanysimilarimplementationwhichareallobsoletedependingonlibrarygithub.com/coreos/go-etcd/etcdwhichisoff
- 用java实现etcd分布式锁_etcd分布式锁及事务
程序员必修课
用java实现etcd分布式锁
前言分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。etcd分布式锁设计排他性:任意时刻,只能有一个机器的一个线程能获取到锁。通过在etcd中存入key值来实现上锁,删除key实现解锁,参
- 【etcd】ubuntu22安装,与redis对比的区别
{⌐■_■}
etcdredischrome服务器数据库golang缓存
安装方法1:通过apt安装(简单,但版本可能较旧)步骤更新软件包列表:sudoaptupdate安装etcd:sudoaptinstalletcd启动etcd服务:sudosystemctlstartetcd验证安装:etcdctlversion如果输出类似以下内容,表示安装成功:etcdctlversion:3.4.20APIversion:3.4设置开机自启(可选):sudosystemctl
- Etcd教程 — 第二章 Etcd集群静态发现_etcd 双节点集群
2401_87361150
etcd数据库
监听用于和节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)–initial-advertise-peer-urls建议用于和节点之间通信的url,节点间将以该值进行通信。–listen-client-urls监听的用于和客户端通信的url,同样可以监听多个。–advertise-client-urls建议使用的和客户端通信url,该值用于etcd代理或e
- 【Viper】文件、Etcd应用配置与配置热更新,go案例
{⌐■_■}
etcdgolangiphoneipjavaspringbootstruts
1.应用配置Viper的核心功能之一是能够将配置应用到Go应用程序中。它支持从多种数据源加载配置,并将这些配置绑定到程序中的变量或结构体。2.配置热更新在某些应用场景下,我们希望修改配置文件后,应用能够自动更新配置,而不需要重启程序。这在微服务、长时间运行的应用程序中非常有用。1.从文件加载配置,配置热更新步骤代码示例说明1.设置配置文件viper.SetConfigName("config")v
- etcd入门指南:分布式事务、分布式锁及核心API详解
zhangj1125
Goetcd分布式数据库
etcd是一个高可用、分布式的键值存储系统。主要用作分布式系统中的独立协调服务。旨在保存可完全放入内存中的少量数据。Raftetcd基于Raft共识算法,保证了分布式环境下的数据一致性。Raft是一种分布式一致性算法,用于在多个节点之间达成共识,确保分布式系统中的数据在不同节点间一致。LeaderElection(领导者选举)在Raft中,系统的节点分为三种状态:领导者(Leader)、跟随者(F
- Python库: rasterio
司南锤
PYTHON库python基础学习遥感python
rasterio是一个用于处理地理空间栅格数据的Python库。提供了一个简单而强大的接口,用于读取、写入和操作栅格数据(如GeoTIFF、NetCDF等)。rasterio基于GDAL(GeospatialDataAbstractionLibrary)构建,因此继承了GDAL的强大功能,同时提供了更Pythonic的API。安装可以使用pip来安装rasterio:pipinstallraste
- 使用 redis 做分布式锁时,遇到客户端挂掉,如何正确的释放锁?
pythonredis
使用redis做分布式锁时,遇到客户端挂掉,如何正确的释放锁?或者执行任务的时间超过锁的过期时间,如果续期?使用redis做分布式锁时,遇到客户端挂掉,如何正确的释放锁?——给锁设置一个过期时间Q:如果持有锁的客户端挂了,这个锁还加着怎么办?只能等超时自动释放吗?是的,因为redisserver没有主动检测长连接是否断开从而释放锁的能力如果需要主动能力:需要使用ZooKeeper,etcd,Con
- Kubernetes集群架构
qichengzong_right
linux云原生kuberneteslinux云原生kubernetes
Kubernetes集群架构Kubernetes集群架构控制平面组件kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-manager节点组件kubeletkebe-proxy(可选)容器运行时插件DNSWebUI(Dashboard)容器资源监控集群级日志输出网络插件架构变体控制平面部署选项工作负载调度说
- etcd 和 MongoDB 的混沌(故障注入)测试方法
后端
最近在对一些自建的数据库driver/client基础库的健壮性做混沌(故障)测试,去验证了解业务的故障处理机制和恢复时长.主要涉及到了MongoDB和etcd这两个基础组件.本文会介绍下相关的测试方法.MongoDB中的故障测试MongoDB是比较世界上热门的文档型数据库,支持ACID事务、分布式等特性.社区上大部分对MongoDB进行混沌(故障)测试的文章大多都是外围通过对monogd或mon
- 华为云服务器arm64上安装etcd与apisix-dashboard(未成功,卡在build时yarn install报错/wget返回异常值)
信德维拉5530
go
环境华为云服务器CentOS8witharmetcdref:etcd软件移植centos7.6-arm从github上下载etcd的arm64的tar包(注意修改为需要的版本)wgethttps://github.com/etcd-io/etcd/releases/download/v3.4.0/etcd-v3.4.0-linux-arm64.tar.gz解压tar-xzvfetcd-v3.4.0
- 互联网分布式ID解决方案
fajianchen
系统设计IT架构分布式
业界实现方案1.基于UUID2.基于DB数据库多种模式(自增主键、segment)3.基于Redis4.基于ZK、ETCD5.基于SnowFlake6.美团Leaf(DB-Segment、zk+SnowFlake)7.百度uid-generator()基于UUID生成唯一IDUUID生成策略推荐阅读DDD领域驱动与微服务架构设计设计模式与技术组件大厂案例-百度工程效率如何优化垃圾回收机制?-CSD
- etcd磁盘空间故障处理办法
嗄季啲陽咣992970148
etcd数据库
查看etcd状态etcdctl--cacert=/etc/kubernetes/ssl/ca.crt--cert=/etc/kubernetes/ssl/etcd_server.crt--key=/etc/kubernetes/ssl/etcd_server.key--endpoints=https://10.10.10.31:1159,https://10.10.10.32:1159,https
- Etcd的空间清理
Leerrycol
etcdetcd数据库k8s运维
Etcd的空间清理Etcd默认空间配额为2G,如果超出空间配额限制就会影响服务,所以需要定期清理。参考官方维护文档:https://etcd.io/docs/v3.4/op-guide/maintenance/-注:此处使用yum安装的etcd采用Http方式,如果是Https方式,在操作时需要指定对应的证书。1·声明Etcd接口协议exportETCDCTL_API=3#接口协议2·查看当前的状
- 管理etcd的存储空间配额
*老工具人了*
Kubernetes数据库etcdchrome数据库
如何管理etcd的存储空间配额-防止集群存储耗尽指南本文基于etcdv3.4官方文档编写为什么需要空间配额?在分布式系统中,etcd作为可靠的键值存储,很容易成为系统瓶颈。当遇到以下情况时:应用程序频繁写入大量数据未及时清理历史数据遭遇异常写入流量存储空间可能会被快速耗尽,导致集群进入维护模式(仅能读取和删除)。通过设置空间配额,我们可以:主动预防存储耗尽触发提前预警机制保持集群健康状态配置空间配
- 二进制安装Kubernetes-v1.30.2
_Nah_Nah_Nah_
Kuberneteskubernetes云原生1024程序员节
二进制安装Kubernetes-v1.30.2特别鸣谢:https://github.com/cby-chen/Kubernetes主机清单主机名称IP地址说明软件Master01192.168.2.20master节点apiserver、controller-manager、scheduler、etcd、kubelet、kube-proxy、haproxy、keepalived、nginxNod
- 一、Kubernetes架构及核心组件
Cyan_Jiang
Kuberneteskubernetes架构容器云原生
一、基本架构Kubernetes集群可以被看作是一个工厂,而各个组件则是这个工厂里的不同部门:KubernetesAPI服务器:就像是这个工厂的总经理,负责接收所有的请求并将它们分配给相应的部门进行处理。etcd:就像是这个工厂的记事本,负责记录所有的配置信息和状态信息,以便其他组件可以访问和使用它们。etcd节点三个只能挂一个,5个节点能挂2个Kubernetes控制器管理器:就像是这个工厂的调
- k8s二进制集群之ETCD集群部署
smart_ljh
k8s二进制搭建kubernetesetcd容器
下载etcd安装包创建etcd配置文件准备证书文件和etcd存储目录ETCD证书文件安装(分别对应指定节点)创建证书服务的配置文件启动etcd集群验证etcd集群状态继续上一篇文章《k8s二进制集群之ETCD集群证书生成》下面介绍一下etcd证书生成配置。下载etcd安装包https://github.com/etcd-io/etcd/releases/tag/v3.5.9https://gith
- ETCD集群证书生成
smart_ljh
k8s二进制搭建etcd数据库k8s
安装cfssl工具配置CA证书请求文件创建CA证书创建CA证书策略配置etcd证书请求文件生成etcd证书继续上一篇文章《负载均衡器高可用部署》下面介绍一下etcd证书生成配置。其中涉及到的ip地址和证书基本信息请替换成你自己的信息。安装cfssl工具下载cfssl安装包https://github.com/cloudflare/cfssl/releases/download/v1.6.4/cfs
- NetCDF4安装过程
linnnsu
笔记
所有库文件均安装在~/util/netcdf4路径下1.安装zlib下载地址:http://www.zlib.net/解压tar-zxvfzlib-1.2.12.tar.gz,进入zlib-1.2.12文件夹,配置安装信息:./configure--prefix=~/util/netcdf4makemakeinstall安装完成之后会在~/util/netcdf4这个目录下生成三个文件libinc
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理