这个作业属于哪个课程 | 《课程链接》 |
---|---|
这个作业的要求在哪里 | 《课程要求》 |
我在这个课程的目标是 | 1、学会熟练使用Markdown编辑器2、能学会制作一个软件3、了解软件开发模式4、能独立分析用户对于软件的需求 |
这个作业在哪个具体方面帮助我实现目标 | 1、能让我初步学会Markdown编辑器的使用2、能让我更加熟悉教材3、让我对于软件有一个更加清晰的认识 |
1、博客的建立及自我介绍
(1)个人博客地址:https://www.cnblogs.com/doctorlan/
(2)自我介绍:我叫舒鹏飞,平时喜欢下下自走棋,看点小说,不喜欢运动。目前是一名2017级地理信息科学的在读学生,正在学习软件工程。
2、阅读与思考
(1)回想一下你初入大学时对你所在专业的畅想
·当初你是如何做出选择你所在专业的决定的?
当初是想去学儿科的,这个专业是因为选学校的时候点了服从调剂,而自己其实擅长的科目是生物类,没什么合适的也就没有考虑转,本专业其实也不错,就选择了。
·你认为过去两年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
基本符合,学到了一些有用的东西,也有足够的时间来做自己想做的事情,我觉得大学要么就奔学历要么就努力提高自己的阅历,我目前的性格和以前比外向了一些,我觉得还是相当有收获的。而对于本专业的就业从事什么工作方面也有了一个基本的认识,也就是做开发和使用别人开发的软件的区别,提高自己的层次很重要。
·你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
有一部分比较喜欢,对于地理和计算机方面的学习还是蛮有意思的,但是感觉自己其实并不擅长这一块博客B的作者认为“计算机专业需要大量时间,需要付出大量精力,也需要极大的耐心。但大部分像我一样的80后都做不到。而做到的,现在几乎没有例外地都找到了很好的工作。”我觉得这句话对于我们90后一样是适用的,只要肯花时间,迟早它会变成你擅长的东西。
·将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因。
博客F的作者这样认为:“我看人从来不看起点,只看一个人是不是努力。”我想初步选择和自己专业相关的工作,想去成都的四川中地云智慧科技有限公司做一名GIS开发工程师,可能距离这个岗位我还有很长的路要走,但是我相信ton过自己的努力能够找到一份这样子的工作。
(2)对照前人们走过的路和描述未来发展,现在的你
·自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
我感觉我已经掌握的专业知识是对于地理和计算机方面有了一个更为清晰的认识,知道了自己可以往哪个方向努力,技能是拥有了一定的自我学习能力,能够就一个问题自己寻找资料去进行学习,能力就是自己能够进行初步的运用专业软件做一些东西。已经写过的代码也就百把行,说实话兴趣一般般。我做过最复杂的作业是c#课程学习中的最后的那次作业,感觉把自己学过的东西基本都用了一遍,视窗、数据库、c#语言,构建一个简单的面板。
·离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
我觉得我还需要进行自己对于编程这一块的提升,学习java语言是必须要完成的一件事情,还有就是自我学习能力的进一步提升,平时要更加简洁有效率,这样子会好很多,相信这门课能让我离自己的目标期望更加近一些。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
·对照以上你阅读的前人们的经历,你的选择是什么?
我的选择是就业而不是考研,我觉得,比起考研我更需要的是社会的锻炼,而且我并没有信心能考一个比较好的大学,这样子我最需要的无疑就是工作经验,在工作中我可能h会找到我下一步的目标和计划,也能让我对于自己未来究竟适合干什么有一个更加清晰的认识。
·在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
我可能会更加人情自己对于工作的需求和自己独立生活的需求,和考研的同学比较的话可能我的劣势就是学历方面,我其实觉得还好,学历只是自己一方面的体现,而自己更加需要的是对于自己学习能力和规划执行力的提升,我想这是跟着导师的那三年可能所不能带来的,学习实际实用的东西可能更加符合我目前的诉求。
·针对你的选择,你给自己的大三设定的规划安排是什么?
我给自己大三的初步安排如下:能掌握一门新的技能,练练字,多出去走一走每天打打卡,保持一个良好的身体状态。在此基础上我会更加良好的完成各方面的课程和作业,并且多读一点有用的书籍,充实自己的阅历和知识面的广度。
·你对于实现自己的梦想已经做了或者计划做什么样的准备?
我对于实现自己的梦想初步做出了准备,我也在找自己感兴趣的也适合的东西,并不一定需要我多么擅长,其实只要是一门技能我觉得都能学好的,只是自己有没有动力去稳定而高效的去完成这一学习的过程,良好的自理能力我觉得是一个很重要的基础,自己起码要把自己能够照顾好。
3、问题
问题一:我觉得创新这个行为就像是在进行一次豪赌,往往需要大量的时间和人去验证这个创新它究竟能不能被推广下去。课本第十六章第349页
人们往往会习惯大范围推广的产品,但是会不会进行长期的使用和购买则决定了这个产品的一个生命周期,我觉得一个创新在被想出来的时候就已经决定了它的生命周期,比如电视上大力推广的产品,锐澳在当今就渐渐地失去了市场,我觉得这和它模糊的定位和受众面的狭窄是分不开的,所以我觉得创新这个东西可以更加明确自己的服务人群是什么,并且好好地考虑价格和长期因素。
问题二:对于自己独立的进行思考和解决的一个问题的能力的锻炼是否真的那么重要?课本第第三章第57页
其实我们也是在不断地学习前人的知识和一个思维模式,我们的生活都是像是在套公式一样的度过,在作者修改对于自己还原魔方的能力的认识上面我认识到其实公式化的解决问题就是我们目前绝大多数学生其实都只是在机械的学习而已,知道怎么完成,但是可能稍微来电变化就不行了。但是我觉得其实这样子在绝大多数情况下已经足够了,所以我觉得我的观点与之不同。
问题三:对于典型用户的一个界定问题?课本第十章第306-210页
在我们定义典型用户时我觉得我们能一开始就去取得我们心目中的典型用户的信息和意见会更好,而不是一堆人在那里加班加点的思考和讨论,很多东西只有实地调研之后才会有一个最为清楚的的认识和见解。
问题四:对于实验和生活中的区别,我们在用户体验中要实际考虑的一些问题。第十二章第252-257页
我们在实际考虑用户体验问题时要根据自己的产品去决定我们的界面要复杂还是简洁,要精致还是粗糙,还要考虑开发人员、内测和公测的区别在哪里,我们是否能够通过我们的措施优化用户体验,我觉得这是一个很慢长的过程,但是快速的反应和简单的按钮无疑就是一个很好的UI优化。
问题五:团队里面谁是做决定的人,谁是真的付出最多的人。第十七章第393-395页
在我参与过的团队中不乏作者举的这些例子,但是有一点我觉得却不是能苟同的,的确做出最多贡献的人是猪,但是我觉得并不是只有一线的人是猪,真的有能力的人会了解更多的行情,你会的他也会,只是工作的层次不一样了,所以我觉得做决定的人应该是了解工作也了解行情并且会说话的人,是这三种特质都有的人才能做决定。
4、了解和调查源程序版本管理工具
git的优缺点:
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
GitHub的优缺点
优点:
功能设计简洁实用上手很快,可用性好(很少访问有问题,即使在我国 -_-bb),已有很多相当质量的各类项目和优秀开发者在上面。
缺点:
免费套餐不支持私有项目(作为对比,使用 hg 的类似平台 BitBucket 的免费套餐支持私有项目,只是限制了开发者人数不超过5)。
项目直接搭建在上面没啥问题(Rails/jQuery这样级别的项目都在上面呢),因为 git 本身的分布式特点,每个开发者都有完整的 repo,即使不能联网时也不会影响开发。
Mercurial的优缺点
优点:
跨平台。毕竟是基于Python,Mercurial现在跨Mac、Windows、Linux。Windows版本的git老实说不算好用,而且因为git设计的关系,除了自己的可执行文件,还需要依赖Perl和Bash,安装不够方便。Mac和Linux上的Mercurial只依赖Python安装包,Windows版本的打包也做得比较好,内部包含了Python运行时所以不需要额外安装Python。
封装好。相比git,Mercurial很少暴露一些实现内的细节,比如rebase,比如gc。整体上看Mercurial需要掌握的命令比Git少很多,学习门槛相对低。副作用是很多功能没有git那么强,比如git甚至能够改掉commit历史。但功能弱未必总是坏事。避免修改历史可以简化设计,也能防止用户胡来。
缺点:
分支管理不灵活。Mercurial的branch管理和git相比不是不方便,而是非常不方便。基本的一条是branch出来就删不掉,这对热衷于开branch的开发者是个打击,而且(似乎)也让一些大型团队不愿意使用Mercurial,因为有不少团队习惯用分支来隔离子团队间的开发工作。虽然后来Mercurial提出了bookmark这个扩展,但概念上和branch还是有些差别,用起来也容易混淆。用Mercurial最好一开始就把分支设置好,以后就不要胡乱增删了。