大盘板块功能实现

YangeIT大约 20 分钟今日指数SpringBoot

大盘板块功能实现

目标

  1. 能说出项⽬的基本概述;🍐🎤
  2. 能说出股票相关的核⼼概念; 🍐
    1. 股票、板块、⼤盘的概念;🍐
    2. 股票涨幅、涨跌、振幅、开盘、收盘、涨停| 跌停概念;🍐
  3. 能说出项⽬的技术架构;🍐🎤
  4. 能说出项⽬开发的基本流程;🍐🎤
  5. 🎯任务1:能够⼿动搭建开发环境
    1. 搭建后端开发环境;✏️
    2. 搭建前端环境;🚀
  6. 🎯任务2:能够完成⽤户登录功能 ❤️ ✏️

1. 今⽇指数项⽬概述

1.1 今日指数项目和核心概念介绍 🍐

今日指数项目和核心概念介绍

  • 今⽇指数是基于股票实时交易产⽣的数据分析产品,旨在为特定⽤ 户和机构提供定制化的股票数据分析和展示服务;
  • 项⽬的核⼼功能以数据分析和展示为主,功能涵盖了A股⼤盘实时指数展示涨幅榜个股涨跌个股秒级⾏情实时⽇K线⾏情等;
image
image

参考网站

open in new window
open in new window

1.2 股票相关名词解释 🍐

股票相关名词解释

1️⃣ 什么是股票?

股票是股份证书的简称,是股份公司为筹集资⾦⽽发⾏给股东的⼀种有价证券,股东可凭此取得红利和买卖抵押,是资⾦市场中主要的信⽤⼯具之⼀;

举例:我和朋友开公司,⼀⼈出10万块钱,那怎么证明公司⾥的20万⾥有我的10万呢?

最传统的办法就是发⾏股票,也就是盖章签字的纸质凭证。 每⼈出了10万,那我们就发⾏200股,这样每个⼈就分得100股, 股票就是证明你是公司股东且占有公司200股⾥⾯100股的⼀个凭证

2️⃣ 股票的分类
  • A股-⼈⺠币普通股票

    • ⼈⺠币普通股票,是由中国境内注册公司发⾏,在境内上市,以⼈⺠币标明⾯值,供境内机构、组织或个⼈以⼈⺠币认购和交易的普通股股票;
    • 英⽂字⺟A没有特殊意义,只是⽤来区分⼈⺠币普通股票和⼈⺠币特种股票;
    • 我们当前项⽬重点关注A股的数据信息;

    传智教育open in new window

  • B股-⼈⺠币特种股票

    • 即公司在中国⼤陆注册和上市,但只能以外币认购和交易;
    • 主要吸引外资;

    神奇B股900904open in new window, 9开头的股票是在沪市上市的B股,以900打头

  • 其他股

    • H股:指国有企业在⾹港 (Hong Kong) 上市的股票;
    • N股:指在中国⼤陆注册,但是在纽约(New York)上市的外资股;
    • SCA股: 指核⼼业务在中国⼤陆,⽽企业的注册地在新加坡(其他国家和地区),但是在新加坡交易所上市的企业股票;

总结

  1. 什么是股票?
    • 证明股东持有公司股份的有价证券; 说⽩了正证明投资⼈投资的⼀种凭证;
  2. 什么是A股?
    • 国内企业,国内证券交易所上市,且必须以⼈⺠币结算,且必须国内的组织、个⼈、机构购买;
  3. 股票核⼼参数?
    • 开盘价、收盘价、涨跌值、涨幅、振幅、涨停|跌停、成交量、成交⾦额等;
  4. K线图核⼼参数及分类?
    • 参数:开盘、收盘、最⾼、最低等;
    • 分类:⽇k线图、周k线图、⽉K图等;
  5. ⼤盘指数和板块概念
    • 上证指数
    • 深证指数
    • 湖南板块,华为概念股,消费电子行业

1.3 项目架构介绍 ✏️ ❤️

项目架构介绍

2. 软件开发流程介绍 ✏️ 🍐

软件开发流程介绍

前言

作为 ⼀名软件开发⼯程师👨,我们有必要了解软件开发基本流程, 以及软件开发过程中涉及到的岗位⻆⾊⻆⾊的分⼯职责, 并了解软件开发中涉及到的常⽤三种软件环境

本⼩节我们将从 软件开发流程⻆⾊分⼯软件环境 三个⽅⾯,来整体上介绍⼀下软件开发的核⼼流程。

软件开发流程
软件开发流程
1️⃣ 第1阶段: 需求分析
image
image

需求来⾃:甲⽅、公司⾃研产品(市场)

2️⃣ 第2阶段: 设计
image
image
3️⃣ 第3阶段: 编码

在编码阶段,项⽬经理主要负责把控软件开发的整体进度,其它相关⼈员各司其职:

  • 开发⼈员
    • 前端:负责前端代码的编写;
    • 后端:负责后端代码的编写;
  • 测试⼈员
    • 根据需求提前编写好测试⽤例和测试测试计划;
  • 运维⼈员
    • 提前准备好⼀些运维相关的⼿册资料;
4️⃣ 第4阶段: 测试

在该阶段中主要由测试⼈员, 对部署在测试环境的项⽬进⾏功能测试,并出具测试报告。

5️⃣ 第5阶段: 上线运维

在项⽬上线之前会由运维⼈员准备服务器上的软件部署环境(包括各种关键的安装和环境配置),然后再将我们开发好的项⽬部署在服务器上运⾏。

作为软件开发⼯程师,我们主要的任务是在编码阶段, 但是在⼀些⼩企业中, 我们也可能会涉及到前端开发、软件测试、发布运维等⽅⾯的⼯作;

点击查看总结
  1. 软件开发流程open in new window
  2. 角色分工open in new window
  3. 软件环境open in new window

3. 今日指数工程搭建 ✏️ 🍐

今日指数工程搭建

工程搭建步骤

  1. 了解项目表结构
  2. 搭建数据库,导入数据库sql脚本
  3. 搭建Java后台程序,并且测试运行
  4. 运行前端开发好的前端程序

3.1 表结构介绍

  1. ⼤盘和板块相关表
⼤盘和板块相关表
⼤盘和板块相关表
  1. 个股相关表
个股相关表
个股相关表
  1. 权限相关表
权限相关表
权限相关表
  1. ⽇志表
⽇志表
⽇志表

注意事项:

  1. 表与表之间的关系尽量通过业务逻辑 维护,⽽不是通过使⽤数据库外键约束,原因如下:
  • 性能问题:外键约束会使约束的表之间做级联检查,导致数据库性能降低;
  • 并发问题:外键约束的表在事务中需要获取级联表的锁,才能进⾏写操作,这更容易造成死锁问题;
  • 扩展性问题:数据分库分表时,加⼤了拆分的难度;
  • 节选阿里巴巴开发规范中关于外键的说明open in new window

4. 用户登录功能 ✏️ ❤️

用户登录功能

原型效果
原型效果

代码操作

  1. 封装请求和响应vo com.itheima.stock.vo ├── req # 请求数据封装类 └── resp # 响应数据封装类

vo对象直接在:day01\资料\vo导⼊即可

  1. 配置密码加密匹配器
    • 引⼊依赖资源:
    <!--密码加密和校验⼯具包-->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-crypto</artifactId>
    </dependency>
    
    • 配置密码加密匹配bean:
    @Configuration
    public class CommonConfig {
        /**
        * 定义密码加密匹配器bean
        * @return
        */
        @Bean
        public PasswordEncoder passwordEncoder(){
            return new BCryptPasswordEncoder();
        }
    }
    

今日的面试点:

  1. 说一下你们项目的开发流程是怎样的?🎤
  2. 你的项目组有哪些人员参与?人员配比是怎样的?🎤
  3. 简单介绍下今日指数项目?🎤
  4. 简单介绍下股票、大盘、板块、A股、K线图相关概念?🎤
  5. 前段后分离有什么优势?项目中前后端开发中有哪些注意事项?🎤
  6. 有没有独立搭建过项目工程?🎤