728x90

전체 글 200

Spring, Spring Boot 기본 구조

Spring Boot 기본 구조 your-project/│├── src/│ ├── main/│ │ ├── java/│ │ │ └── com/│ │ │ └── example/│ │ │ └── yourproject/│ │ │ ├── YourProjectApplication.java    👀 Gradle 기본 설정보통 MVNRepository 사이트에서 필요한 의존성 검색해서 가져오면 된다.https://mvnrepository.com/   ✔️ Spring Boot 기본 의존성 dependencies { implementation 'org.springframework.boot:spring-boot-start..

Spring 2025.03.13

Spring Boot, IntelliJ Community 버전에서 Spring Boot Project 시작하는 방법

IntelliJ 에서 무료버전(Community 버전)은 Spring 을 지원해주고 있지 않는다.따라서 프로젝트를 생성해도 실행시키려면 따로 설정이 필요하다.Spring Boot Project 생성하기 1. New Project Name : 프로젝트 이름Location : 프로젝트 저장 위치(파일)Build system : 실행 가능한 코드로 변환하는 과정                          (컴파일, 테스트, 패키징, 배포 등)                          을 자동화하는 도구와 프로세스 JDK : 설치해놓은 JDK 버전 선택Gradle DSL : 빌드 로직을 정의     ✔️ [Create] 2. 의존성 추가 및 Spring Boot 실행 클래스 생성 프로젝트가 생성된 상태  ..

환경설정/Spring 2025.03.12

Spring Boot, Spring Security란?

목차Spring Security주요 개념기본 설정authorizeHttprequest()Header()cors()sessionManagment()csrf()formLogin()httpBasic()addFilter()addFilterAfter()apply()      Spring SecuritySpring 기반의 어플리케이션의 보안(인증과 권한)을 담당하는 프레임워크인증, 인가 기능을 표준화하고 자동화 할 수 있어 개발자가 보안 관련 코드를 직접 작성하지 않고도 높은 수준의 보안 기능을 쉽게 구현할 수 있다.Spring Security 주요 아키텍처 Web ContextJava Spring ContextClient HTTP RequestFilterDispatcherServletController 1/log..

Spring 2025.03.12

SQL, Multi-column INDEX(다중 컬럼 인덱스) 특징 / UNIQUE INDEX

INDEX검색 작업의 속도를 향상시키는 데이터 구조 데이터 구조는 해시 테이블(Hash Table) 과 B Tree 로 구현 가능하며 주로 B Tree 에서 파생된 구조로 구현된다.인덱스 역시 데이터 구조이므로 추가적인 쓰기 작업과 저장 공간이 필요하다.장점- 인덱스를 사용하면 데이터 조회 속도가 빨라진다.- WHERE, ORDER BY, MIN/MAX 속도가 빨라진다.- 특정 데이터를 조회 할때 테이블 전체를 조회해야 한다.   하지만 인덱스를 사용하는 경우 인덱스를 기준으로 정렬된 상태로 저장되어 있어 빠르게 찾을 수 있다. 단점- 데이터 구조를 유지하기 위한 비용이 존재한다.- 테이블과는 별개로 추가적인 공간이 필요하고 인덱스가 적용된 열에 INSERT, UPDATE, DELETE 작업 시 정렬, ..

Database/MySQL 2025.03.10

SQLD, 마지막 정리 - 자주 출제되는 내용 정리

성능 데이터 모델링 고려사항1) 정규화를 수행하여 데이터베이스 모델의 유연성을 확보한다.2) 데이터베이스의 전체 용량, 월간, 연간 증감율을 예측한다.3) 애플리케이션의 트랜잭션의 유형(CRUD: Create Read Update Delete)을 파악한다.4) 합계 및 정산 등을 수행하는 반정규화를 수행한다.(성능향상을 위한 튜닝)5) 기본키와 외래키, 수퍼타입과 서브타입 등을 조정한다.6) 성능관점에서 데이터 모델을 검증하고 확인한다. [ 3가지 모델링 알아두기 ]개념적 모델링: 개체와 개체들 간의 관계에서 ER다이어그램을 만드는 과정논리적 모델링: ER다이어그램을 사용하여 관계 스키마 모델을 만드는 과정물리적 모델링: 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정파생속성 → 어떤 데이터를 ..

SQLD 2025.03.08

SQLD, 필기 요약 - 4 ( SQL 구문 )

SET OPERATOR- UNION : 합집합  UNION ALL : 중복 행도 그대로 결과로 표시- INTERSECT : 교집합- MINUS / EXCEPT : 차집합 GROUPING- SELECT 절에 사용되어 소계에 해당하는 행과 그렇지 않은 행 구분- CASE 문을 사용하여 의미에 맞는 테스트를 값으로 지정- 소계에 해당되는 경우 1 반환, 이외의 경우 0 반환윈도우 함수OVER 키워드와 함께 사용 순위 함수- RANK : 1,2,2,4,4,4,7- DENSE_RANK : 1,2,2,3,3,3- ROW_NUMBER : 1,2,3,4,5 집계 함수-> PRATITION BY 사용- 윈도우 함수는 결과에 대한 함수 처리로 건수가 줄지 않음- PARTITION BY 절이 없으면 전체 집합을 하나의 PA..

SQLD 2025.03.08

Mac, 개발 환경설정 방법

Mac으로 개발하기 위해서는 터미널을 이용해 환경을 만들어줘야 한다. 1. Mac Command Line Tools 설치2. Brew 설치3. JDK 17 버전 다운로드1. Mac Command Line Tools ( 맥 커맨드라인 개발 도구 ) 설치 macOS나 iOS 네이티브 애플리케이션을 만들 수 있는 Xcode에는 개발 환경 구성을 위한 GCC, make, svn, git, perl, LLVM 컴파일러 등 커맨드 라인 도구를 포함하고 있다. 이 커맨드라인 도구들을 사용하기 위해 반드시 Xcode를 설치해야하는 것은 아니다. 커맨드라인 명령어들만 사용하고 싶을 때는 Xcode 명령어 라인 도구를 설치하면 된다. 명령어 라인 도구는 애플 개발자 페이지에서 제공하고 있으며, Mac OS X 10.9 이..

환경설정 2025.02.28

SQLD, 필기 요약-3 ( SQL 구문 )

SQL 구문 실행 순서FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BYTRIM 함수- LEADING맨 앞부분의 문자만 제거SELECT TRIM (LEADING 'A' FROM 'ABCD')## 결과 BCD - TRAILING맨 뒷부분의 문자만 제거SELECT TRIM (TRAILING 'D' FROM 'ABCD')## 결과 ABC - BOTH맨 앞, 맨 뒷 부분의 문자 제거SELECT TRIM (LEADING 'A' FROM 'ABCDA')## 결과 BCD조건문- DECODE## 형식DECODE (컬럼, 조건1, 결과1, 조건2, 결과2, ...)## 예시SELECT DECODE (CHECK, 1, 'ADULT', 2, 'MINOR')## 설명# CH..

SQLD 2025.02.27

SQLD, 필기 요약-2 ( 식별자 / 키 종류 / 정규화 / 슈퍼타입/서브타입 관계 테이블 병합 / Null / 본질(원조)/인조(인위) 식별자)

식별자1. 대표성- 주 식별자- 보조 식별자 2. 스스로 생성 여부- 내부 식별자- 외부 식별자 3. 속성의 수- 단일 식별자- 복합 식별자 4. 대체 여부- 본질 식별자- 인조 식별자  식별자 관계- 엔터티간의 강한 연결 관계 표현- ERD에서 실선 표현- 부모 엔터티 인스턴스 소멸 시 자식 엔터티 인스턴스 같이 소멸- 조인 최소화를 위해서는 식별자 관계로 연결 비식별자 관계- 엔터티 간의 약한 연결 관계- ERD에서 점선 표현- 부모 엔터티 인스턴스 참 값이 없어도, 자식 엔터티 인스턴스 생성 될 수 있을 때 적합 PK가 식별자로 들어가는지, 일반 속성으로 들어가는지를 확인 해준다. 키 종류키 종류유일성최소성특징슈퍼키OX고유한 데이터 속성후보키OO행을 유일하게 식별기본키OO후보키 중 하나대체키OO기본..

SQLD 2025.02.26

Spring Boot, Delete 메서드 구현 (@DeleteMapping)

DELETE API웹 애플리케이션 서버를 거쳐 데이터베이스 등의 저장소에 있는 리소스를 삭제할 때 사용.서버에서 클라이언트로부터 리소스를 식별할 수 있는 값을 받아 데이터베이스나 캐시에 있는 리소스를 조회하고 삭제하는 역할.컨트롤러를 통해 값을 받는 단계에서는 간단한 값을 받기 때문에, GET 메서드와 같이 URL에 값을 넣어 요청을 받는 형식으로 구현됨. @PathVariable을 이용한 DELETE 메서드 구현@DeleteMapping("/{adId}")public String deleteVariable(@PathVariable String adId) { return adId}  @RequestParam을 이용한 DELETE 메서드 구현@DeleteMapping(value = "/adEmail")pu..

Spring 2025.02.25
728x90