spring

· 강의
들어가기 전..1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다. [재고시스템으로 알아보는 동시성 이슈 해결방법] #2 재고감소 로직 작성 및 테스트들어가기 전 .. 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다! 참고하면 좋을 이전 글 [재고시dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock deve..
· 강의
들어가기 전 .. 1. 이전 게시글과 이어지는 게시글이므로 프로젝트 환경 및 세팅은 아래 링크에서 확인해주세요! 2. 전체 코드는 아래의 Git에서 확인 가능합니다! 참고하면 좋을 이전 글 [재고시스템으로 알아보는 동시성 이슈 해결방법] #1 개발환경 및 프로젝트 구조 들어가기 전 1. 매일 정리해야지 하며 미뤄두었던, 동시성 이슈 해결방법 강의를 정리하려 한다. 2. 동시성 이슈를 고려한 개발을 해보지 않아서 나한텐 흥미로운 접근방식의 강의였다. 3. 책에서 dev-rosiepoise.tistory.com GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie..
· 강의
들어가기 전 1. 매일 정리해야지 하며 미뤄두었던, 동시성 이슈 해결방법 강의를 정리하려 한다. 2. 동시성 이슈를 고려한 개발을 해보지 않아서 나한텐 흥미로운 접근방식의 강의였다. 3. 책에서 단편적으로만 경험했던 멀티스레드, 다중 서버 환경에서 실무적인 문제에 입각한 해결론을 제시한 강의였다. 까먹지 말고,, 기록하자,, 기록만이 살길 코드 샘플 GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법 재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock development by creating an account on GitHub. github.com 개발 환경 Intellij java 11 ..
Goal 요구사항에 부합하는 API desgin을 해보자 API desgin란? 1. 심플하고 직관적으로 만들기 REST API를 URL만 보고도, 직관적으로 이해할 수 있어야 한다 /boards /boards/1234 2. 동사보다 명사 사용하기 ( http method를 사용해서 구분) 행위를 URL에 사용하지 않기 ex. getBoardList, registBoard 리소스 POST GET PUT DELETE create read update delete /board 새로운 board 등록 boards 목록을 리턴 board 정보를 업데이트 board 정보를 삭제 3.단어를 hyphen(-)으로 구분하기 (underscores _ , camel 표기법 x) ex. example.com/boardUs..
Goal 요구사항에 부합하는 DB설계를 해보자 ERD (Entity-Relationship Diagram) 란? 요구사항을 분석하여 그림으로 그려내어 그 관계를 도출한 다이어그램을 말한다. 즉, ERD는 엔티티(entity) 간의 관계(relationship)를 도표(diagram)로 표시한 그림이다. 요구사항 참고 [springboot / 게시판 API] 개발환경 및 요구사항 정의 개발 환경 Intellij , springboot, java11, mybatis, mariadb(mysql) 특이사항 Lombok 사용 x 클래스는 VO or DTO로 Map 사용 x 게시판 API 개발 기능 요구사항 회원 가입 기능 회원 로그인 기능 회원이 접근 가능한 게시 dev-rosiepoise.tistory.com ..
Goal 스프링의 추상화 중 하나인 Validation 추상화에 대해 알아본다 validator를 구현해보며 이해한다 Validation 추상화란 ? 애플리케이션에서 사용하는 객체 검증용 인터페이스 이며, org.springframework.validation.Validator를 제공한다 특징 어떠한 계층과도 관계가 없다 모든 계층(웹,서비스,데이터)에서 사용해도 좋다 주로 스프링 mvc에서 사용하기는 하지만 웹 계층에서만 사용하는 웹 전용 validator가 아니다 구현체 중 하나로 JSR-303(Bean Validation 1.0)과 JSR-349(Bean Validation 1.1)을 지원한다 LocalValidatorFactoryBean bean validation이 제공하는 여러 애노테이션을 사..
Goal ApplicationContext의 Resource Loader에 대해 알아본다 ResourceLoader란? 리소스를 읽어오는 기능을 제공하는 인터페이스 public interface ApplicationContext extends ResourcePatternResolver public interface ResourcePatternResolver extends ResourceLoader getResource(location); ResourceLoader의 기능 파일 시스템에서 읽어오기 클래스패스에서 읽어오기 URL로 읽어오기 상대/절대 경로로 읽어오기 AppRunner @Component public class AppRunner implements ApplicationRunner { @Auto..
Goal ApplicationContext의 ApplicationEvent Publisher에 대해 알아본다 이벤트 만들어보고 이해해본다 이벤트 순서를 보장하는 방법에 대해 알아본다 스프링이 제공하는 기본 이벤트에 대해 알아본다 ApplicationEvent Publisher란? 이벤트 프로그래밍에 대한 인터페이스를 제공하며 옵저버 패턴의 구현체다 public interface ApplicationContext extends ApplicationEventPublisher publishEvent(ApplicationEvent event) 이벤트 만들기 스프링 4.2 이전 MyEvent public class MyEvent extends ApplicationEvent { private int data; pu..
Goal ApplicationContext의 MessageSource에 대해 알아본다 messages.properties에 대해 알아본다 릴로딩 기능이 있는 메세지 기능 사용을 해본다 MessageSource란? 국제화 (i18n) 기능을 제공하는 인터페이스 public interface ApplicationContext extends MessageSource @Nullable String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale); String getMessage(String code, @Nullable Object[] args, Locale locale) throws No..
Goal ApplicationContext의 Environment기능에 대해 알아본다 프로파일에 대해 알아본다 프로퍼티에 대해 알아본다 Environment란? 스프링 환경이자 설정과 관련된 인터페이스이다 public interface ApplicationContext extends EnvironmentCapable getEnvironment() Environment이 제공하는 두가지 기능 1. 프로파일 빈들의 그룹으로, Environment의 역할은 활성화할 프로파일 확인 및 설정한다. : 디폴트 프로파일은 어떤 프로파일과 상관없이 기본적으로 적용되는 프로파일 @Component public class AppRunner implements ApplicationRunner { @Autowired Appl..
dev_rosieposie
'spring' 태그의 글 목록