인프런 - 강의/개발자는 왜 간단한 것도 안된다고 하나요? 18

7 - OS는 뭔가요(리눅스 우분투란?)

OS, 리눅스, 우분투라는 단어도 많이 듣습니다. 일단 OS가 뭔지 부터 알아봅시다. OS는 Operting System 즉 운영체제입니다. 그러면 뭘 운영하냐? 라고 물어보시면 당연히 컴퓨터를 운영합니다. 이 운영체제를 우리도 모르게 쓰고 있는데, 이 것이 우리가 쓰는 윈도우와 맥OS입니다. 운영체제가 없다면 어떻게 될까요?? 우리가 컴퓨터 포맷할 때 이런 화면 보신 기억이 있으신가요> 이런식으로 간편하게 컴퓨터를 관리하지 못하고 하나하나 컴퓨터에 대한 것을 다 설정해줘야 합니다. 그러면 리눅스는 뭘까요?? 토발즈라는 아저씨가 만든 오픈소스 OS인데, 서버용으로 주로 사용됩니다. 그러면 우분투는 뭔가? 우분투는 리눅스의 배포판 중 하나입니다.

6 - API는 뭔가요?

API호출한다 API만든다 라는 말을 많이 들어보셨을텐데, API가 뭔지 보고 가겠습니다. API(Application Programming Interface), 얘가 뭐냐하면, "기능"입니다. 그러니깐 OPEN API같은 경우 기능이 공개되어있는 것이라고 보면 됩니다. 우리는 웹 서비를 이용할 때, 카카오톡이나 페이스북에 기능을 이용합니다. 이 것들은 카카오와 페이스북에서 공개한 로그인 기능입니다 아래의 그림처럼 사용자가 요청하면 페이스북 서버에서 데이터를 넘겨주는 형태입니다. 이 것을 인프런에 적용하면 아래와 같이 나옵니다.

5 - 그러면 서버의 역할은 뭐고, 통신은 어떻게 하나요?

이런 서버의 역할은 무엇인가요?? 데이터를 주고 받고, 저장하는 것입니다. 자, 이게 무슨뜻인지 하나씩 알아가봅시다. 게임서버 터졌다 라고 하니깐 사람들이 접속한느 곳 이라고 생각할 수 있습니다. 그런데 꼭 이런게 아닌게, 인프런을 예로 들어보겠습니다. 서버에 데이터를 저장하는 역할도 있는데, 얘가 데이터를 처리하는 역할도 합니다. 아래의 url로 이동을 하면 라고 합니다. 그러면 서버가 사용자에게 데이터를 주는데 아래와 같이 JSON이라는 형태의 타입으로 데이터를 줍니다. 이 데이터를 요청하는 과정을 Http request라고 하고 이 데이터들을 뽑아와서 내가 원하는 부분만 사용하는 것을 파싱이라고 합니다.

4 - 그러면 서버는 뭔가?

그러면 서버는 뭘까요? 가끔 서버에러라고 이렇게 나오는 내용이 있습니다. 그러면 사람들이 "서버터졌네", "서버 죽었네" 라고 가끔 말하는 것을 들어보셨을텐데 서버가 터졌다는 것이 뭘까요?? 진짜 뭐 서버라는 기계가 있는데 터지는 것일까요? 실제로 그건 아닙니다. 일단 서버가 어떻게 생긴지 찾아보면 이렇게 생겨 있습니다. 그러면 저렇게 큰 게 다 서버인가? 라고 생각하실 수 있는데 실제로 저기 있는 한칸한칸이 서버입니다. 그러면 저기 있는 서버라는 애는 특별한 기계인가? 라고 물어보시면, 아닙니다. 그냥 컴퓨터랑 똑같습니다. 이런 컴퓨터에서 모니터와 키보드를 날려버리면 됩니다. (물론 이렇게 단순하지는 않지만, 모니터와 키보드는 사용자가 입력을 위한 도구일 뿐이므로, 직접 사람이 보거나 쓰는 작업이 필요..

3 - 컴퓨터 언어는 무엇인가?

컴퓨터 언어에 대해서 알아보겠습니다. 뭐 코딩을 배우려고 하는데 Python을 해야하고, Java를 해야하고, C언어를 해야하고 이런 것들을 많이 들어보셨을 것이라고 생각합니다. 이게 뭔지 간단하게 설명드리면, 말 그대로 "언어"입니다. 그러니깐 컴퓨터와 커뮤니케이션 할 수 있도록 해주는 언어입니다. 이게 뭔 소리인가 자세히 살펴보면 컴퓨터는 0과 1밖에 알아듣지 못한다 뭐 이런 말을 들어보신 적 있으실 겁니다. 그런데 사람이 이 컴퓨터에게, 현재 아이피를 알려줘봐 라고 할 때 윈도우 기준으로 ipconfig라고 치면 아래와 같이 컴퓨터가 IP를 알려줍니다. 근데 이 ipcofig라는 명령어를 0101111100010110101010101 이런 식으로 컴퓨터에게 명령을 하면 굉장히 불편하잖아요? 그래서 ..

2 - 우리가 사용하는 서비스들은 어떻게 만들어지나요?

우리가 사용하는 웹(Web) 앱(App) 서비스들은 어떻게 만들어 지는 것일까요?? 아래와 같은 웹사이트나 아래와 같은 앱은 어떻게 만들어지는지 생각해보신 적이 있으실까요?? 일단 웹 사이트 부터 한번 설명을 해보겠습니다. 크롬 브라우저 기준으로 오른쪽 클릭을 해서 "검사"를 눌러보겠습니다. 그러니깐 여기 위에 이런 코드들이 보입니다. 이렇게 웹 사이트 뼈대를 구성해주는 것을 HTML, 이 것을 꾸며주는 것을 CSS, 팝업이 뜨거나 움직이는 효과를 주는 것을 보통 Javascript를 써서 만듭니다 (javascript로 할 수 있는 것이 매우매우 많지만, 처음에는 이정도만 알아두시면 될 것 같아요~) 저희도 간단하게 HTML 파일을 만들어볼 수 있습니다. 우리도 IDE에서 한번 html파일을 작성해서 ..

1 - 강의소개 / 강사소개

개발자는 왜 간단한 것도 안된다고 하나요? 라는 주제로 강의를 찍어봤습니다. 저는 오프라인으로 누적 200시간 이상 코딩을 처음 시작하는 분들을 대상으로 강의를 진행해보았고 10건 이상의 스타트업 외주 개발을 진행했습니다. 코딩 수업을 들으로 오신 대부분의 사람들은 - 개발자가 되고 싶은 것은 아니지만, 개발에 대략적인 개요는 알고싶다 (개발자와 협업하기 위해) - 외주를 맡기고 싶은데, 개발자가 하는 말을 못 알아 먹겠다. - 개발에 관심이 있는데, 개발에 전체적인 그림을 한번 보고싶다. 라는 분들이 많았습니다. 이 분들의 가려운 부분을 긁어주고자 강의를 제작했고 스타트업 대표님들 같은 경우에는, 개발에 대해 아무것도 알고 계신 것이 없어 개발자를 고용하거나 외주를 맡길 때 어떻게 시작해야할지 헤매시는..