TIL/웹(6)
-
[웹] 빌드와 배포
우연히 빌드와 배포에 관련된 발표를 하는 영상을 보았는데, 내용이 참 좋았다. 평소에 궁금하기도 하고 자주 헷갈리는 부분이었기 때문에 간단하게나마 따로 정리해보게 되었다. 하지만 빌드와 배포 과정을 정리한 것은 아니고 개념위주이다... 자세한 과정은 프로젝트 내용을 정리할때 포함시켜야겠다. (썸네일이 jenkins 와 gcp인 이유는 빌드와 배포라는 주제에 적합한 이미지인 것 같아서이다...) 1. 빌드란? 사실 Maven이라는 빌드툴에 대해 정리하면서 컴파일과 빌드에 대해서는 정리한 적이 있다. 하지만 maven글에 어중간하게 껴있는 느낌이어서 이곳에 다시 간단하게나마 정리해두려고 한다. 컴파일 : 작성한 소스 코드를 바이너리 코드로 변환하는 과정 즉, 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환..
2020.06.19 -
[웹] REST
웹 개발을 하다보면 REST API 개발에 대해 들어본 적이 있을 것이다. 나 역시 졸업 프로젝트로 웹 사이트를 만들 때 많은 구글링을 했었는데, REST API라는 용어를 자주 보았다. 마침 REST에 대한 좋은 영상을 접하게 되어서, 내용을 정리해보고자 한다. 1. REST란? 개발을 공부하다 보면 참 많은 약어가 등장한다. 개인적으로 이러한 약어를 풀어서 알고있는 것이 생각보다 공부하는데에 큰 도움이 되는 것 같다. REST라는 약어는 REpresentational State Transfer의 약자이다. (표현 상태 전송?.....) 표현 상태 전송이라고 직역한 이 REST는 한마디로 정의하기가 참 모호하다. REST를 더 잘 이해하기 위해서 WEB의 역사를 조금 알 필요가 있었다. 문제는 '어떻게..
2020.05.18 -
[웹] MVC 패턴
MVC는 Model View Controller 의 약자로서 프로그래밍을 좀 더 구조적으로, 체계적으로 할 수 있도록 하는 접근법 중 하나이다. 이번 정리에서는 웹 개발을 하는데에 있어서 이러한 MVC구조가 어떻게 적용되는지를 정리하려고 한다. 1. 정적 웹과 동적 웹 MVC구조로 개발되는 웹 사이트는 대부분 동적 웹사이트라고 할 수 있다. 따라서, 정적 웹과 동적 웹을 먼저 구분해보겠다. 먼저 정적 웹사이트란 언제 접속해도 같은 리소스를 건네주는 웹사이트를 말한다. 미리 만들어 놓은 html, css, javascript 파일들을 클라이언트의 브라우저에 전달해 주는 웹사이트라고 생각하면 되겠다. 이때, '들어갈 때마다 매번 같은 화면이 보이는게 정적 웹사이트다'라고 오해하면 안된다. (참고했던 유튜브 ..
2020.05.18 -
[빌드툴] Maven
스프링을 통해 개발을 하다 보면 메이븐 또는 그레이들을 빌드툴로 사용하는 경우가 많을 것이다. 나 또한 강의를 들으며 스프링을 접해보았는데, 빌드 툴을 사용하지 않는 경우는 없었다. 그 중 가장 먼저 사용해 보았던 maven에 대해 정리해 보았다. 뉴렉처 님의 maven강의를 수강하고 그것을 기반으로 정리한 내용이다. 1. 메이븐은 빌드 툴이다. 메이븐은 개발을 하는데 있어서 빌드를 대신 해주는 빌드툴이다. 나는 이 부분에서 빌드가 무엇을 의미하는지 먼저 정리해 보았다. 나는 아주 무지할때 컴파일과 빌드가 별개의 작업이라 생각한 적이 있다. 그때와 나같은 사람을 위해 간략하게 컴파일과 빌드에 대해 적어보았다. 컴파일? 컴파일이란 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정이라고 할 수 있다...
2020.05.13 -
[서버] 웹서버와 WAS
나는 전에 서버 개발이 의미하는 것이 웹 서버를 개발하는 것과 웹 애플리케이션 서버(WAS)를 개발하는 것으로 나누어지는 것을 확인했다. 웹 서버는 클라이언트로부터 HTTP 요청을받고 응답해주는 역할을 하는 반면에 웹 애플리케이션 서버는 데이터를 조작하여 내어주는 역할을 한다는 나름대로의 요약도 해보았다. 이번 글에서는 두 서버의 차이를 조금더 구체적으로 정리할까 한다. 먼저 웹 서버에 대한 정리이다. 웹서버는 웹 + 서버 정도로 나누어 볼 수 있다. 웹은 인터넷을 기반으로 하여 데이터를 공유, 검색할 수 있게 해주는 서비스이다. 이러한 웹은 URL(주소), HTTP(통신 규칙), HTML(내용)으로 이루어져 있다. 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템이라고 할 수..
2020.05.07 -
[서버] 서버개발의 의미
나는 '어떤 프로그래밍 공부해?' 라는 질문에 '백엔드 프로그래밍 공부중이야' 라고 답해왔다. 실제로 내가 공부해왔고 지금도 공부하고 있는 내용은 분명 '백엔드 공부'라고 말할 수 있을 것이다. 그러던 어느날 여러 채용공고를 둘러보던중에 '서버 개발자'를 모집하는 곳이 있고, '백엔드 개발자'를 모집하는 곳이 있다는 사실을 알게되었다. 두 개발자가 명확히 다른 직무를 뜻하는는 것인지, 아니면 같은맥락 속에서 그 디테일이 다른것인지 너무나 궁금해져서 이러한 정리가 시작되었다. 결론부터 말하자면, 내가 포인트를 둬야 할 부분은 '서버'냐 '백엔드'냐 그러한 용어의 차이가 아니라는 것이었다. '서버 개발'과 '백엔드 개발'은 서로 같은맥락으로 사용되고 있으며, 중요한 것은 서버가 사용되는 큰 흐름을 이해하고 ..
2020.04.27