19 autumn and software engineering foundation work for the first time

This work belongs courses Course Link
Where the job requires Operational requirements Links
My aim in this course is Master the software engineering course of this core knowledge, a clear understanding of career planning, after completion of the course have a clear direction for the future learning process
In particular aspects of the job which helped me achieve goals Read textbooks and constructive problem
references What can be done in GitHub, user habits and what to do?
references Version management (a) of the difference between Git and GitHub of (pros and cons)
references GitHub, Bitbucket, Google Code which have their own advantages and disadvantages?

1. About Me

  • Chen Jilong I am from Jike 1801, called this name because there is a twin brother named Chen Shih-lung ^ _ ^

  • Park blog blog address: https://www.cnblogs.com/FourtyTwo/

  • Personal strength is probably a strong self-control and self-learning ability, things of interest to have a strong curiosity and thirst for knowledge

  • Usually like running and table tennis

  • A year's freshman through self-study the idea is to learn a lot of things, but most of them are not very proficient / (¨Ò o ¨Ò) / ~ ~, for the new school year before falling back things up, the science is not solid consolidating his stuff

  • Before the adoption of Hexo + Github build a personal blog to record the various problems encountered in the learning process, but more had stopped quite a long time 〒 ▽ 〒, we hope to take this opportunity to urge their own, a lot of recording their own learning process ( • • _ ง) ง
    (==> My Blog )


2. Reading and Thinking

Read more material and answer the following questions:

(1) Recall that when you are entering the university in your professional Imagination

  • How did you make choices in your professional decisions?

    In fact, in high school is not very clear on computer-related professional knowledge, before selecting volunteers also learned know almost computer-related professional employment and salary rates are high by and thinks self-learning ability and problem-solving skills alone is acceptable, the final computer science and technical expertise came in first choice.

  • Do you think the past (two) years of exposure to the course meet your expectations of yourself where professional, and why?

    In line with expectations. Over the past year the school opened with C language data structures, these two courses, because the program = algorithm + data structure, as a programmer, the most important is the data structure for learning, and to learn the course C language as they need support, greater help for our learning and development.

  • Do you think a professional in your field that you like it, it is an area you're good at it?

    Since the initiative chose this profession, of course, it is a field like this, as long as the computer industry have a computer, there was unlimited space for development. However, due to a school will join Network Alliance, he participated in several CTF and AWD network attack and defense game, so most areas of expertise is penetration testing o ((⊙﹏⊙)) o, but I will try to do the comprehensive development, the development of penetration two flowering (¯)¯ *)).

  • In the future you will choose to engage with your professional work related to it? If you want to go is a given city, company and job, if given no reason

    Will select the corresponding work according to their abilities and learning. If possible, be in Chengdu development, the company and the job is still uncertain X_X.

(2) the control of people walked the streets before and described the future, now you

  • Feel you already have professional knowledge, skills, abilities, what? The amount of code has been written is how much? Describe the most complex projects you do / work.

    Currently available through self-study basis of Linux and SQL statements; can tinker with its own virtual machine, use common web front-end back-end vulnerability penetration testing on kali-Linux; also some basic php and python, but not particularly skilled. The amount of code may have a two thousand lines? Done the most complex jobs may last semester programming is done on a comprehensive practical classes Sokoban game, completed by a multidimensional array to create a map, start the graphical interface through online access to use some command windows implementation.

  • From becoming a qualified graduates in the professional knowledge, skills, abilities but also the gap between what?

    Currently very little proficiency in language, and do not know the specific software development process, do not know how to achieve software development through teamwork; and no practical experience in software development, development planning for the future is not yet clear.

(3) currently is a crossroads of life choices, PubMed, work, public test, go abroad, there are different options at different junior endeavors. And each path whether or postgraduate work, there are many different branches.

  • Control over before you read people's experience, what is your choice?

    Today undergraduate competition for jobs is fierce, with parents advice and let future self regret, I chose something was in that direction.

  • In this option, you think What are the advantages, what are your weaknesses compared to other classmates?

    PubMed need better self-control, and my strength is the case, we can keep discipline in the absence of supervision, develop a reasonable and relatively well completed study plan; disadvantage is probably not as good as others head Emmanuel 〒 ▽ 〒, need more time to understand certain questions or certain things, which is why I want to redouble my efforts to give more time and effort (ง • _ •) ง.

  • For your choice, you give yourself a junior planning arrangements set what is?

    Not wanting to study section was stretched too long, I am prepared to work under the review of junior semester study section, so that the distance something was about nine months, but also avoids the situation where time is too short resulting in inadequate review; at least eight a day hours of learning time, and to ensure the exercise left out of time, after all, the body is the capital of revolution, do any work can be more effective.

  • For you to achieve your dreams have done or plan to do what kind of preparation?

    Currently preparing to do of course is to do that as a student of their own work: to take seriously each course have learned, and in freshman year also made to order their satisfaction with the results, but also lay a solid foundation for the Graduate equivalent; but also future to further enhance their professional skills, but also to try to overcome social phobia / (¨Ò o ¨Ò) / ~ ~.


3. mention of quality problems

Question ①: what counts as "good enough"?

  • Source of the problem:

    Textbook Chapter One Introduction section on page 17 proposed to flow through certain software, issued "good enough" software within the expected time, but exactly what is considered "good enough" mean?

  • I understand:

    About "good enough", the definition itself is ambiguous, failed to have a clear explanation for the timing of specific software releases; Moreover, the "unfinished" it is not necessarily poor, for example by Valve's Steam platform to create the Early Accessmodel pioneered this precedent, software developers will release the development process has not been completed at the time of the buyout were made to sell the platform, this model can not only solve the capital shortage that may occur during development, but also will demonstrate prototype software to users, this way, developers can promptly learn the views of users, optimize the development process and adjust the direction of development, will be "more good" software to show to customers.

Question ②: how to design software idea have in-depth understanding?

  • Source of the problem:

    The third chapter Textbook referred to the software design thinking and deep understanding of growth when it comes to software engineers, but the book does not suggest how to how in-depth understanding of software design.

  • I understand:

    I think the software to design a deep understanding of the most desirable way is to directly read a variety of books to explain the idea of ​​software design, because if the lack of basic practical experience, do not understand a specific software process from planning to the end of development, from what books they are directly obtained thing of the past, in the end only on paper. I think it should be a good way to look for the first possible opportunity to practice, it will not make them, in one project can have plenty of subtle design software idea.

Problem ③: PM functions?

  • Source of the problem:

    Chapter IX concentrates on the teaching content related to the PM, and describes Program Managerthe Project Managerdifference, but I had a question for the functions of the Project Manager

  • I understand:

    The book pointed out that Program Manager is responsible for the specific code development work, and everyone equal work, in-depth knowledge of specific software development process; Project Manager is equivalent to a leader, responsible for communication with customers, organize user surveys and follow-up book PM also pointed out that the software life cycle management, as specified in the design, implementation, testing, upgrades, migrations, etc., but these efforts are not familiar with the specific software development process and not directly involved in software development Program Manager and how to do it?

Problem ④: How do the long-term effects of software experience?

  • Source of the problem:

    Elements Textbook Chapter XII of the user experience is mentioned in the "short-term stimulus," the drawbacks, but how to achieve "long-term effects" of the user experience in software?

  • I understand:

    Wrote textbooks short-term stimulus, such as so-called redundancy animations and gestures will give users a bad experience, no different from superfluous; through access to information, I learned aspects of Apple's "long experience" in software experience to do so good: when the APP starts on 过渡动画terms, Android application start of the transition animation mostly just from a to "displacement" B, or simply do not do the transition animation. The IOS was enough in this regard the mind, Apple is smart to use a lot of non-linear movies, the movies in large part will give you very smooth smooth feeling, and graphics processing applications like these transition animation the priority level is adjusted forward, and Android is the opposite. Attention to detail, this is the reason IOS always smooth than Android, which is "long experience" good reason to IOS users.

Question ⑤: how to determine the right design load?

  • Source of the problem:

    Benchmark section thirteen chapters in the textbook mentioned to determine the correct design load at the outset.

  • I understand:

    Due to the lack of practical experience in software development, I always think to determine the correct design load is a very difficult thing. For example, you select a server when ready to build personal blog: For just started writing for Bob Bowen, 512mb of memory may be enough, but if he's a blog post in which a sudden become a "network explosion models", blog access soared, then the server will be overwhelmed, if not take timely remedial measures, and even lead to data loss; and if the start and choose a larger capacity memory server, the situation is a waste of large probability, not only that, the actual software development, design load but also to customer satisfaction, so what "design load" how to determine it?


4. Understand and investigate source code version management tools

GitHub

- 优点
    - 托管代码
    - 托管编程环境
    - Github Pages 可以为项目建立静态主页(即gh-pages分支), 也可以建立命名特殊的
    - 生态环境较好
    - 用户群体基数大,知名库多
- 缺点
    - 私有项目收费较高
    - 连接不稳定
    

Git

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

Bitbucket

- 优点
    - 支持Hg,最易学易用,同时也支持Git
    - 完全免费的闭源项目,还支持5人以内的合作开发
    - 支持中文
- 缺点
    - 用户数量限制
    - 用户基数小,生态环境不如GitHub完善

Guess you like

Origin www.cnblogs.com/FourtyTwo/p/11502574.html