第一次作业

本文围绕软件工程专业展开,介绍课程目标与实现方式,博主分享专业选择缘由、对课程的看法及未来规划。还提出教材中的疑问,如Tab键长度、注释字符、断言作用等,同时对源程序版本管理工具Bitbucket、Github、Git的优缺点进行了分析。

 

 

课程链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/

作业要求链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706

课程目标:了解软件开发的过程以及开发软件过程中该如何协调好与外界变化带来的影响。

如何实现目标:通过认真学习书本+上机实践

一.建立博客并介绍自己

  1.https://home.cnblogs.com/u/pyxhopkins/

  2.目前大二学生,喜欢人文艺术的东西,喜欢莫奈的画,喜欢看展,对世界有着同理心。对世间很多事情感兴趣,但很多时候不过也三分钟热度。

二.阅读与思考

 •当初你是如何做出选择软件工程专业的决定的?  

  对于软件工程这个专业其实之前是没有很多概念的,是因为以前看了一本小说让我对计算机很向往,如果非得追本溯源的话,让我感兴趣的是”黑客“,后来转专业的时候因为一些原因没有报网络工程转而报了软件工程,虽然软件工程也很不错,但是对网络安全这一系列也还是存在兴趣,不过既来之则安之,既然选择了也得好好对待它。而且后来也发现了些感兴趣的点。

 •你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?  

  仔细算来我接触软工也只有一年时间,在这一年的时间怎么说呢,前半年在玩耍,后半年才多接触了些。对于学校的课程符合期待吗?也还好吧,就是可能课时太少了,发的书好多都没讲完。

 •你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?  

  对于软件工程可能不是最喜欢的领域但也算得上蛮喜欢的了。擅不擅长我不知道,毕竟现在还在打基础。可能擅长吧也可能不擅长,不过毕竟大多数人都是靠着努力学习才擅长的,所以努力咯。

  •将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因  

   短时间内会考虑,长时间可能不会。杭州上海。公司岗位暂无。

(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你

 •自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?  

  学了几门语言,也学了数据结构(虽然通过了考试,但是觉得学的太水了)和数据库。代码量没有算过可能几千行吧。

 •离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?  

  自我感觉差得还很多,学的太浅了也太少了,很多东西没有追其原理,项目做得太少了。  

3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径 ,也有许多不同的分支。

 •对照以上你阅读的前人们的经历,你的选择是什么?  

  可能会工作(在学校里待太久了想出去看看,但也可能几年后重返校园。(谁又说得准呢

 •在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?  

  优势:短期而言比别人有更多的项目经验,更能从实践中体验做中学。  

  劣势:如果没有读研的话起点低一些。文凭没有竞争力。

 •针对你的选择,你给自己的大三设定的规划安排是什么?  

  大三好好学习。多写代码,多学些新东西。

 

三.提有质量的问题

 

 快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。注明是哪一章哪一节。要有观点、 有证据或分析。字数不是直接的考核标准,但是要求篇幅长到能把观点表述清楚。

 

 1.  4.2.1(P64)结论里提到Tab键在不同的情况下会显示不同的长度,所以缩进最好用4个空格。       

  当时我不理解为什么在不同的情况下会显示不同的长度,后来通过查阅发现制表符表示的长度是由单词的长度和制表符的宽度决定 的。  

  如果单词的长度用 wordLength 表示,制表符的宽度用 tabSize 表示,制表符所代表的空白字符的个数用 tabAppearSpaceLength 表示,这三者满足两个条件:

   tabAppearSpaceLength >=1 && tabAppearSpaceLength <= tabSize

  (wordLength + tabAppearSpaceLength) % tabSize == 0

  参考链接:https://blog.youkuaiyun.com/shfqbluestone/article/details/50562409

 

2.  4.2.9(P68不算代码第四行)中说到:注释(包括源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大地影响程序的 可移植性。  

  为什么会影响软件的可移植性?是因为写软件的人可以来自各国,写中文或其他语言注释大家可能看不懂?所以统一用ASCII字符?

 

3.  4.3.3.3(P70)错误处理中提到了如何验证正确性?那就要用断言。  

  一开始我不理解什么是断言,经过查阅知道了在单元测试时,程序员预计在程序运行到某个节点位置,需要判断某些逻辑条件必须满足,这样下面的一些业务逻辑才可以进行下去,如果不满足,程序就会"报错"甚至是"崩溃"。接着又在百度里看见说单元测试必须使用断言, 那么为什么单元测试必须使用断言呢?

   参考资料:https://www.jianshu.com/p/9b8c88deed6a

4.  4.4.3.5(P77)效能中提到一个问题“c#中string的操作是否能用StringBuilder来优化?"  

  通过查阅发现StringBuilder类在一些情况下的确高效,里面提到string是引用类型所以CLR就会把string类型保存在托管堆上, 为什么?

   参考资料:https://www.jb51.net/article/84526.htm

5. 13.3.2(P291.d)Pair-wise和正交试验设计方法中提到”经验告诉我们,众多因素中,通常只有两个因素对某个Bug的发生起关键作用“  

  这是为什么呢?为什么是两个?

四.了解和调查源程序版本管理工具

Bitbucket:

 优点:安全 支持中文 免费的闭源项目 支持git 支持5人以内合作开发最多可以有8人开发

 缺点:网页端的git仓库不如github好用

Github:

优点:支持把你浏览的项目最新进程发email给你

           代码片段的引用,评论,分享,讨论非常方便

          开源项目多

缺点:不是完全免费 对中文不够友好 wiki功能弱

Git:

优点:适合分布式开发,强调个体。

  公共服务器压力和数据量都不会太大。
  速度快、灵活。
  任意两个开发者之间可以很容易的解决冲突。
  离线工作。
缺点:
  资料少(起码中文资料很少)。
  学习周期相对而言比较长。
  不符合常规思维。
  代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

 

转载于:https://www.cnblogs.com/pyxhopkins/p/10553579.html

网络防御课程的第一次作业通常涉及基础理论知识和实践技能的结合,旨在帮助学生理解网络防御的基本概念、原理及其实现方法。以下是一般性的指导建议,适用于网络防御课程的第一次作业要求和提交方式。 ### 作业要求 1. **理论理解**:作业可能要求学生解释网络防御的基本概念,例如网络安全模型、防御层次、攻击类型(如DDoS、钓鱼攻击等)以及防御策略。 2. **实践技能**:作业可能包括简单的实践任务,例如配置防火墙规则、设置入侵检测系统(IDS)或分析网络流量。 3. **案例分析**:部分课程可能会要求学生分析实际的网络攻击案例,并提出相应的防御措施。 4. **报告撰写**:作业可能需要学生撰写一份详细的报告,总结所完成的任务和分析的结果。 ### 提交方式 1. **在线提交**:大多数课程使用学习管理系统(LMS)进行作业提交,例如Moodle、Blackboard或Canvas。学生需要登录系统,找到对应的课程页面,上传作业文件。 2. **文件格式**:作业通常需要以PDF格式提交,确保格式兼容性和内容清晰。 3. **截止时间**:作业提交有明确的截止时间,逾期提交可能会被扣分。 4. **文件命名**:作业文件通常需要按照指定的命名规则命名,例如“学号_姓名_作业名称.pdf”。 ### 示例代码 如果作业涉及简单的网络防御实践任务,例如使用Python脚本检查网络连接状态,可以参考以下代码: ```python import socket def check_connection(host, port): try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.settimeout(5) s.connect((host, port)) return True except Exception as e: print(f"Connection failed: {e}") return False # 示例:检查是否可以连接到Google的公共DNS服务器 if check_connection("8.8.8.8", 53): print("网络连接正常。") else: print("网络连接异常。") ``` ### 注意事项 - **遵守学术诚信**:确保作业内容为个人独立完成,避免抄袭或未经授权的合作。 - **遵循格式要求**:严格按照课程要求的格式撰写和提交作业,避免因格式问题被扣分。 - **提前提交**:尽量提前完成并提交作业,避免临近截止时间时因技术问题导致提交失败。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值