虫虫吃第一颗豆子---第一次作业
豆子心得:第一次作业
这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
我在这个课程的目标是 |
正确认识并学会软件工程思想,更加全面认识并完善自我 |
这个作业在哪个具体方面帮助我实现目标 |
自我剖析,职业规划,目标设定与实现 |
个人博客主页 |
第一次写博客,就请大家多多关照了。首先说一下看到这次博客作业的感受吧,那就是简直太棒了!通过这次作业读了不少博客,心里有点按捺不住的小激动,下面就进入正题吧(严肃)
####痴迷于动漫,歪打正着 要谈到对软件最初的认识就要追溯到小学一年级了,倒也不是自己接触,而是因为我爸对一款游戏--魔兽世界的疯狂热爱,每天回到家听见的就是劈里啪啦敲键盘打游戏的声音。当时还小,认为这种东西就是像空气一样很自然的存在,这个也许就将我和软件早早地联系在了一起。但有想进IT公司的这个念头的萌发却是在初一的时候,因为火影忍者而爱上了动漫,爱上了二次元文化。谈到二次元,现在最热的无疑是B站(哔哩哔哩动画),很好奇在B站的背后工作。我想,对于很多二次元爱好者来说B站就是最理想的工作地。也就是这样,在老爸的建议下,在高考选填志愿的时候第一志愿就填了软件工程专业。 ####车到山前必有路 刚进入大一的时候,学习C语言,那个时候还没开始正式上课,各种团队培训连番轰炸,从小老爸就不允许我碰电脑(大概是怕我和他一样沉迷于游戏无法自拔),这就导致了我属于指头式敲键盘。速度及慢,看着旁边的男生敲键盘的速度刚开始有了一点自卑。起初也从来没有接触过编程,代码又晦涩难懂,我只好采取一种方式:背代码。就像娄老师心得[1]所说原生态的思考模式。在团队培训的期间很多次因为没法理解代码一个人留下来反复敲很多次,渐渐意识到自己的问题于是就找团队里的学长请教才知道代码不是用来背的,而是需要去理解并且创造的。就这样,我开始慢慢去理解代码的含义了并解到了敲代码的乐趣。等到真正开课的时候,老师布置的作业都能一气呵成。等到大二学数据结构,这....是啥?二叉树、各种排序顿时把我弄得昏头昏脑,记得当时敲广度和深度查找敲到了2点,但是却有说不出来的满足感,我想软件工程最需要的大概就是钻研精神和思维能力。正所谓车到山前必有路。上大学之前老爸给我说了一句话:"撑不住了就转专业,保住头发要紧"。老爸,看来头发是保不住了...。
[1] https://www.cnblogs.com/rocedu/p/6143494.html
####日久生情 计算机领域是我很喜欢的一个领域,能够将自己的想法做成一种视觉化的效果展示在所有人的面前,感觉是一件很酷的事情。好难~想哭,这就是我开始学习软件工程的一些感受,敲代码能力还不太够,但想要更多地去学习。在学习的过程当中也发现吃过很多亏,比如太早地学习HTML、CSS。我是在大一上的时候就开始学习前端的一些基本内容,由于没有面向对象的思想导致花费了不少的时间去理解前端代码内容,白白浪费了不少时间。而在大学的课程当中老师能够讲授的内容往往停留于课本,很少实际地动手操作。在思维方面自己也比较弱,很多知道的知识都停留在书本上,以后打算每天一道PAT算法题!fight! ###豆子的自我评定 专业知识:目前修的专业课也不少,包括C语言、C#、计算机组成基础等。但掌握的都只是勉强能应付考试,大一大二都忙于学生工作很少有时间单独敲代码。 具备技能:目前学过C、C#、HTML、CSS。 代码量:5000左右 项目经历:做过最复杂的项目是要三天自己写一个界面出来,由于完全靠想象并且还要纯手工敲出来,那个时候HTML、CSS运用的也不是很到位所以熬了很久。 我认为对于程序员来说重要的是能力和经历(博客K[2]),积累是成功的一个必备过程。每个人都要有自己独特的学习方式方法,打好基础是关键,目前的阶段就是要打牢基础,把时间规划好,读了博客A[3]中把时间分为A、B、C、D四类,要把时间花在刀刃上。目前自己很欠缺代码量,花在代码上的时间还远远不够。[2] https://coolshell.cn/articles/4561.html
[3] https://book.douban.com/subject/4006425/discussion/22803733/
####永远跟心走 目前的打算还是准备研究生继续深造,也可以说是给自己一个缓冲区去学习更多前端方面的东西。我认为博客D[5]的作者说得很正确,大三具应当专注地学习专业知识,对于考研党来说专业知识显得尤为重要。前不久我们班刚刚统计了就业和考研以及出国的人数,发现6成左右的同学都选择考研,包括我闺蜜也在准备跨专业考研。考研的热潮一浪比一浪高,也听过不少考研成功学长学姐的经验分享。这个暑假,我查了很多考研的学校,原本是想要选一所能够用203日语考研的大学,但最终却没有选到心仪的最后无疾而终。由于大学的成绩还不错,于是有了想保研的心思,询问了多个保研成功的学长,最终决定放手一搏尝试保研。 #####(1)大三安排 1.在12月份之前高分过N2,之后全力准备加强英语能力坚持每天背单词练口语过关英语六级考试,如果有余力准备日语N1考试。 2.每天刷一道算法题增强逻辑思维 3.加强HTML5和CSS3的基础巩固,学一点JS框架,最后掌握C#可以写出一点小东西~。 4.当然成绩也不能落下,不过重心会转移到学科竞赛上。 #####(2)勉強に夢中になる(沉迷于学习) 为了有朝一日进B站实习,豆子也是好好地研究了一波B站前端工程师以及动画制作(对日)地技术要求和学历要求。 #####前端工程师(BBQ)要求如下:动画制作(对日)要求如下:
所以打算大三开始专攻JS以及熟悉一些移动端的开发,考取研究生在学历上达到一定的水平,也并没有想着一直做前端工程师,个人觉得人生到最后还是要做让自己充满幸福感的事情。
兴趣能让你开始让你执着,但只有喜爱才会投入热情,只有投入热情才可能会出成绩。--博客K[4]
[4] https://coolshell.cn/articles/4561.html
永远跟着心走,热爱自己做的东西,尽量把它做到极致。 ###みらい(未来) 以后想要成为一名前端工程师进军B站,积累经验过后,但是到最后还是想要去从事一些与动漫有关的工作比如对日动画制片(朝着梦想前进)。也看了不少有关于职业选择方面的博客,如博客D[5]中有我们要做的仅仅是每天养成一种习惯,看看IT科技新闻,关注前沿技术动态,多泡技术社区,多写技术总结,勤分享多沟通。
目前的计划就是好好学习前端知识,同时也学好PS、PR等成为资深UP主(请投我一枚硬币),还有好好学习日语争取过N1。頑張って!
[5] https://www.cnblogs.com/xiaozhi_5638/p/4485805.html
###对书的提问与理解 - 问题一问题出处:第三章 软件工程师的成长 技能的反面
问题来源:
我更不知道如果在执行过程中走错了几步,随机应变,挽回局面。离开口诀的话,我只能拼出一面。从这点来看,我的魔方技能应该是"能够独立地还原一面,其他看口诀可搞定"。那怎么才是真正的的"技能"呢?
问题:作者原来精通魔方但是因为很多年不玩认为只是找到了一个模式,按照某个口诀才能有以前的技能,作者认为这不呢个算作一项技能,但是这个真的不是作者的一项技能吗?
个人理解:个人认为技能的定义是有时间区域范围的,我和作者的经历很相似,从7岁的时候开始学习小提琴但是直到天,借了一个学弟的琴尝试去拉出一些曲调,可是拉的时候却一点也记不得了。那我是不是没有拥有过这项技能呢,我想如果让我再花一点时间去学习应该能很快又再次学会,就像如果再给作者一些时间应该也能很快精通魔方。所以说,我认为是否拥有某项技能是要有时间限制的,至少在那段时间我是拥有这项技能的。
- 问题二
问题出处:第八章 需求分析 竞争性需求分析框架
问题来源:我们要在竞争性的环境中实践软件工程,那就要做实用并且有创新的项目。
问题:在竞争性的环境当中一定要做实用性的项目吗?
个人理解:现在流行的软件虽然不乏有美团,淘宝这种方便人们生活的软件的存在,但是也有类似腾讯视频,抖音之类不实用但是却能满足用户精神需求的软件,所以我认为我们要在竞争性的环境中实践软件工程是要做使用户"满意"的软件。
- 问题三
问题出处:第12章 用户体验
问题来源:大部分软件工程师主要关心的是"使用的效率",这只是用户体验设计的很小的一部分。那我们要在什么阶段,以什么样的方式来关注其他方面设计呢?
个人理解:自己平时用软件的时候,比如漫画软件(快看)有的功能从来不会用,而有的功能想用却苦于找不到。这个时候就是所谓的使用效率的问题,我认为软件首先要认清自己针对的用户,了解他们的生活习惯,尝试观察他们的作息,根据总体的偏向来决定界面的设计问题。
- 问题四
问题出处:十六章 IT行业的创新
问题来源:为什么领域的专家有时候没有领域外的创新者那么有创意?这也是一个很有意思的话题
个人理解:研究人员问一群木匠,屋顶工和直排轮溜冰员,如何改善以上三个领域的安全装备时,结果,每群专业人员,都明显地更擅长为其他领域想出新颖的解决方案。其实,和问题的概念距离愈大,解决方案愈新颖。例如,比起屋顶工,直排轮溜冰员更擅长想出改善木匠安全装备舒适度与方便性的构想。一些研究证明了从「类似领域」(表面看似不同,深层结构却相似的领域)获得专业知识的价值,这些研究正帮助企业找到新方法,来想出突破性构想。这个类似群众外包(众包)的方法,可用于解决广大知识领域的各类问题,一家电扶梯公司正运用这个方法,想出如何将电扶梯安装在建筑物的较高楼层,以及协助一家仓库管理软件公司改善零件追踪,并协助一家食品服务供应商,提供较好吃的小鸡块。[6]
[6]参考资料 https://baijiahao.baidu.com/s?id=1594105866669149847&wfr=spider&for=pc
- 问题五
问题出处:十七章 人,绩效和职业道德
问题来源:对于一个想从磨合阶段上升的团队,领导要注意:
加强责任感的最好机会是周期性的目标检查会议
问题:加强责任感的最好机会为什么会是周期性的目标检查会议?
个人理解:我认为首先要加强责任感就要具备责任感,对于软件行业来说具备责任感的前提是首先要热爱这份事业。具备责任感后,怎么去加强责任感呢?我想需要上级对你的重视和关心,也就是说要让员工有承担责任的动机,感觉检查会议像是一种督促emmm。
源程序版本管理工具--了解和调查
对于源程序版本管理工具用过的是GitHub,这次详细了解了一下GiteHub,顺便也了解其余三个源程序版本管理工具。
GitHub
工具介绍:gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。自己也试着安装和操作了一下,以前代码都是存在文件夹里面没有一个较为统一的地方,并且很容易的可以复用别人的代码。
优点:Github是一个合作开发平台,给团队协作开发提供给了很好地环境。可以选择公开或者不公开自己的代码,同时同时也是一个能够轻松copy学习他人代码的地方。
缺点:用命令行进行操作还是稍微有点不方便呐(个人观点)。
Trac
工具介绍:Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。
优点:Trac拥有强大的bug管理 功能,并集成了Wiki用于文档管理。它还支持代码管理工具Subversion,这样可以在 bug管理和Wiki中方便地参考程序源代码。[7]
缺点:上手难,中文化不完全,功能少,不支持多项目。
[7]参考资料 https://blog.csdn.net/yyg_5106/article/details/83320904
Rational
工具介绍:Rational软件是 IBM 软件集团旗下之第五大软件品牌, 通过提高企业的软件开发能力,IBM Rational software可以帮助各组织机构创造商业价值。Rational软件开发平台集成了软件工程的最佳经验、工具和服务。
优点:IBM Rational 软件工具为开发人员和开发团队提供了整个开发生命周期的支持。单独使用时,Rational 软件的每种工具在其各自市场领域中都处于领先地位。[8]
缺点:界面不方便,对数据设计支持的不好。
[8]参考资料 https://www.cnblogs.com/wangshenhe/archive/2012/08/09/2629795.html
Bitbucket
工具介绍:BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
优点:易于使用,免费版本的用户可以有无限的私有Repos。
缺点:不开源。
你所浪费的今天,是明日的你回不去的昨天
豆子今天的博客就到这里啦,初次见面,以后请多关照♪(∇*)。希望のひ,あなたの好きなことをしています。