일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자료구조
- 인텔리제이
- Linux
- IntelliJ
- 스타트업
- 도커
- 개발자
- spring boot
- 명령어
- spring
- bfs
- 구현
- 이직
- 백엔드
- dfs
- 구름LEVEL
- 배열
- 문자열
- 프로그래머스
- docker
- 스프링
- 스프링부트
- 스프링 부트
- HashMap
- 해결
- 해시맵
- 코딩테스트
- HTTP
- 주니어
- Java
- Today
- Total
목록개발지식/Spring (12)
마이의 개발 블로그
배경 스프링 부트 프로젝트에서 메모리 관련 트러블슈팅(점유율, 누수, 가비지 컬렉션 등)을 해야하는 상황에서 필요에 따라 메모리를 줄이면서 가비지 컬렉션(GC) 수행 여부를 눈으로 확인할 필요가 있었습니다. 터미널에서 직접 명령어를 통해 옵션을 입력할 수도 있지만 보통은 IDE를 통해 개발을 하기 때문에 IntelliJ를 기준으로 메모리 크기 지정 실행 옵션을 추가하는 방법을 알아보도록 하겠습니다. 메모리 크기 지정 방법 1. 우측 상단 Configurations 클릭 - Edit Configurations - 스프링 부트 앱 선택 2. Modify options 클릭 - Add VM options 체크 - (새로 생성되는 라인에) -Xms16M -Xmx20M 입력 (각각 최소값, 최대값) - Run 버..
배경 ORM의 장단점을 알아보고, 어떤 상황에서 사용되는지 알아보려고 합니다. ORM의 장점 - 객체지향적 접근: 객체와 DB를 맵핑시켜 객체지향 언어로 DB를 조작할 수 있게 됩니다. - 추상화: DB를 추상화하여 접근하므로 구체적인 SQL 지식 없이 간편한 DB 조작이 가능해집니다. - 자동화: 반복적인 CRUD 작업을 자동화할 수 있습니다. 매번 직접 SQL을 작성할 필요가 없기 때문입니다. - 유지보수성 향상: DB 모델이 변경되거나 하는 경우 변경된 부분들에 대한 수정이 상대적으로 용이해집니다. - DB 독립성: ORM을 거쳐 DB에 접근하여 DB에 대한 의존도가 낮아집니다. 만약 DB 벤더가 변경되더라도 그에 따른 제반 작업(SQL 수정 등)을 할 필요가 없어집니다. - 성능 향상: 쿼리 최적..
배경 스프링 진영에서 ORM을 이야기할 때 함께 언급되는 키워드로 JPA, Hibernate, Spring Data JPA가 있습니다. 아래에서 이 네 가지의 개념에 대해 각각 알아보고, 관계를 간단하게 정리해보려고 합니다. ORM (Object Relational Mapping, 객체-관계 매핑) 객체(object)와 관계형(relational) 데이터베이스를 맵핑하는 프로그래밍 기법을 말하며, 객체지향 언어의 객체와 관계형 데이터베이스의 테이블 간의 매핑을 자동화하고 관리할 수 있게 해줍니다. ORM을 도입하면 개발자는 SQL 쿼리를 직접 작성할 필요 없이 이미 구현된 메서드를 통해 DB 조작을 수행할 수 있게 됩니다. JPA (Java Persistence API) 자바 진영의 ORM 표준 명세(s..
MVC 패턴과 스프링 MVC MVC 패턴은 소프트웨어 디자인 패턴 중 하나로 개념적으로 모델(model), 뷰(view), 컨트롤러(controller)의 세 가지 요소로 소프트웨어를 구성하는 방식을 말합니다. 개념적이라고 표현한 이유는 실제 프로젝트로 들어가게 되면 이 세가지의 요소 이외에도 중간 중간 연관된 요소들이 다양한 형태로 존재하여 구조를 한눈에 파악하기가 어렵고 눈에 보이지 않는 곳에서 동작하는 코드가 많기 때문입니다. 스프링 MVC는 스프링 프레임워크에서 MVC패턴 또는 REST API 패턴의 웹 개발을 단순하게 하기 위해 고안된 모듈입니다. 스프링 MVC(Spring MVC)의 구조와 흐름 스프링 MVC패턴의 아키텍쳐는 시간이 지남에 따라 모델1 -> 모델2 -> 모델2 + 프론트 콘트롤..
서론 앞서 스프링 프레임워크를 사용하는 이유에 대해 간단히 살펴봤습니다. 스프링 프레임워크는 자바 기반의 오픈 소스 애플리케이션 프레임워크로, 어플리케이션 개발을 위한 다양한 기능과 라이브러리를 제공하고 프로그램 전체 흐름을 제어하여 개발자가 핵심 로직에만 집중할 수 있도록 돕습니다. 그렇다면 스프링 부트는 언제 사용되는 걸까요? 스프링 부트(Spring Boot)의 목적 어플리케이션 개발이 고도화됨에 따라 스프링도 어플리케이션의 용도에 따라 다양한 기능(클라우드, 시큐리티, MVC, 부트 등)을 제공하게 되었습니다. 스프링 부트는 스프링 기반 어플리케이션 개발을 더욱 효율적으로 만들기 위해 고안된 프로젝트로, 기존에 스프링 프레임워크만을 사용하여 개발 할 때에는 개발자가 직접 설정하고 관리해야했던 여러..