
Nginx? Nginx는 간단하게 말씀드리자면 경량 웹 서버입니다. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 합니다. 웹 서버를 별도로 운영하는 이유 was의 부담을 줄이기 위하여 사용합니다. 1) 빠름 2) 리버스 프록시 3) SSL 지원 4) 웹페이지 접근 인증 5) 압축 6) 비동기 처리 Apache 서버와 다른 점 Apache와 같은 웹서버는 클라이언트로부터 받은 요청을 처리할 때 새로운 프로세스 또는 쓰레드를 생성하여 처리합니다. 요청마다 쓰레드가 생성되므로 접속하는 사용자가 많으면 그만큼 쓰레드가 생성되어 CP..
프로그래밍이란? 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 요구되는 것은 문제해결 능력이다. 문제해결 능력과 알고리즘은 다르다. 그러기 위해서는 문제의 본질을 파악하고 이를 단순하게 분해하여 구분해야한다. 이를 토대로 컴퓨터에게 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 작업물이 코드이다. 그러기 위해 컴퓨터의 입장에서 문제를 바라보아야 하며 이때 필요한것이 Computational thinking(컴퓨터 사고)이다. 컴퓨터와 사람의 차이점 즉 컴퓨터와 사람은 어떤 행위, 단어에 대한 인지의 방식이 다르다. 예를 들어 사람에게는 노래소리를좀 줄여줘 라고 하게되면 그 사람만의 기준을 통해 줄이거나 또는 줄인다음 확인을 할 것이다. "이정도면 괜찮아?" 그러나 컴퓨터의 경우에는 노래소리를 ..

컴파일 첫번째로 우리가 만든 코드를 컴파일 한다. 컴파일이란 우리가 만든 프로그래밍 언어를 기계가 이해할 수 있는 기계의 언어로 번역하는 것이다. 우리가 사용한 java, c와 같은 프로그래밍 언어는 기계가 이해할 수 없다. 이렇게 개발자의 편의를 위해 개발자의 언어로 작성한 프로그래밍 언어를 컴파일러가 컴파일 해 기계가 이해할 수 있는 언어로 번역해준다. 빌드 다음은 컴파일된 기계의 언어를 사용자에게 보여주기 위해 빌드하여 완성된 상품, 소프트웨어 가공물로 만든다. java에서는 maven, gradle과 같은 빌드 도구를 이용하면 컴파일과 함께 소스코드 파일을 .jar, .war 와 같은 산출물로 변환하는 빌드도 함께 할 수 있다. 배포 이렇게 만들어진 산출물을 각각의 서버에서 동작하도록 하여 상품을..

스웨거란 백엔드 코드를 백엔드 개발자들만 가지고 있어, 프론트 개발자들이 각 API의 결과값이 어떤지를 직접 확인할 수가 없었음 Swagger는 백엔드가 작성한 각 API들을 시각화하고 작동까지 할 수 있게 해줌으로써 프론트엔드 개발자들이 더 쉽게 API 명세서를 이해할 수 있도록 도움. ( + 백엔드 개발자들에게도 본인이 직접 작성하지 않은 API를 더 쉽게 이해할 수 있게 도움.) yaml파일(혹은 json파일) 작성 Swagger (https://swagger.io) 에서 가입하고 작성 vsCode에서 직접 작성하는 방법도 있지만, 이 경우에는 어디에서 어떤 부분이 틀렸는지 알 수가 없다. (swagger.io에서 작성시에는 알 수 있다.) (Swagger.io에서의 작성 화면) (Swagger.i..