| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 핵심가이드
- 자료구조
- 백엔드스쿨
- 컴퓨터 공학
- queue
- 서버
- QueryDSL
- SpringBoot
- array
- 제로베이스
- JWT
- ORM
- 백준
- 백엔드공부
- restTemplate
- actuator
- 프로그래머스
- spring boot
- JPA
- TestCode
- error
- Java
- SpringSecurity
- LinkedList
- 개발자
- 백엔드
- 컴퓨터 구조
- 스프링부트
- 연관관계
- spring
- Today
- Total
목록Java (37)
be_better
JPQL JPQL은 JPA Query Language의 줄임말로 JPA에서 사용할 수 있는 쿼리를 의미한다. SQL과의 차이점은 SQL에서는 테이블이나 칼럼의 이름을 사용하는 것과 달리 JPQL은 엔티티 객체를 대상으로 수행하는 쿼리이기 때문에 매핑된 엔티티의 이름과 필드의 이름을 사용한다는 것이다. 쿼리 메서드 살펴보기 리포지토리는 JpaRepository를 상속받는 것만으로도 다양한 CRUD 메서드를 제공한다. 하지만 이러한 기본 메서드들은 식별자 기반으로 생성되기 때문에 결국 별도의 메서드를 정의해서 사용하는 경우가 많다. 이때 간단한 쿼리문을 작성하기 위해 사용되는 것이 쿼리 메서드이다. 쿼리 메서드의 생성 쿼리 메서드는 크게 동작을 결정하는 주제(Subject)와 서술어(Predicate)로 구..
데이터베이스 연동 프로젝트 생성 MySQL에 로 jpa 이름의 database를 생성하고 사용하도록 해준다. create database jpa; use jpa; 프로젝트는 다음과 같이 만들어준다. 폴더명과 프로젝트명은 자유롭게 설정 application.yml 파일에 mysql Driver 설정 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/jpa?serverTimezone=Asia/Seoul&characterEncoding=UTF-8 username: root password: password jpa: show-sql: true database: mysql hibernate:..
GET API 만들기 GET API는 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API이다. controller 패키지 안에 GetController 생성후 코드 작성 @RequestMapping으로 구현하기 GetController.java package com.example.hello.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(..
프로젝트 생성 스프링 부트 프로젝트를 쉽게 만드는 방법으로 인텔리제이 IDEA에서 프로젝트 생성하는 방법, Spring Initializr를 이용해 생성하는 방법이 있다. 인텔리제이 IDEA에서 프로젝트 생성하기 인텔리제이 IDEA 얼티밋 버전에는 Spring Initializr 기능이 내포되어 있다. [New Project]를 클릭한 후 좌측에 Spring Initializr탭을 누른다. 각 항목에 대한 설정은 Name: 프로젝트의 이름을 설정 Location: 프로젝트를 생성할 위치를 설정 Language: JVM 상에서 동작하는 언어를 선택 Type: 빌드 툴을 선택 Group: 이 프로젝트를 정의하는 고유한 식별자 정보인 그룹 설정. 이 프로젝트를 진행하는 데 영향을 주지는 않는다. Artifac..
서버 간 통신 블로그, 카페, 메일 등의 기능들을 하나의 애플리케이션에 통합한 서비스를 구성하면 서버를 업데이트하거나 애플리케이션을 유지보수할 때마다 전체 서비스를 중단하고 업데이트 작업을 해야한다. 이 문제를 해결하기 위해 마이크로서비스 아키텍처(MSA; Microservice Architecture)는 단어 그대로 서비스 규모를 작게 나누어 구성한 아키텍처를 뜻한다. 단일 서비스로 구성된 A 포털 사이트는 내부 메소드 호출을 통해 원하는 자원을 사용할 수 있지만, B 포털 사이트와 같이 독립적인 애플리케이션을 개발하게 되면 각 서비스 간에 통신해야 하는 경우가 발생한다. 이런 상황에서의 통신을 '서버 간 통신' 이라고 한다. 서버 간 통신은 한 대는 서버, 다른 한 대는 클라이언트가 되는 구조에서 H..
🍃 스프링 프레임워크 스프링 프레임워크(Spring Framework)는 자바(Java) 기반의 애플리케이션 프레임워크이다. 스프링은 목적에 따라 다양한 프로젝트를 제공하는데, 그중 하나가 스프링 부트(Spring Boot)이다. 스프링 프레임워크는 자바에서 가장 많이 사용하는 프레임워크로, 엔터프라이즈급 개발을 편리하게 만들어주는 '오픈소스 경량급 애플리케이션 프레임워크'로 불린다. 엔터프라이즈급 개발이란? 네이버나 카카오 같은 대규모 데이터를 처리하는 환경을 엔터프라이즈 환경이라고 부른다. 스프링의 핵심가치는 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것 제어 역전(IoC) 일반적인 자바 개발의 경우 객체를 생성하고 사용하는 일련의 작업을 개발자가 직접 제어하는 구조를 갖는다. @Rest..
자료구조 자료구조는 데이터를 어떻게 저장할 것인지를 고민해야 하는 문제다. 자료구조에는 배열, 연결리스트, 스택, 큐, 데크, 해시테이블, 트리, 그래프, 힙, 트라이 등이 있는데 각 자료구조의 장점, 단점을 생각해보고 어떤 자료구조를 사용할지 개발자가 직접 판단해야 한다. 자료구조마다 시간복잡도, 공간복잡도가 다르고 잘 사용하지 않는 자료구조라고 해도 분명히 적합할 때가 있기 때문에 어느 하나 소홀히 공부해서는 안된다. 백엔드 개발자는 데이터베이스에 데이터를 저장하고 그 데이터를 조회하여 사용자에게 제공해주어야 하기 때문에 특히나 더 중요한 역량이라고 생각한다. 어떤 카테고리의 데이터는 어떤 자료구조에 저장해야 어떤 것보다도 효율적인지 사용자가 많아졌을 때의 시간, 공간복잡도를 생각해보고 알맞은 판단을..
💎 문제 링크 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 📝 문제 ✍🏻 입력 & 출력 🤔 풀기 전에 생각하기 트리의 인덱스 개념 정석으로 부모 노드는 자식 노드의 /2 인덱스 자식 노드는 부모 노드의 *2, *2+1으로 하려다 보니 배열의 크기가 엄청나게 커지게 된다. 고민하던 중 다른 분의 풀이를 참고해 이해하고 스스로 풀이 참고 블로그 ✨ 풀이 Scanner와 BufferedReader는 메모리와 속도차이 Scanner가 아래, BufferedReader가 위 import java.io.BufferedReader; import java.io.IOException; ..