백엔드   (6) 썸네일형 리스트형 [아키텍처] 마이크로 서비스 아키텍처(MSA) 높은 응집력과 느슨한 결합력 "같은 이유로 변경되는 것을 함께 모아라. 다른 이유로 변경이 되는 것은 분리하라." -로버트 마틴의 단일 책임 원칙 마이크로 서비스의 2가지 기본 속성 1. 각 카이크로 서비스는 독립적으로 배포될 수 있다. 그렇지 않으면 마이크로 서비스 애플리케이션은 배포 시점에 여전히 모놀리식이 된다. 2. 마이크로서비스는 교체할 수 있다. 이 역량은 자연스럽게 마이크로서비스의 크기를 제한한다. 마찬가지로 이는 서비스의 책임 또는 역할을 이해하기 쉽게 만든다. 마이크로 서비스의 핵심 원칙 1. 자율성 : 각 서비스는 다른 서비스와 독립적으로 변경되고 운영된다. 2. 회복성 : 장애를 격리하는 자연스러운 매커니즘 → 한 부분에서 장애가 발생해도 다른 부분에는 장애가 발생하지 않음. 장애가 .. [🐾 일지] SpringBoot 3.x.x + mariadb 연동 환경설정(docker) 항상 MySQL workbench만 사용하다가 한번 워크벤치 설정을 잘못하는 바람에 모든 권한에 막아져버렸다...ㅎ docker에 mariadb를 사용해서 연동하게 된 계기랄까. 결과적으로 이제 MySQL보다 mariadb 가 훨씬 편해졌다 프로젝트 설정 시에 데이터베이스 구축할 때 mariadb 데이터베이스 설정하는 방법에 대한 포스트이다. 팀원한테 정리 잘했다고 칭찬받음 뿌-듯 ✓ [조건] docker는 설치가 되어 있어야 합니다! 1. cmd or terminal에서 최신버전 mariadb 설치 docker pull mariadb:latest 2. 도커 이미지 확인 → 아래 노란색 네모와 같이 나타나면 성공! docker search images 3. 도커 컨테이너 생성 및 실행 우리 팀은 mysq.. [🐾 일지] object references an unsaved transient instance - save the transient instance before flushing Station과 Video는 1:1 연관관계를 가지고 있다. 1. 프론트에서 video file과 station 정보들 입력받기 2. video를 데이터베이스에 저장 3. station의 정보를 저장하면서 video도 함께 저장해줌 이것이었는데 하다보니 오류가 났다. Station은 video_id를 FK로 참조하고 있는데 video를 저장하지 않은 상태에서 참조하려다 보니 발생한 문제였다. 🍎 해결방법 @OneToOne → @OneToOne(cascade = CascadeType.ALL) 위와 같이 바꿔주어 영속성 전이 설정을 해준다. Station이 저장될 때 Video도 함께 저장을 해주는 것이다. StackOverflow에서 찾아보니깐 나중에 삭제할 때 문제가 될 수도 있다고 하는데 @ManyTo.. [🐾일지: JPA ] JPA date 에 default now() 넣기 엔티티 컬럼을 작성하다가 생성일자 같은 컬럼명을 작성할 일이 생겼다. 1. Application 클래스에 @EnableJpaAuditing을 추가한다 → 나는 Application 에 넣었지만 필요하다면 @Configuration 클래스와 함께 사용해도 된다 @EnableJpaAuditing @SpringBootApplication public class StackersApplication { public static void main(String[] args) { SpringApplication.run(StackersApplication.class, args); } } 🍒 EnableJpaAuditing Enable + Jpa + Auditing : Jpa "감시"를 가능하게 함 시간에 대해 자동으로 .. [🫥 오류 해결] WebSecurityConfigurerAdapter, authorizeRequest() deprecated Spring Security 공부를 하다가 오류가 발생했다. 강의에서는 잘 되던 인터페이스 상속이 되지 않는 문제... 찾아보니 이제 지원이 안되고 @Bean 으로 생성해서 써야 한다고 한다. @Configuration @EnableWebSecurity public class SecurityConfig{ @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf().disable(); http.authorizeRequests() .antMatchers("/user/**").authenticated() .antMatchers("/manager/**").access("hasAnyRole('ROLE_MA.. [Java:Spring Framework] 01. 스프링의 개념 ⭐️ 프레임워크 vs 라이브러리 프레임워크 : 뼈대나 기반구조 → 흐름을 프레임워크가 쥐고 있음 라이브러리 : 단순 활용 가능한 도구들의 집합 → 흐름을 사용자가 쥐고 있음 프레임워크는 가져다가 사용한다는 개념보다는 프레임워크에 들어가서 사용한다는 느낌/관점으로 접근할 수 있다. 라이브러리는 사용자가 가져다가 사용한다는 개념이다. 프레임워크는 변경이 어렵기 때문에 자신이 원하는 프레임워크를 제대로 가져다 쓸 수 있어야 한다. ⭐️ Spring Framework란 무엇이고 왜 사용하는가 스프링 프레임워크는 자바 어플리케이션을 개발할 때 구조적 기능 틀을 제공하는 오픈소스 어플리케이션 프레임워크이다. 백엔드 코드를 구축할 때 프레임워크 없이 개발하려면 Servlet, JDBC 설정 등을 직접 모두 해야 하지.. 이전 1 다음