SquareFace Blog


  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

SpringBoot(3)

发表于 2019-08-27
字数统计: 435 | 阅读时长 ≈ 1

application.yml 配置文件

1
2
3
server:
port: 8081 # 修改SpringBoot启动的端口
context-path: /girl #修改启动路径

2、 把配置文件注入到controller里面变量。

controller

控制器的使用,主要是用来接收客户端的请求
@Controller 处理http请求,不添加这个注解,浏览器无法访问到
@Restcontroller 原来返回json需要@ResponseBody配合@Controller
@RequsetMapping 配置url映射
@PathVariable 获取url中的数据
@RequestParam 获取请求参数的值
@GetMapping 组合注解

后端提供result接口和返回json格式给前端。

Spring-Data-Jpa

JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate, TopLink

1
2
3
4
jpa:
hibernate:
ddl-auto: create # 运行时候自动创建表,create会清空表内之前的内容,update会保留表内原有的数据
show-sql: true # 控制台看到sql语句

数据库操作

首先定义一个interface 继承 JpaRepository。
在创建一个controller类,在controller里面 实现api

更新数据库:

有两种方法
1、 new一个对象出来,重新赋值
2、 通过id find这个条目,在重新赋值。

事务管理

数据库操作
作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行

只有在查询的时候不需要添加事务管理,添加一个注解 :@Transactional

Spring Boot Web 进阶

@Valid 表单验证

AOP
记录每次请求

统一异常处理

test

添加一条数据的时候进行筛选

1 需要在girl 类 里 添加条件。
2 controller

AOP 处理统一处理请求日志
编程范式 设计思想 和语言无关

使用日志可以记录程序的具体参数,

SpringBoot笔记(2)

发表于 2019-08-25
字数统计: 238 | 阅读时长 ≈ 1

SpringBoot

1 在DAO层
创建数据表映射过来的class的时候,可以添加一个构造方法,这样在做测试的时候可以不需要new一个实例再去进行赋值。

2 在 pol.xml中引入jpa和mysql依赖,可以实现对数据库的操作
注:把maven的下载源,替换成阿里云。

1
2
3
4
5
6
7
8
9
10
11
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

3 PlantES的数据存储在Hbase和MySQL里,MySQL里存放 用户的信息和展示的数据的。原始的数据放在Hbase里,最后聚合在一起会放在mysql里。

Vue

v-on:绑定一个事件 @ 缩写
通过buttun,设定一个click事件,这个事件会触发一个方法。

计算属性

侦听属性

条件渲染
V-if
V-for

列表渲染

Class与Style绑定

网站部署

发表于 2019-08-24
字数统计: 75 | 阅读时长 ≈ 1

人人网开源的网站

项目部署到集群,可以实现三高:
高性能
高负载
高可用

这的就需要Docker虚拟机来部署,同一服务会同时运行在多个容器里。

这是一个企业级部署的实战,可以学习一下。

SpringBoot笔记

发表于 2019-08-23
字数统计: 20 | 阅读时长 ≈ 1

Java 1.8.0
mvn 3.3.9

通过一个项目对SpringBoot和VUE进行复习。。。

train_step()

发表于 2019-08-21
字数统计: 149 | 阅读时长 ≈ 1

理论好理解,实践起来,里面有很多的知识点需要理解。

train_step()方法的理解

训练的方法其实就是使用定义好的方法,和之前做测试的时候方法类似。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

@tf.function
def train_step(inp, targ, encoding_hidden):
loss = 0
with tf.GradientTape() as tape:
encoding_outputs, encoding_hidden = encoder(inp, encoding_hidden)
decoding_hidden = encoding_hidden
# print("-----------------------计算Encoder-------------------------------------------------")
for t in range(0, targ.shape[1] - 1):
decoding_input = tf.expand_dims(targ[:, t], 1)
predictions, decoding_hidden, _ = decoder(decoding_input, decoder_hidden, encoding_outputs)

loss += loss_function(targ[:, t+1], predictions) # targ[:, t+1], 是每一步的预测值。
# print("-----------------------计算loss-------------------------------------------------")
batch_loss = loss / int(targ.shape[0])
variables = encoder.trainable_variables + decoder.trainable_variables
gradients = tape.gradient(loss, variables)
optimizer.apply_gradients(zip(gradients, variables))

return batch_loss
1…151617…25
Square Face

Square Face

少不吃苦是废人,老不吃苦是贵人

121 日志
3 分类
32 标签
GitHub E-Mail YouTube Instagram
© 2020 Square Face | Site words total count: 45.5k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4