2025/06 74

2025.06.30 팀 프로젝트 – 로그인/헤더 구조 정리 요약

📌 주요 논의 주제“회원(user), 기업(company), 관리자(admin)의 로그인 분기 처리와 로그인 이후 헤더에 각 사용자 유형에 맞는 UI를 출력하는 방법” 1️⃣ enum으로 역할(Role) 구분하기🔧역활 정의 예시java 복사 편집public enum Role { USER, COMPANY, ADMIN} 회원가입 시 DB에 role값 저장눈에 보이지 않지만 숨겨진(hidden)값으로 role 구분2️⃣ 로그인 버튼은 2개지만 역할은 3개! 어떻게 처리할까?✅ 방법: hidden input 으로 role을 서버에 전달html복사편집 3️⃣ 로그인 처리 로직 (Spring Controller)java복사편집@PostMapping("/login")pub..

코드 분석 2025.06.30

조건문 완전 마스터: if , else if , else 흐름 구조와 실전 예제까지

boolean으로 판단한 조건을 현실의 흐름으로 구현하는 방법 🧩 1. 조건문이란 무엇인가?조건문은 말 그대로| **"어떤 조건이 맞을 때만 특정 코드를 실행"**하는 구조입니다.프로그래밍 세계에서 조건이란 결국 boolean -즉 true 또는 false이죠.예시if(조건식){ // 조건이 true일 때 실행}이렇게 조건이 참일 때만 특정 코드가 실행되고,거짓이면 건너뛰는 구조가 조건문, 그리고 그 핵심이 바로 if 입니다. 🧠 2. if /esle if/ else 구조 한눈에 보기if(조건문A) { // 조건 A가 참일 때 실행} else if(조건B) { // 조건 A는 거짓이고, 조건 B가 참일 때 실행} else { // 조건 A,B 모두 거짓일 때 실행} 🌱 흐름도 :[조건A] --t..

코드 분석 2025.06.30

자바논리형 완전정복(boolean 완전 정복-boolean에서 if까지: 판단이 코드로 이어지는 철학과 구조): 비전공자부터 시니어까지

왜 우리는 조건을 if로 써야만 했는가? 사전 지식더보기📘 분기( 分岐 (나눌 분, 가림길 기) , Branching)란?💡 "하나의 흐름이 두 개 이상으로 갈라지는 것"즉 프로그램의 실행 흐름이 조건에 따라 다른 길로 갈라지는 것을 말합니다. 🧠 쉬운 에시 (일상 비유)📍 당신이 길을 걷고 있어요. 앞에 두 갈래 길이 나왔습니다."왼쪽 길은 비가 오면 가고""오른쪽 길은 비가 안 오면 간다."이렇게 조건에 따라 **"어디로 갈지 결정"** 하는 것 = 분기 🧩 1. 시작점 : 컴퓨터는 "판단"을 어떻게 이해할까? 모든 프로그래밍 언어는 **조건이 맞으면 어떤 행동을 한다.** 는 전제를 가지고 있어요.이건 결국, 판단(logic) )->**행동(action)**으로 이어지는 흐름입니다.☑..

코드 분석 2025.06.29

자바 논리형 완전 정복(boolean의 모든 것: 비전공자부터 시니어 개발자까지)

선행 학습 boolean은 참(true)과 거짓(false)을 판단할 수 있는 걸까?더보기 🧠 한 줄 요약 (결론 먼저 말하면): 모든 판단은 결국 '0'과 '1'로 표현되기 때문에, 자바에서는 이걸사람이 읽기 쉽게 true/false로 표현한 거예요. 🧬 1. 컴퓨터는 전기 신호밖에 모른다.자바도 결국은 컴퓨터 위에서 돌아가는 프로그램입니다.그런데 컴퓨터는 전기를 흐르게 하거나, 끊거나(on/off) 두가지 상태밖에 못해요 상태 비트 표현 의미전류 흐름 있음1참(True)전류 흐름 없음0거짓(False)💡컴퓨터가 이해하는 ..

코드 분석 2025.06.28

자바 정수 자료형 완전 정복: long, BigInteger, Integer를 실무와 면접까지 통달하기

목차 구성1. 서론 : int만 알면 충분하지 않을까? - 실무에서 자주 마주치는 숫자 처리의 문제들2. long: int보다 더 큰 숫자가 필요할 때 - 크기, 범위, 사용 예제, 주의점 등3.BigInteger : 무한대에 가까운 숫자와 정밀도 - 수학 연산 메서드, 불변 객체, 생성법, 에제4. Integer : int를 객체로 다루는 이유 - 오토박싱, 언박싱, null처리, 컬렉션 활용5. 비교 정리표 : 언제 어떤 자료형을 써야 할까? ----> (왜 자료형이라는 표현 채택했을까 의문) - 상황별 선택 가이드와 정리표6. 실무 적용 예시 : 금액, 계산, DB 저장 등 - 실제 라이브러리에서 활용, 설계 판단 기준7. 마무리 : 실무/면접에서 자주 묻는 질문 정리 - 예) Ingteger와..

코드 분석 2025.06.27

웹 요청 흐름 완전 정복! 클라이언트부터 서버, 그리고 가시 브라우저까지

🧭 전체 흐름 요약 (비전공자 + 시니어 기준)| 웹에서 내가 주소창에 URL을 입력하면,그 요청은 클라이언트 -> 서버 -> 데이터베이스 -> 다시 서버 -> 클라이언트로 돌아오는 왕복 여행을 해요. 📦 스토리 비유 : 택배 시스템주인공👩‍💻 클라이언트(나): " 이 물건 보여줘! " 요청하는 고객 📬 컨트롤러 : 고객의 요청을 제일 먼저 받는 택배 기사 🧠 서비스 : 그 물건을 어디서 꺼내야 할지 판단하는 매니저 📁 리포지토리 : 실제 물건을 꺼내오는 창고 직원 💾 데이터베이스(DB): 창고에 쌓여 있는 모든 물건 🖼️ 뷰( view) : 꺼낸 물건을 보기 좋게 포장해 보여주는 화면 📲 브라우저(사용자 화면) : 결국 이 물건을 받는 고객 ----> (뷰 , 브라우저 차이 참고 ..

코드 분석 2025.06.26

버전 3 - 2. 게시 글 상세보기 - 연관 관계 기본 활용

package com.tenco.blog.board;import jakarta.persistence.EntityManager;import jakarta.persistence.TypedQuery;import lombok.RequiredArgsConstructor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import java.util.List;@RequiredArgsConstructor // 생성자 자동 생성 + 멤버 변수 -> DI 처리 됨@Repository // IoC + 싱글톤 패턴 관리 + 스프링 컨테이너public class BoardRep..

Spring boot 2025.06.25

(JAVA) int 자료형 - 메모리, 비트, 내부 구조, 오버플로우까지 깊게 파헤치치기

1️⃣ int 의 본질 -컴퓨터는 왜 4바이트를 선택했는가? 자바의 int는 32비트 (4바이트) 정수형 입니다.이 구조는 자바가 아닌 하드웨어와 운영체제의 역사적인 기준 맞춰 설정된 것입니다.- 초기 컴퓨터 아키텍처에서는 32비트 레지스터를 기준으로 설계된 cpu가 많았고, 그래서 자바도 int 32비트 정수형으로 기준화했습니다.✅ "4바이트 = 32비트"란?1 바이트= 8비트 -> 4바이트는 = 32 비트32 비트로 표현 가능한 숫자 범위 : 부호 있는 경우: -2^31 ~2^31 -1 (약 -21억 ~ 21억)부호 없는 경우 : 0 2^32 -1 (자바는 지원하지 않음) 더보기 🎯 컴퓨터 아키텍처란? 컴퓨터 아키텍처(Computer Architecture)컴퓨터 아키텍처는 컴퓨터를 어떤 방식..

코드 분석 2025.06.25

버전 3 -1 .연관관계 설정하기

| 게시글을 볼 때 작성자 정보도 함께 보고 싶다면 어떻게 해야 할까요? = 객체지향 사고 + DB JOIN 의 개념입니다. 샘플 데이터-- User 테이블 데이터 (5명의 사용자)INSERT INTO user_tb (username, password, email, created_at) VALUES('admin', '1234', 'admin@blog.com', NOW()),('ssar', '1234', 'ssar@nate.com', NOW()),('cos', '1234', 'cos@gmail.com', NOW()),('hong', '1234', 'hong@naver.com', NOW()),('kim', '1234', 'kim@daum.net', NOW());-- 2단계: Board 테이블 데이터 (10개..

Spring boot 2025.06.24

버전 3 - 빌더 패턴에 대해 알아 보기

빌더는 복잡한 객체들을 단계별로 생성할 수 있도록 하는 생성 디자인 패턴입니다. [ 빌더 패턴 (Builder Pattern)의 장점]필요한 데이터만 설정할 수 있음유연성을 확보할 수 있음가독성을 높일 수 있음변경 가능성을 최소화할 수 있음 package com.tenco.blog.user;/*** 빌더 패턴을 사용해서 User 클래스를 설계해보자.*/public static User builder() { return new User();}// 2. 각각의 메버 메서드를 셋팅하는 메서드를 만들어 준다.public User id(Integer id){ this.id= id; return this; } public User username(String username){ this.username = u..

Spring boot 2025.06.24
728x90