Mention it technology, you may feel very familiar, but it will be very unfamiliar. It technology was originally referred to as information technology, information technology, or ICT (information and Communications technology), which is information and communication technology. And in the development of the Internet to such a point today, many people also understand it as the Internet technology (Internet technology).
What I want to say next is to introduce it from the perspective of Internet technology.
As far as it technology is concerned, it can be divided into two kinds of technologies, namely: Research and Application field. The so-called research and development, is to develop, that is, through cognition, learning, argumentation, practice and other stages to establish a set of theoretical system, based on this set of theoretical system and according to the needs of production and life, the process of creating some tools. The so-called application, is the best possible to perfect the development of a variety of products developers to the production of life, thus making the whole IT system more powerful, able to have more functions, to help people do more work, can more convenient people's production and life technology. To be blunt, development is a tool, and the application is to use these tools to work.
Next, we'll explore the areas of development and the specific content of the application area.
field of research and development:
Research and development can continue to be subdivided into hardware development and software development.
Research and development can continue to be subdivided into hardware development and software development. Hardware research and development, is the manufacturing class applied to it technology of the underlying support technology of various types of hardware equipment, such as a variety of electronic components (such as resistors, capacitors, relays, etc.) design of injection manufacturing, circuit board design and manufacture, circuit printing, chip design and manufacturing and so on. And each kind of hardware equipment in the design and manufacture of the process must design a set of people to carry out a hardware operation interface.
For example, many years, if we buy a TV, on this TV need to provide switches, volume adjustment, channel selection and other buttons to facilitate the user to use the TV, and every time the user wants to use the TV, must go next to the TV, press one or several of these buttons, To implement certain functions, the button is the operator interface that the TV manufacturer provides to the user. If there is no such interface, then the user must understand that the circuit of those lines can open the TV, those lines can be short-circuit to achieve volume adjustment and channel switching, first, regardless of whether the user is easy to operate, just remember the wiring sequence of these circuits and function of the corresponding relationship is a very huge amount of work. In this case, the producers of televisions don't expect to sell too many televisions, nor are there too many customers interested in such products. As a result, TV manufacturers must be anxious about the user's needs, users think, to help users overcome the barriers to use the line, so the TV manufacturers will be almost impossible for users to implement the Operation hidden, with a more easily user-operated abstraction layer to provide interface, That is, the user sends instructions to this abstraction layer, and this abstraction layer hides the complex command logic and execution logic behind it, outputting simple execution results for the user to use, and never having to worry about why the TV will turn on or power off after the switch is pressed. The user only needs to know what happens when the switch is pressed. Later, with the improvement of technology, there appeared a remote control TV, which makes the interface on the TV less, more interface functions are integrated into the remote control, the remote control through the infrared signal to the user to select the operation of the TV on the infrared receiver device, and realize not close to the TV can also be convenient to use the TV, The remote control and the button on the remote control is the operating interface of the hardware, but even if the remote controller, the TV still provides a small number of controls to facilitate the remote control failure or damage when the user can still use the TV. But in order to allow the remote control to take effect, the logic behind the more complex, the need to write more and more functions, so the cost of such a TV is much higher than the previous TV, so the price is also more expensive.
In the example above, just to illustrate a problem: the hardware maintains the lowest level of functionality, all we need to use software to help the hardware to achieve close to the final product form. TV this kind of equipment, compared to the computer, can be said to be more simple, but, the application of software on the computer, can be said to be similar.
If people have different needs, we need to according to the needs of the user to the underlying hardware provided by the form of software packaging, so as to provide users with a more concise interface, in order to facilitate the user's use. But the interface of the computer is very difficult to understand, because it uses binary instructions to process the binary data, for the user, it is difficult to do from the perspective of the binary system to think about the problem. But in the early days of computer development, programmers write programs that can only be programmed with binary instructions for binary data, which is too much work and inefficient for programmers. As a result, programmers desperately need a way to write simpler and more efficient programming, which makes it easier for programmers to master and use them.
Chip manufacturers are beginning to think about this problem, not only to facilitate user use, improve usability, but also convenient for programmers to write code, simplify the writing process, reduce the amount of work of the programmer, so, the assembly language was born. Each chip manufacturer provides a simpler, more hierarchical, but still very rudimentary programming interface for the machine language of its own chips, which we call the microcode language, or assembly language. Assembly language has been described in the use of human natural language, such as: using Add to represent addition. But, even so, assembly language is simply converting instructions and data from binary formats into symbols of human natural language, that's all. So, we want to use assembly language to write a complex program is also very difficult, he is still very far from the final form, the programmer needs to do a lot of work still. And, as long as the program is not written in machine language, there is no way for a computer to run directly because the computer cannot understand the meaning of any code that is not binary. Therefore, we must convert the programs we use in assembly language into binary instructions and data that the computer can understand. For assembly language, this process is called the assembly process, and we use the assembler to complete this step.
But assembly language still belongs to the category of low-level language. and the assembly language and the chip coupling degree is very high, can be said to be closely related to the chip. The assembler that is written on a chip is basically not portable to other chips, so the assembler is very poor in its universality. So there's a high-level language.
The so-called high-level language, is a language closer to human understanding, convenient for human writing, high efficiency; so-called low-level language, is a language closer to the understanding of the machine, convenient machine operation, the speed is very fast. Therefore, not to say that high-level language is very good, but human is easier to grasp, or not to say that low-level language is poor, but human is not easy to understand and grasp. So there is such a contradiction, the computer can directly use the binary instructions and data programmers understand the abnormal hard work, the programmer is easy to write language computer can not understand. So we have to translate the programs written in high-level languages into binary instructions and data that computers can understand. This process is generally divided into two stages, the first stage is to convert the high-level language programs written into assembly languages. Is the process of implementing this phase, which we call compiling, and the generic tool used to implement this compilation, which we call the "compiler". High-level language program code to convert my assembly language, once again compiled into binary instructions and data on it. Therefore, not to say that high-level language is very good, but human is easier to grasp, or not to say that low-level language is poor, but human is not easy to understand and grasp.
High-level language is divided into system-level and application-level two categories
System-level languages (such as c,c++, etc.), which are commonly used to develop operating systems and those that have higher performance requirements such as LINUX,ORACLE,MYSQL, etc.
Application-level languages (such as Java,python,ruby, etc.) are generally used to develop programs that have specific functionality and do not require high performance, but are intended for programmers to quickly complete. such as Ansible,puppet
The so-called software in our usual sense is the program code that programmers write in some high-level programming language. These program code, after a specific compilation or interpretation and assembly, can be executed by the underlying hardware, which can be implemented according to the functionality defined in the software to achieve user needs.
Application areas
The so-called application, is the use of other programmers in a variety of high-level language development of software, to maximize the crushing of the program's functions and minimize the cost of system resources, so that the efficiency of the program greatly improved, but also makes the server resource allocation more reasonable. The technology used in the field of Linux management is often referred to as operation and maintenance technology. Therefore, operation and maintenance technology is the application of other constructs in the Linux ecosystem of various applications, and there is a very harsh but not very clear standard, is to use these applications.
The so-called good, generally refers to the use of these operations and maintenance tools, can ensure the high stability of the server, high availability, high security and efficient use of resources. There is also a very important operation and maintenance technology, that is, the use of scripting Automation features, can make certain applications work can be done automatically.
In the Linux ecosystem, you typically use shell (bash) scripting to automate functionality. But shell scripting doesn't count as a language, it's a logical program tool that builds on the interpreter and allows other programs to be run better by the organization. If you want to achieve more complex functionality, you have to use the full programming language of the professional level--python.
This article is from the "home of the Ops" blog, so be sure to keep this source http://zhaotianyu.blog.51cto.com/132212/1775039
It technology brief