본문 바로가기

728x90

전체 글

개인프로젝트 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 웹플럭스로 구현해볼지 심히 고민이 된다... 웹플럭스로 된 프로젝트도 병행적으로 한번 구현해봐야겠다. 더보기
완전 이진트리란? 부모 노드 하나에 자식노드가 항상 두개가 있어야하고 왼쪽부터 항상 채워져야함 더보기
힙은 언제 사용할까? 힙은 데이터의 최대값 혹은 최소값을 찾을때 사용한다. 그러므로 항상 최대값 혹은 최소값들이 필요한 문제에서는 힙을 사용한다. max 힙 : 상위 부모 노드가 가장 큰것 그러므로 자식 노드가 부모보다 항상 작아야한다. min 힙 : 상위 부모 노드가 가장 작은것 그러므로 자식 노드가 부모보다 항상 커야한다. 구조 : max 힙은 항상 큰값이 상위레벨 작은값이 하위레벨에 있다. 즉 max 힙을 구할때는 가장 큰값은 모든 자식보다 항상 커야한다.!! 그리고 모든 부모노드는 자식노드 보다 커야한다!! 완전이진트리라도 모든부모노드가 자식노드보다 크지않으면 max 힙이라고 말할수 없다. 추가 삭제가 o log(n)이므로 원소를 최대값에 빠르게 추가하거나 삭제할때 사용한다. 더보기
개인프로젝트 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