분류 전체보기 117

바이브 코딩 - VIBE Coding

안녕하세요. 오늘은 바이브 코딩에 대해 알아볼게요. Vibe Coding 바이브 코딩은 이름 그대로 느낌(vibe)으로 코딩(coding)하는 방식으로 25년 2월, AI 코딩 에이전트에 전적으로 의존하여 코드 구현의 세세한 부분은 잊고개발하는 방식을 설명하기 위해 Andrej Karpathy(안드레아 카르파티)가 자신의 X 계정에 올리면서 유래되었어요. 즉 설계나 문법 완벽주의보다, 아이디어 + 흐름 + 속도를 중시하는 코딩 스타일이에요. 바이브 코딩의 핵심 특징특징설명예시아이디어 중심완벽한 코드보다 기능과 흐름 우선작은 MVP 먼저 만들어보기몰입 유지생각 흐름 끊기지 않도록 집중30분 이상 끊기지 않고 코드 작성AI 협업반복 작업이나 코드 추천을 AI에게 맡김Copilot, ChatGP..

Full-Stack 2026.02.06

Spring - WebSocket + STOMP

안녕하세요. 오늘은 Spring Boot WebSocket 그리고 STOMP에 대해 알아볼게요. WebSocket이란? WebSocket은 하나의 TCP 연결 위에서 전이중(Full-Duplex) 통신을 가능하게 하는 프로토콜이에요. 기존의 HTTP와 달리, 연결이 맺어진 후에는 클라이언트와 서버 모두 언제든지 상대방에게 데이터를 전송할 수 있어요. ⭐ 전이중(Full-Duplex) / 반이중(Half-Duplex) 전이중 통신은 통화하는 전화처럼, 서로 동시에 말하고 들을 수 있는 방식이에요. WebSocket이 바로 이 전이중 통신을 사용해 클라이언트와 서버가 끊임없이 데이터를 주고받을 수 있도록 해요. 반이중 통신은 무전기처럼, 한 사람이 말하는 동안 다른 사람은 듣기만 해야 하는 방..

Backend/Java 2026.01.18

Spring - SSE

안녕하세요. 오늘은 Spring Boot SSE(Server-sent-Events) 채팅 시스템에 대해 알아볼게요. SSE(Server_Sent Events)란? SSE는 서버가 클라이언트에게 실시간으로 데이터를 푸쉬할 수 있는 HTML5 표준 기술이에요. 즉 SSE는 단방향식 통신으로 비유를 하자면 플러그와 콘센트로 콘센트를 꽂으면 계속 전기가 흐르는 느낌으로 생가해주시면 될 것 같아요. 폴링(Polling) VS SSE 폴링방식은 다음과 같아요. 클라이언트 ──[요청]──> 서버 클라이언트 서버 (반복) 클라이언트 이 방식의 ..

Backend/Java 2026.01.16

W3Schools - 디자인 시안 자료 제공 및 교육

W3Schools는 웹 개발을 참고할 수 잇는 온라인 교육 및 자료 제공 사이트 이다. HTML, CSS, JavaScript 등 웹 기술을 배우는 데 도움이 된다. 디자인 시안 코드를 받아 내 입맛에 맞게 수정 및 적용이 가능하다. 아래 Try it Yourself 버튼을 클릭해서디자인 시안 코드와 아래의 적용 예시 화면을 보여준다.이렇게 실시간으로 수정하고 run버튼을 누른다면 적용된 화면을 볼 수 있다. 그 외 웹 개발 공부에 맞는 문제와 퀴즈, 학습 튜토리얼, 코드 에디터 등을 제공한다. https://www.w3schools.com/ W3Schools.comW3Schools offers free online tutorials, references and exercises in all the ..

font awesome - 아이콘 제공 사이트

font awesome는 벡터 아이콘 모음으로, 버튼, 메뉴, 알림, 검색, 삭제, 설정같은 UI요소를 담고 있다. 일반 이모티콘이 아닌 기능/의미 표현용으로 사용한다. 즉 장식이 아니라 기능 표시의 목적을 강하게 주고있다. 해상도 깨짐이 없고 CSS로 크기, 색상 조절이 가능하다. 웹 접근성(aria-label) 지원하고 프론트엔드에서 매우 표준적으로 사용한다. https://fontawesome.com/ Font AwesomeThe internet's icon library + toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome.fontawesome.com

Spring - PersistRepository

안녕하세요. 오늘은 리포지토리(Repository)를 하나로 통합해서 사용하지 않고, PersistRepository를 따로 생성해서 사용하는 이유에 대해 알아볼까 해요. 리포지토리를 따로 만드는 이유? 우리가 흔히 보는 방식은 보통 이렇게 설정할 거예요.public interface BoardRepository extends JpaRepository {} 이건 CRUD를 전부 한 곳에 몰아넣는 방식이에요. PersistRepository는 역할을 분리하는 구조예요.BoardPersistRepository // 저장 전용BoardQueryRepository // 조회 전용 (보통 따로 만듦) 분리하는 이유? 분리하는 이유는 "저장하는 코드"와 "조회하는 코드"의 성격이 다르기 때문이에요.그..

Backend/Java 2026.01.06

결제 시스템 구축 - 핵심 개념 정리

안녕하세요. 오늘은 결제 시스템 구축을 위한 개념을 정리해 봤어요. 이 포스팅의 목표는 결제 시스템 구축에 대한 PG사와 결제 모듈(PortOne)의 개념을 이해하는 것이에요. PG (Payment Gateway) PG사는 온라인에서 상품이나 서비스를 구매할 때, 다양한 결제 수단(카드, 계좌이체, 간편 결제 등)을 통해 안전하게 결제할 수 있도록 지원하는 전자지급결제대행 서비스예요. 오프라인 식당의 신용카드 단말기와 같고, KG이니시스, 토스페이먼츠, NHN KCP, 카카오페이 등 사용해요. 포트원 (PortOne / 구 아임포트) 수많은 PG사의 복잡하고 서로 다른 결제 코드를 하나의 표준화된 API로 통합해 주는 결제 연동 설루션이에요. 개발자는 포트원 코드 하나만 작성하면, 관리자 ..

Backend/Java 2026.01.02

이메일 중복방지

안녕하세요. 오늘은 이메밀 중복방지를 어떻게 하는지 간단하게 알아볼게요. 이메일 중복방지는 보통 회원가입시 동일한 이메일 주소를 사용하지 않게 방지하는 방법이에요. 1. User 엔티티 유니크 설정 @Column(unique = true) private String email; 2. UserRepository 내 쿼리 메서드 생성 // 이메일 존재 여부 확인 쿼리 네임드 메서드 설계 Optional findByEmail(String email); 3. UserService 회원가입 로직 내 조건문 추가 // 1-1 이메일 중복 체크 if (userRepository.findByEmail(joinDTO.getEmail()).isPresent()) { throw ..

Backend/Java 2025.12.31

회원가입 이메일 인증 기능 (Google smtp 활용)

안녕하세요. 오늘은 회원가입 시 이메일 인증 기능에 대해 알아볼게요. SMTP SMTP는 Simple Mail Transfer Protocol의 약자입니다. 단어 그대로 해석하면 간이 우편 전송 규약 이에요.. 인터넷 세상에서 "이메일을 보낼 때 지켜야 하는 약속(규칙)"이라고 정의할 수 있어요. SMTP 핵심 특징 SMTP는 보내는 전용이에요. 즉 SMTP는 오로지 메일을 발송(PUSH)할 때만 사용하고, 반대로 메일을 확인(수신)할 때는 POP3나 IMAP이라는 다른 프로토콜을 사용해요. 현 포스팅 내용은 회원가입 인증번호를 보내기만 하기 때문에 SMTP만 있으면 돼요. 사전 준비 (Google 앱 비밀번호 발급) ❌ 일반 구글 비밀번호로는 접근이 불가능해요! 1. Google 계정 관리..

Backend/Java 2025.12.29