다시 한번 정리하는 의미에서 작성합니다. IaaS (Infrastructure as a Service) 서버 인프라 환경 서비스를 제공한다. 기존 서버 환경의 인프라를 클라우드 서비스로 제공한다. 서버, 스토리지, 네트워킹과 같은 컴퓨팅 자원을 사용 할 수 있다. PaaS (Platform as a Service) 애플리케이션 개발 및 실행 환경을 제공한다. 인프라를 구축할 필요 없이 개발자가 코드만 작성하면 서버 환경이 구성되는 것을 의미한다. PaaS를 사용하면 사용자는 코드 작성 및 애플리케이션 구축에 집중할 수 있고, 클라우드 제공자는 기본 인프라 관리 작업을 처리한다. 관련 서비스는 애저 앱 서비스 등이 있다. SaaS (Software as a Service) 브라우저 기반으로 소프트웨어를 사..
프로세스 (Process) 프로세스는 쉽게 말해 '실행 중인 프로그램' 입니다. 프로그램이 메모리에 로드되면 프로세스가 됩니다. 하나의 프로그램이 여러 프로세스가 될 수 있습니다. 스레드 (Thread) 프로세스 내에서 동시에 진행되는 작업의 단위를 말합니다. 스레드끼리 프로세스의 자원을 공유합니다. 하나의 프로그램은 하나 이상의 프로세스를 가지고 있고, 하나의 프로세스는 반드시 하나 이상의 스레드를 갖는다. 서블릿 컨테이너는 멀티스레드를 자동으로 지원하고 관리합니다. 여기서 멀티 스레드란 무엇일까? 멀티 스레드 메인 스레드 외, 추가적인 스레드를 이용하여 병렬적으로 작업을 처리하는 것입니다. 장점은 경제성이 있다. 프로세스 내 자원들과 메모리를 공유하기 때문에 메모리 공간과 시스템 자원 소모가 줄어든다..
(1) HTTP 통신 클라이언트의 요청이 있을 때만 서버가 응답 JSON, HTML, Image 등 다양한 데이터를 주고 받을 수 있음 서버가 응답한 후 연결을 바로 종료하는 단방향 통신이지만 Keep Alive 옵션을 주어 일정 시간동안 커넥션을 유지할 수 있다. (2) 소켓 통신 클라이언트와 서버가 특정 포트를 통해 양방향 통신을 하는 방식 데이터 전달 후 연결이 끊어지는 것이 아니라 계속해서 연결을 유지 → HTTP에 비해 더 많은 리소스 소모 실시간 동영상 스트리밍이나 온라인 게임 등에 사용 - 단방향 통신인 Http 통신 Http 통신은 Client의 요청이 있을 때만 Server가 응답하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식입니다. Client가 요청을 보내는 경우에만 Serve..
톰캣 - WAS(웹 애플리케이션 서버) - 웹 서버와 컨테이너의 결합 (웹 컨테이너, 서블릿 컨테이너라고 부름) - 8080 포트를 사용 WAS 란? (web Application Server) 여러 web client의 요구를 web서버가 감당할수없는 기능을 구조적으로 web서버와 분리하기 위해 만들어진것으로 web application server(WAS) 라고 한다. WAS는 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작 등의 처리를 담당한다. ex) tomcat, weblogic, jeus 아파치 - 웹서버(web server)를 일컫는다. -정적인 데이터들 (html, css 이미지, 파일 등)에 대한 클라이언트의 요청을 데이터로 만들어서 응답한다. - 80 포트를 사용 Web Ser..
리눅스 테스트, 공부 사이트 https://bellard.org/jslinux/ JSLinux JSLinux Run Linux or other Operating Systems in your browser! The following emulated systems are available: CPUOSUserInterfaceVFsyncaccessStartupLinkTEMUConfigComment x86Alpine Linux 3.12.0ConsoleYes click here url x86Alpine Linux 3.12.0X WindowYes click h bellard.org 기초명령어 정리 https://jjeongil.tistory.com/1848 Linux : 기초 명령어, 예제, 사용 방법 Windows..
조건식이 참인 경우 쿼리문을 실행하는 것들 차이점 true를 반환하는 태그를 찾으면 거기서 멈춤, 여러개의 태그는 오로지 한개의 태그내부 쿼리만 실행. 만약 태그의 조건식중 true 반환한 것이 없다면, 태그 내에 작성된 쿼리문이 실행. 태그는 생략 가능 문 적용시 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} AND author_name like #{author.name} 위 예제를 , , 이용하면 아래와 같다. SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} AND author_name like #{author.name} AND featured = 1 참고 ht..
NAT Gateway NAT 게이트웨이는 NAT (Network Address Translation, 네트워크 주소 변환) 서비스이다. 즉, 외부 서비스에서 프라이빗 서브넷의 인스턴스로는 접근 할 수 없게 하고, 프라이빗 서브넷의 인스턴스에서는 외부 서비스로 접근 할 수 있게 하는 서비스 우선 AWS 관리자는 Bastion Host를 통해 Private Subnet으로 접근할 수 있다. 하지만 NAT Gateway가 없는 경우, Private Subnet에서는 외부 서비스 접근이 불가능하다. (예시 : MySQL 설치파일을 다운로드하는 것이 불가능) 따라서 NAT Gateway를 구성하는 것이 필요하다. 통신과정은 아래와 같다. Private Subnet에서 Public Subnet에 존재하는 NAT를 ..
기본 구조 SVN 중앙 집중식 버전 관리 시스템, 중앙 서버에서 전체 코드 및 변경이력을 저장한다. SVN은 저장소에 중앙 서버가 있고, commit 할 시에 코드가 중앙 서버로 전달된다. 그래서 인터넷이 안되는 환경이나 중앙 서버에 문제가 발생한 경우에는 협업이 불가능하다. Git 분산 버전 관리 시스템, 분산 구조를 사용하여 각 개발자의 로컬 저장소에 전체 코드 및 변경이력이 저장된다. Git은 각 클라이언트가 모두 저장소를 가진다. 개발자들은 로컬 저장소에서 작업하고, 변경사항을 원격 저장소와 동기화 한다. 즉, 인터넷 연결이 불안정하고 중앙 서버에 문제가 생기더라도 작업을 계속 할 수 있다. 브랜치 관리, 저장소 SVN SVN은 파일의 변화(차이점)를 저장한다. 브랜치를 새로 만들 경우, SVN은..