#백엔드 57

2024. 8. 6. (화) 슈퍼코딩 부트캠프 Day 58 / 주특기 7주차

1. JPA Repository 기본 메소드 이용하기JPA Entity 더티 체킹으로 업데이트 하기JPA Repository 자동 쿼리 메소드 이용하기JPA Pagination 구현하기(쉽게 말해서 페이지 나누기)1. JPa Entity 관계 매핑하기매핑할때 고려할 3가지다대일 관계일대다 관계일대일 관계다대다 관계 다대일 단방향다대일 양방향 양방향 관계에서 주인 정하기 2. JPA Fetch 정책과 JPQL 사용하기연관 객체 들고오기 - JPQL(Java Persistence Query Language) : 자바의 객체지향 쿼리 3. JPA N+1문제N+1문제란 ? 연관 관계가 설정된 Entity 조회 시 조회된 갯수 만큼 조회 쿼리가 추가로 실행되는 현상Fetch Join 으로 해결4. JPA와 Spr..

카테고리 없음 2024.08.06

2024. 8. 5. (월) 슈퍼코딩 부트캠프 Day 57 / 주특기 7주차

1. JavaDoc 문서화 개선문서화 다듬기1. 기존 Java 예외처리와 ResponseEntity오류 발생시 status code 정확하게 보내기  예외 발생 미처리시 500 발생적절한 예외 전파 적용이 핵심이다HTTP status code 응답 보내기2. Spring advice로 처리하기 3. Spring AOP 살펴보기횡단 관심사(=흩어진 관심사) 문제공통적인 코드들을 모듈화AOP 철학이 적용된 기술   1. SQL구문 해방과 ORM, JPA기존 SQL 사용 구문의 불편한 점왜 이런 문제가 발생할까?어떻게 해결할까?     ORM과 JPAJPA 내부 동작 원리JPA 내부 구성요소JPA 대표 구현체 HibernateJPA 설정

카테고리 없음 2024.08.05

2024. 8. 2. (금) 슈퍼코딩 부트캠프 Day 54 / 주특기 6주차

1. 스프링부트 심화반복되는 코드 / 문서화, 출력의 한계 / 예외처리 부재 / SQL문 종속 / 비즈니스 로직 검증 부재-> 유틸리티 라이브러리로 스프링코드 중복 줄이기, 문서화와 로그 남기기, 예외처리하기 학습 예정! 2. Lombok 사용법 및 실습3. MapStruct 사용법 및 실습 4. 컴파일 메타 프로그래밍1. 로깅과 Logback로그(Log)란? 서버가 수행한 작업/상태에 대한 기록로그 레벨 로깅 핵심 개념 : 로거와 로그패턴로그 어펜더logback을 사용하기 위한 설정- 설치 및 설정파일 세팅- logback 사용하기

카테고리 없음 2024.08.02

2024. 8. 1. (목) 슈퍼코딩 부트캠프 Day 53 / 주특기 6주차

1. Service Layer 구현2. 심화 구현작업 처리의 원자성 예시Service Layer와 트랜잭션트랜잭션 : 데이터 처리 원자성을 보장하기 위해 여러작업을 하나의 작업으로 묶는 것              #슈퍼코딩, #1:1관리형부트캠프, #백엔드, #backend, #백엔드공부, #개발공부, #백엔드개발자 #취준일기, #취준기록, #취뽀, #빡공, #HTML/CSS, #javascript, #react , #java, #spring

카테고리 없음 2024.08.02

2024. 7. 31. (수) 슈퍼코딩 부트캠프 Day 52 / 주특기 6주차

1. 스프링 프로젝트 기본 파일 2. Profile 설정하기3. 스프링 코드 아키텍쳐 3-layered 스프링 부트를 이용해서 코드를 짜려면 어떻게 짜야할까?코드아키텍쳐 : 소프트웨어구조/구성 요소 조직적 정리 -> 코드 효율적 관리어떤 코드 아키텍쳐들이 있을까?3-layer(3-tier) 아키텍쳐3-layer 아키텍쳐를 사용하는 이유1. Web layer RestContorller와 Dispatcher ServletDTO(Data Transfer Object) : 데이터를 담아 전달하는 객체Jackson 라이브러리 : DTO Json 직렬화 / 역직렬화 하는 라이브러리Jackson 라이브러리는 Getter를 보고 Getter가 있는 속성만 가져올 수 있음 -> 그래서 DTO에 getter를 추가해야함..

카테고리 없음 2024.08.01

2024. 7. 30. (화) 슈퍼코딩 부트캠프 Day 51 / 주특기 6주차

1. 프레임워크 vs 라이브러리프레임워크 : 주도권이 프레임워크에 있음라이브러리 : 주도권이 개발자에게 있음Java와 스프링부트가 대표적인 이유Spring과 Spring Boot  1. Web 웹이란? 인터넷을 통해 사람들과 정보를 공유하는 공간 정보를 렌더링하는 두가지 대표 방식- SSR(Server Side Rendering) : 서버에서 주도적으로 렌더링을 해서 클라이언트에 전달해주는 방식-- 서버-> 클라이언트로 HTML을 세팅해서 넘겨줌 - CSR(Client Side Rendering) : 서버로부터 받아온 정보를 클라이언트에서 렌더링 하는 방식-- 서버에서 데이터를 클라이언트로 보낸 뒤 -> 클라이언트에서 받아온 HTML과 JS등을 이용해 조합해서 페이지 표시 2. WAS(Web Applic..

카테고리 없음 2024.07.31

2024. 7. 29. (월) 슈퍼코딩 부트캠프 Day 50 / 주특기 6주차

1. 네트워크 개요네트워크란? 둘 이상의 컴퓨터, 장치 등이 서로 정보를 주고받는 구조LAN / WAN?- LAN(Local Area Network) : 장치들을 연결시켜주는 네트워크, - WAN(Wide Area Network) : LAN들을 연결시켜주는 네트워크 Web ? 인터넷을 통해 정보를 공유하는 공간WWW (World Wide Web) : 전세계 인터넷을 연결 시켜 보급 핵심 역할1. 정보 전달 방식과 패킷, 프로토콜기존 정보 전달 방식의 문제 : 회선 교환 방식 -> 정보를 전달 하는 동안 계속해서 회선을 점유하는 방식. 다른 요청은 응답할 수 없음.현대 정보 전달 방식 : 패킷 교환 방식 -> 주고 받는 정보를 패킷으로 나누어 전송 프로토콜 : 둘 이상의 물체가 정보 전달 시 의사소통하는 ..

카테고리 없음 2024.07.30

2024. 7. 27. (토) 슈퍼코딩 부트캠프 Day 48 / 주특기 5주차 주간보고

주간 보고 양식(토요일)이번 주 목표 달성 여부 및 다음 주 목표 설정 : 이번주는 Java 빌드 도구인 Gradle부터 DB, SQL까지 배웠다. 점점 갈 수록 어려워지지만 어려워진다는게 실무에 더 가까워 진다는 의미가 아닐까 싶다. 24주 끝날때까지 열심히 달려보자!!           #슈퍼코딩, #1:1관리형부트캠프, #백엔드, #backend, #백엔드공부, #개발공부, #백엔드개발자 #취준일기, #취준기록, #취뽀, #빡공, #HTML/CSS, #javascript, #react , #java, #spring

카테고리 없음 2024.07.27

2024. 7. 26. (금) 슈퍼코딩 부트캠프 Day 47 / 주특기 5주차

1. FOREIGN KEY외래키 삭제 하려면 참조하고 있는 테이블을 먼저 삭제 해야함CASCADE 옵션 : 참조 테이블과 연동해서 옵션 상황때 같이 값이 변경됨양방향 참조(= 상호 참조) -> 사용하지 않는걸 권장-> 생성부터 힘들고 삭제하려면 서로 참조하고 있기 때문에 ALTER를 사용해서 외래키 참조를 없애고 테이블 삭제 필요함-> 연결 테이블을 통해 상호 참조하지 않고 외래키로 참조하도록 설정1. 데이터베이스 모델링2. 요구사항 파악과 유저 시나리오3. 데이터베이스 모델링 진행하기요구사항 분석 : 요구사항 파악 -> 유저 시나리오 만들기 -> 엔티티 후보 선정 개념적 설계 : 엔티티/관계 만들기 -> ERD 그리기 -> 논리적 설계사진 삭제사진 설명을 입력하세요.물리적 설계1. JDBC 프로그래밍이..

카테고리 없음 2024.07.26

2024. 7. 25. (목) 슈퍼코딩 부트캠프 Day 46 / 주특기 5주차

0. SQL 실행 순서FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY 1. 관계형 데이터 베이스의 관계 두가지 특성관계의 선택성 : 두 테이블간의 관계 설정 시 페어링 필수 여부, 관계의 중요성과 비슷한 의미꼭 가져야 하는지? 안 가질 수 도 있는지? 관계의 기수성 : 두 테이블간의 관계 설정 시 참여 멤버수 표현, 관계의 다중성과 비슷한 의미하나를 가질 수 있는지? 여러개를 가질 수 있는지? 1-1. 관계의 선택성(Optionality)Optional = O 표시Mandatory = | 표시 1-2. 관계의 기수성(Caridnality)One : 0 or 1 -> O 표시 / 정확히 1 : | Many : 0이상 -> O | 2. 테이블 관계와 키..

카테고리 없음 2024.07.25