青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序
青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序
- 课题摘要:
- 一、Web应用程序
- 二、Web服务器
- (一)什么是Web服务器
- (二)Web服务器配置
- 1. 选择服务器软件
- 2. 安装服务器软件
- 3. 配置服务器
- 4. 安全设置
- 5. 部署网站内容
- 6. 测试服务器
- 7. 监控和维护
- 注意事项
- 三、技术需求
- 1. 前端技术
- 基础技术
- 前端框架和库
- 前端构建工具
- 版本控制
- 2. 后端技术
- 服务器端编程语言和框架
- 数据库技术
- Web服务器
- 3. 安全性
- 4. 性能优化
- 5. 测试和部署
- 6. API和微服务
- 7. 用户体验(UX)和用户界面(UI)设计
- 8. 项目管理和协作工具
- 四、web应用与微服务
- 1. Web应用
- 2. 微服务
- Web应用与微服务的关系
- Web应用采用微服务的优势:
- Web应用不采用微服务的情况:
- 结合使用
- 总结
- 五、Go语言Web应用开发
- 1. 安装Go语言
- 2. 设置开发环境
- 3. 学习基础语法
- 4. 了解Go的Web框架
- 5. 创建项目结构
- 6. 编写代码
- 设置路由和处理函数
- 处理HTTP请求
- 数据库交互
- 7. 运行和测试
- 8. 部署
- 9. 性能优化和监控
- 10. 学习资源
本文介绍了Web应用程序的概念、特点以及Web服务器的配置和管理。Web应用程序通过Web浏览器访问,无需在本地安装软件,常见于电子邮件服务、在线购物平台等。Web服务器处理HTTP请求、提供Web内容,并可执行CGI脚本,支持SSL/TLS加密通信。文章还提供了Web服务器配置的基本步骤,包括选择服务器软件、安装、配置、安全设置、部署网站内容、测试服务器以及监控和维护。
课题摘要:
本文介绍了Web应用程序的概念、特点以及Web服务器的配置和管理。Web应用程序通过Web浏览器访问,无需在本地安装软件,常见于电子邮件服务、在线购物平台等。Web服务器处理HTTP请求、提供Web内容,并可执行CGI脚本,支持SSL/TLS加密通信。文章还提供了Web服务器配置的基本步骤,包括选择服务器软件、安装、配置、安全设置、部署网站内容、测试服务器以及监控和维护。此外,文章还涉及了Web应用开发所需的前端技术、后端技术、数据库技术、安全性、性能优化、测试和部署、API和微服务、用户体验和界面设计、项目管理和协作工具。最后,探讨了Web应用与微服务的关系,并介绍了使用Go语言进行Web应用开发的步骤和概念。
一、Web应用程序
Web应用程序,通常简称为Web应用,是一种可以通过Web浏览器访问的软件应用程序。它允许用户与服务器上的应用程序进行交互,而无需在本地计算机上安装任何软件。以下是Web应用程序的一些关键特点:
常见的Web应用程序包括电子邮件服务、在线购物平台、社交媒体网站、在线文档编辑器等。随着云计算和移动技术的发展,Web应用程序在现代生活中扮演着越来越重要的角色。
二、Web服务器
(一)什么是Web服务器
WEB服务器,也称为Web服务器或HTTP服务器,是一种运行Web服务软件、能够处理HTTP请求并提供Web页面的计算机系统。它主要负责存储、处理和传输Web页面和应用程序,使得用户可以通过互联网访问这些资源。以下是WEB服务器的一些关键特点:
-
处理HTTP请求:WEB服务器监听特定的端口(通常是80端口用于HTTP,443端口用于HTTPS),等待客户端(如Web浏览器)发送HTTP请求。
-
提供Web内容:当服务器接收到请求时,它会根据请求的URL查找并返回相应的Web页面或资源,如HTML文件、图片、CSS样式表、JavaScript文件等。
-
执行CGI脚本:某些WEB服务器能够执行服务器端的CGI(Common Gateway Interface)脚本,这些脚本可以生成动态内容。
-
支持SSL/TLS:为了安全传输数据,许多WEB服务器支持SSL/TLS协议,允许通过HTTPS(安全超文本传输协议)加密通信。
-
负载均衡:在高流量的情况下,WEB服务器可以配置为负载均衡器,将请求分发到多个服务器,以提高性能和可用性。
-
缓存:为了提高响应速度和减少服务器负载,WEB服务器通常会缓存频繁请求的内容。
-
配置和管理:WEB服务器可以通过配置文件进行设置和管理,以适应不同的需求和安全策略。
常见的WEB服务器软件包括Apache HTTP Server、Nginx、Microsoft IIS(Internet Information Services)等。这些服务器软件提供了不同的功能和性能特点,以满足不同规模和需求的网站。
(二)Web服务器配置
设置自己的WEB服务器可以分为几个步骤,这里提供一个基本的指南,适用于个人或小型项目:
1. 选择服务器软件
首先,你需要选择一个WEB服务器软件。以下是一些流行的选择:
- Apache HTTP Server:一个开源的WEB服务器软件,非常流行且功能强大。
- Nginx:以其高性能和低资源消耗而闻名,适合处理大量并发连接。
- Microsoft IIS:适用于Windows系统,功能全面。
- Lighttpd:一个轻量级的WEB服务器,适合小型网站。
2. 安装服务器软件
根据你的操作系统,安装所选的WEB服务器软件。以下是一些基本的安装命令:
-
对于Ubuntu/Debian系统:
sudo apt update sudo apt install apache2 # 安装Apache # 或者 sudo apt install nginx # 安装Nginx -
对于CentOS/RHEL系统:
sudo yum install httpd # 安装Apache # 或者 sudo yum install nginx # 安装Nginx -
对于Windows系统:
- 可以通过“添加或删除程序”功能安装IIS。
3. 配置服务器
安装完成后,你需要配置服务器以适应你的需求。这包括设置监听端口、配置虚拟主机、设置安全规则等。
-
编辑配置文件:对于Apache,配置文件通常位于
/etc/apache2/sites-available/;对于Nginx,配置文件通常位于/etc/nginx/sites-available/。 -
设置虚拟主机:你可以为不同的域名或应用设置不同的虚拟主机。
4. 安全设置
确保你的WEB服务器安全是非常重要的。这包括:
- 设置防火墙规则:只允许必要的端口(如80和443)对外开放。
- 使用SSL/TLS:为你的域名获取SSL证书,并配置服务器以使用HTTPS。
- 定期更新软件:以确保安全补丁和新特性。
5. 部署网站内容
将你的网站文件上传到服务器的适当目录。对于Apache和Nginx,这通常是/var/www/html/。
6. 测试服务器
在浏览器中输入你的服务器IP地址或域名,检查网站是否能够正确加载。
7. 监控和维护
定期检查服务器日志,监控性能,并进行必要的维护。
注意事项
- 确保你有足够的带宽和硬件资源来支持你的网站流量。
- 了解并遵守当地的法律和规定,特别是关于数据保护和隐私的。
- 如果你的网站处理敏感数据,确保采取额外的安全措施。
这只是一个基本的指南,具体步骤可能会根据你的具体需求和服务器软件的不同而有所变化。如果你需要更详细的指导,可以查看特定服务器软件的官方文档。
三、技术需求
当然可以!下面我将更详细地介绍Web应用开发所需的各个方面的技术。
1. 前端技术
基础技术
- HTML(超文本标记语言):用于定义网页的结构和内容。
- CSS(层叠样式表):用于控制网页的外观和布局。
- JavaScript:用于实现网页的动态交互功能。
前端框架和库
- React:由Facebook开发的用于构建用户界面的JavaScript库,采用组件化开发,支持虚拟DOM。
- Vue.js:渐进式JavaScript框架,易于上手,适合构建单页面应用(SPA)。
- Angular:由Google开发的框架,提供了完整的解决方案,包括数据绑定、依赖注入等。
前端构建工具
- Webpack:模块打包器,将项目中的各种资源(JavaScript、CSS、图片等)打包成一个或多个文件。
- Babel:JavaScript编译器,将ES6+代码转换为兼容性更好的ES5代码。
- Gulp/Grunt:任务运行器,用于自动化常见的开发任务,如代码压缩、文件合并等。
版本控制
- Git:分布式版本控制系统,用于跟踪代码的变化和协作开发。
- GitHub/GitLab/Bitbucket:托管Git仓库的平台,提供代码托管、协作和CI/CD功能。
2. 后端技术
服务器端编程语言和框架
- Node.js:基于Chrome V8引擎的JavaScript运行环境,适合构建高性能、可扩展的网络应用。
- Express.js:Node.js的轻量级Web应用框架,提供了简洁的API。
- Python:高级编程语言,适合快速开发和数据处理。
- Django:全栈Web框架,提供了ORM、认证、模板等功能。
- Flask:轻量级Web框架,灵活性高,适合小型项目。
- Java:强类型语言,适合企业级应用开发。
- Spring Boot:基于Spring框架的快速开发工具,简化了配置和部署。
- PHP:服务器端脚本语言,广泛用于Web开发。
- Laravel:现代PHP框架,提供了简洁的语法和丰富的功能。
- Ruby:动态编程语言,适合快速开发。
- Ruby on Rails:全栈Web框架,强调约定优于配置。
数据库技术
- 关系型数据库:
- MySQL:开源关系型数据库管理系统,广泛使用。
- PostgreSQL:功能强大的开源关系型数据库,支持复杂查询和事务。
- SQL Server:微软开发的关系型数据库管理系统。
- 非关系型数据库:
- MongoDB:文档型数据库,适合处理大规模数据和高并发。
- Redis:内存数据库,适合缓存和实时数据处理。
- Cassandra:分布式数据库,适合处理大规模数据和高可用性需求。
Web服务器
- Nginx:高性能的HTTP和反向代理服务器,常用于负载均衡和静态资源服务。
- Apache:开源的Web服务器软件,功能强大,配置灵活。
3. 安全性
- HTTPS/SSL:通过加密通信保护数据传输的安全性。
- 身份验证和授权:
- OAuth:开放标准的授权协议,允许用户授权第三方应用访问其资源。
- JWT(JSON Web Tokens):用于在各方之间安全地传输信息的紧凑、URL安全的令牌。
- 输入验证和输出编码:防止常见的安全漏洞,如SQL注入和跨站脚本攻击(XSS)。
4. 性能优化
- 缓存机制:
- Redis:用于缓存数据库查询结果和会话数据。
- Memcached:高性能的分布式内存对象缓存系统。
- 负载均衡:
- Nginx:可以配置为负载均衡器,分发流量到多个服务器。
- HAProxy:高性能的TCP/HTTP负载均衡器。
- 数据库优化:通过索引、查询优化和数据库分片来提高性能。
5. 测试和部署
- 单元测试和集成测试:
- Jest:JavaScript测试框架,适用于React应用。
- Mocha:灵活的JavaScript测试框架,支持异步测试。
- JUnit:Java的单元测试框架。
- 端到端测试:
- Cypress:现代的前端测试工具,适用于端到端测试。
- Selenium:自动化测试工具,支持多种浏览器和编程语言。
- 持续集成/持续部署(CI/CD):
- Jenkins:开源的自动化服务器,支持构建、部署和自动化。
- GitLab CI:集成在GitLab中的CI/CD工具。
- CircleCI:云端的CI/CD服务,支持快速构建和部署。
- 容器化和编排:
- Docker:用于创建、部署和运行应用的容器化平台。
- Kubernetes:用于自动化部署、扩展和管理容器化应用的开源系统。
6. API和微服务
- RESTful API:基于HTTP的API设计风格,使用标准的HTTP方法(GET、POST、PUT、DELETE)进行操作。
- GraphQL:用于API的查询语言,允许客户端请求所需的确切数据。
- 微服务架构:将应用程序分解为一组小服务,每个服务运行在自己的进程中,并通常围绕特定的业务能力构建。
7. 用户体验(UX)和用户界面(UI)设计
- 原型设计工具:
- Sketch:用于UI/UX设计的矢量图形编辑器。
- Adobe XD:用于设计和原型制作的工具。
- Figma:基于云的设计工具,支持实时协作。
- 响应式设计:使用媒体查询和弹性布局确保Web应用在不同设备和屏幕尺寸上都能良好显示。
8. 项目管理和协作工具
- 项目管理工具:
- Jira:用于敏捷开发的项目管理工具。
- Trello:基于看板的项目管理工具。
- 协作工具:
- Slack:团队沟通和协作工具。
- Confluence:用于团队知识共享和文档管理的工具。
这些技术和工具的选择取决于项目的具体需求、团队的技能和业务目标。开发人员需要不断学习和适应新的技术和工具,以应对不断变化的开发环境和需求。
四、web应用与微服务
Web应用和微服务是两个相关但独立的概念,它们可以相互结合,也可以单独存在。下面详细解释它们之间的关系:
1. Web应用
Web应用是指通过Web浏览器访问的应用程序,用户可以在任何设备上通过网络访问这些应用。Web应用通常包括前端和后端两部分:
- 前端:用户界面,负责展示数据和接收用户输入。
- 后端:服务器端逻辑,负责处理业务逻辑、数据库交互等。
2. 微服务
微服务是一种软件架构风格,它将一个大型复杂软件应用分解为一组小型服务,每个服务运行在其独立的进程中,并通常围绕特定的业务能力构建。这些服务可以通过定义良好的API进行通信,通常是HTTP RESTful API或轻量级的消息传递系统。
Web应用与微服务的关系
- 架构选择:Web应用可以采用单体架构(所有功能集成在一个应用中)或微服务架构(功能分散在多个小型服务中)。
Web应用采用微服务的优势:
-
可扩展性:微服务架构允许Web应用在需要时只扩展特定的服务,而不是整个应用,这有助于优化资源使用和成本。
-
灵活性和敏捷性:微服务允许团队独立开发和部署各个服务,这提高了开发速度和灵活性。
-
技术多样性:在微服务架构中,不同的服务可以使用最适合的技术栈开发,而单体应用通常受限于单一技术栈。
-
容错性:微服务架构中的服务是独立的,一个服务的故障不会导致整个应用的故障。
-
持续集成和持续部署(CI/CD):微服务架构天然适合CI/CD流程,可以快速迭代和部署。
Web应用不采用微服务的情况:
-
简单应用:对于功能简单、需求变化不大的Web应用,单体架构可能更简单、成本效益更高。
-
资源限制:微服务架构可能需要更多的资源来管理多个服务,对于资源有限的小型团队或初创公司,单体架构可能更实际。
结合使用
在实际开发中,Web应用可以作为微服务架构的客户端,通过API与后端的微服务进行交互。这种模式允许Web应用利用微服务架构的优势,同时保持用户界面的直观和易用性。
总结
Web应用和微服务可以独立存在,也可以结合使用。微服务架构为Web应用提供了一种灵活、可扩展的后端架构选择,但也需要更多的管理和协调工作。选择是否采用微服务架构,需要根据具体的业务需求、团队能力和资源进行权衡。
五、Go语言Web应用开发
使用Go语言(也称为Golang)进行Web应用开发是一个高效且流行的方法,因为Go语言以其并发能力、简洁的语法和高性能而闻名。以下是使用Go语言进行Web应用开发的一些关键步骤和概念:
1. 安装Go语言
首先,你需要在你的开发机器上安装Go语言。可以从Go语言的官方网站下载安装包并按照指南进行安装。
2. 设置开发环境
- 编辑器/IDE:选择一个支持Go语言的编辑器或IDE,如Visual Studio Code、GoLand等。
- 包管理:Go使用自己的包管理工具,
go get,用于安装和管理依赖。
3. 学习基础语法
熟悉Go语言的基础语法,包括变量、控制流、函数、结构体等。
4. 了解Go的Web框架
Go语言有多个流行的Web框架,可以帮助你快速开发Web应用:
- Net/http:Go语言标准库中的包,提供了HTTP客户端和服务器的实现。
- Gin:一个高性能的Web框架,以快速和灵活著称。
- Echo:另一个高性能、可扩展的、极简的Go语言Web框架。
- Beego:一个功能全面的Web框架,提供了ORM、缓存、日志等。
5. 创建项目结构
一个典型的Go Web应用项目结构可能包括:
main.go:应用的入口点。routers/:定义路由和控制器。models/:定义数据模型和数据库操作。views/:存放模板文件(如果使用模板渲染)。static/:存放静态文件,如CSS、JavaScript和图片。
6. 编写代码
设置路由和处理函数
使用你选择的框架设置路由和处理函数。例如,使用Gin框架,你的main.go可能看起来像这样:
package mainimport ("github.com/gin-gonic/gin""net/http"
)func main() {router := gin.Default()router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "Hello, World!")})router.Run(":8080") // 监听并在 0.0.0.0:8080 上启动服务
}
处理HTTP请求
编写处理函数来响应不同的HTTP请求,处理业务逻辑,并返回响应。
数据库交互
使用Go的数据库驱动(如database/sql包)与数据库交互。你可以选择适合你的数据库的驱动,如MySQL、PostgreSQL等。
7. 运行和测试
使用go run main.go运行你的应用,并在浏览器中访问http://localhost:8080来查看结果。
8. 部署
将你的Go Web应用部署到服务器上。你可以使用容器化技术(如Docker)来简化部署和扩展。
9. 性能优化和监控
使用Go的内置工具和第三方工具来监控应用性能,并根据需要进行优化。
10. 学习资源
- Go语言官方文档:提供了详细的语言规范和标准库文档。
- 框架文档:你选择的框架的官方文档是学习如何使用框架的最好资源。
- 在线课程和书籍:有许多在线课程和书籍可以帮助你学习Go语言和Web开发。
使用Go语言进行Web开发是一个不断学习和实践的过程,随着经验的积累,你将能够更高效地构建和维护Web应用。
相关文章:
青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序
青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序 课题摘要:一、Web应用程序二、Web服务器(一)什么是Web服务器(二)Web服务器配置1. 选择服务器软件2. 安装服务器软件3. 配置服务器4. 安全设置5. 部署网站内容6. 测试服…...
【mysql】如何解决主从架构从库延迟问题
目录 1. 说明2.优化主库的写入性能3. 优化网络性能4. 增强从库的硬件性能5. 调整从库的配置6. 主从架构优化7. 监控和调优8.使用 GTID 和 Group Replication 1. 说明 1.在 MySQL 数据库中,从库延迟(replication lag)是指主库和从库之间的数据…...
前端学习-获取DOM对象(二十一)
目录 前言 目标 提问 学习路径 根据CSS选择器来获取DOM元素 其他获取DOM元素的方法 根据CSS选择器来获取DOM元素 选择匹配的第一个元素 语法 示例 参数 返回值 选择匹配的多个元素语法 参数 字符串返回值 示例 补充 其它获取DOM元素方法 根据id获取一个元素 …...
PCL点云库入门——PCL库中Eigen数学工具库的基本使用(持续更新)
0、前言 PCL点云库中的算法都基于Eigen数学工具库来实现的,因此,掌握Eigen库对于深入理解和应用PCL点云库至关重要。Eigen库不仅提供了高效的矩阵和向量运算,还支持复杂的线性代数、几何变换等操作,为PCL点云处理提供了强大的数学…...
CLion Inlay Hints - 取消 CLion 灰色的参数和类型提示
CLion Inlay Hints - 取消 CLion 灰色的参数和类型提示 1. Parameter hints for C/C1.1. Toggle parameter hints globally 2. Type hints for C/C2.1. Toggle type hints globally 3. Toggle inlay hints globallyReferences https://www.jetbrains.com/help/clio…...
2025山东科技大学考研专业课复习资料一览
[冲刺]2025年山东科技大学020200应用经济学《814经济学之西方经济学[宏观部分]》考研学霸狂刷870题[简答论述计算题]1小时前[强化]2025年山东科技大学085600材料与化工《817物理化学》考研强化检测5套卷22小时前[冲刺]2025年山东科技大学030100法学《704综合一[法理学、国际法学…...
vue3 v-model实例之二,tab标签页的实现
<template><div><Tab v-model"activeTab" :list"tabs" /><div><p>当前激活的 Tab 索引: {{ activeTab }}</p></div></div> </template><script setup> import { ref } from vue; import Tab …...
东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1
一、软件版本 操作系统: CentOS Linux release 7.5.1804 (Core)JDK:11.0.18东方通:TongWeb7.0.4.9M4SuperMap iServer:11.2.1 JDK和TongWeb软件分享: 链接: https://pan.baidu.com/s/1HGDTPnPID0PEOMbg3FjTVQ?pwdbh8v 提取码: bh8v 东方通软…...
QT绘制同心扇形
void ChartForm::paintEvent(QPaintEvent *) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);// 设置抗锯齿painter.save();// 设置无边框(不需要设置QPen,因为默认是不绘制边框的)QPen pen(Qt::NoPen);// QPen pen…...
2012年西部数学奥林匹克试题(几何)
2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…...
8位移位寄存器的verilog语言
module shift_register (output reg [7:0] Q, // 8位移位寄存器输出input D, // 输入数据input rst, // 复位信号input clk // 时钟信号 );always (posedge clk) beginif (!rst)Q < 8b00000000; // 复位时将Q清零elseQ < {Q[6:0], D}; // 否则…...
【苍穹外卖】学习心得体会-随笔
前言 写了很久,终于可以完整运行项目了,记录下这几天的心得体会回顾一下知识点 第一天、Git 分布式版本控制工具 一、Git概述 定义:是分布式版本控制工具,用于管理软件开发中的源代码文件,像Java类、xml文件、html…...
MySQL学习之表的增删改
MySQL学习之表的增删改 语法总结: INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); //指定字段添加数据 INSERT INTO 表名 VALUES (值1, 值2, ...); //给全部字段添加数据 INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, …...
电脑excel词典(xllex.dll)文件丢失是或损坏是什么原因?“xllex.dll文件缺失“要怎么解决?
Excel词典(xllex.dll)文件丢失或损坏?别担心,这里有解决之道! 在日常的电脑使用和办公软件操作中,我们偶尔会碰到一些让人头疼的问题,比如Excel突然提示“Excel词典(xllex.dll&…...
【CSS in Depth 2 精译_084】第 14 章:CSS 蒙版、形状与剪切概述 + 14.1:CSS 滤镜
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 14 章 蒙版、形状与剪切】 ✔️ 14.1 滤镜 ✔️ 14.1.1 滤镜的类型 ✔️14.1.2 背景滤镜 ✔️ 14.2 蒙版 文章目录 第 14 章 蒙版、形状与剪切 Masks, shapes, and…...
gorm源码解析(四):事务,预编译
文章目录 前言事务自己控制事务用 Transaction方法包装事务 预编译事务结合预编译总结 前言 前几篇文章介绍gorm的整体设计,增删改查的具体实现流程。本文将聚焦与事务和预编译部分 事务 自己控制事务 用gorm框架,可以自己控制事务的Begin࿰…...
前端优雅(装逼)写法(updating····)
1.>>右位移运算符取整数 它将一个数字的二进制位向右移动指定的位数,并在左侧填充符号位(即负数用1填充,正数用0填充)。 比如 2.99934 >> 0:取整结果是2,此处取整并非四舍五入 2.99934 会先…...
黑马Java面试教程_P7_常见集合_P4_HashMap
系列博客目录 文章目录 系列博客目录4. HashMap相关面试题4.4 面试题-HashMap的put方法的具体流程 频54.4.1 hashMap常见属性4.4.2 源码分析 HashMap的构造函数面试文稿: 4.5 讲一讲HashMap的扩容机制 难3频4面试文稿: 4.6 面试题-hashMap的寻址算法 难4…...
使用 CFD 加强水资源管理:全面概述
探索 CFD(计算流体动力学)在增强保护人类健康的土木和水利工程实践方面的重大贡献。 挑战 水资源管理是指规划、开发、分配和管理水资源最佳利用的做法。它包括广泛的活动,旨在确保水得到有效和可持续的利用,以满足各种需求&…...
XXE练习
pikachu-XXE靶场 1.POC:攻击测试 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe "a">]> <foo>&xxe;</foo> 2.EXP:查看文件 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SY…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
