学生管理系统开发总结

注:学生管理系统 SMS 是自己用来对 Java + Java Swing + JDBC + MySQL 进行练手的项目。源码在此


今天是2020年2月的最后一天,疫情尚未结束,开学仍未有期。

宅在家已经一个多月。1月底到2月初,花了大概两个多星期的时间,把之前的数据集用 Keras 搭建的神经网络做了一下回归预测,笔记本跑数据太吃力,一天也跑不了几次,在得到一个相对还能接受的结果之后就不跑了,太费劲了。神经网络这个东西真的是一言难尽,每次结果都不一样这个特性是把双刃剑,你不知道下一次是更好还是更坏,很抓狂。当然我的原始数据集是有一点问题的,以后看看能不能再深入研究一下。

2月中旬开始,学习了 JDBC 的相关知识,同时把 MySQL 和 Java Swing 复习了一下,开始找项目练手。搜索了一圈发现学生管理系统似乎是一个新手任务。好吧,咱也不能免俗,就搞它了。虽有借鉴,但都是自己敲出来的,源码已上传到 GitHub 上。下面对过程中遇到的问题和一些想法做一下总结。

Read More

MySQL学习笔记

为什么要用数据库:实现数据持久化;使用完整的管理系统统一管理,易于查询

数据库相关概念

DB:database,数据库,保存一系列有组织的数据

DBMS:database management system,数据库管理系统,数据库是通过DBMS创建和操作的容器

SQL:structure query language,结构化查询语言,与数据库通信的语言

SQL的优点:不是某个数据库的专有语言,几乎所有DBMS都支持SQL;简单易学;强有力,可以进行非常复杂高级的数据库操作

Read More

数学建模竞赛总结

上周末参加了“华为杯”第十六届中国研究生数学建模竞赛,感触颇多,作为研一新生,也在这个过程中看到了自己的许多不足。稍微总结一下自己的感受以自勉。

先说收获:

  • 各种工具的使用熟练度有所提高,比如Python、SPSS、Excel

  • 部分算法有所熟悉,比如聚类分析、主成分分析、多目标规划、各种插值方法

再说不足:

  • 不会用TensorFlow吃了大亏,之前都是在用sklearn,不能浅尝辄止,要不断更新自己的知识库,TensorFlow即刻学起来

  • 数据处理能力有待提高,虽然也编写了一些代码辅助批量处理数据,但还远远不够,特别是对于一些格式特殊的数据(比如这次碰到的气象学领域的netCDF4格式文件),还是只能手动去分析处理,因此对于Python等工具的使用还是要继续提高

  • 做题略为拖沓,做第一问花了两天时间,压缩了后面题目的时间,根本原因还是自己在数据采集和处理方面的能力不够,需要多加练习

  • 数学模型的建立毫无头绪,各种算法也是现学现用,效果并不好,这次参赛也是比较突然,如果研二还参加,应该需要提前一两个月熟悉算法

要学的东西很多,一定要加油!

Spring学习笔记:AOP

AOP:Aspect Oriented Programming 面向切面编程

主要参考资料:维基百科-AOP

WHY

设想这样一个应用场景:设计一个计算器,要求在每次程序执行运算前后输出日志,追踪正在发生的活动

一般方法:在程序执行前和执行后分别重复添加System.out.println();语句,汇报执行进度

Read More

Spring学习笔记:Bean的配置

Bean的配置这部分内容主要是跟着网上视频学的,为了快速建立印象和上手,因此知识点可能不够全面,日后若有需要另行补充

1 Bean的配置形式

1.1 基于XML文件配置bean

上一篇博客 Spring学习笔记:IOC 当中的hello world例子,便是在XML文件中通过bean的全类名节点来配置bean,几点说明:

  • class:bean的全类名,通过反射的方式在IOC容器中创建bean,所以要求bean中(即HelloWorld中)必须有一个无参构造器
  • id:用来标识容器中的bean,在IOC容器中必须是唯一的

Read More

Spring学习笔记:IOC

Spring是一个开源框架,是一个IOC和AOP容器框架

  • IOC:Inversion of Control 控制反转
  • DI:Dependency Injection 依赖注入

主要参考资料:Inversion of Control Containers and the Dependency Injection pattern by Martin Fowler

导论

Martin Fowler举了这样一个例子:类A中有个方法a,需要使用接口B中的方法b,如果用传统模式,我们会在类A内实现接口B的一个实例C,然后再使用方法b,此时类A不仅依赖于接口B,还依赖于接口B的具体实现类C

Read More

Java学习笔记

把Java学习过程中的一些知识点记下来,加深印象以及方便日后复习

主要参考资料:Thinking in Java, 4th Edition, Bruce Eckel


1 基本概念

1.1 Java的数据类型

  • Java有两种数据类型:基本数据类型和引用数据类型
  • 基本数据类型:3类8种,包括数值型(整数型:byte、short、int、long,浮点型:float、double),字符型char,布尔型boolean
  • 引用数据类型:类class,接口interface,数组

Read More