전체 글(334)
-
[NCloud] Object Storage에 정적 웹 사이트 호스팅
Object Storage란?Object Storage란 NCloud에서 사용자가 원하는 데이터를 저장하고 조회할 수 있는 저장 공간을 제공하는 서비스이다. 다음과 같은 다양한 기능을 제공한다.데이터 무결성대용량 데이터 저장콘솔, RESTful API를 사용하여 Object Storage에 접근할 수 있다.AWS의 S3와 유사한 기능을 제공해주고 NCloud의 Object Stroage API는 Amazon S3와 호환된다. NCloud 콘솔에서 Object Storage를 사용해보자. 서비스 -> Storage -> Object Storage에 접속한다. 여기서 버킷을 생성한다. 버킷이란 객체를 저장하는 공간이고 Object Storage를 사용하기 위해서는 하나 이상의 버킷이 필요하다. 버킷 이름을 ..
2024.11.06 -
[AWS] ssh key forwarding (Windows)
Bastion Host란?Bastion Host는 외부 네트워크와 내부 프라이빗 네트워크 사이의 게이트웨이 역할을 수행한다. 클라우드 환경에서 보안이 중요한 EC2를 private subnet에 생성했다고 하자. private subnet에 생성된 EC2는 외부 네트워크로부터 직접적인 트래픽을 받지 못 하고 직접적으로 트래픽을 보내지도 못 한다. 오직 같은 VPC 내부에서 접근이 가능하다. 그런데 AWS와 같은 퍼블릭 클라우드 공급 업체를 사용할 경우 어떻게 private subnet에 존재하는 EC2 인스턴스에 접근할 수 있을까? 여러가지 방법이 있지만 그 중 하나는 Bastion Host를 사용하는 것이다. Bastion Host 역할을 할 EC2 인스턴스를 public subnet에 생성하고 보안..
2024.11.05 -
MIME 타입 개념과 등장 배경
초기 메시지 프로토콜초기 이메일 프로토콜인 SMTP의 경우 기본적으로 ASCII 텍스트 데이터를 주고받는 것만 가능했다. ASCII 코드는 영어 알파벳을 기반으로 하고 총 128개의 문자를 7비트 정수로 인코딩한다. 이 7비트, 총 128개의 문자에는 0~9, a~z, A~Z가 포함되고 이외의 데이터도 포함된다. 이 128개의 문자는 아래 링크에서 0번에서 127번까지에 해당한다.https://www.ascii-codes.com/ Ascii table for IBM PC charset (CP437) - Ascii-CodesCode page 437 (IBM PC) American Standard Code for Information Interchange (ASCII) is a widely used char..
2024.10.14 -
[MySQL] Procedure 사용법
Procedure란?Procedure는 여러 개의 쿼리 문을 한 번의 실행으로 실행시킬 수 있게 해준다. 만약 Procedure를 사용하지 않고 여러 개의 쿼리문을 실행할 경우 무슨 문제가 발생할까? 만약 데이터베이스가 클라우드에 배포되어 있고 애플리케이션 서버가 여러 개의 쿼리문을 보낸다면 이 쿼리문을 처리하는 속도는 네트워크의 영향을 받는다. 그에 비해 Procedure는 여러 개의 쿼리 문을 묶어서 서버에서 한 번에 실행하기 때문에 네트워크의 영향을 덜 받는다. 단점은 다음과 같다. 프로시저에 비즈니스 로직이 들어가기 때문에 연산이 많다면 cpu 사용량이 늘어나 성능이 저하될 수 있다. 또한 복잡하고 가독성이 좋지 않기 때문에 유지 보수 비용이 늘어난다. 장점 네트워크의 트래픽을 줄일 수 있다. ..
2024.09.30 -
로그 식별자를 사용하여 Web Server 로그와 Web Application Server 로그 공유하기 (nginx, express)
web server vs web application server web server는 정적 컨텐츠 (html, css, js, 이미지 … )를 서비스하는데 특화된 서비스이다. 다음과 같은 역할을 수행한다. 정적 컨텐츠 제공HTTP 요청 처리보안로드 밸런싱reverse proxyweb application server는 web server 단독으로 처리하기 어려운 동적 컨텐츠를 제공해준다. 다음과 같은 역할을 수행한다.데이터베이스 조회다양한 로직 처리 reverse proxy server정적 컨텐츠를 제공하기 위해 Apache나 Ngingx와 같은 웹 서버를 웹 애플리케이션 서버 앞 단에 두고 reverse proxy server로 사용할 때가 있다. reverse proxy server를 두는 이유는 ..
2024.09.15 -
자바스크립트 이벤트 루프 동작 원리 (브라우저) - promise
비동기 코드 작성의 어려움자바스크립트로 비동기 코드를 작성하다보면 예상치 못 한 오류를 마주칠 때가 있다. 이번 포스팅에서 비동기 코드를 작성할 때 할 수 있는 실수들과 이를 방지하는 방법에 대해 알아보려고 한다. 이 글을 시작하기에 앞서 자바스크립트가 비동기를 처리할 때 이벤트 루프의 동작 방식에 대해 학습하는 것을 추천한다. https://growth-coder.tistory.com/308 자바스크립트 이벤트 루프 동작 원리 (브라우저)이전 포스팅에서 node.js 동작 원리를 살펴보면서 이벤트 루프에 대해 알아보았다. https://growth-coder.tistory.com/305 [Node.js] Node.js 동작 원리 (node.js는 싱글 쓰레드일까? 멀티 쓰레드일까?)Node.js가 싱글..
2024.09.13