본문 바로가기

728x90

개인프로젝트

개인프로젝트 8일차 Description: Parameter 1 of constructor in com.example.indivisual.user.service.UserServiceImpl required a bean of type 'org.springframework.security.crypto.password.PasswordEncoder' that could not be found. Action: Consider defining a bean of type 'org.springframework.security.crypto.password.PasswordEncoder' in your configuration. password Encoder 환경설정을 안해줘서 나는 문제이다. @Bean public PasswordEncode.. 더보기
개인프로젝트 7일차 강한결합하면 안되는 이유!! 강한결합을 사용하게 되면 A가 에러가 나면 B가 영향을 받기 때문에 즉!! 느슨한 결합을 이용해야한다. 느슨한 결합을 하기위해 middleware가 필요하다!! (* 큰 -> 작은) MOM(Message Oriented Middleware -> MessageQueue -> kafka,RqbbitMQ Kafka는 대용량 처리에 특화되어있고, 데이터가 날아가지 않은 비휘발성 RqbbitMQ는 각각의 메시지별 로 다르게 처리 라우팅키가 있어서 어떤 서버에 어떤 메시지를 보낼건지 결정할수있다. linkedin 에서 kafka를 만듬 Kafka는 offset별로 메시지를 구분할수있음 Message Queue를 사용하는 이유(장점) 1. Asynchronous 비동기 2. Decoupl.. 더보기
개인프로젝트 6일차 잠깐 프로젝트를 멈추고 kafka 와 채팅관련 이론들을 정리하기로 했다. https : http에서 ssl(공개키) 이나 tls(Transport Layer Security) 프로토콜로 암호화를 한 프로토콜 ssl : 공개키 암호화 방식과 공개키의 느리다는 단점을 보완한 대칭키 암호화 방식을 함께 사용한다. 공개키 방식으로 대칭키를 전달하고, 서로 공유된 대칭키를 가지고 통신하게 된다 https://eun-jeong.tistory.com/27 [네트워크] HTTPS (개념, SSL/TLS 암호화 과정, 장단점) 최근 진행한 프로젝트에서 음성인식 때문에 Webkit 기반의 Speech Recognition API를 사용했다. 로컬 환경에서는 카메라 및 마이크 요청을 허용해주니 문제 없이 잘 됐지만, AWS.. 더보기
웹플럭스란 https://realzero0.github.io/study/2021/12/02/Lets_Start_Webflux.html Webflux란 무엇인가? 안녕하세요~ Jay의 블로그입니다. realzero0.github.io 웹플럭스로 구현해볼지 심히 고민이 된다... 웹플럭스로 된 프로젝트도 병행적으로 한번 구현해봐야겠다. 더보기
개인프로젝트 5일차 오늘은 스프링 시큐리티를 완성시켰다. 스프링 시큐리티를 하나하나 이해하고 처음부터 짜는것 보단 기존에 있는 소스를 이해하고 복붙을 하였다. 복붙하는과정에서 에러가 2가지가 발생했다. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository' defined in com.example.indivisual.user.repository.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not.. 더보기
개인프로젝트 4일차 스프링 시큐리티의 필요성 : 아무나 API를 호출 할수 없기 때문에 API가 호출될때마다 사용자 인증을 해줘야된다. 우리의 시큐리티 구조는 인증 후 인가를 한다. 즉 쉽게 말해 신원을 확인후 신원을 확인한 사람한테 접근 권한을 주는것 이다. 즉 스프링 스프링 시큐리티는 인증을 위해 있는것이며, 서블릿 필터의 집합이라고 볼 수도 있다. 이론을 정리하기 전에 방법을 정리해보자 1. config에서 SecurityConfig 클래스 생성 (스프링 버젼이 올라가면서 WebSecurityConfigurerAdapter 클래스가 Deprecated됨) 그러므로 @Bean 어노테이션으로 시큐리티를 추가해야한다. WebMvcConfigurer를 implementations 받는다. 2. JwtAuthFilter 클래스.. 더보기
개인프로젝트 3일차 개인프로젝트 3일차에는 @Restcontroller를 쓰지말고 @controller 어노테이션만 쓰고 http통신을 하기위해 컨트롤러에서 @requestbody 와 @responsebody 이걸 붙여서 한번 프로젝트를 해보려고한다. 의식의 흐름 : 1. service에 있는 메소드를 사용하기 위해 의존성 주입을 해준다. 2. @controller를 class에 붙인다. 3. userdetailesimpl에 있는 user정보와, @requestbody에 있는 정보를 메소드 파라미터에 넣어준다. 4. 그전에 시큐리티를 적용해야한다.... ㅠㅠ 오류 낫던것들 "status": 405, "error": "Method Not Allowed", "trace": "org.springframework.web.HttpR.. 더보기
개인프로젝트 2일차 Caused by: org.hibernate.AnnotationException: Entity 'com.example.indivisual.board.entity.Board' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property) Board 엔티티에 @Entity또는 필드에 @Id를 넣어주라고 한다!! 나는 했는데 왜 안돼지??? import org.springframework.data.annotation.Id; 이 import가 잘못된것이였다... ㅠㅠ 이런사소한것 하나에 시간이 너무 많이 소모해서 아쉽다... import jakarta.persistence.Id.. 더보기

728x90