본문 바로가기
반응형

From Code to Impact✨160

SPA(Single Page Application)란? 📘 SPA란?한 마디로 '페이지가 하나처럼 보이는 웹앱'을 말한다.  로그인을 예시로 들면,🟡 MPA (Multi Page Application) = 전통적인 웹앱  로그인 클릭 → 서버에서 새로운 HTML 페이지 전체를 응답해서 새로고침 🟡 SPA (Single Page Application)로그인 클릭 → 기존 페이지 유지한 채, 필요한 데이터만 서버에서 받아와서 화면 일부만 바뀜  ✅SPA 환경에서 백엔드 개발자가 여기서 알아야 할 Point★ SPA는 화면 전환을 브라우저가 직접 하고, 백엔드는 데이터만 제공하는 구조다.그래서 Spring Boot는 REST API 서버처럼 동작해야 함! 💬 예시 React 로그인 화면에서 아이디/비번 입력 → POST /auth/login API로 백엔드.. 2025. 4. 10.
[Java]DTO는 항상 만들어야 할까? 답은 Yes라고 생각한다.요청(Request), 응답(Response) 모두 DTO를 만들어주면 좋다. 실무에서 API를 설계할 때 요청과 응답 각각에 DTO를 안 쓰면 컨트롤러에서 엔티티를 직접 노출하거나 받아야 하는데, 이건 보안, 유지보수, 확장성 면에서 매우 불리하다. 즉, 계층 분리, 보안, 유지보수, 유연성 모두를 위한 기본 설계 원칙이기 때문에 사실상 필수나 다름 없다. 특히 Form 데이터 다룰 때는 100% 써야한다.@ModelAttribute나 @RequestParam으로 폼 데이터를 받는 경우, 필드를 하나씩 받기보다는 DTO로 묶어서 받는 게 훨씬 명확하고 유지보수하기 좋다. 게다가 필드가 많아질수록 코드가 복잡해지는데, DTO를 쓰면 검증도 쉽게 걸 수 있어서 정말 좋다. 이유는 .. 2025. 4. 9.
[Java]StringBuilder 클래스 사용법💪 ✅ StringBuilder란?: Java에서 문자열을 효율적으로 조작할 수 있도록 제공되는 클래스String은 불변(immutable) 특성 때문에 문자열을 반복적으로 수정하면 매번 새로운 객체가 생성되어 성능이 떨어질 수 있다. 이를 보완하기 위해 StringBuilder는 내부 버퍼(buffer) 를 이용하여 문자열을 변경할 수 있게 해준다.  📊 *버퍼(buffer) 참고버퍼는 간단히 말해 임시 저장 공간이다. StringBuilder는 문자열을 붙일 때마다 새로운 객체를 만들지 않고, 내부 버퍼에 계속 내용을 추가하면서 수정할 수 있음.String (불변)"H" + "e" → "He" (새 객체) + "l" → "Hel" (새 객체) + "l" → "Hell" (새 객체) + .. 2025. 4. 9.
[Java]코딩 테스트에서 자주 쓰이는 String Class Method 모음 ⭐ 자주 쓰는 String 클래스 메서드 표로 정리하기( 빨간색 표시는 이 중에서도 가장 많이 쓰이는 메서드들임) Method명설명예시length()문자열 길이 반환"abc".length() → 3charAt(int index)특정 인덱스의 문자 반환"abc".charAt(1) → 'b'substring(int start, int end)부분 문자열 추출 (end는 제외)"abcdef".substring(1, 4) → "bcd"equals(String other)문자열 비교 (대소문자 구분)"abc".equals("ABC") → falseequalsIgnoreCase(String other)문자열 비교 (대소문자 무시)"abc".equalsIgnoreCase("ABC") → truetoCharArray(.. 2025. 4. 8.
[MySQL]중복 제거 시 사용하는 DISTINCT 🤔 DISTINCT란?DISTINCT는 중복된 행을 제거하여 유일한 결과만 반환한다.기본 문법은 아래와 같음.SELECT DISTINCT 컬럼1, 컬럼2, ...FROM 테이블명;  👨‍💻 DISTINCT 예시SELECT DISTINCT o.customer_id, o.order_id, o.delivery_status, COUNT(o.product_id) OVER ( PARTITION BY o.customer_id, o.order_id, o.delivery_status ) AS product_countFROM orders oWHERE o.is_cancelled = 'N'; DISTINCT를 활용해, 고객 ID, 주문 ID, 배송 상태가 동일한 경우 중복을 .. 2025. 4. 3.
⭐Git Flow와 명령어 모음zip⭐ Git을 쓸 때 항상 헷갈렸던 로컬/원격 저장소의 개념, 브랜치 흐름, 그리고 자주 쓰는 명령어들을 정리해봤다. 실제로 자주 쓰이는 흐름을 따라가며 Git 명령어를 정리했다.📁 Git 저장소의 기본 구조✅ 로컬 저장소 :내 컴퓨터에 있는 Git 저장소- clone 명령어를 통해 원격 저장소를 복사해 생성됨- 로컬 저장소에는 기본 브랜치(보통 main)만 실제로 만들어지고,원격 브랜치들은 origin/* 형태로 스냅샷처럼 참조 정보만 존재 ✅ 원격 저장소- GitHub, GitLab 등 온라인 서버에 존재하는 Git 저장소- 여러 사용자가 공동으로 협업할 수 있는 중앙 저장소 역할 ✅ origin- 원격 저장소의 기본 이름 (alias)=> origin/main, origin/develop처럼 표시되며,.. 2025. 4. 1.
반응형