- 博客(56)
- 收藏
- 关注
原创 Fx - day3 - 沙盒/更改集/互联更改集/配置包
很多时候我们可能需要一个沙盒环境,什么是沙盒环境?沙盒环境(sandbox org)拥有模拟生产环境去做上线前的测试,一般也叫UAT环境,沙盒在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。防止对系统其他部分产生不可预见的影响。沙盒环境是生产环境的副本。创建沙盒环境的时候,沙盒环境会复制当前生产环境的快照,包括生产环境的配置、自定义开发内容、权限架构等,但是不包括业务数据。沙盒在创建后独立于生产环境,因此在沙盒执行的操作不会影响生产环境,同时在生产环境中任何改变都不会自动同步到沙盒中。
2024-08-21 20:04:26
865
原创 Spring IOC 控制反转(注解版)
Spring 框架中的核心概念之一就是控制反转(Inversion of Control,IoC)。IOC就是一种思想,而依赖注入(Dependency Injection, DI)是控制反转的一种实现方式。Spring本身是一个容器,存的是对象。对象这个词,在 Spring的范围内,称之为 Bean。控制反转(Inversion of Control,IoC)是一种设计原则,它将对象的创建和依赖关系的管理从程序代码中解耦出来,交由框架或容器进行处理。
2024-06-17 15:49:24
881
2
原创 创建SpringBoot项目常见问题
当我们创建SpringBoot项目时,无法选择java8版本了,原因是Spring官方不再维护SpringBoot2.X的版本了。右键项目,找到Add Framework Support,在Maven前面的那个框框里面画√,然后OK。很直观的一个现象就是,我们的右侧边框上没有Maven这个框框。我们需要配置启动类,找到Edit Configurations。在Setting中找Java Compiler,并检查版本。点击左上角的+,双击Application,配置启动类。安装过程大家可以自行查阅。
2024-05-03 12:58:14
586
原创 【测试篇】Selenium + Java环境搭建
selenium + Java环境搭建、配置系统环境变量、验证环境是否搭建成功、常见问题&解决办法。
2024-04-08 15:16:25
1634
原创 【测试篇】测试分类
可靠性测试、容错性测试、安装卸载测试、内存泄露测试、弱网测试、文档测试、黑盒测试、白盒测试、灰盒测试、单元测试、集成测试、系统测试等……
2024-04-03 15:11:26
879
原创 【测试篇】测试眼里的 BUG
bug 的定义每个公司都不一样,在定义前需要看公司的规范。Blocker(崩溃):阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。Critical(严重):系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等。
2024-03-29 17:16:41
1114
原创 【测试篇】开发模型和测试模型
缺陷:由于其线性顺序性,一旦进入到下一个阶段,就很难回到之前的阶段修改。后置的测试单元都是跟前面的设计单元一一对应的,测试阶段的参考标准以前面对应的阶段为准。计划:开发开始时间、开发结束时间、测试开发时间、测试结束时间、谁开发、谁测试……现状:使用与较小的项目。W模型又可以被称为双V模型,第一个V是开发模型,第二个是测试模型。增量模型:每个增量都是一个独立的部分,可以单独开发、测试和交付。需求分析:需求要干嘛,是不是正确的需求,产品经理产出需求文档。优点:相比于V模型,测试人员可以更早的介入需求。
2024-03-29 14:40:04
947
原创 Linux 系统基础操作命令
目前市面上比较知名的发行版有:RedHat、Ubuntu、CentOS、Debian、Fedora……RedHat 是商业中经常用的一个(收费但服务好,有公司给你维护),这里建议使用Ubuntu、CentOS。
2024-03-27 14:26:31
1091
原创 再谈 Cookie 和 Session
Cookie 是在浏览器中存储,Session 是在服务器中存的。后续再访问该网站的其他页面,请求中就会带上刚才的 sessionid ,进一步的服务器就可以知道当前是哪个用户在操作。Cookie 是存储在硬盘上的,而且存储往往会有一个超时的时间。实现登录功能,不需要直接使用Cookie api,直接使用 session 的 api 就可以了。Cookie 的内容会在下次访问该网站的时候,自动的被带到 HTTP 请求中。Cookie 中是键值对结构的数据,并且这里的键值对都是程序猿自定义的。
2024-03-10 18:48:18
842
原创 前后端交互理解 简易表白墙(servlet)
上期介绍过 Servlet API ,本篇文章目的是借助 servlet 做出一个完整的网站。在一个网站中,是由 前端+后端 组成的。其中的后端就是 java 程序员主要的工作。前端代码给大家准备好了代码如下:后端核心内容下面准备开始编写后端代码。准备工作:创建项目、引入依赖、把前端静态页面放到项目中(webapp下)。当我们用 VScode 打开前端代码,这个表白墙已经可以输入内容了,点击提交之后也能显示内容。此处,咱们后端的代码要做的工作,主要就是两个工作:这里还需要进行前后端交互接口的约定。约定
2024-03-10 17:50:23
1054
原创 Servlet 新手村引入-编写一个简单的servlet项目
上篇博客讲到, Tomcat 提供了一些列的 api 接口,这些 api 背后已经把一些基础工作做好了。Tomcat 把这组 api 起了个名字,称为 Servlet。Java 程序员,只需要调用上述 api,通过少量的代码,就可以完成基本的 http服务器的核心功能。相比于上篇 Tomcat 中讲到的 静态页面,Servlet 主要的解决的问题,就是为了实现 动态页面。下面我们就通过 Java 来编写一个最简单的 servlet 的 Hello World 程序。
2024-02-29 20:17:43
1352
原创 Tomcat 详解
Tomcat 是 java 圈中广泛使用的 HTTP 服务器。HTTP 服务器在市面上有很多,其中最知名的叫做 Nginx。而 java 圈中,最知名的就是 Tomcat 了。后续学习 Servlet 内容,就是依赖 Tomcat。Java 程序员想写出来一个网站,绕不开 Tomcat。
2024-02-29 20:08:31
819
原创 应用层—HTTPS详解(对称加密、非对称加密、密钥……)
HTTPS 也是一个应用层的协议。是在 HTTP 协议的基础上引入的一个加密层。由来:HTTP 协议内容都是按照文本的方式明纹传输,这就导致在传输过程中出现一些被篡改的情况,因此引入 HTTPS 加密层,用于保护数据。典型案例就是运营商劫持。由于我们通过网络传输的任何数据包,都会经过运营商的网络设备(路由器、交换机等),那么运营商的网络设备就可以解析出你传输的数据内容,并进行篡改。比如说运营商在用户请求和响应的过程中,插入自己的广告或其他内容,改变原始网页的内容。运营商为啥要这么做呢??
2024-01-21 23:05:27
1996
原创 传输层—TCP核心机制(确认应答、超时重传、三次握手&四次挥手、滑动串口等……)
当另一个主机发给我们一个 TCP 报文,该如何判断当前这个报文是普通报文,还是一个确认响应报文??
2023-12-18 19:51:37
2261
原创 应用层—自定义协议
应用层主要是干嘛的呢??应用层协议定义了应用程序之间通信的规则和标准。定义了数据的格式数据交换的标准和接口规范。应用层协议包括:HTTP/HTTPS、FTP、SMTP 等。本篇暂时不介绍这些应用层协议。应用层自带的协议有很多,但也有很多时候,是需要程序员自己定义协议。假如,外卖现在打开某个外卖软件,显示的是商家列表,每一个商家都包含了很多信息,包括:商家的名称、商家图片、好评率、距离你的位置、评分等…这些信息都是通过网络,从服务器获取的。
2023-12-06 12:20:25
1192
原创 TCP Socket API 讲解,以及回显服务器客户端的实现
Java 打印流 PrintWriter 的介绍:PrintWriter 是 Java 中的一个字符类型的打印输出流,PrintWriter 可以将数据写入文件或其他输出流中,下面代码中用于。Socket 是客户端Socket,或服务端中接收到客户端建立连接(accept方法)的请求后,返回的服务端 Socket。,每个客户端连接都需要一个独立的线程来处理数据的收发和状态的维护,否则一个客户端的阻塞会影响其他客户端的正常通信。(port:9090)启动服务器,利用 accept 方法建立与客户端的连接。
2023-11-30 16:11:01
1410
原创 TCP 与 UDP
TCP进行编程的时候,也存在类似的建立连接的过程。并且在传输失败的时候,A 也能感知到。UDP 面向的是数据报,读写的基本单位,是一个 UDP 数据报(包含一系列的 数据/属性 )谈到“网络安全”,指的是,你传输的数据是否容易被黑客获取,以及入侵、破解、加密、反编译……如果听到说:TCP是可靠传输,UDP是不可靠传输,因此 TCP 比 UDP 更安全。像发微信、发短信,则不需要建立连接,就能进行通信。这里就需要调用传输层的 api.。TCP 和 文件操作类似,都是“流”式的,传输的单位是字节,称字节流。
2023-11-30 09:50:16
469
原创 UDP Socket API 的讲解,以及回显服务器客户端的实现
整个程序中只有一个 socket 对象,不是频繁创建的,生命周期是跟随整个进程的。Java 中的 socket 对象,就对应 系统里的 socket 文件。一个客户端的主机,上面运行的程序很多,天知道你手动指定的端口是不是被别的程序占用了。DatagramSocket(int port) 在服务器这边使用,服务器使用哪个端口,是手动指定的。DatagramSocket() 在客户端这边使用,客户端使用哪个端口,是系统自动分配的。对于服务器来说,需要有一个固定的端口号,方便其他客户端找到。
2023-11-30 09:18:04
1166
原创 网络编程基本概念
网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)进程A:编程来获取网络资源进程B:编程来提供网络资源。
2023-11-26 15:29:39
435
原创 网络通信基础概念介绍
局域网LAN局域网,即 Local Area Network,简称LAN。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。局域网是指在一个相对较小的范围内,例如家庭、办公室、学校等地方内部建立的计算机网络。广域网WAN广域网则是指覆盖范围更广的计算机网络,通常是跨越城市、国家或者甚至是全球的。IP地址通过 IP 地址,来描述网络上的一个设备所在的位置。端口号区分一个主机上的不同应用程序。一个网络程序,在启动的时候,都需要绑定一个或者多个端口号,后续的通
2023-11-25 15:56:41
1182
原创 文件IO操作(字符流、字节流)
文件IO操作,文章中包括 InputStream、OutputStream、Reader、Writer 类以及实例演示等…
2023-11-02 14:40:02
261
原创 多线程基础篇(包教包会)
创建线程常见方法、利用jconsole观察线程、Thread类及常见方法、线程状态、线程安全问题(synchronized)、内存可见性问题(volatile)、wait 和 notify
2023-08-23 20:51:02
407
11
原创 数据结构:队列Queue详解
注意:Queue是个接口,在实例化时必须实例化LinkedList的对象,因为LinkedList实现了Queue接口。:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。进行插入操作的一端称为。队列满:(Q.rear + 1)% array.length == Q.front。Q.front 指向的是队头,Q.rear指向的是可插入元素的位置。队列空: Q.rear == Q.front。这里我们用链表的方式来模拟实现队列。:进行插入操作的一端称为。:进行删除操作的一端称为。
2023-08-19 14:15:53
490
7
原创 简单理解 进程 & 线程
我们说过进程是在CPU上执行的,现在的CPU大多都是六核十二线程/八核十六线程的,如果我们有几十个、几百个线程需要执行,这显然是不够用的。进程简单来说就相当于正在运行的程序,每个进程程都有一个独立的内存空间,并且可以并发执行,多个线程之间不共享数据。优点:由于每个进程是独立拥有一块资源空间的,所以他们相对独立,一个进程挂了,对其他的进程不会有什么影响。创建进程的时候把分配资源的工作给做了,后续创建线程就可以直接公用之前的资源。进程有独立的地址空间,彼此之间不会相互影响,体现进程的独立性=>系统稳定。
2023-08-18 11:25:45
187
2
原创 Mysql数据库 JDBC编程
不同的数据库会提供不同的API,但最后由 java 站出来“一统天下”,统一了API,因此我们只要掌握一套API,就可以操作各种数据库。由此我们的JDBC就闪亮登场了。由上图就可以知道,我们要先找到对应数据库的驱动包,才能把我们敲的代码转换成数据库原生API所能识别的代码。新建java项目,再new一个新的Directory假设叫lib,将上面下载好的驱动包复制到lib中。但由于数据库本身也有自己的API,也就是数据厂商,提供了一些代码,把API进行转化。这样的压缩包,是java定义的一种压缩格式,
2023-08-09 11:56:18
126
2
原创 Mysql数据库 索引+底层数据结构的 超详细讲解
一个表里有很多数据,在查询表的时候,最基本的方式就是遍历表,一条一条筛选,效率低下。由此,就可以给这个表,来建立索引,提高查询速度。建立索引:以“列”为维度进行建立。比如,按照 ID 这一列,建立索引。在数据库上,开辟额外的空间来维护 ID 相关信息(通过特定的数据结构,后文会讲到)。后来再按照 ID 来查询就不必直接遍历了,而是从索引中查询,根据索引就能初步锁定出数据所在的位置。数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
2023-08-05 11:57:23
392
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅