본문 바로가기
스터디/IT 기초지식

IT 기초 지식 도서 ① [비전공자를 위한 이해할 수 있는 IT지식]

by Baekee 2021. 1. 15.

1. 프로그래밍 언어 & 운영체제 (OS)

 

   * 통합 개발 환경(Integrated Development Environment; IDE)

        :  개발을 하기 위해 필요한 것을 제공해주는 환경

                            ex) Android Studio 안드로이드 어플리케이션 개발

                                 Xcode 애플 운영 체제 위의 어플리케이션 개발

                                 Eclipse C/C++ 개발, 자바 개발, 웹 개발

                                 PyCharm 파이썬 개발

 

[고수준 저수준 언어 비교]   

  고수준 저수준
특징 인간친화적 언어
학습하기 쉬움
편리함
사양에 따라 작동하지 않을 수 있음
컴퓨터친화적 언어
낮은 사양의 컴퓨터에서도 사용 가능
어려움
언어 C언어 Java, PHP, Python, Rudy etc
사용 예 스마트폰, 데스크톱 어플리케이션 IPTV, 복합기, 스캐너, 라디오, 프로젝터, 프린터

   * 컴퓨터의 구성요소

      - CPU 

      - 메모리

      - 보조기억장치 : HDD(하드디스크), SSD 

 

     과거) 실행 CPU 보조기억장치에 데이터 요청 : 시간이 오래걸림

     현재) 보조기억장치 ☞ 실행에 필요한 데이터가 메모리에 옮겨짐 

             실행 ☞ CPU ☞ 메모리 : 작업 시간 단축

 

   * 운영체제(Operating system; OS)

        : 하드웨어를 관리해주는 소프트웨어

               ex) Microsoft - 윈도우 / C#, C++, Visual Basic, Javascript etc

                    Apple - 맥OS, iOS / C언어, Swift

                    Google - 안드로이드 / Java, Kotlin

   

   * JVM(Java Virtual Machine)

        : JVM 설치시, Java언어 사용 가능하도록 개발한 소프트웨어 

         구동 프로그램이 2개 이상이므로, 사양이 낮을 시 느려질 수 있음

         모바일에서 이용 어려움

 

2. 네트워크, 클라이언트, 서버

 

   * LAN(Local Area Network)

        : 컴퓨터가 연결된 작은 지역

   * MAN(Metropolitan Area Network)

        : 여러 LAN을 하나로 연결

   * WAN(Wide Area Network)

        : 여러 MAN을 하나로 연결

 

   * IP주소 → 도메인 네임

        : 위치, 컴퓨터에 따라 고유한 주소

          IPv4(12자리 콤마(.)로 구분/8비트 4부분 총 32비트), IPv6(32자리 콜론(;)으로 구분/16비트 8부분 총 128비트)

 

   * 클라이언트(요청하는) - 서버(요청받는)

 

   * 리눅스(Linux)

        : 운영체제(OS)의 한 종류, 무료 배포되어 서버 프로그램 사용 시 이용.

          대부분 그래픽 UI없이 명령어로 동작

        - 우분투(Ubuntu) 

             : 리눅스 버전 중 하나

        - 레드햇(Red hat)

             : 리눅스를 개량하여 유료로 판매하는 회사

        - 안드로이드

             : 구글이 리눅스를 모바일 운영체제 형태로 개량하여 발전시킨 운영체제         

   * 호스팅업체

        : 서버 운영 서비스 제공하는 업체

                 ex) 카페 24, 가비아, AWS(Amazon Web Services) etc

                                                                       

3. API, JSON

 

   * API : 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있도록 만든 체계

            요청과 응답을 주고 받을 시, 데이터도 같이 담김

            IP주소에 따라 다른 기능 수행하도록 정의함

 

   - 서버개발자가 API 개발 / 클라이언트 개발자가 API 사용

   - CRUD (Create/Read/Update/Delete)

  

   * RESTful API : REST(Representatinal State Transfer)한 API, 체계적인 API

                      CRUD를 하나의 주소로 관리 하여 주소가 줄어듦

                      어떤 요청을 보냈는지 파악할 수 있는 메소드(Method) 사용

                               - Method : 함수

                               - Parameter : 요청 변수, 파라미터

                      Create / Post

                      Read / Get

                      Update / PUT(전체) PATCH(일부)

                      Delete / DELETE

 

   * HTTP 상태 코드

        : API 응답시 나타나는 상태를 정의한 체계

                 ex) 1xx(정보) : 요청을 받았으며 프로세스를 계속한다.

                      2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다.

                      3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요하다.

                      4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없다.

                      5xx(서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했다.

 

   * Software Deveopment Kit; SDK

        : 소프트웨어를 개발하기 위한 도구

 

   * 요청과 응답을 주고받을 때의 형식

       ex) JSON

          {          JSON 시작

               키1(key): 값1(Value),

               키2(Key): 값2(Value),

               카3(Key): [ 값3, 값4, 값5 ]

          }          JSON 끝

 

            - GitBook : API 작성을 도와주는 서비스 docs.gitbook.com/

 

4. 어플리케이션

 

   * 어플리케이션(application)

        : 모바일에 설치해서 사용하는 모든 프로그램

          - 응용프로그램(Application Software) : 데스크톱에 설치하는 프로그램

 

 [출처_비전공자를 위한 이해할 수 있는 IT지식]

댓글