网络映射

JPA的多表设计

拟墨画扇 提交于 2020-02-23 13:31:44
表之间关系的划分 数据库中多表之间存在着三种关系,如图所示。 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系 。注意:一对多关系可以看为两种: 即一对多,多对一。所以说四种更精确。 明确: 我们今天只涉及实际开发中常用的关联关系,一对多和多对多。而一对一的情况,在实际开发中几乎不用。 1 在 JPA 框架中表关系的分析步骤 在实际开发中,我们数据库的表难免会有相互的关联关系,在操作表的时候就有可能会涉及到多张表的操作。而在这种实现了 ORM 思想的框架中(如 JPA ),可以让我们通过操作实体类就实现对数据 库表的操作。所以今天我们的学习重点是:掌握配置实体之间的关联关系。 第一步:首先确定两张表之间的关系。 如果关系确定错了,后面做的所有操作就都不可能正确。 第二步:在数据库中实现两张表的关系 第三步:在实体类中描述出两个实体的关系 第四步:配置出实体类和数据库表的关系映射(重点) 2 JPA 中的一对多 2.1 示例分析 我们采用的示例为客户和联系人。 客户:指的是一家公司,我们记为 A 。 联系人:指的是 A 公司中的员工。 在不考虑兼职的情况下,公司和员工的关系即为一对多。 2.2 表关系建立 在一对多关系中,我们习惯把一的一方称之为主表,把多的一方称之为从表。在数据库中建立一对多的关系,需要使用数据库的外键约束。 什么是外键? 指的是从表中有一列

C#常用开源框架

守給你的承諾、 提交于 2020-02-10 16:45:24
01,Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型 等)和Json的转换。 02,Math.NET http://www.mathdotnet.com/ Math.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开源类库。Math.NET含了一个支持线性代数的解析器,分析复杂微分,解方程等等功能。 03,Faker.Net https://github.com/jonwingfield/Faker.Net 开发的时候是不是为测试数据烦恼?Faker.Net可以非常方便帮你生成大批量测试数据。例如人员表里面的姓名、性别什么的。 04,Html Agility Pack http://htmlagilitypack.codeplex.com/ Html Agility Pack 是CodePlex 上的一个开源项目。它提供了标准的DOM API 和XPath 导航--即使 HTML 不是适当的格式!HTML Agility Pack 搭配

Hibernate 配置文件与映射文件 总结

▼魔方 西西 提交于 2020-02-10 06:16:21
hibernate 是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架。 一、Hibernate配置文件详解 Hibernate配置文件有两种形式:XML与properties 个人建议使用XML,因为properties中不能配置关联的映射文件,在后续的实现中会带来一些没必要的编码; XML(hibernate.cfg.xml)文件详解: <? xml version= "1.0" encoding= "GBK" ?> <!-- 指定Hibernate配置文件的DTD信息 --> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd" > <!-- hibernate- configuration是连接配置文件的根元素 --> < hibernate-configuration > < session-factory > <!-- 指定连接数据库所用的驱动 --> < property name= "connection.driver_class" >com.mysql.jdbc

ceph介绍

社会主义新天地 提交于 2020-02-09 14:16:08
一、Ceph简介: Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统 。ceph 的统一体现在可以 提供文件系统、块存储和对象存储 ,分布式体现在可以动态扩展。在国内一些公司的云环境中,通常会 采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率。 Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。 官网:https://ceph.com/ 官方文档:http://docs.ceph.com/docs/master/# 二、Ceph特点: 高性能: a. 摒弃了传统的集中式存储元数据寻址的方案, 采用CRUSH算法 ,数据分布均衡, 并行度高。 b.考虑了容灾域的隔离,能够 实现各类负载的副本放置规则 ,例如跨机房、机架 感知等。 c. 能够 支持上千个存储节点的规模 ,支持TB到PB级的数据。 高可用性: a. 副本数可以灵活控制。 b. 支持故障域分隔 ,数 据强一致性。 c. 多种故障场景自动进行 修复自愈 。 d. 没有单点故障 ,自动管理。 高可扩展性: a. 去中心化。 b. 扩展灵活。 c. 随着节点增加而 线性增长。 特性丰富

MSTP协议介绍和堆叠技术介绍

青春壹個敷衍的年華 提交于 2020-02-06 16:35:33
单生成树的弊端 部分VLAN路径不通  如图所示,网络中有SWA、SWB、SWC三台交换机。配置VLAN2通过两条上行链路,配置VLAN3只通过一条上行链路。  为了解决VLAN2的环路问题,需要运行生成树。在运行单个生成树的情况下,假设SWC与SWB相连的端口成为预备端口(Discarding状态),那么VLAN3的路径就会被断开,无法上行到SWB。 总结: STP和RSTP通过阻塞某一个接口达到破环和冗余的目的,是单生成树,流量只能沿着没有阻塞的链路转发 无法实现流量分担  为了实现流量分担,需要配置两条上行链路为Trunk链路,允许通过所有VLAN;SWA和SWB之间的链路也配置为Trunk链路,允许通过所有VLAN。将VLAN2的三层接口配置在SWA上,将VLAN3的三层接口配置在SWB上。  我们希望VLAN2和VLAN3分别使用不同的链路上行到相应的三层接口,但是如果连接到SWB的端口成为预备端口(Alternate Port)并处于Discarding状态,则VLAN2和VLAN3的数据都只能通过一条上行链路上行到SWA,这样就不能实现流量分担。 总结: STP和RSTP通过阻塞某一个接口达到破环和冗余的目的,是单生成树,流量只能沿着没有阻塞的链路转发 无法做到流量的负载分担 次优二层路径  如图所示,SWC与SWA和SWB相连的链路配置为Trunk链路

SpringCloud学习之Zuul

心不动则不痛 提交于 2020-02-06 16:05:34
1. zuul   zuul是Netflix设计用来为所有面向设备、web网站提供服务的所有应用的门面,zuul可以提供动态路由、监控、弹性扩展、安全认证等服务,他还可以根据需求将请求路由到多个应用中。 2. zuul的作用 (1)要进入一个服务本身,很明显我们没有特别好的办法,直接输入IP地址+端口号,我们知道这样的做法很糟糕的,这样的做法大有问题,首先暴露了我们实体机器的IP地址,别人一看你的IP地址就知道服务部署在哪里,让别人很方便的进行攻击操作。   (2)我们这么多服务,我们是不是要挨个调用它呀,我们这里假设做了个权限认证,我们每一个客户访问的都是跑在不同机器上的不同的JVM上的服务程序,我们每一个服务都需要一个服务认证,这样做比较繁琐。 那么我们这时候面临着这两个极其重要的问题,这时我们就需要一个办法解决它们。首先,我们看IP地址的暴露和IP地址写死后带来的单点问题,我是不是对这么服务本身我也要动态的维护它服务的列表呀,我需要调用这服务本身,是不是也要一个负载均衡一样的玩意, 还有关于IP地址暴露的玩意,我是不是需要做一个代理呀,像Nginx的反向代理一样的东西,还有这玩意上部署公共的模块,比如所有入口的权限校验的东西。因此我们现在需要Zuul API网关。它就解决了上面的问题,你想调用某个服务,它会给你映射,把你服务的IP地址映射成 某个路径,你输入该路径,它匹配到了

MyBatis学习笔记

廉价感情. 提交于 2020-02-06 08:47:34
mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 HelloWorld 基本流程 1、创建全局配置文件,配置mybatis的一些操作 2、创建sql映射文件,该文件中配置了每个sql,以及sql的封装规则 3、将该sql映射文件注册到全局配置文件中 4、根据全局配置文件创建SqlSessionFactory对象,并且获取SqlSession对象 5、使用SqlSession对象执行写好的sql操作 mybatis全局配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> < configuration > < environments default = " development " > <

解码字母到整数映射

血红的双手。 提交于 2020-02-01 03:20:08
给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符: 字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。 返回映射之后形成的新字符串。题目数据保证映射始终唯一。 示例 1: 输入:10#11#12 输出:jkab 示例 2: 输入:1326# 输出:acz 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/decrypt-string-from-alphabet-to-integer-mapping 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 # include <iostream> # include <string> # include <algorithm> using namespace std ; int main ( ) { string str ; string outc ; cin >> str ; string :: iterator i ; reverse ( str . begin ( ) , str . end ( ) ) ; for ( i = str . begin ( ) ; i != str . end ( ) ; ++ i )

ROS系统节点间的内存共享

痞子三分冷 提交于 2020-01-31 01:08:38
ROS系统节点间的内存共享 为什么要用内存共享? 在C++中怎么共享内存? 写进程 读进程 将上述代码移植进ROS 创建writeshmInRos.cpp 创建readshmInRos.cpp 为什么要用内存共享? 答案是ROS提供的服务或者话题都是通过网络来实现的。照顾到ROS节点可能架设在不同的硬件上这一点,这样做更具普遍性,但对于在同一台设备的两个节点间传输数据是非常不友好的。因为其既没必要性又浪费大量资源,且效率低下,容易造成网络堵塞,延时严重。 那么怎么改善最好呢,自然是进程间的内存共享。我们直接让两个节点共享一片物理内存,在里面做一个队列数据结构,一个往里面写,一个去里面读。 下面我们就来实现这一功能。跟上篇文章一样,我们先实现纯净的Linux C++版本,然后再把代码移植到ROS的节点中。 在C++中怎么共享内存? 实现Linux进程间的内存共享,主要参考 这篇文章 。 写进程 “写”进程,流程如下: 获得key, ftok() 使用key来创建一个共享内存 shmget() 映射共享内存(得到虚拟地址), shmat() 使用共享内存, 往共享内存中写入数据 解除映射 shmdt() 如果共享内存不再使用,可以使用shmctl()销毁共享内存 代码如下: # include <stdio.h> # include <unistd.h> # include

Mac搭建本地服务器并映射到外网

人盡茶涼 提交于 2020-01-30 16:58:55
最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭建本地服务器 Mac自带Apache服务器,所以比较简单 一: 打开终端 //开启apache:需要输入密码 sudo apachectl start //重启apache: sudo apachectl restart //关闭apache: sudo apachectl stop 开启成功之后用同一局域网的浏览器打开http://127.0.0.1/或者 http://localhost 测试一下回显示 局域网It work.png 二: 此处显示的网页在/Library/WebServer/Documents,打开文件路径 image.png it work的网页是上图的index.html.en,以此类推,如果想要放自己的网站,可以吧文件拖入上图,类似HaiMiLove文件,此时打开 http://127.0.0.1/haimilove 的链接便是你自己的网页了 三:使用完成记得关闭,不然很耗费电脑性能 本地web服务映射到外网 一: 什么是ngrok 本地服务映射到外网有很多,但这里说的是通过免费ngrok内网穿透映射到外网 ngrok官网下载地址: https:/