본문 바로가기
개발/개발 독서

비전공자를 위한 이해할 수 있는 IT지식(최원영 저) 1

by 부산청년1 2022. 12. 23.

IT산업은 다른 산업보다 변화의 속도가 빠르며 처음부터 완성된 형태를 정해놓은 것이 아닌 점진적으로 발전시켜 나가야 하며 고객의 니즈와 회사의 사정에 맞춰서 그때그때 서비스를 발전시켜 나가야 하는 분야이다. IT기업에서 일하는 사람이라면 어떤 식으로든 개발자와 대화할 수밖에 없기 때문에 커뮤니케이션을 위한 IT지식을 공부해야 한다.  

 

✅배울 것들 

프로그래밍 언어와 운영체제 

프론트엔드: 애플리케이션, 웹

백엔드: 서버, 데이터베이스 

개발자들이 쓰는 프레임워크와 라이브러리, 깃 등 

 

목차

     

    프로그래밍 언어가 '언어'라고? 

    1. 만약 한국인이 외국인과 소통을 원한다면 해당 외국어를 할 줄 아는 한국인에게 내용을 전달하고 그를 통해 소통하는 것이 빠르다 

     2. 컴퓨터는 0, 1 로 구성된 기계어를 사용하고 있다. 인간과 컴퓨터 사이에는 컴파일러가 있다. 

    3. 개발자는 컴파일러에게 문서로 일을 시키는 사람이며 자바, 파이썬, 루비 등의 프로그래밍 언어를 사용해서 컴파일러에게 명령을 전달하고 컴파일러가 그 명령을 컴퓨터가 알아들을 수 있는 언어인 0과 1로 전달한다. 

    인간과 컴파일러 컴퓨터의 관계
    인간과 컴파일러 컴퓨터의 관계

    개발자는 무엇을 하는 사람인가

    1. 개발자는 컴퓨터에게 명령을 시키는 사람이고 중간의 컴파일러는 개발자의 언어를 컴퓨터의 언어로 바꿔주는 역할을 한다. 이로써 인간이 명령한 내용을 컴퓨터가 알아듣고 수행하는 것이다. 

    2. 개발자는 function, true 등의 영문으로 된 언어를 사용하며 해당 것들을 전부 외우고 있는 것은 아니다. 자주 쓰는 단어를 추천해주거나 그림으로 작업할 수 있도록 개발자의 작업을 도와주는 기능들이 있다.

    3. 이를 IDE(Integrated Development Environment/통합 개발 환경)이라고 하며 코드 편집기, 디버거, 컴파일러, 인터프리터 등을 포함하고 개발자에게 제공한다. 

    4. Python의 개발 용도인 PyCharm, 애플 운영 체제 위의 애플리케이션의 개발 용도인 Xcode, C/C++및 웹개발 등의 용도인 Elipse등이 있다. 

     

    프로그래밍 언어는 왜 이렇게 많을까? 

    1. 개발자들은 컴퓨터에게 일을 시킬 수 있는 언어를 지속적으로 개발한다. 예를 들어 A언어, B언어, C언어를 개발하고 많은 사람들이 이용하면서 선택받은 언어는 살아남고, 선택받지 못한 언어는 사라지는 식으로 언어가 생성되고 소멸된다.

    2. 앞서 예로 든  A언어, B언어, C언어는 실존했던 언어이며 실제로 많은 사람들이 C언어를 사용했고 이후에 Objective C, C++, Python 등의 다양한 언어로 발전했다. 

    3. 참고로 프로그래밍 언어는 저수준 언어와 고수준 언어로 구분된다. 저수준 언어는 컴퓨터가 알아들기 쉬운 언어이고 고수준 언어는 인간이 배우기 쉬운 언어이다. 각각 장단점이 있다. 

     

    컴퓨터의 구성 요소는 무엇인가?

    1. 크게 CPU, 메모리, 보조기억장치(HDD, SSD), 메인 보드로 구성된다.

    2. 하드 웨어 및 보조기억장치 등을 우리가 일일이 신경쓰지 않는 이유는 운영체제에서 알아서 관리하고 있기 때문이다. 

    3. 운영체제는 MS의 윈도우, 애플의 맥OS와 iOS, 구글의 안드로이드가 있다. 

     

    네트워크란?

    1. 컴퓨터가 연결된 작은 지역을(Local Area Network)로 일명 LAN이라고 한다. 이것을 연결하는 선이 우리가 아는 LAN선이다. 

    2. LAN(Local Area Network)-> MAN(Metropolitan Area Network)-> WAN(Wide Area Network) 식으로 확장된다.

    3. 초고속인터넷망의 개발 이후에는 3G, 4G, 5G 등의 무선신호로 발전되었다. 

    4. 사이트는 IP주소라는 12자리 숫자로 구성된 주소가 있다. 이는 집주소와 같다. 

     

    서버와 클라이언트

    1. 카카오를 예로 들어보면, 카카오톡을 통해 파일이나 정보 등을 달라고 보채는 컴퓨터, 즉 우리는 '클라이언트'이다. 파일을 건네주는 카카오톡의 컴퓨터는 '서버'라고 부른다.  

    2. 카카오톡의 컴퓨터(서버)는 우리들의 컴퓨터(클라이언트)의 요청에 항시 응답하기 위해 컴퓨터 연합군을 구성해두었고 이를 24시간 365일 가동하고 있다. 이것을 일명 데이터센터라고 부른다. 

    3. 데이터센터 덕분에 우리는 언제든 카카오톡 서비스를 이용할 수 있다. 물론 데이터센터에 문제가 생기면 서버에 문제가 발생하여 먹통이 된다. 얼마 전 있었던 데이터센터 화재사건을 참고하면 된다.

    데이터센터의 모습
    데이터센터의 모습

     

    우분투가 무엇인데?

    1. 우분투가 무엇인지 알려면 리눅스를 먼저 알아야한다. 리눅스는 윈도우, 맥OS와 같은 운영체제의 한 종류이며 리눅스 위에 서버 프로그램을 돌릴 수 있다.

    2. 리눅스 최대 강점은 무료라는 것이다. 리눅스를 개발한 리누스 토발스는 리눅스를 무료로 이용하고 발전시켜서 팔아도 된다고 했다.

    리누스 토발즈
    리누스 토발즈

    3. 무료로 배포된 리눅스를 많은 사람들이 이용하고 이후 다양한 버전으로 발전되었다. 유명한 버전 중 하나가 바로 우분투이다. 안드로이드도 리눅스를 모바일 운영체제로 개량하여 발전시킨 것이다.

     

     

    개인서버를 운영하면 힘든 이유?

    1. 개인이 서버를 운영할 경우, 컴퓨터를 24시간 가동하므로 비용이 많이 나오고, 정전이나 예기치 못한 상황이 발생하면 데이터를 잃을 수도 있다는 문제가 있다.

    2. 이를 위해 서버를 관리해주는 업체, 일명 호스팅 업체가 있다.

    3. 국내 호스팅업체로는 Cafe24, 가비아 등이 있고, 해외에는 아마존 AWS가 유명하다. 

     

     

     
     

     

    댓글