文章目录
1、作业基本信息
这个作业属于哪个课程 | 班级课程 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | git的基本使用 职业规划和展望未来 近期的学习目标与路线 |
2、git学习
2.1、上传文件过程
2.2、仓库截图
2.3、仓库地址
3、评估当前的自己:
3.1、个人信息
- 姓名:郑文哲
- 班级:网络工程(1)班
3.2、当前值
- 获奖经历:三等奖学金、大湾区杯数学建模竞赛三等奖
- 专业水平:前端三剑客、vuejs技术框架
- 项目经历:一个模仿网易云音乐的小demo(还在做)
- UI基本与网易云一致
- 服务器API使用官方提供的接口,可部署到vercel
- 角色与贡献:使用Vue2+Vuex+Vue-router+elementUI+axios实现基本页面布局和交互
- 最终项目成功:能够获取服务器数据并渲染界面,能够播放对应歌曲和切换暂停等功能
- 已完成的页面截图
4、展望未来:
4.1、回答《构建之法》中的五个问题
程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
我觉得这个问题得从程序员的具体情况处境出发。
- 如果是一名入职的程序员,接到组长所提出的需要–尽管是少部分人所需要的,但出于职业要求,还是要服从组长的安排,安排时间进行功能模块添加的代码实现。
- 如果是一名自由职业或者自己开的公司的程序员,遇到小部分人的需求,完全可以按照该功能实现的经济效益来判断是否安排对应的功能实现小组。当然,也需要充分考虑该功能是否涉及安全、财产等重要问题,在此问题上,尽管可能发生意外的概率低,但由于其风险系数之高,也要将功能的添加提到日程表中。
学生和职业程序员我觉得有以下几方面的区别。
- 工作目标:在校学生设计软件一部分是自己感兴趣研发软件,在有一个大致目标的情况下,一步步实现相关功能,但当自认为实现一个模块后,可能突然想起需要另外加上一些功能或修缮;另一部分是有具体的项目要求、有具体的成员负责,这一部分更相近与职业程序员。职业程序员:在职程序员一般不会负责一整个软件的开发,更多的是一部分功能模块,并且首先要完成的功能会由组长或者项目经理列出,而往后的新增功能会在开会当中提出,可行性和科学性较大。
- 实现步骤:一个没有接触正规流程的学生编程一般只有写代码、然后运行改bug、再运行若成功即可。职业程序员则需要经过功能编写、测试(自测、修改代码、提交修改)和提交代码等系统的流程来保证程序的可行性和准确性。这对于后续的维护有着极大的帮助,方便维护、添加、修改等。
“流水线的机器”的定义与后果。
- 首先明白“流水线机器”即每日完成的事务或任务是相差不大的,并且在前期熟悉了之后,是能够简单上手且熟练。被如此定义的关键就在于无论做多长时间,要做的事情一直都是那些或者难度没有提升,没有带来挑战性,以至于个人会被日复一日,年复一年的无聊工作所烦,工作缺乏新鲜感,每日只有增删改查,带来的不仅仅是仪式感确实,工资上也不见得多大提升,自此陷入正反馈。
如何摆脱流水线的现状,成为工作的主人
- 首先是提升工作的仪式感,在能力范围之内,在基本工作闲暇之余,挑战一些平时少接触的工作或者领域。可以是接触新型项目或者技术,也可以是写写博客、发发微信公众号文章等有关本质工作的副业。这样不仅能带来生活的新鲜感,也不会偏离本职职业。
这是一个经常遇到的问题,在学校,大大小小的活动组队、在公司一个项目的分工组员都会涉及到一个核心问题:成员学习能力不一,如何正确分配让效率最大化。
- 首先秉持着能力越大责任越大的原则,理应让能力强者为核心进行任务分配,这样才能让项目的上限最大化。
- 其次不应抛弃弱者,可以分配一些简单且不着急实现的模块分配出去,让他们有一个学习的时间来提升自己。
- 给弱者适当增加一些难度任务,激发潜能,让他们在压力之下提升,强者也可以提供一些咨询方面的帮助,但不应过多,可起到引导独立思考作用,实在到最后没法解决就由能力强者解决。
这样,一个团队在几轮的项目洗礼下,强者愈强,弱者的学习能力也会得到相应的改善,一个较为青涩的团队也能够成熟起来。
对这三者的理解
- 舒适区:除了单纯的逃避生活,享受当下外,舒适区也可能是你对一门技术感兴趣,当你去初步接触学习它后,你对它大致的技术功能、基础语法有了一个了解。但是并没有结合的情形去使用它,只停留在一个印象流。对于深入的学习则是一拖再拖,因为对于它的兴趣点已经在消沉。
- 恐慌区:一方面的造成可能是在舒适区所养成的习惯,在实际应用中误以为自身已经掌握该技术,但使用起来却出乎自身预料困难,导致陷入自我怀疑、逃避自身。另一方面则是单纯的对于自身的不信任,认为自己没有能力学习相关技术,自我贬低。
- 学习区:即尝试、失败、学习、再次尝试的学习区。首先能够对自身有明确的定位,当前能力的水准、学习能力的上限、时间掌控和学习成本。然后是自身的学习习惯不仅仅是停留在印象流表面,能够通过一些小demo来验证自己的学习成功和掌握程度,还有对于学习的不懈精神,能够做到尝试、失败、学习、再次尝试的过程,从而真正巩固自己的技术栈。
4.2、职业规划
- Web前端开发工程师
4.3、对于软件工程实践课程的理解和期望
- 软件工程实践课程,我认为是一门能够让我们认识到软件开发研发一整个的流程,让我们对工程师有一个基本概念,知道软件开发工程师日常的工作、学习和交流,并且能够借由课堂时间模拟个人、小组开发软件的情形,提前熟悉软件工程师的流程。
- 希望通过课程所提升的能力
- 前端相关技术
- 提高个人代码能力
- 需求分析能力
- 团队协作能力
- 工程规范能力
5、学习路线:
5.1、基本学习路线
5.2、学习资源
- 基础入门
- HTML和CSS:推荐《Head First HTML 与CSS》 ,图文和文字结合,对入门的很友好。
- JS入门:推荐B站pink老师的基础教程,每个视频精炼且风趣。 JavaScript基础语法
- 技术进阶
- ES6:推荐红宝书《JavaScript高级程序设计》,很系统的书,偶然翻翻看看就行,可以配合其他整理好的资料如别人的博客(推荐阮一峰的ES6博客 ECMAScript 6 入门)看。
- 入门框架
- 推荐先学习vuejs:尚硅谷的张天禹老师,讲得内容很细全面(虽然有时候有点话痨)vuejs从入门到精通
5.3、岗位需求
- 基本上的职位都会有要求良好的团队协作和沟通能力,这决定了平时工作的基本运作。
- 学习能力强的要求,重在培养新人,自己能力上限的体现,为公司能提供更大的价值。
- 有项目经验者优先,可以更快的融入工作节奏中。
- 多种项目相关工具的熟练使用,如打包工具。
- 基础知识需扎实,是入职的敲门砖。