一丶 My Blog Introduce
--My blog address
--Self introductionhtml
我是来自计算机科学与技术2018级的姚志昆,在完成此次软件工程基础第一次做业的时候,发现是十分吃力的。不只仅在于代码量上,更在于对基础编程软件的陌生,好比正在使用的Visual Studio Code,当初高考填报志愿时,6个志愿中5个计科方面的,但却去了土木工程,仅仅靠在大一下期转专业过来以后学习的知识来完成此次做业也是十分困难的,其中缘由有种种,我将会在以后一一讲述。都是晃眼就从高考完到了现在的大二了,小一年的对编程知识的学习也让我对编程从最开始的些许畏惧,到了如今的有些感兴趣。上大学前,惟一的兴趣就是篮球和打打游戏了。高二才开始打球的我,渐渐迷上了欧文,虽然高中压力逐渐增大,可是依旧挤着时间去打球,好比二晚下课的15分钟,提高本身的控球技术。等上了大学以后,想要在大学中接触新鲜事物的我,也逐渐对羽毛球、网球等运动感兴趣了,正所谓“身体是革命的本钱”,这会对咱们之后的工做也打下必定的基础。
二丶 Reading & Thinking
前端
1.当初是如何作出选择如今专业的决定的? |
打游戏也能够算是我对计算机开始感兴趣的开始,由于之前家里电脑不怎么样,运行很卡,动画显示效果也差,打游戏卡成PPT,就本身网上百度怎么在在显卡配置没法改变的基础上,提高电脑的动画显示效果。有个游戏叫作“Minecraft”——个人世界的沙盒游戏,里面须要配置的东西就是Java,而这款游戏也是由它编写的。
为了更好的了解其原理,我终究仍是来到了如今的专业,努力成为一个优秀的IT构架师。java
2.过去一年是否符合专业期待,为何? |
3.你以为你所在的专业是你喜欢的领域吗,它是你擅长的领域吗? |
4.未来你会选择从事和你专业相关的工做吗?是的话给出你想去的城市、公司和岗位,否的话给出缘由。 |
5.自我感受你已经具有的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你作的最复杂的项目/做业。 |
6.离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些? |
7.对照以上你阅读的前人们的经历,你的选择是什么? |
二是兴趣和热情只能让你很执着,但并不必定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。有了兴趣和热情以后,只是作到了基础条件,想要在这条路上越走越远,那么你就要注意本身的学习方法进而提升本身的学习效率依旧编程效率。IT做为一个快速更替的行业,知识体系都是突飞猛进的,不能中止对新知识的学习,并选择一个方向作到深刻掌握,作到一个公司没有人作到,只有你一我的才能作到,让其成为你的强项,才能让你更被重视,才能作到不被淘汰。python
三是你的职位,薪水,只不过是你能力和经历的附属品。当你的能力、阅历十分突出的时候,公司须要你的能力,那么你提出的薪资要求、福利要求都将不会成为问题。所以提高本身的能力才是最关键的,在学习的过程当中,不要一味的为了薪水二区作事,而是为了提高自我而去作去学。程序员
8.在这种选择下,你认为你相比其余同窗来讲有何优点,有何劣势? |
9.针对你的选择,你给本身的大三设定的规划安排是什么? |
10.你对于实现本身的梦想已经作了或者计划作什么样的准备? |
Q2 领导力究竟是什么?
Q2 来自于《现代软件工程-构建之法》P379 领导力
A2领导力分为不少种,有“单一项目中的领导”—— Leadership in a project、也有“思想上的领导”——Thought leadership、还有“技术上的领先和指导”——Technical leadership。不一样的领域(思想或行为)有不一样的领导力的标准,而领导力有四大要素——设定目标——知人善任——带领团队成长——绩效管理.web
Q3 结对编程有什么用?
Q3 来自于《现代软件工程-构建之法》P79 两人合做
在结对编程模式下,一对程序员肩并肩、平等地、互补的进行开发工做。他们并排坐在一台电脑前,面对一个显示器,使用同一个键盘、同一个鼠标一块儿工做。一块儿分析,一块儿设计,一块儿写测试用例,一块儿编码,一块儿作单元测试,一块儿作集成测试,一块儿写文档。使得他们在高速度中完成任务,可是任务有较高的技术要求,任务失败的代价也很高。单独一我的设计、实现软件的过程当中难免要饭这样那样的错误。在结对编程中,由于有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的哪一位。这样,程序中的错误就会少得多,程序的初始质量也会高不少,这样会省下不少之后的修改、测试的时间。使得两人合做解决问题的能力更强,相互激励,互相讲解从而受到激励,努力提升本身的水平,提出更多的创意。算法
Q4 如何避免软件工程师的思惟误区?
Q4 来自于《现代软件工程-构建之法》P48 软件工程师的思惟误区
思惟误区主要由三个方面,一是分析麻痹,一种极端状况是想弄清楚全部细节、全部依赖关系以后再动手,心理上过于悲观,不想修复问题,出了问题都赖在相关问题上。分析太多,却不想动手,所以,我认为要适当分析问题以后,努力迈出第一步,而后再将一步一步编写代码,不要急于求成。其次是过早优化,软件的软字就在于它的可塑性,一个复杂的软件彷佛不少模块均可以变得更好,一个工程师在写程序的时候,常常容易在某个局部问题上陷进去,花大量时间对其优化。无视这个模块对全局的重要性。所以过早的优化是不可取的,要在大框架无错误正常运行的条件下才开始优化。再者是过早扩大化和泛化,在写一个程序的时候,须要某个函数能够处理整数类型和字符串类型的信息,所以有的程序员就会提早将其类型抽象出来,可是太好高骛远了。数据库
Q5 如何正确的计划和估计?
Q5 来自于《现代软件工程-构建之法》P169 计划和估计
想要作到合理的计划和估计,那就必定要在目标、估计和决心三者间作到一个平衡。软件项目的延迟在行业中比比皆是,在估计以前,咱们能够考虑前任的经验,另一个方法是快速原型法——用一两个先锋去探路。其次,也要对产品的因素,平台的因素,人员的因素,项目的因素四者都考虑到。而在计划中,咱们能够分而治之,提升人员能力的利用效率,所以咱们能够把大型项目化整为零,作到团队中每一个人均可以同时工做,将其化为一个个子节点,最后再归为根节点。编程
四丶Source program version management tools小程序
1.GitHub
参考百度文库
优点主要有如下七点:
一、GitHub 只支持 Git 格式的版本库托管,而不像其余开源项目托管平台还对CVS、SVN、Hg 等格式的版本库进行托管。GitHub 的哲学很简单,既然 Git 是最好的版本控制系统之一(对于不少喜欢 Git 和 GitHub 的人没有之一),没有必要为兼顾其余版本控制系统而牺牲 Git 某些独有特性。所以没有支持其余版本控制系统的历史负担,是 GitHub 成功的要素之一。
二、GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。
三、GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也能够直接经过浏览器修改版本库里的文件。
四、将社交网络引入项目托管平台是 GitHub 的创举。用户能够关注项目、关注其余用户进而了解项目和开发者动态。
五、项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工做模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特点的代码审核。
六、GitHub 经过私有版本库托管、面向企业的版本库托管和项目管理平台、人员招聘等付费服务得到了商业上的成功,这种成功使得 GitHub 没必要以页面中嵌入广告的方式维持运营,最大的受益者仍是用户。
七、GitHub 网站采用 Ruby on Rails 架构,在 Web 设计中运用了大量的JavaScript、AJAX、HTML5 等技术,支持对使用 Markdown 等标记语言的内容进行渲染和显示等。关注细节使得 GitHub 成为了项目托管领域的后起之秀。
劣势
1.使用Jekyll模板系统,至关于静态页发布,适合博客,文档介绍等。动态程序的部分至关局限,好比没有评论,不过还好咱们有解决方案。
2.基于Git,不少东西须要动手,不像Wordpress有强大的后台。
2.Microsoft TFS
优势
1.由数据库存储源码——性能高
2.与开发工具无缝集成——简便
3.源码管理无存储限制——可靠
4.代码分支结构可视化管理
5.有误删除恢复保护
6.内置BUG管理工具、提升开发效率
7.管理项目生命周期测试用例
8.根据项目完成状况自动编译测试源码
缺点
1.搭建、维护tfs比较复杂。
2.硬件要求比较高。
3.Apple XCode
参考百度文库
优势
一、苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。
二、无论是使用C、C++、Objective-C或Java编写程序,在Apple Script里编写脚本,仍是试图从另外一个奇妙的工具中转移编码, Xcode 编译速度极快。每次操做都很快速和轻松。
三、苹果公司为用户提供了全套免费的Cocos程序开发工具(Xcode),和Mac OS X一块儿发行,在苹果公司官方的网站下载。
缺点 1.报错难以辨别出错地方。