It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

분류 전체보기 150

[Spring] JPA로 CRUD 블로그 만들기 실습 정리

오늘은 JPA로 CRUD를 진행하며 블로그 만들기 실습을 진행했다. 수요일부터 비슷한 내용을 계속 반복하니까 드디어 비로소 좀 이해가 된 것 같다. 아직 완벽하게 이해하진 못했지만, 계속 복습하면 완벽하게 익힐 수 있을 거라구 생각한다.. 1단계 : 프로젝트 새로 생성하기 (의존성 추가하기) 먼저 새로운 프로젝트를 생성했다. 화면에 보이는 의존성들을 추가해주었다. 2단계 : 엔티티 구성하기 JPA로 쿼리를 작성하고 데이터베이스와 연결해주었다. create table if not exists article ( id BIGINT AUTO_INCREMENT primary key, title varchar(255) not null, content varchar(255) not null ); INSERT INTO..

Back-End/Spring 2024.03.12

[자료구조] 정렬

버블 정렬 - 첫 번째 for문을 하나의 루프라고 생각해야됨. 첫 번째 루프(i)에서 가장 큰 범위가 뒤로 이동하므로 두 번째 for문에서는 비교 범위에서 제외해야함. 그래서 범위를 N-1-i로 설정함. - 로직을 생각하긴했는데 하나의 루프를 여러번 반복할 때 가장 큰 범위를 제외시켜야한다는 조건을 생각하지 못했다. import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Intege..

[Spring] API와 REST API/MyBatis 블로그 만들기 실습 정리

API : (Application Programming Interface) : 프로그램간에 상호작용하기 위한 매개체 API는 클라이언트의 요청을 서버에 잘 전달하고, 서버의 결과물을 클라이언트에게 잘 돌려주는 역할을 한다, -> HTTP 프로토콜을 사용하여 클라이언트와 서버 간의 통신을 하기 위한 인터페이스 REST API : 이해하기 쉬운 URL로 설계를 한 API 장점) - URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있다. - 상태가 없다는 특징이 있어서 클라이언트와 서버의 역할이 명확하게 분리된다. - HTTP 표준을 사용하는 모든 플랫폼에서 사용할 수 있다. 단점) - GET, POST와 같은 방식의 개수에 제한이 있다. REST API를 사용하는 방법 규칙1 : URL에는 동사..

Back-End/Spring 2024.03.11

[spring] 강의 중 개념 정리 (외부)

spring의 기본 역할 1) @RestController, @Controller, @Service, @Repository, @Component, @Bean... 이런 어노테이션을 달아놓은 클래스들에 대해서는 spring이 대신 new 해서 만들어줄 것이다. 이때 범위를 알려주는 것 : 컴포넌트 스캔 2) 1번을 통해 만들어놓은 인스턴스들을 필요한 사람이 손들어서 요청하면 내가 전달해줄 것이다. DI - @Autowired, 생성자를 통해 선언을 하거나, setter method를 통해 선언하면 spring이 해당 인스턴스(=빈)을 찾아서 꽂아준다. 실습 코드로 예를 들어보면, -> HiController에서 HiService를 사용하겠다. @RestController public class HiCont..

Back-End/Spring 2024.03.08

[Spring] MyBatis 실습 / JPA 개념 (외부)

MyBatis 실습 MyBatis란? : 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크. 복잡한 jdbc보다 사용하기에 더 깔끔하다. JPA : 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 인터페이스이므로 실제 사용을 위해서는 ORM 프레임워크를 추가로 선택해야함. ex) hibernate hibernate : JPA 인터페이스를 구현한 구현체이자 자바용 ORM 프레임워크. 내부적으로는 JDBC API를 사용한다. 하이버네이트의 목표는 자바 객체를 통해 데이터베이스 종류에 상관없이 데이터베이스를 자유자재로 사용할 수 있게 하는것이다. 엔티티 엔티티(Entity)는 데이터베이스의 테이블과 매핑되는 객체를 말한다. 데이터베이스의 테이블과 직접 연..

Back-End/Spring 2024.03.07

[Spring] Docker, JPA 기초 실습 (외부)

Docker 명령어 docker-compose up -d : 실행 시작 docker-compose down : 실행 종료 docker-compose ps : 상태 표시 docker logs :container_name : container_name의 로그 보기 WorkBench 사용 11802로 만드려는데 (도커랑 연결) 도저히 안됨 - 다시 깔아봤음 & 재부팅 해봤음 & MySQL 자체를 싹 지우고 다시 해봤음 안됨!!!! - my.ini 건드려봤음. 내용 함부로 건드렸다가 아예 실행안되서 다시 지웠다 깔음... - windows 11 home은 이미 wsl2 강제 사용중이라 도커 환경설정에서 체크 안풀어지는 듯 - 예상으로는 아마 내 윈도우가 전체 권한을 가지고 있지 않거나(?) 엄청 타이트한 보안환..

Back-End/Spring 2024.03.06

[자료구조] 스택과 큐

스택 - StringBuilder 사용. - String S 변수에 예제 String들을 담는 동시에 비교함. - push 2 같은 경우에 push와 2를 어떻게 분리하나 고민했는데 st.nextToken()으로 공백 기준 한번 더 분리해주면 됐다. import java.io.*; import java.util.Stack; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stack stack = new Stack(); S..