程序员职业分类全解析

news/2024/10/18 13:15:59/文章来源:https://www.cnblogs.com/candy7258/p/18474037

一、引言
在当今数字化时代,程序员作为信息技术领域的核心力量,发挥着至关重要的作用。随着科技的不断发展,程序员的职业分类也日益丰富和细化。从不同的编程语言到各种应用领域,程序员们凭借着各自的专业技能,为推动社会的进步和创新做出了巨大贡献。本文将详细介绍程序员的主要职业分类,包括 Java、Python、.NET、安卓等各类,阐述每个职业所需掌握的技术,帮助读者更好地了解程序员的职业世界。
二、Java 程序员
(一)职业概述
Java 程序员主要使用 Java 编程语言进行软件开发。Java 以其跨平台性、安全性和强大的生态系统而备受青睐,广泛应用于企业级应用开发、Web 开发、移动应用开发等领域。
(二)所需技术
Java 编程语言基础
熟练掌握 Java 语法,包括变量、数据类型、控制结构、循环等。
理解面向对象编程(OOP)的概念,如类、对象、封装、继承、多态等。
掌握异常处理机制,能够正确处理程序中的异常情况。
常用开发框架
Spring:Spring 是一个广泛使用的企业级应用开发框架,Java 程序员需要熟悉 Spring 的核心概念,如 IoC(控制反转)和 AOP(面向切面编程),以及 Spring MVC、Spring Boot 等子框架。
Hibernate:Hibernate 是一个对象关系映射(ORM)框架,用于将 Java 对象映射到关系数据库表中。Java 程序员需要掌握 Hibernate 的配置和使用方法,能够进行数据库操作。
MyBatis:MyBatis 是另一个流行的 ORM 框架,与 Hibernate 相比,它更加灵活,允许程序员编写自定义的 SQL 语句。Java 程序员需要熟悉 MyBatis 的配置和使用方法,能够进行数据库操作。
数据库知识
熟悉关系数据库管理系统(RDBMS),如 MySQL、Oracle、SQL Server 等。掌握 SQL 语言,能够进行数据库设计、查询、插入、更新和删除等操作。
了解数据库连接池的概念和使用方法,如 C3P0、Druid 等,能够提高数据库操作的性能。
Web 开发技术
Servlet 和 JSP:Servlet 是 Java Web 应用程序的基础,JSP 是一种用于创建动态 Web 页面的技术。Java 程序员需要掌握 Servlet 和 JSP 的开发方法,能够构建 Web 应用程序。
JavaScript 和 HTML/CSS:虽然 Java 程序员主要负责后端开发,但了解前端技术也是很有必要的。掌握 JavaScript、HTML 和 CSS 可以更好地与前端开发人员协作,提高开发效率。
版本控制工具
Git:Git 是一个分布式版本控制系统,广泛应用于软件开发项目中。Java 程序员需要掌握 Git 的基本操作,如克隆、提交、推送、拉取等,能够有效地管理代码版本。
开发工具
IntelliJ IDEA:IntelliJ IDEA 是一个功能强大的 Java 集成开发环境(IDE),提供了丰富的开发工具和插件,能够提高开发效率。Java 程序员需要熟悉 IntelliJ IDEA 的使用方法,能够进行代码编写、调试、测试等操作。
Maven 和 Gradle:Maven 和 Gradle 是两个流行的项目管理工具,用于构建、管理和部署 Java 项目。Java 程序员需要熟悉 Maven 和 Gradle 的配置和使用方法,能够进行项目构建和管理。
(三)应用领域
企业级应用开发
开发企业内部使用的管理系统、办公自动化系统、客户关系管理系统等。
与其他系统进行集成,如企业资源规划(ERP)系统、供应链管理(SCM)系统等。
Web 开发
构建电子商务网站、社交网络平台、在线教育平台等。
开发 RESTful API,为移动应用和其他系统提供数据服务。
移动应用开发
使用 Java 开发 Android 应用程序,虽然 Android 主要使用 Kotlin 和 Java 进行开发,但 Java 仍然是一种重要的编程语言。
开发与移动应用相关的后端服务,如用户认证、数据存储、推送通知等。
三、Python 程序员
(一)职业概述
Python 程序员使用 Python 编程语言进行软件开发。Python 以其简洁的语法、丰富的库和强大的功能而受到广泛关注,应用领域涵盖数据分析、人工智能、Web 开发、自动化测试等。
(二)所需技术
Python 编程语言基础
熟练掌握 Python 语法,包括变量、数据类型、控制结构、循环等。
理解面向对象编程和函数式编程的概念,能够使用 Python 进行面向对象和函数式编程。
掌握异常处理机制,能够正确处理程序中的异常情况。
数据分析和科学计算库
NumPy:NumPy 是 Python 中用于科学计算的基础库,提供了高效的多维数组对象和各种数学函数。Python 程序员需要熟悉 NumPy 的使用方法,能够进行数组操作、线性代数运算等。
Pandas:Pandas 是一个用于数据分析的库,提供了数据结构和数据分析工具。Python 程序员需要熟悉 Pandas 的使用方法,能够进行数据读取、清洗、转换、分析等操作。
Matplotlib 和 Seaborn:Matplotlib 和 Seaborn 是两个用于数据可视化的库,提供了丰富的绘图功能。Python 程序员需要熟悉这两个库的使用方法,能够绘制各种类型的图表。
机器学习和深度学习库
Scikit-learn:Scikit-learn 是一个用于机器学习的库,提供了各种机器学习算法和工具。Python 程序员需要熟悉 Scikit-learn 的使用方法,能够进行数据预处理、模型训练、评估等操作。
TensorFlow 和 PyTorch:TensorFlow 和 PyTorch 是两个流行的深度学习框架,用于构建和训练深度神经网络。Python 程序员需要熟悉其中一个框架的使用方法,能够进行深度学习项目的开发。
Web 开发框架
Django:Django 是一个功能强大的 Python Web 开发框架,遵循 MTV(模型 - 模板 - 视图)架构模式。Python 程序员需要熟悉 Django 的开发方法,能够构建 Web 应用程序。
Flask:Flask 是一个轻量级的 Python Web 开发框架,具有灵活性和可扩展性。Python 程序员需要熟悉 Flask 的开发方法,能够构建小型到中型规模的 Web 应用程序。
版本控制工具
Git:与 Java 程序员一样,Python 程序员也需要掌握 Git 的基本操作,能够有效地管理代码版本。
开发工具
PyCharm:PyCharm 是一个专门为 Python 开发设计的 IDE,提供了丰富的开发工具和插件,能够提高开发效率。Python 程序员需要熟悉 PyCharm 的使用方法,能够进行代码编写、调试、测试等操作。
(三)应用领域
数据分析和科学计算
进行数据清洗、分析和可视化,为企业决策提供支持。
进行科学计算和工程模拟,如物理模拟、金融分析等。
人工智能和机器学习
开发机器学习算法和模型,如分类、回归、聚类等。
进行深度学习项目的开发,如图像识别、自然语言处理等。
Web 开发
构建各种类型的 Web 应用程序,如博客、论坛、电商平台等。
开发 RESTful API,为移动应用和其他系统提供数据服务。
自动化测试
使用 Python 编写自动化测试脚本,提高测试效率和质量。
进行性能测试、安全测试等。
四、.NET 程序员
(一)职业概述
.NET 程序员使用.NET 框架进行软件开发。.NET 是一个由微软开发的软件框架,支持多种编程语言,如 C#、VB.NET 等。.NET 广泛应用于企业级应用开发、Web 开发、桌面应用开发等领域。
(二)所需技术
C# 或 VB.NET 编程语言基础
熟练掌握 C# 或 VB.NET 语法,包括变量、数据类型、控制结构、循环等。
理解面向对象编程的概念,如类、对象、封装、继承、多态等。
掌握异常处理机制,能够正确处理程序中的异常情况。
2..NET 框架基础
熟悉.NET 框架的核心类库,如 System.IO、System.Collections.Generic 等。
了解.NET 框架的运行时环境,如 CLR(公共语言运行时)、JIT(即时编译器)等。
掌握.NET 框架的配置和部署方法,能够进行应用程序的安装和升级。
开发框架
ASP.NET Core:ASP.NET Core 是一个用于构建 Web 应用程序的框架,支持跨平台开发。.NET 程序员需要熟悉 ASP.NET Core 的开发方法,能够构建高性能、可扩展的 Web 应用程序。
Entity Framework Core:Entity Framework Core 是一个对象关系映射(ORM)框架,用于将.NET 对象映射到关系数据库表中。.NET 程序员需要掌握 Entity Framework Core 的配置和使用方法,能够进行数据库操作。
数据库知识
熟悉关系数据库管理系统,如 SQL Server、MySQL、Oracle 等。掌握 SQL 语言,能够进行数据库设计、查询、插入、更新和删除等操作。
了解数据库连接池的概念和使用方法,如 Dapper、SqlConnectionPool 等,能够提高数据库操作的性能。
前端技术
HTML、CSS 和 JavaScript:虽然.NET 程序员主要负责后端开发,但了解前端技术也是很有必要的。掌握 HTML、CSS 和 JavaScript 可以更好地与前端开发人员协作,提高开发效率。
Angular 或 React:Angular 和 React 是两个流行的前端框架,用于构建单页应用程序(SPA)。.NET 程序员可以了解其中一个框架的基本概念和使用方法,以便与前端开发人员更好地合作。
版本控制工具
Git:与 Java 和 Python 程序员一样,.NET 程序员也需要掌握 Git 的基本操作,能够有效地管理代码版本。
开发工具
Visual Studio:Visual Studio 是一个功能强大的集成开发环境(IDE),专门为.NET 开发设计。.NET 程序员需要熟悉 Visual Studio 的使用方法,能够进行代码编写、调试、测试等操作。
(三)应用领域
企业级应用开发
开发企业内部使用的管理系统、办公自动化系统、客户关系管理系统等。
与其他系统进行集成,如企业资源规划(ERP)系统、供应链管理(SCM)系统等。
Web 开发
构建电子商务网站、社交网络平台、在线教育平台等。
开发 RESTful API,为移动应用和其他系统提供数据服务。
桌面应用开发
使用 WPF(Windows Presentation Foundation)或 WinForms 开发 Windows 桌面应用程序。
使用 Xamarin.Forms 开发跨平台桌面应用程序。
游戏开发
使用 Unity 游戏引擎开发游戏,Unity 支持 C# 作为脚本语言。
使用 MonoGame 开发跨平台游戏。
五、安卓程序员
(一)职业概述
安卓程序员主要使用 Java 或 Kotlin 编程语言进行 Android 应用程序的开发。Android 是目前全球市场份额最大的移动操作系统,安卓程序员的需求也非常旺盛。
(二)所需技术
Java 或 Kotlin 编程语言基础
熟练掌握 Java 或 Kotlin 语法,包括变量、数据类型、控制结构、循环等。
理解面向对象编程的概念,如类、对象、封装、继承、多态等。
掌握异常处理机制,能够正确处理程序中的异常情况。
Android 开发框架
Android SDK:Android SDK 是开发 Android 应用程序的基础工具包,包括开发工具、模拟器、文档等。安卓程序员需要熟悉 Android SDK 的使用方法,能够进行应用程序的开发和调试。
Android Studio:Android Studio 是一个专门为 Android 开发设计的 IDE,提供了丰富的开发工具和插件,能够提高开发效率。安卓程序员需要熟悉 Android Studio 的使用方法,能够进行代码编写、调试、测试等操作。
Android Jetpack:Android Jetpack 是一组库、工具和指南,用于帮助开发者更轻松地构建高质量的 Android 应用程序。安卓程序员需要熟悉 Android Jetpack 的各个组件,如 Lifecycle、ViewModel、Room 等,能够在应用程序中合理地使用这些组件。
数据库知识
SQLite:SQLite 是一个轻量级的关系数据库管理系统,广泛应用于 Android 应用程序中。安卓程序员需要掌握 SQLite 的使用方法,能够进行数据库操作。
前端技术
XML 和 Android Layout:XML 是用于定义 Android 应用程序界面的标记语言,安卓程序员需要熟悉 XML 的语法和布局管理器的使用方法,能够设计出美观、易用的用户界面。
Material Design:Material Design 是 Google 推出的一种设计语言,用于指导 Android 应用程序的界面设计。安卓程序员需要了解 Material Design 的原则和规范,能够设计出符合 Material Design 风格的用户界面。
版本控制工具
Git:与其他程序员一样,安卓程序员也需要掌握 Git 的基本操作,能够有效地管理代码版本。
测试技术
单元测试:使用 JUnit 或 Kotlin Test 进行单元测试,确保代码的正确性。
集成测试:使用 Espresso 或 UI Automator 进行集成测试,确保应用程序的各个模块能够正确地协同工作。
性能测试:使用 Android Profiler 进行性能测试,分析应用程序的内存使用、CPU 占用等情况,优化应用程序的性能。
(三)应用领域
移动应用开发
开发各种类型的移动应用程序,如社交、娱乐、工具、游戏等。
为企业开发定制化的移动应用程序,提高企业的工作效率和竞争力。
物联网(IoT)应用开发
开发与物联网设备相关的移动应用程序,如智能家居控制、智能健康监测等。
利用 Android Things 等平台进行物联网设备的开发和集成。
六、前端程序员
(一)职业概述
前端程序员主要负责 Web 应用程序的用户界面开发。他们使用 HTML、CSS 和 JavaScript 等技术,将设计稿转化为可交互的网页,并确保网页在不同浏览器和设备上的兼容性和性能。
(二)所需技术
HTML 和 CSS
熟练掌握 HTML 标签和属性,能够构建结构良好的网页。
掌握 CSS 样式表的语法和布局技术,如 Flexbox、Grid 等,能够设计出美观、响应式的网页。
了解 HTML5 和 CSS3 的新特性,如语义化标签、动画效果、媒体查询等,能够利用这些特性提升网页的用户体验。
JavaScript
熟练掌握 JavaScript 语法,包括变量、数据类型、控制结构、循环等。
理解面向对象编程和函数式编程的概念,能够使用 JavaScript 进行面向对象和函数式编程。
掌握 DOM(文档对象模型)和 BOM(浏览器对象模型)的操作方法,能够实现网页的动态效果和交互功能。
了解 ES6 及以上版本的新特性,如箭头函数、模板字符串、解构赋值等,能够提高代码的可读性和可维护性。
前端框架和库
Vue.js:Vue.js 是一个流行的前端框架,采用组件化开发模式,易于学习和使用。前端程序员需要熟悉 Vue.js 的核心概念和 API,能够构建大型单页应用程序。
React:React 是另一个流行的前端框架,由 Facebook 开发。React 采用虚拟 DOM 技术,具有高效的性能和良好的可维护性。前端程序员需要熟悉 React 的开发方法和生态系统,能够构建复杂的用户界面。
Angular:Angular 是一个功能强大的前端框架,由 Google 开发。Angular 采用 TypeScript 作为开发语言,具有严格的类型检查和良好的可扩展性。前端程序员需要熟悉 Angular 的开发方法和架构模式,能够构建企业级应用程序。
jQuery:jQuery 是一个广泛使用的 JavaScript 库,提供了简洁的 API 和丰富的插件,能够提高开发效率。前端程序员需要熟悉 jQuery 的基本用法,能够快速实现网页的交互效果。
前端构建工具
Webpack:Webpack 是一个模块打包工具,用于将前端项目中的各种资源(如 JavaScript、CSS、图片等)打包成一个或多个文件,以便在浏览器中加载。前端程序员需要熟悉 Webpack 的配置和使用方法,能够优化项目的构建过程。
Gulp 和 Grunt:Gulp 和 Grunt 是两个流行的任务自动化工具,用于执行各种前端开发任务,如代码压缩、图片优化、文件合并等。前端程序员需要熟悉其中一个工具的使用方法,能够提高开发效率。
版本控制工具
Git:与其他程序员一样,前端程序员也需要掌握 Git 的基本操作,能够有效地管理代码版本。
浏览器兼容性和性能优化
了解不同浏览器的特性和差异,能够解决网页在不同浏览器上的兼容性问题。
掌握性能优化的方法,如减少 HTTP 请求、压缩资源文件、优化代码结构等,提高网页的加载速度和性能。
(三)应用领域
Web 开发
构建各种类型的网站,如企业官网、电商平台、社交网络等。
开发单页应用程序(SPA),提供流畅的用户体验和快速的响应速度。
进行响应式设计,确保网页在不同设备上(如桌面电脑、平板电脑、手机)都能良好显示。
移动应用开发
使用前端技术(如 React Native、Flutter)开发跨平台移动应用,减少开发成本和时间。
为原生移动应用提供 WebView 内嵌的页面,实现部分功能或展示动态内容。
桌面应用开发
通过 Electron 等框架,使用前端技术开发桌面应用程序,具有跨平台和易于更新的优势。
游戏开发
利用 HTML5 的 Canvas 和 WebGL 技术开发小型网页游戏。
结合游戏引擎(如 Phaser),创建更复杂的游戏项目。
七、后端程序员
(一)职业概述
后端程序员主要负责服务器端的开发和维护,处理数据存储、业务逻辑和与前端的交互等任务。他们使用各种编程语言和框架,确保系统的稳定性、安全性和高效性。
(二)所需技术
编程语言
Java:如前文所述,Java 在企业级后端开发中广泛应用,后端程序员需要掌握 Java 的高级特性、多线程编程、网络编程等。
Python:Python 的简洁性和丰富的库使其在后端开发中也很受欢迎,特别是在数据处理和快速开发场景下。
Node.js:使用 JavaScript 运行在服务器端,具有高并发和事件驱动的特点,适合构建实时应用。
C#/.NET:适用于 Windows 平台的企业级应用开发,提供强大的框架和工具支持。
Go:以高效和简洁著称,适合构建高性能的网络服务和分布式系统。
数据库管理
关系数据库:如 MySQL、PostgreSQL、Oracle 等,掌握 SQL 语言、数据库设计、索引优化、事务处理等。
NoSQL 数据库:如 MongoDB、Redis、Cassandra 等,了解不同类型 NoSQL 数据库的特点和适用场景,能够根据项目需求选择合适的数据库。
数据库连接池:如 HikariCP、C3P0 等,提高数据库连接的效率和性能。
数据库备份和恢复:确保数据的安全性和可恢复性。
服务器端框架
Spring Boot(Java):简化 Spring 应用的开发和部署,提供自动配置和快速启动的功能。
Django(Python):功能强大的 Python Web 框架,遵循 MTV 架构模式,提供丰富的插件和工具。
Express.js(Node.js):简洁灵活的 Node.js 框架,用于构建 Web 应用和 API。
ASP.NET Core(C#/.NET):跨平台的企业级开发框架,支持现代化的 Web 开发需求。
Gin(Go):轻量级的 Go Web 框架,具有高性能和简洁的 API。
缓存技术
Redis:内存数据库,可用于缓存数据、实现分布式锁、发布订阅等功能。
Memcached:简单高效的内存缓存系统,常用于缓存频繁访问的数据。
缓存策略:了解缓存的更新机制、过期时间设置、缓存穿透和雪崩的处理方法。
消息队列
RabbitMQ:成熟的消息中间件,支持多种消息协议,可用于异步通信和任务队列管理。
Kafka:高吞吐量的分布式消息队列,适用于大规模数据处理和实时流处理。
消息队列的使用场景:如解耦系统、异步处理任务、提高系统的可扩展性和可靠性。
容器化和部署
Docker:容器化技术,方便应用的打包、部署和迁移,提高开发和运维效率。
Kubernetes:容器编排平台,用于管理大规模的容器化应用,实现自动化部署、扩展和管理。
持续集成和持续部署(CI/CD):使用工具如 Jenkins、GitLab CI/CD 等,实现自动化的代码构建、测试和部署流程。
安全防护
用户认证和授权:如 OAuth、JWT 等认证机制,实现用户身份验证和权限管理。
数据加密:对敏感数据进行加密存储和传输,保护用户隐私。
防止 SQL 注入、XSS 攻击等常见安全漏洞:通过输入验证、参数化查询等方法确保系统的安全性。
(三)应用领域
企业级应用开发
构建大型企业的业务系统,如 ERP、CRM、供应链管理等。
实现企业内部的办公自动化系统、人力资源管理系统等。
互联网服务
开发电商平台、社交网络、在线教育等互联网服务的后端系统。
提供 API 服务,支持移动应用和第三方开发者的接入。
金融科技
构建银行、证券等金融机构的交易系统、风险管理系统等。
实现金融数据的处理和分析,提供金融决策支持。
物联网(IoT)
处理物联网设备产生的数据,实现设备管理、数据分析和远程控制等功能。
构建物联网平台,支持大规模设备的连接和管理。
八、全栈程序员
(一)职业概述
全栈程序员具备前端和后端开发的技能,能够独立完成整个应用程序的开发。他们熟悉多种技术栈,能够根据项目需求选择合适的技术方案,并快速实现功能。
(二)所需技术
前端技术
与前端程序员所需技术相同,包括 HTML、CSS、JavaScript、前端框架和库、前端构建工具等。
后端技术
与后端程序员所需技术相似,包括编程语言、数据库管理、服务器端框架、缓存技术、消息队列、容器化和部署、安全防护等。
前后端交互
掌握前后端分离的开发模式,了解 RESTful API 的设计和实现。
能够使用工具如 Postman 进行 API 测试,确保前后端的正确交互。
项目管理
具备项目管理的能力,能够制定项目计划、分配任务、跟踪进度和解决问题。
了解敏捷开发方法,如 Scrum、Kanban 等,提高项目的开发效率和质量。
团队协作
善于与团队成员沟通和协作,能够理解不同角色的需求和关注点。
参与代码审查和技术分享,提高团队的整体技术水平。
(三)应用领域
小型创业公司
在资源有限的情况下,全栈程序员能够快速开发出 MVP(最小可行产品),验证产品的可行性。
负责整个技术栈的维护和升级,降低开发成本和技术风险。
个人项目
独立开发者可以使用全栈技术开发自己的项目,实现创意和想法。
全栈技术能够让个人开发者更好地掌控项目的各个方面,提高项目的质量和成功率。
企业内部创新项目
企业内部的创新团队需要快速推出新产品和服务,全栈程序员能够满足这种需求。
全栈程序员可以与不同部门的人员合作,推动企业的数字化转型和创新发展。
九、总结
程序员的职业分类丰富多样,每个职业都有其特定的技术要求和应用领域。Java 程序员、Python 程序员、.NET 程序员、安卓程序员、前端程序员、后端程序员和全栈程序员在不同的领域发挥着重要作用。随着技术的不断发展,程序员的职业分类也将不断细化和扩展。对于想要进入编程领域的人来说,了解不同职业的特点和要求,选择适合自己的方向,并不断学习和提升自己的技术水平,是实现职业发展的关键。同时,程序员们也需要关注行业的发展趋势,不断探索新的技术和应用场景,为推动科技的进步和创新做出更大的贡献。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/816819.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql语法-DMLDQL

1.DML操作数据——添加、修改、删除 (1)添加数据:实例(2)修改数据实例注意:修改时如果update语句不加where条件,则会把表中所有数据都修改了! (3)删除数据:实例2.DQL查询 查询语法(1)基础查询:实例(2)条件查询:

免费使用AI写作助手,为你轻松打造爆款文章

在当今内容为王的时代,一篇高质量的文章能够迅速抓住读者的眼球,提升个人或品牌的曝光度。但对于许多创作者而言,灵感枯竭和写作效率低下是常见的挑战。此时,免费AI写作助手的出现,为解决这些问题提供了新的可能性。以下是这款AI写作助手的独特魅力和使用指南。一、AI写作…

从组合优化问题建模到贪心法求解以简单调度为例

此为课题组所指导本科生和低年级硕士生学习组合优化问题汇报 所用教材:北京大学屈婉玲教授《算法设计与分析》 课程资料:https://www.icourse163.org/course/PKU-1002525003 承诺不用于任何商业用途,仅用于学术交流和分享更多内容请关注课题组官方中文主页:https://JaywayX…

python: invalid value encountered in divide以及invalid value encountered in double_scalars报错

运行命令python eqtl_prepare_expression.py data.tpm.gct data.reads_count.gct --tpm_threshold 0.1 --count_threshold 2 --sample_frac_threshold 0.2 --normalization_method tmm --output data.txt时出现了报错“invalid value encountered in divide”以及“invalid val…

java报错大合集

​D:\代码\Mybatis-84\src\test\java\com\lu\TestNews.java:100:39 java: 找不到符号符号: 方法 of(int,int)位置: 接口 java.util.List解决idea中的jdk变成1..8了而List.of()是9出的所有报错,改回17 在“class java.lang.String”中没有名为“name”的属性的 getter纯属粗心…

DataDream:调一调更好,基于LoRA微调SD的训练集合成新方案 | ECCV24

尽管文本到图像的扩散模型已被证明在图像合成方面达到了最先进的结果,但它们尚未证明在下游应用中的有效性。先前的研究提出了在有限的真实数据访问下为图像分类器训练生成数据的方法。然而,这些方法在生成内部分布图像或描绘细粒度特征方面存在困难,从而阻碍了在合成数据集…

深入理解浮点数的表示

浮点数的表示 通常,浮点数表示为: \[N = (-1)^{S} \times M \times R^{E} \]其中,S取值为0或者1,用来决定浮点数的符号;M是一个二进制定点小数,称为尾数,一般用定点原码小数表示;E是一个二进制顶点整数,称为阶码或者指数,用移码表示。R是基数(隐含),可以约定为2、4、…

20222410 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实验内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程通过组合应用各种技术实现恶意代码免杀 如果成功实现了免杀的,简单语言描述原理,不要截图…

构建自己的DEX

构建自己的DEX 简介:用户可通过主流钱包Dapp浏览器,访问URL地址,进行Swap, BSC链界面演示技术栈Solidity React Typescript Vite Wagmi Openzeppelin环境配置PancakeSwap V2 路由地址 0xB6BA90af76D139AB3170c7df0139636dB6120F7e https://remix.ethereum.org/ 开发部署环境…

ubantu20.4重置密码

一、重启ubantu系统,按shift键一直不放,再按E键 二、更改这里,删除ro 在Splash 后配置(rw init=/bin/bash),再按CTRL+X键 三、输入passwd root ,输入两次密码,直到看到“password updated successfully”表示成功了 四、输入exit退出,重启即可完成密码重置 五、如果重…

TB 级数据入库无压力:Apache DolphinScheduler 助力 ClickHouse 优化

引言 🚀 如今,随着大数据、物联网、人工智能等技术的快速发展,数据量呈现指数级增长。企业迫切需要一个既能快速处理大规模数据,又能保障性能稳定的数据库系统。ClickHouse 在数据分析与查询性能方面表现优异,但随着数据规模不断增长,其在数据写入与合并阶段的瓶颈也日渐…