2024/10 3

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