Programing Study
-
Docker) 도커에서 컨테이너 이미지의 차이 알아보기Programing Study/E.T.C 2021. 11. 20. 17:18
Docker Image(이미지) 도커에서 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일을 묶는 형태를 Docker Image라 한다. 다시 말해, 특정 프로세스를 실행하기 위한(즉, 컨테이너 생성(실행)에 필요한) 모든 파일과 설정값(환경)을 지닌 것으로, 더 이상의 의존성 파일을 컴파일하거나 이것저것 실치 할 필요 없는 상태의 파일을 의미한다. 예를 들어 Ubuntu이미지는 Ubuntu를 실행하기 위한 모-든 파일을 가지고 있으며, Oracle이미지는 Oracle을 실행하는데 필요한 파일과 실행명령어, port정보 등을 모-두 가지고 있다. 1) 따라서 도커 이미지의 용량은 보통 수백MB ~ 수GB가 넘는다. 하지만 가상머신의 이미지에 비하면 굉장히 적은 용량이다. ..
-
서버) JWT 사용할때 Header에 Bearer을 적는 이유Programing Study/네트워크 2021. 11. 14. 22:22
목차 토큰 기반 인증 인증 타입 마치며 토큰 기반 인증 토큰 기반 인증은 쿠키나 세션을 이용한 인증보다더 보안성이 강하고 효율적인 인증 방법입니다. 쿠키 인증은 쿠키에 아이디나 암호와 같은 사용자 정보를 담아 서버로 보내게 되는데, HTTP 방식의 통신을 사용할 경우 제 3자가 해당 정보를 염탐할 수 있습니다. 세션의 경우 세션ID를 보내므로 쿠키에 비해 보안성이 높다고 볼 수 있지만 서버에 추가적인 데이터베이스 공간이 필요하다는 단점이 있습니다. 이러한 단점들을 해결할 수 있는 방법이 바로 토큰 기반 인증입니다. 토큰에는 암호화 방식과 타입 등을 나타내는 헤더, 전송할 데이터가 담긴 페이로드, 토큰 검증을 위한 서명을 각각 인코딩(해싱)한 값이 포함되어 있습니다. 데이터가 인코딩이 되어있긴 하지만 누구..
-
Nginx) 정적 웹 페이지 서버, 프록시 서버, 캐시 서버 구축해보기Programing Study/네트워크 2021. 11. 14. 21:52
이전 포스팅 에서 Nginx 를 설치하고 환경 변수에 대해서 알아보았었습니다. 이번에는 nginx 를 활용해서 정적 파일을 제공하는 웹서버, 프록시 서버를 구축해보겠습니다. 이번 포스팅은 ubuntu 기반으로만 진행할 예정이니 참고 바랍니다. 정적 웹 페이지 서버 구축하기 이 챕터에서는 정적 파일을 제공하는 웹 서버를 구축하도록 하겠습니다. 예전에 react 기반의 정적 파일을 호스팅하다가 삽질한 경험이 있어 실습을 위한 정적 파일은 react 기반의 샘플 프로젝트로 사용하겠습니다. 먼저 샘플 프로젝트를 이용해서 빌드 파일을 만들도록 하겠습니다. (사전작업으로 nodejs 가 설치되어 있어야 합니다.) # 샘플 프로젝트 clone git clone -b demo-react-router-app-basic ..
-
개발 트렌드) MSA란 무엇인가? 개념 알아보기Programing Study/E.T.C 2021. 11. 13. 14:13
MSA가 무엇인지 자세하게 알고싶어 개인적으로 정리하는 포스팅입니다. MSA? MicroService Architecture의 줄임말 👉🏻 마이크로서비스 아키텍처에 대한 정확한 정의는 없다. 하지만 마이크로서비스란 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크라고 할 수 있다. 마이크로서비스는 완전히 독립적으로 배포가 가능하고, 다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능한 단일 사업 영역에 초점을 둔다. MSA의 등장배경 MSA와 Monolithic의 비교 출처 - https://kr.tmaxsoft.com/info/storyTView.do?seq=345 👉🏻 Monolithic Architecture는 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어..
-
Ngnix)nginx 같은 포트에서 각기 다른 파일 보여주기Programing Study/네트워크 2021. 10. 28. 15:34
이번에 학교 인프라 데이터를 관리해주는 프로그램을 3개 만들어서 하나의 서버에 업로드를 해주었다. 프로젝트를 간단히 A,B,C 라고 부르도록 하겠다. A프로젝트에 접근하는 방식은 domain.com B프로젝트에 접근하는 방식은 domain.com:81 C프로젝트에 접근하는 방식은 domain.com:82 각기 이런 방식으로 접근을 하도록 nginx 파일을 설정해주었다. 하지만 접근 url뒤에 저런식으로 port 번호를 유저가 직접 입력을해서 접근해야만 하는 방식이 마음에 들지 않았다. 여러 도메인을 사용해서 같은 주소, 같은 포트번호로 접근을 하여도 각기 다른 파일을 보여줄순 없을까? 라는 궁금증이 들었고, 그동안 nginx 를 그저 사용만 할 줄 알았지, 조금더 구체적으로 어떤 방식으로 동작하는지를 공..
-
FFmpege) FFmpeg란 무엇인가요?Programing Study/E.T.C 2021. 10. 15. 15:38
FFmpeg 이란? FFmpeg (www.ffmpeg.org) 은 비디오, 오디오, 이미지를 쉽게 인코딩 (Encoding), 디코딩 (Decoding), 먹싱 (Muxing), 디먹싱 (Demuxing) 할 수 있도록 도움을 주는 멀티미디어 프레임워크입니다. 참고로 FFmpeg 홈페이지에도 다음과 같이 FFmpeg을 소개하고 있습니다. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure anci..
-
Ngnix)413 Request Entity Too Large 발생시 해결방법Programing Study/네트워크 2021. 9. 30. 14:34
웹에서 파일 업로드시 Nginx 에서 ‘413 Request Entity Too Large’ 에러를 줄 떄가 있습니다. 업로드 하려는 파일의 크기가 허용 용량을 초과하기 때문에 발생하는 오류이므로 Nginx 설정을 변경해야 합니다. 설정해야 하는 값은 client_max_body_size 이고 디폴트 값은 1MB 입니다. 만약 저 항목을 설정한 적이 없다면 1MB를 초과하는 파일을 업로드 할때 413 에러를 보게 되실 겁니다. http, server, location 세 군데에 설정이 가능하므로 /etc/nginx/nginx.conf 파일에 설정도 가능하고 site-available 의 환경설정에도 추가 가능합니다. 저는 사이트 환경설정에 추가하겠습니다. 10MB로 제한) 만약 사용자 별로 또는 화면 별..