dev/백엔드 11

gdg on campus ewha - Spring WIL 6주차

1. DAODAO : 데이터베이스에 접근하는 로직을 비즈니스와 별도로 분리 - SQL 실행, 예외처리 등을 분리하여 수행 -> 재사용성, 유지보수성을 위해 스프링  DAO의 필요성 : 코드 간소화, 예외처리 개선, 테스트 용이성코드 간소화 : 스프링 DAO는 반복적인 JDBC 코드를 줄여줌 : 개발자가 핵심 비즈니스 로직에 집중 가능하도록테스트 용이성 : 의존성 주입을 통해 DAO를 쉽게 모의 객체로 대체 가능 - 단위 테스트 용이  2. JDBCJDBC 템플릿 : 템플릿 메서드 패턴(메소드의 구조를 정의하고, 일부 단계를 하위 클래스에서 구현)을 구현 / 콜백 사용 / 배치 작업 지원(batchUpdate)JDBC 템플릿 사용법 : 의존성 추가 -> DataSource 설정(빈 정의 -> 연결 풀 설정..

dev/백엔드 2024.11.17

스프링 스터디 4주차

스프링 스터디 4주차 : 김영한의 스프링 입문강의 15,16,17강 15강 : 회원 웹 기능 - 홈 화면 추가저번에 만든 멤버 컨트롤러, 의존관계 -> 멤버 컨트롤러로 회원 등록/조회하는거 만들어보자위와 같이 HomeController를 만들고, templates에 home.html을 만든다 Spring Boot에서 / 경로로 요청이 들어오면 home.html을 반환하도록 설정한 것!Spring Boot의 기본 설정에 따라 templates 폴더 안에 home.html 파일을 넣어 두면, 해당 파일이 View Resolver에 의해 렌더링된다. 예를 들어, src/main/resources/templates/home.html 경로에 home.html 파일을 위치시키면, / 경로로 요청이 들어올 때 해당 ..

dev/백엔드 2024.11.10

스프링 스터디 3주차

스프링 스터디 3주차 : 김영한의 스프링 입문강의 11,12,13,14강 11강 회원 서비스 개발회원 리포지토리,도메인 활용하여 실제 비즈니스 로직 작성 기본 코드는 위와 같고, 추가적으로  중복 회원 검증 코드를 위와 같이 따로 메소드로 뺄 수도 있다 서비스는 비즈니스에 의존적인 네이밍을, 리포지토리는 기계적인 용어들을 사용 전체회원조회 기능도 구현   12강 회원서비스테스트ctrl + shift + t 단축키! 해당 단축키를 누르면, 테스트를 이렇게 간편하게 하도록 도와준다  테스트를 원하는 메소드를 클릭하고 확인을 누르면, 위와같이 테스트클래스 기본코드를 작성해준다  위와같이 바디를 작성하고 테스트를 하면, 잘 되는걸 확인할수있다  중복회원을 등록시키지 않는 기능이 잘 작동되는 지에 대한 테스트 t..

dev/백엔드 2024.11.03

gdg on campus ewha - Spring WIL 4주차

관점지향 프로그래밍과  커스텀어노테이션  - AOP : 핵심기능과 부가기능 분리하자- 애플리케이션  = 부가기능(중복되어 코드 전반에 흩어져있다) + 핵심기능 / 핵심기능 : 핵심 비즈니스 로직- 부가기능과 적용할 위치를 합쳐 ASPECT로 모듈화- 핵심 비즈니스 로직과 Aspect가 합쳐져서 애플리케이션이 실행됨- AOP : 횡단 관심사를 핵심 비즈니스 로직에서 분리하여 모듈성 향상시키는 프로그래밍 패러다임 / OOP 보완 / Aspect라는 특별한 객체로 모듈화- Aspect : 부가기능을 모듈화한 것 - Advice(what,when) + Pointcut(where)- Tartet : aspect가 적용될 객체(클래스,메소드..)- Advice : aspect가 특정 조인포인트에서 해야하는 부가기능..

dev/백엔드 2024.10.06

스프링 스터디 2주차

스프링 스터디 2주차 : 김영한 스프링 입문강의 8,9,10강 8강 : 비즈니스 요구사항 정리데이터 : 회원 id,이름기능 : 회원등록, 조회아직 데이터 저장소 선정되지 않음(시나리오)   일반적인 웹 애플리케이션 계층 구조- 컨트롤러 : 웹 mvc의 컨트롤러 역할- 서비스 : 핵심 비즈니스 로직 구현(ex.회원id 중복 금지 로직 등)- 도메인 : 회원,주문,쿠폰 등등 주로 db에 저장되고 관리되는 비즈니스 도메인 객체- 리포지토리 : db에 접근, 도메인 객체를 db에 저장하고 관리함  클래스 의존관계- 회원 비즈니스 로직에 회원서비스가 있고, 회원 리포지토리(회원을 저장하는 것)는 인터페이스로 구현 -> 이유 : 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 추후 변경할 수..

dev/백엔드 2024.10.05

스프링 스터디 1주차

스프링 스터디 1주차 : 김영한 스프링 입문강의 5,6,7강 5강 : 정적컨텐츠1) 스프링 웹개발 기초- 웹개발 기초의 3가지 방식 : 정적컨텐츠(서버에서 하는 것 없이 파일을 그대로 웹브라우저에 내려주는 것), MVC와 템플릿 엔진(가장 많이 사용, HTML을 서버에서 프로그래밍하여 바꿔서 내려주는 것 - 컨트롤러, 모델,뷰가 필요), API(안드로이드 등의 앱개발자와 협업 시 - JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터 전달 - react,vue 등에서 많이 사용, 혹은 서버끼리 통신시(서버끼리의 통신에선 html이 필요없으므로)) 2) 정적 컨텐츠- resources/static에 hello-static.html을 넣고, 이걸 그대로 전달- localhost:8080/hello-st..

dev/백엔드 2024.10.04

gdg on campus ewha - Spring WIL 2주차

이번주 세션 주제 : IoC 컨테이너와 스프링부트 자동 설정 - 스프링부트의 자동 설정과 조건부 빈 처리에 대한 이해 1) 저번 주 복습 - POJO (Plain Old Java Object) : 자바로 생성하는 순수한 객체 - 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트- DI : 의존성 주입 - 각 클래스 간의 의존 관계를, 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 것 - 필요한 객체를 직접 생성하지 않고 외부로부터 받아서 사용-> 빈? 컨테이너?  2) IoC 컨테이너 = 스프링 컨테이너 = 애플리케이션 컴포넌트의 중앙 저장소 = 스프링에서 객체 생성을 책임지고 의존성을 관리하는 컨테이너로, POJO(객체)의 생..

dev/백엔드 2024.09.24

gdg on campus ewha - Spring 1주차 WIL

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard [지금 무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의 | 김영한 - 인프김영한 | 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확www.inflearn.com  WIL - 9/14 파트세션 - 김영한 스프링 입문강의 1~4강 1) 김영한 스프링 입문강의 1강 : 스프링 스타터로 프로젝트 생성- gr..

dev/백엔드 2024.09.17

백엔드 입문하기 : 1장 사전지식

1. 서버와 클라이언트- 서버(스프링부트) 클라이언트(웹 브라우저) 간의 통신이 이뤄짐- 클라이언트 : 서버로 요청하는 프로그램들 / 서버 : 클라이언트의 요청을 받아 처리하는 주체- 데이터베이스 : 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소. 데이터베이스 관리 시스템(DBMS)에 데이터를 요청하면, DBMS는 데이터베이스에서 데이터를 꺼내 응답함 2. RDB란 - 관계형 데이터베이스 - 데이터베이스에는 RDB.NoSQL,NewSQL 등 여러 종류가 있는데, 그 중 가장 많이 사용하는게 RDB- 관계형 데이터베이스에선 데이터를 행과 열로 이뤄진 테이블로 관리하며, 기본키를 사용해 각 행을 식별함- 각 테이블간에 관계를 지을 수 있음- RDB에서 가장 유명한 데이터베..

dev/백엔드 2024.08.17