软件工程实践寒假作业

本文回顾了作者选择软件工程专业的原因,分享了学习历程中的目标与期待,重点讨论了阅读《构建之法》的思考、职业规划以及对软件工程实践的理解和期望,包括提升Markdown和Git技能,制作思维导图和明确学习路线。
摘要由CSDN通过智能技术生成
这个作业属于哪个课程软件工程实践-2023学年-W班
这个作业要求在哪里软件工程实践寒假作业
这个作业的目标学习markdown语法,阅读《构建之法》,学习git的使用,制作思维导图、规划学习路线
其他参考文献markdown教程Git学习Xmind绘制思维导图教程

1.准备工作

1.1仓库地址

我的仓库地址

1.2截图

在这里插入图片描述在这里插入图片描述

2.回首过去

2.1 当初你为什么选择软件工程这个专业?

在大学以前就对计算机方面的专业感兴趣,想以后学习计算机相关的专业。同时也了解到计算机就业前景较好,是热门学科,同时软件工程薪资也高。然后我就报了软件工程专业,并且被顺利录取。

2.2 当初对软件工程这个专业的期待和想象是什么?

学习了软件工程后,会对电脑相关的问题都很精通,能开发出功能很强大的软件。以及学了这个专业后,可以在一些感兴趣的方面如:游戏开发,mod制作等有所帮助。在这里插入图片描述

2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

当初希望自己每天都敲一些代码,或是算法或是一些小游戏之类的。在大二的时候想学习制作游戏,立过几个flag,例如:一定要制作一款自己的小游戏,或是制作mmd视频等,然后只看了一段时间的unity和mmd教程,但最终没能坚持下来。在这里插入图片描述

3.立足当下

3.1个人展示

个人简历内容
姓名卢子铭
性别
相片在这里插入图片描述
爱好动漫,游戏,跑步
特长吃饭

3.2能力水平

专业水平内容
掌握的编程语言c,c++,c#,java,php,JavaScript,html,css
技术框架Yii框架
开发软件Dev-C++、Visual Studio Code、Eclipse、Visual Studio、unity引擎
累积代码量20k+
开发项目基于c/c++和MySQL的学生管理系统、
基于Java和MySQL的图书管理系统、
基于Yii2.0框架的博客系统
基于unity引擎的小游戏愤怒的小鸟
学生管理系统可以对学生进行简单的增删改查和显示
图书管理系统可以对书籍进行增删改查、模糊查询并显示出来
博客系统实现了前端显示和后台文章管理、评论管理、附件管理、权限管理、dashboard功能
愤怒的小鸟小游戏模仿原版游戏实现了简单的碰撞判定、图片状态变化和胜利判定、制作了两个简单关卡

4.展望未来

4.1阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。

Q1:如何区分一个好的程序员和不好的程序员呢?

我认为区分一个程序员的好坏可以从多个方面入手。
首先是个人的编程能力,编程能力的高低代表着程序员的基本功是否扎实,好的基本功是好程序员的其中一环。
第二个是程序员的编程风格是否具备可读性与美观。有良好的编程风格有助于别人更好的读懂代码,同时增强可读性也在一定程度上增强了代码的可维护性。
第三个是团队协作能力。拥有良好的团队协作能力也是区分是否是好程序员的重要一环。
同时好的程序员也应是会与时俱进的,不断提升自己,学习新技术。

Q2:软件的行为和用户的期望值不一样,就一定是 Bug 吗?

我认为不一定是bug,虽然软件的行为和用户的期望值不一样可能是bug导致的,但是除了bug之外,还可能是功能不够完善导致与用户的期望不一致。

Q3:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?

第一,要做到经常写代码,经常看代码,多练,做到熟能生巧。第二,保持终身学习的观念。活到老学到老,这样才能在不断发展的时代洪流中与时俱进。第三,多关注新技术的消息,多学习新技术。

Q4:我都是大学生了,上课还要认真听老师讲课么?

我认为上课还是需要认真听老师讲课的。老师在课堂上讲到的一些案例和解释能帮助我们少走弯路,更快的入门和理解课程。如果是自己琢磨的话有可能多走一些弯路,得不偿失,能在课堂上掌握的尽量就在课堂上掌握了。在课外的时间可以用来更加深入的了解课程或者用来复习课程。

Q5:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?

软件开发需要体力以及创新能力,年轻程序员拥有着更充沛的体力以及创新思路,所以说是吃青春饭也是正确的。但年纪大的程序员拥有着更丰富的工作经验、项目经验,丰富的经验能使得程序员对行业的运行流程更为清晰、对开发过程有更深的了解。因此我认为年纪大的经验丰富的程序员可以考虑进入管理层,进入管理岗位,带领年轻程序员进行项目开发。

4.2你未来的职业规划是什么?

多接触一些后端开发的软件工具及项目,多学习后端开发的知识,增强自身求职竞争力。

4.3对于软件工程实践课程,你有什么理解和期望?

我希望在软件工程实践课程中更多的了解开发软件的流程,积累软件开发的经验。同时希望通过软件工程实践来增强自己的团队协作能力并进一步提高自身的编程技术水平。

5.思维导图和学习路线

5.1思维导图

在这里插入图片描述

5.2学习路线

在这里插入图片描述

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值