实习日志111
第一天
加入内网和内网域,设置自己的操作系统
第二天
安装常用软件和平台
- Notepad++ 是一款免费的源代码编辑器,支持多种编程语言,其功能强大且界面友好,适用于 Windows 操作系统。
- WinMerge 是一款开源的差异比较和合并工具,主要用于比较文件和文件夹的差异,并能够帮助用户合并不同的文件版本。
- A5M2 是一款轻量级的音乐播放器,专为 Windows 设计,支持多种音频格式,具有简洁的用户界面和高效的播放性能。
- Sakura 是一款基于 Scintilla 的轻量级文本编辑器,主要面向日语用户设计,但同样适用于其他语言的文本编辑工作。
- Snipaste 是一款屏幕截图工具,同时也支持将剪贴板中的图像或文字以浮动窗口的形式贴回到桌面上。
- SVN:一个开源的集中式版本控制系统,主要用于软件开发过程中对源代码、文档和其他文件进行版本控制和管理2。它通过客户端-服务器架构实现,其中服务端负责存储和管理所有数据,而客户端则用于执行操作,如提交更改、更新文件等1。
配置环境与项目
通过SVN远程拉取项目,并通过maven统一配置依赖、下载jar包
第三天
项目功能测试
使用Postman进行文件上传和下载的测试
首先通过代码了解到功能的接口/file/upload
寻找到前端的ip地址10.170.xx.xxx组合成完成的请求url:http://10.10.xx.xxx/8081/file/upload区分请求类型
并且根据请求的要求配置header和body
任何请求都得带着这仨
发送请求,根据response的类型判断能否测试成功
测试各功能接口的正常运行如用户权限、
第四天
node.js
- 可以快速搭建本地开发服务器,用于前端项目运行和调试
- 支持前后端使用同一种语言(JavaScript)
- 提供了 npm(Node Package Manager)或 yarn、pnpm 等包管理工具,用于安装和管理项目依赖
项目的前端代码下载了下来,首先从公司内部的SVN中找到前端项目代码,然后下载node.js快速搭建前端项目框架,搭建好后cd到前端项目位置,打开终端,npm install下载前端项目依赖,然后npm run dev启动项目。
但是启动项目并不顺利,缺少一些文件,要通过SVN别人同步更新后的代码在同步更新自己的代码,前端代码在VS code中打开,下载SVN helper。现在的前端代码就直接在SVN内部,每次又其他代码更新启动SVN update即可,有其他安装的依赖,在终端输入npm install 即可
构造器:在java中要想使用对象,首先要构造对象,并指定起初始状态,构造一个Date类对象,构造器与类同名,并且总是要与new关键字一块
new Date()来创建一个构造器
java所有的参数传递都是按值传递,方法得到的是对象引用的副本,原来的对象引用和这个副本都引用同一个对象
重写:子类和父类之间,方法名、返回类型、参数列表必须相同,还要有@Override注释
重载:本类,方法名必须相同,返回类型和方法参数不需要相同
public class SuanShu {public int add(int x,int y){return x+y;}public double add(double x,double y){return x+y;}public double add(double x,double y ,double u){return x+y+u;}public static void main(String[] args) {SuanShu suanShu = new SuanShu();JiSuan jiSuan = new JiSuan();System.out.println(jiSuan.add(4,5));System.out.println(jiSuan.add(4,5));System.out.println(jiSuan.add(4,5,6.0));System.out.println(suanShu.add(4,5));System.out.println(suanShu.add(4.0,5));System.out.println(suanShu.add(4,5,6.0));}
}
class JiSuan extends SuanShu{@Overridepublic int add(int x, int y) {System.out.println("正在执行子类重写后的加法");return x+y;}@Overridepublic double add(double x, double y) {System.out.println("正在执行子类重写后的加法");return x+y;}@Overridepublic double add(double x, double y, double u) {System.out.println("正在执行子类重写后的加法");return x+y+u;}
}
抽象类:自下而上的继承结构中,越往上的类更具有一般性和抽象性,月不能用来构造特定的实例
抽象类一般作为基类,方便子类的拓展,注意创建对象的两种方式,第一种方式是p1是person的引用变量,实际指向的是Student对象
public abstract class Person {private String name;public Person(String name) {this.name = name;}abstract String getDescriprion();public String getName() {return name;}
}
class Student extends Person{private String college;public Student(String name,String college) {super(name);this.college = college;}@OverrideString getDescriprion() {return getName()+"这是一个来自"+college+"大学的学生";}
}class Tercher extends Person{private String highSchool;public Tercher(String name,String highSchool) {super(name);this.highSchool = highSchool;}@OverrideString getDescriprion() {return getName()+"是一个来自"+highSchool+"的老师";}
}
class M{public static void main(String[] args) {
// Person person = new Person("我");抽象类不能直接实例化Person p1 = new Student("韩立","剑桥");Person p2 = new Tercher("陈平安","凡人修仙传");System.out.println(p1.getDescriprion());System.out.println(p2.getDescriprion());Student student = new Student("蒋凡","雪中");System.out.println(student.getDescriprion());Tercher tercher = new Tercher("江凡","太虚至尊");System.out.println(tercher.getDescriprion());}
}