Node.js 기초 정리
·
Frontend
React에 대해서 본격적으로 알아보기 전에, Node.js의 기본에 대해서 알아야할 필요성을 느껴서 Node.js 내용에 대해 먼저 정리하고자 한다.1. Node.js 소개Node.js는 자바스크립트(JavaScript)를 서버 측에서 실행할 수 있게 해주는 런타임 환경이다.원래 자바스크립트는 브라우저 안에서만 동작했지만, Node.js가 등장하면서 서버에서도 자바스크립트를 사용할 수 있게 되었다.🧐 Node.js는 왜 만들어졌을까?자바스크립트는 원래 웹 페이지에 간단한 동작을 넣기 위해 만들어졌지만, 시간이 지나면서 언어가 유연하고 생산성이 높다는 점이 주목받았다.이런 장점을 브라우저 밖, 특히 서버 영역에서도 활용하고 싶다는 요구가 커졌고, 이를 가능하게 하기 위해 자바스크립트 엔진(V8)을 브라..
실서비스 배포를 위한 EC2 도메인 연결 & HTTPS 적용 단계별 정리
·
DevOps
1️⃣ 개요AWS EC2에 배포된 Spring Boot 서버는 기본적으로 IP 주소(http://13.124.xxx.xxx:8080)를 통해서만 접근할 수 있다. 그러나 IP는 가독성이 떨어지고, 서비스 브랜드를 식별하기 어렵다는 문제가 있다. 또한 단순한 HTTP 통신은 암호화되지 않아 중간자 공격(MITM), 세션 탈취, 쿠키 노출 등의 보안 취약점이 존재한다.이 문제를 해결하기 위해 다음 두 가지를 적용한다:도메인 연결사용자가 기억하기 쉬운 고유 주소(bbangzip.store)로 접속 가능여러 서브도메인(API, admin 등) 관리 용이HTTPS(SSL/TLS) 적용모든 트래픽을 암호화하여 안전하게 전송비밀번호, 토큰, 세션 정보 등의 유출 방지브라우저 경고(“안전하지 않음”) 제거SEO(검색엔..
데이터 파이프라인 단계별로 이해해보기
·
개발
📌 데이터 파이프라인데이터 파이프라인은 말 그대로 데이터가 흐르는 길을 뜻한다.원천 데이터가 생성되어 최종 분석이나 저장까지 이동하는 전체 과정을 설계하고 관리하는 시스템이라고 이해하면 된다. 쉽게 풀어보면, 데이터는 수집 → 변환 → 적재의 세 단계를 거치며 이동한다.🔹 데이터 파이프라인 단계별 흐름[데이터 수집] → [데이터 변환] → [데이터 적재] → [분석/서비스 활용]1️⃣ 데이터 수집 (Extract)데이터가 어디서 오는지 가져오는 단계예시: 웹 크롤링, API 호출, 로그 수집목표: 데이터 출처와 범위를 명확히 정의💡 수집 방식방식 특징 장점 단점 사용 사례배치 수집 (Batch)일정 간격, 대용량 처리 적합구현 간단, 안정적실시간성 낮음로그 집계, 매출 통계스트리밍 수집 (Strea..
ssh 터널링이란 ?
·
CS/네트워크
📌 개요SSH는 원래 원격 서버에 보안 연결을 제공하는 프로토콜이지만, 단순한 원격 접속 이상으로 데이터 전송 경로를 암호화하는 터널을 만들 수도 있다. 이를 SSH 포트포워딩(SSH Tunneling)이라 한다.이는 프록시의 역할과 유사하다.🧐 그렇다면 잠깐 ! 프록시란 ?직역하면 ‘대리’ 또는 ‘중계’ 라는 뜻서버와 클라이언트 사이의 중계 역할 자체를 프록시(Proxy)라고 하고, 그 중계 기능을 하는 장치 또는 응용 프로그램을 프록시 서버라고 한다.🧐 프록시(Proxy)의 종류☑️ Forward Proxy= 클라이언트 입장에서 인터넷을 우회/보안위치: 클라이언트 앞단에 위치동작: 클라이언트(예: PC)가 직접 외부 서버에 요청하지 않고, 프록시 서버를 거쳐 요청을 보냄 → 외부 서버는 실제 클..
Spring Framework : Spring Bean, DI, IoC 알아보기
·
Backend/Spring
📌 객체 지향 설계 원칙 (SOLID 원칙)단일 책임 원칙 SRP(Single Responsibility Principle) : 하나의 클래스는 하나의 책임만 가져야 한다.개방 폐쇄 원칙 OCP(Open Closed Principle) : 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.리스코프 치환 원칙 LSP (Liskov Substitution Principle) : 부모 타입의 객체를 자식 타입으로 교체해도 프로그램이 정상적으로 동작해야 한다.인터페이스 분리 원칙 ISP (Interface Segregation Principle) : 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다.의존 역전 원칙 DIP (Dependency Inversion Principle) : 고수준..
우리 서비스에 딱 맞는 SMTP 서비스
·
개발/기능 구현
✉ SMTP 서비스, SendGrid 선택스마트 해외배송 플랫폼을 개발하면서, 우리는 셀러와 포워딩 회사에게 주문 및 배송 진행 상황을 자동으로 알리는 이메일 시스템이 필요했다.이메일은 단순한 메시지를 넘어서, 비즈니스 흐름을 이어주는 중요한 인터페이스였다.🧐 문제 정의: "이메일은 부가기능이 아니다"서비스의 구조상, 이메일은 다음 흐름의 일부로 작동한다.셀러가 주문을 등록하면 → 주문 생성 알림 메일 발송포워딩 회사가 라벨을 발급하면 → 송장 메일 전달배송사가 트래킹 번호를 배정하면 → 셀러에게 트래킹 안내 메일 발송이처럼 이메일은 단순한 알림이 아니라,셀러와 포워더의 연결을 실시간으로 보장하는 내용에 해당한다.✋ Gmail SMTP? 고려는 했지만…처음에는 가장 간단한 방식인 Gmail SMTP를 ..