'Understandable IT knowledge for non-technical people' by studying without coding school

A book to dip your toes into coding knowledge without going to a coding school today, Understandable IT knowledge for non-technical peoplein the documentation.

Review ratings: 4.0 ★★★★☆
Difficulty: Medium haUnderstanding: awards MediumImmersion: awards Medium
One-line reviewsRecommended for those who are frustrated by their lack of IT knowledge.
It's also recommended for non-technical people who are wondering if they should learn development.
Recommended tipsRead the last chapter, "Chapter 10 Summary," and review the previous chapters if you don't understand something!
The good: Take the interactivity between developers and stakeholders and give them commentary,
Several chapters are devoted to that conversation for self-checking content understanding.

This is the first IT book review, and I hope you'll enjoy reading it and grow in your IT knowledge. So, let's take a look at this book.

The author, a planner with a background in business administration, opens the book by explaining how he came to study development (programming) while starting an IT-related business. This book contains the "IT essentials" that he learned while working in the field. Compress to a level that non-technical people need to knowto create the Depth (gipp.co.kr)for a fee, and we also offer open courses through our website.

author-webpage-01
[ Deep (GIPP) Homepage ]

As Terry thinks, IT is taking over every aspect of our lives, from our smartphones to kiosks in restaurants, and it's only getting faster. Understanding IT is essential in the modern world", he says. Of course, not everyone needs to be a developer.

The book is organized as follows, starting with "Chapter 1 Orientation" and covering Development Languages/Operating Systems, Network/Client/Server, API/JSON, App, Web, DB/Image Processing, Framework/Library, Collaboration/Source Management, and Design. It is a 240-page book published in July 2020. This review is not exhaustive and there is much more to learn. I recommend that you purchase the ebook and read it completely.

Chapter 1 Orientation (Do I really need to go to a coding school?)

The author tells us how he got into the world of development. Starting with the Java language, he learned 'aptitude'Your curiosity about the web leads you to learn HTML, CSS, PHP, JSP, JS, and Ajax, one after the other. Your learning curve expands to include C, databases, servers, and iOS.

The first thing a planner working in the IT industry needs isn't "Python" or "Java" - it's 'Communications'. You should be able to communicate seamlessly with all members. ..omit... But you can't talk to developers if you don't know anything about development.

Source: From Understanding IT for Non-Techies.

As an IT planner, the author is an expert in 'IT knowledge for communication'to learn how to do this. He says this is true for everyone from marketers to designer founders. He goes on to illustrate the topics for communication that he covers in the book, including

book-theme
[ Topics of interest (source: this book) ]

Chapter 2 Programming Languages & Operating Systems (OS)

Just as an interpreter is needed between a Korean and an Arab, a compiler is the human-computer interface. The documentation (source code) that a developer writes in a programming language is passed to a compiler, which turns it into 0s and 1s that the computer can understand, thus creating developer-computer communication.

So, you might be wondering, where do developers go to document (code) in a programming language? The answer is Integrated Development Environment (IDE)This is done by a program called Typically, the Android Studio, VS code, Eclipse, Pycharm and more.

컴퓨터 언어 종류
[ Types of computer languages (Source: Pixabay) ]

We have different races, different languages, different ideas, and different cultures. The reason there are so many different programming languages is because people think differently, and if you really want to categorize them, there are computer-friendly low-level languages and human-friendly high-level languages.

  

computer component
[ computer component (source: Pixabay) ]

Programming languages don't play in a vacuum, so you also need to have some knowledge of computer components. These are the central processing unit (CPU), memory (RAM), secondary memory (HDD, SSD), and the motherboard. A computer is made up of a CPU, which is the head of the computer; a secondary memory, which is the warehouse; memory, which helps the CPU work at higher speeds at the expense of the slower secondary memory; and a motherboard, which integrates the components and provides power, communication, and more.

In fact, for the average person using a computer at home in the office, none of this sounds familiar, right? Because all we have to do is use Excel and use the apps on our smartphones, and we're familiar with the Windows, macOS, iOS, Androiddoes all of this for you under the surface. Operating System (OS)the programming language you use will be different.

Of these, the Javalanguage, breaking down the barrier of only using the language that matches the OS. Java Virtual Machine (JVA)you will be able to program on any operating system using only the Java language.


Chapter 3 Networks, Clients, and Servers

network-server-client
[ server-client (Source: Pixabay) ]

There's a game from the mid-90s that's been around forever. It's called Blizzard's StarCraft(I remember Terry being both a beneficiary and a victim of that game). Computers are networkedIt became a mass success as people were able to access their own "BettleNet rooms" at home and do many things.

Networks can be categorized as A small area, such as a school computer lab, apartment, etc. LAN(Local Area Network). The size of a city is represented by the MAN(Metropolitan ~~), for city to city/country WAN(Wide ~~). Starting with PC communication, high-speed internet networks such as ADSL, VDSL, and fiber optic communication swept the world, and later, 3, 4, and 5G wireless communication made it possible to use the internet while walking outside.

While we're downloading and installing the Kakao app, chatting, and sending photos, a lot of things are happening that we don't see. Friend's photo request > Nearest communication base station > Signal to my nearby base station > I check the KakaoTalk message > Same process in reverse order.

During this process IP addresscomes into play. Just as we need an address to receive a package, we need one to send and receive messages. An IP address consists of 12 digits separated by periods (,), such as 214.123.142.12. (Up to 232pieces, about 4.3 billion)

With the recent explosion of computers, it's hard to keep up with the demand. IPv6(from 4 to 6 digits). (2128 Dogs, about 3.4*, and1038 almost infinite in number)

IP addresses are made up of numbers. ..interruption... But if Naver's address is made up of numbers, we have to memorize all those numbers. ..interruption... So people use 'Domain names', which is something like 'www.naver.com'.

Source: From Understanding IT for Non-Techies.

If a request is more than your computer can handle, such as CPU, it will crash. This 24/7, 365-day a year behavior is what makes the internet possible. For simplicity's sake, imagine a network with two ends. On one end, a computer (or smartphone) sends Clientand on the other side Serveron the client side. The client-side is called Frontend(which customers can integrally touch), and server-side as a Backend(where the customer can't see it). In practical terms, the Clas/Front, Back.

When thinking about servers, Linux is an inevitable topic. Linuxis the OS, and the "server programs" run on top of it. Linux uses TorvaldsLinux was developed and distributed free of charge by Sun Microsystems, Inc. and was heavily used on servers, and over time, paid versions of Linux-based OSes became available.

Companies that run servers on Linux and need an AS as soon as something goes wrong use a paid version like Red Hat. One of the most popular versions of Linux is UbuntuAnother popular enhancement is the Android. This is the operating system that Google has evolved into a mobile operating system.

android-version
[ Android version history (source: sitesbay.com) ]

Servers are power-hungry because they need to be up and running 24/7. There are many difficulties that individuals cannot manage themselves, such as preparing for power outages, so it is recommended to use a Hosting providers(Domestic: Cafe24, Gabia, etc. International: Amazon AWS, Chemicloud, etc.)


Chapter 4 APIs and JSON

The client and server's Request - Response There needs to be something organized between them for proper communication to happen, and that organization is the APIs(Application Programming Interface). The client and server perform and respond to functions such as signing in and signing up for memberships according to the promises made between them.

During this process CRUDThis is where the concept of Create, Read, Update, Deletee. Implementing this feature will result in a lot of addresses, and human intervention can lead to bugs in the API. To keep things a little more organized, we're using the RESTful APIwill appear. We're using fewer addresses than before, but we're still using the POST/GET/PUT.PATCH/DELETEso that we can figure out which request was sent (this is a tricky concept, so I recommend checking out the article below by a newbie developer).

An intermediary that allows programs you create to take advantage of features, programs, and more offered by individual developers, companies, and institutions.
What is an API by Beginner Development

404 error
[ 404 error (Source: TreeWiki) ]

How do you know if there's a problem with requests and responses between your cloud and server? Sometimes when you're browsing the internet, you'll encounter a "404 Page Not Found" screen. When everything is fine, you'll see a 200 (201, 202, ...), a 400 (401, 404, ...) for client-side issues, and a 500 (500, 501, ...) for server-side issues. For a little more detail, see Wikipediafor more information.

To summarize, an API is an intermediary that allows software to use the functionality of other software. In other words, it's a way for software to send a request to an address to use a feature and get a response.

Source: From Understanding IT for Non-Techies.

Tools for developing software Software Development Kit (SDK)is a term that is used to refer to a set of APIs. An example of this is the Google Maps SDK. Once you install the SDK provided by Google, you can send requests to Google Maps from your own SW via the APIs provided by the Google Maps SDK.

# JSON format
{
  Key1 : Value1,
  Key2 : [Value3, Value4, Value5] # Array format, used to retrieve multiple pieces of information
}
# JSON Example.
{
  "category":"Beverages",
  "item":["카파모카","카페라떼","아메리카노"]
}

To communicate between the cloud and the server via the API, we need to develop a feature that allows us to put data into it. Currently, we use a format called JSON. JSON is represented with keys and values separated by colons (:). For better understanding, the author shows a sample API page from the 'GitBook' service (GitBook is a service that helps you write clean API documentation).


Chapter 5 Applications

An application is any program that you install and use on your OS. With the advent of smartphones Appis starting to spread. Often, developers use a format like "1.0.2" for versioning. The number 2 indicates a small change, 0 indicates a small but backwards compatible change, and 1 indicates a large change that is not backwards compatible. Each version may change the policies of that app, which can be problematic if there's a change in pricing and you have an existing version of the app. For reference, iOS uses the App Storefor Android, and Google Play Storeto purchase the app.


Chapter 6 Web

In this chapter, the author discusses web languages (HTML, CSS, and JavaScript), browsers, responsive web, and more. HTML(Hyper Text Markup LTim Burnsley, an employee at CERN, the European Organization for Nuclear Research, is the originator of anguage. He proposes a document written in a consistent format (HTML) so that information can be exchanged regardless of the operating system within the lab. The document contains a Code (tags)are used, most notably

# HTML tag
<h> ... </h> # means the heading
<p> ... </p> Paragraph #
<ol> .. </ol> #Ordered list
<ul> .. </ul> #Unordered list
<a href = '/en/웹주소/'> .. </a> #Link

It's important to note that HTML is not a programming language. HTML is not a language for telling a computer to do something, it's just a language for writing documents for a browser to view.

Source: From Understanding IT for Non-Techies.

HTML's focus on conveying information meant that it lacked design capabilities, so to compensate, the CSS(Cascading Style Sheets) was developed. HTML became responsible for modifying information and CSS for modifying design, and these two tasks were combined to form the 'Publishing' (The person doing the work is the 'publisher.') For more details, see the TreeWikifor more information.

The demand for features that are difficult to implement in these two languages has led to the creation of the JavaScript (js)programming language appeared. Connect to NAVER, open a web browser, right-click and select 'Inspect', and the web page source will appear as shown below. <script type="..."are linked to JavaScript files to implement various functions. If you hover over the part of the source below and press the right button to select 'Delete elememt', you can see the original HTML without CSS (of course, it will be restored when you connect to Naver again).

네이버 홈페이지 소스코드
[ Check the source code of the Naver homepage ].

Chapter 7 Databases and Image Processing

The author uses a shopping mall as an example of how Databasein the file. It's all text: member name, ID, product name, product price, etc. It would be difficult to manage them in a single text file, right? If there are tens of thousands of 1.txt contents (hong, hong, ice cream, 500 won), how easy would it be to cancel an order, change the price, etc.? That's why we created a tabular Relational databasesmethodology.

Your data should be 1% flawless, which is why it's so hard to manage.

Source: From Understanding IT for Non-Techies.

Managing with bunches of text is time-consuming because you have to open and edit tens of thousands of text files one by one. Membership information (username, name, birthday, address, etc.), Product information (product number, product name, price, etc.), Order information (username, product number) and organizing them in a relational database is more efficient. For example, if user number 1 changes their address, then product information and order information don't need to be modified.


For reference, if you think of databases as Excel, the Excel file itself is the database or the Schemaand the sheet in the excel file is called Tablein the following example.

mariadb-heidiSQL
[ Databases and tables viewed with MariaDB ]

Instead of storing data in a txt file or excel, developers can use the DBMScalled Database management systemto manage DBs. Examples include MS SQL, Oracle DB, MySQL, and MariaDB.

If this sounds familiar, it's because it's all about Clientthat the data is located in "That data is locally... Internal DBand imported it from native."

On the other hand, expressions such as 'server, API, DB, back/backend' can be used with 'ServerThis means that the data was fetched from "Fetched by API... DBand write to it..."

Source: From Understanding IT for Non-Techies.

Chapter 8 Frameworks and libraries

Applewants developers to put good apps on the App Store. High-quality, useful apps will lead to iPhone sales, which is why Apple created the Frameworks (Cocoa)to help developers build their apps. For example, if you want to insert a button into your app, you can do so by importing code already provided by Apple through the framework. For reference, the Apple app programming language is Swift.

apple-framework
[ Apple Frameworks - UIKit ]

AndroidFor Kotlinlanguage and use the Android Frameworkfor example. In the case of Apple and Google, they provide frameworks that make it easy for developers to build applications. But what about the web? JS language and use the React, Vue.js and other frameworks, such as python-djangoThere are many combinations of tools such as

LibrariesYou hear the term "batch" a lot, but what is it? Packages you've already created for a specific feature, etc.for example. If we find a library that has the functionality we need to build an app, it's very easy to implement the functionality we want. As you code, you'll figure it out.


Chapter 9 Collaboration, source control, and design

When you're developing a program, your schedule can change from time to time: you need a feature, you need to stop what you're doing, you need to take care of it first, or you need to cancel it. This is where version control comes in. There are tools for this Gitwas developed by the aforementioned Linus Torvalds. (Installing Git post to learn more).

At each stage of development, you can flag (Commit) and make notes (Commit Log). Commits and notes allow you to track who did what and what changes were made. 'Checkout' to jump to the code at the flag's location.(Source code versioning)

When a developer is developing in one direction as planned and needs to add development in a new direction. Branch action (adding value). This ensures that the old and new branches don't affect each other. Later, you can combine the code you've worked on in each branch into a merge (Merge) and combine them together.

What if you have multiple developers instead of just one? This is where the GitHubhas been created. You can upload the code to a cloud system, such as NAVER MyBox, or download it (Integrating GitHub RStudio post to learn about signing up for GitHub).

During application development, conflicts between developers and designers arise for many reasons, and to manage them, we use the Sketch, Japlin At the end of the day, there's no right answer to these issues, and it's up to the organization to decide how to address the Conversation cultureand tell them that they need to study each other's fields to better understand and care for each other.


Organizing Chapter 10

In Chapter 10, the author summarizes what you've learned so far. A computer (laptop, desktop, smartphone, tablet, etc.) with a CPU, memory, etc. 操作系统We are back to a program called . Windows, Mac OS, Android, etc. In these OSes, the running program is called Client Developerto create them. Just like the client side, the server end runs an OS like Linux and uses the Server developersdevelops the server program. These two are APIsvia Requestand Responseon the server.

When a client sends a request to the correct place, the server responds to where the request came from. Responses can either succeed or fail, claon an invalid request from the 400 timesvs. error, Server Add the 500s Raises an error code. 成功is 200s Express as a number.

Source: From Understanding IT for Non-Techies.

The actual service development requires four people: a webcla developer, an iOS developer, an Android developer, and a server developer. Web developersThe HTML(skeleton), CSS(Design), JS(features) and use the React.js library to facilitate this. The development of the admin page is also up to the web developer, and the App developersdevelop service applications using the respective languages and frameworks of iOS and Android.

The CLI program is created and makes various requests to the server, such as membership and customer list requests. When creating features for these requests, it is essential to go through the DB, and SQL is used. Server developersimplements each feature, then creates the API and writes the corresponding documentation. Based on this documentation, client/server developers communicate with each other.

SQLis Database management system (DBMS)data to the CRUD for the language.

Source: From Understanding IT for Non-Techies.

Once development is complete, the web result is placed on the server and made available to the public. At this time, files such as HTML, CSS, JS, images, etc. are downloaded to their browsers. If necessary, API requests are sent to the server, which receives the request and sends a response using the database (seeHow the web works)

For developed apps Apple App Storeand Google Play Storefor registration review. Google puts it in the store within a day, and Apple is a little trickier: the average user downloads and installs the app, and there's a request-response communication between the smartphone and the server, just like how the web works.

The modern IT industry is like a catfish to other industries. Whether it's Kakao and the taxi industry or Samsung's Galaxy Watch and the watch industry, it's clear that the technology will not leave the existing industries alone. Isn't it true that we need to learn and change our IT skills to survive and avoid being eaten by catfish?


Appendix - Analyzing services through API documentation

API documentation is covered in a bit more detail in the appendix. If you're looking for a deeper dive into API documentation content than what we've covered so far, I highly recommend purchasing the book. You know it's available as an ebook, right? Charlotte Bookstore - Free eBooks post).

Thank you for reading this long, long post.
Above, Terry, secondlif.lol, proponent of creating a life boo-cawas.

All content on 'secondlife.lol' is protected by copyright law. Unauthorized reprinting, copying, distribution, etc. is prohibited.

Similar Posts