当前位置: 首页 > wzjs >正文

做外汇交易的浏览什么网站最有效的宣传方式

做外汇交易的浏览什么网站,最有效的宣传方式,ps如何做网站导航图,网站备案是需要去哪里做项目开发日志:技术实践与成长之路 前言 回顾这几天的状态,热情总是比我想象中更快被消耗完。比起茫然徘徊的小丑,我更希望自己是对着风车冲锋的疯子。 今天继续深入项目的实际业务。 状态好点的时候,再看自己EMO时写的东西&…

项目开发日志:技术实践与成长之路

前言

回顾这几天的状态,热情总是比我想象中更快被消耗完。比起茫然徘徊的小丑,我更希望自己是对着风车冲锋的疯子。
今天继续深入项目的实际业务。
状态好点的时候,再看自己EMO时写的东西,尬死我了,你真的是要尬死我😰。

日程

5.11

那天忘记记录了,不过我没有偷懒。

5.12

写了一个下午,不用想建表,不用想接口文档就是爽,昨天的我,你的苦没有白吃!十点半,把业务需求写得七七八八了,估计后天就能开始做前端。

5.13

我就不该看别人的什么感人爱情小故事😭只有对比别人的幸福的时候才能深刻感觉到自己的破防。(还不知道把耳机丢哪里了,隔几个月就要为蓝牙耳机行业做贡献😫)。被token验证卡了,想用AOP,但是实际实现起来特别特别麻烦,先看看能不能弄出来吧。

5.16

有几天没有写blog了,我觉得日常性的记录最好还是写写吧。今天去当了一个会议的观众,我果然还是晕会议桌。前端在写了,在写了,快的话明天能写完,然后就是修修界面。最好周日能把DOCKERFILE跑出来。

5.17

emmmmm,昨晚上又熬夜了,最近太太太懒散了。下午,前端基本跑完,然后要一个个微调了。wc,我好像有不少作业没写啊😰。改了一晚上,改得差不多了,明天想想数据加密的问题。

5.18

尝试了一下做数据加密,感觉开销很大,对原理也不是太明白,先挂到分支,把这个版本的服务器给部署了先。

5.19

昨天的部署没有成功,今天又弄了一天,总算成功了,还是有点小成就感的。但是错过了学科作业,还不能补交,拖延症发力了。警钟长鸣:能及时完成的事情要及时完成(指写blog,今天linux部署docker的部分就没有记到)。

学习内容

省流

  1. 表与实际业务的分析
  2. 事务中获取自增id
  3. InvocationTargetException
  4. MySQL的tinyint(1)细节
  5. maven的聚合jar打包

1. 表与实际业务的分析

经过思考,我觉得以混合划分法来划分接口文档比较合理。以下是学生和教师接口文档的划分:

学生接口文档
  • 课程相关
    • 获取课程列表
    • 获取课程详情
  • 练习相关
    • 获取练习列表
    • 获取练习详情
    • 提交练习答案
  • 做题相关
    • 获取题目详情
    • 保存临时答案
    • 提交最终答案
教师接口文档
  • 练习管理
    • 创建练习
    • 修改练习
    • 复用练习
    • 删除练习
    • 查询练习列表
  • 题目管理
    • 添加新题目
    • 从题库选择题目
    • 删除题目
  • 批改相关
    • 获取待批改列表
    • 获取学生答题详情
    • 提交批改结果
    • 发送提醒通知

所以按照这样的划分来书写接口文档。

查询所属的课程

学生 -> 学生班级关联 -> 班级 -> 练习班级关联 -> 练习 -> 课程。这样看起来是不是特别麻烦,但是我们可以直接生成视图!视图是数据库中的一个虚拟表,不存储实际数据,实际是一个预定义的查询。

比如创建学生课程视图:

CREATE VIEW v_student_courses AS
SELECT u.id AS student_id,u.name AS student_name,c.id AS course_id,c.name AS course_name,s.id AS semester_id,s.name AS semester_name,s.start_time AS semester_start,s.end_time AS semester_end,COUNT(DISTINCT e.id) AS exercise_count
FROM user u
JOIN student_class sc ON u.id = sc.student_id
JOIN exercise_class ec ON sc.class_id = ec.class_id
JOIN exercise e ON ec.exercise_id = e.id
JOIN course c ON e.course_id = c.id
JOIN semester s ON c.semester_id = s.id
WHERE u.role = 0  -- 学生角色
GROUP BY u.id, c.id, s.id;

然后就可以通过对视图进行查询:

-- 查询某学生的所有课程
SELECT * FROM v_student_courses WHERE student_id = 123;

2. 事务中获取自增id

我之前以为对事务存在一定的误解,认为事务是同时处理sql语句,其实不是,这更像是将更改保存在了一个缓冲区。对于同一个连接,是可以获取到上一个插入操作产生的自增id的(尽管它还没有实际插入表中)。

public static Integer getLastInsertId() throws SQLException, FileNotFoundException {Connection conn = getConnection();boolean isTxActive = ConnectionContext.isActive();try (Statement stmt = conn.createStatement()){ResultSet rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");if (rs.next()) {return rs.getInt(1);}}catch (SQLException e){throw new SQLException("无法获取最后插入ID");}finally {if (conn != null && !isTxActive) {conn.close();}}return null;
}

3. InvocationTargetException

InvocationTargetException是反射调用时的“包装异常”。在通过反射调用方法时,目标方法内部抛出了异常,反射机制会将这个异常封装成InvocationTargetException抛出。

private Throwable extractRootCause(Throwable e) {Throwable rootCause = e;while (rootCause instanceof InvocationTargetException && rootCause.getCause() != null) {rootCause = rootCause.getCause();}return rootCause;
}

4. MySQL的tinyint(1)细节

MySQL 驱动(如 mysql-connector-java)会将 tinyint(1) 自动映射为 Boolean。这是 JDBC 的默认行为,tinyint(1) 被识别为“类似布尔值”的类型(0 → false,非 0 → true)。

5. maven的聚合jar打包

配置maven-shade-plugin插件,将项目及其所有依赖打包成一个单独的JAR文件。

<build><resources> <!-- 资源文件  默认复制到target/classes --><resource><directory>src/main/resources</directory> </resource><resource><directory>src/main/webapp</directory><targetPath>webapp</targetPath> <!-- 指定复制到webapp --></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal> <!-- 打包所有依赖 --></goals><configuration><transformers> <!-- 设置 JAR 文件的入口 --><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.anyview.xiazihao.TomcatApplication</mainClass></transformer></transformers><filters> <!-- 过滤签名 --><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration></execution></executions></plugin></plugins>
</build>

结语

这是一个时间跨度非常长的blog(已经算是半个日记了)。以后就算没有实际内容,也尽量保持这种形式的更新吧。

http://www.dtcms.com/wzjs/111514.html

相关文章:

  • 有没有做相册的网站网络推广推广
  • 广州网站建设定制价格北京互联网营销公司
  • 义乌网站建设费用多少海淀区seo多少钱
  • 学做烘焙网站磁力宅
  • 网站整体地图怎么做商丘优化公司
  • 郑州动力无限网站建设吉林seo外包
  • form e哪个网站做企业员工培训课程内容
  • 免费ftp服务器申请网站seo企业优化方案
  • 建立个人网站能干电商平台app大全
  • 拟一份饰品网站建设合同seo sem是啥
  • 网站建设和使用现状谷歌怎么推广自己的网站
  • 网站运行速度慢的原因阿里云域名注册万网
  • 宜兴做网站seo推广的全称是
  • 微信小程序打不开怎解决宁波seo外包公司
  • 温州网站建设及推广保定网站推广公司
  • 前期宣传网站推广方案员工培训
  • 怎么发布视频号国际站seo优化是什么意思
  • 滨江建设交易门户网站百度手机怎么刷排名多少钱
  • 怎样把有用网站做图标放在桌面2345网止导航
  • 最新备案域名查询seo公司
  • 小说网站开发业务逻辑企业网络推广的方式有哪些
  • 枣庄做网站社交网络推广方法
  • 现在国家疫情防控最新政策菏泽seo
  • 做外贸网站平台有哪些内容手机网站
  • 环保公司网站架构怎么做深圳营销推广公司
  • 来宾市住房和城乡建设局网站管理人员需要培训哪些课程
  • 做情色网站需要多少钱网站推广如何引流
  • ASP动态网站制作高端营销型网站建设
  • vps做网站教程输入关键词自动生成文章
  • wordpress论坛主题模板seo是指什么职位