이진탐색
·
CS/알고리즘
이진탐색 찾아야 하는 수의 범위 중 가운데의 값과 찾고자 하는 값을 비교하여 대소 관계에 따라 특정 구간으로 이동하는 것을 반복. 전제 숫자들이 좌에서 우측으로 커진다는 전제에서 가능하므로, 숫자들은 항상 정렬되어있어야 한다. 가운데의 숫자를 선택하고 해당 숫자보다 크다면 우측(최소 값 위치를 타겟 숫자 + 1로 변경, 최대 값 위치 유지) 작다면 좌측 범위를 선택하게 되는 것(최소 값 위치 유지, 최대 값 위치를 타겟 숫자 -1로 변경) 시간복잡도는 구간의 길이가 1이 될때까지 계속해서 반으로 감소하는 것을 반복하기 때문에, 루프는 약 log2​N 번 돌게 된다. 루프 내부 연산의 시간 복잡도는 O(1)이기 때문에, 자연스럽게 시간복잡도는 O(1∗logN)=O(logN) 이진 탐색을 사용 하는 이유는 ..
[WSL ERROR] VS Code Server for WSL closed unexpectedly.
·
Server/Error
에러 발생 WSL을 설치하고, VS Code를 사용하여 Ubuntu 환경에서 VS Code를 실행시킬 때, 다음과 같은 에러가 발생하였다. VS Code Server for WSL closed unexpectedly. 관련 영상의 질의응답에서 찾아본 답변으로는 WSL의 버전으로 인한 에러를 의심하셨으나, WSL의 버전은 이미 2로 올려놓은 상태였기 때문에 다른 에러를 찾아보게 되었다. 그 와중에 눈에 들어왔던 에러는 docker-desktop-data였다. 이미 설치가 되어있다고 하는데.. docker-desktop-data는 이미 Stopped가 되어있는 상태였다. 위의 목록에서 docker-desktop-data 옆에 별표가 의심스러워서 저 별표를 Ubuntu-20.04로 바꾸기 위한 검색이 시작됐다..
[Spring Security] UserDetails를 User에 구현하여 사용하기.
·
Server/Spring&Spring Boot
Spring Seucurity를 설정하다 보면 UserDetailsService를 통해 가입된 회원인지 확인하여 반환하는 메서드를 구현하게 된다. Spring Security Config @EnableWebSecurity @Configuration @RequiredArgsConstructor public class SecurityConfig { ... @Bean public UserDetailsService userDetailsService() { return email -> memberRepository.findByMemberEmail(email) .orElseThrow(() -> new UsernameNotFoundException("존재하지 않는 회원입니다.")); } } 이렇게 작성하고 나면, 바..
[Security Error] Authentication, Caused by: java.lang.NullPointerException
·
Server/Error
에러발생 TestCode를 진행하다 보니 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException NullPointerException이 발생하고 있었다. 컨트롤러 @RestController @RequestMapping("/api/v1/blog") @RequiredArgsConstructor public class BlogRestController { private final BlogService blogService; @PostMapping("/rename/{blogId}") public Response renameBlog( ..
[JPA ERROR] FetchType.LAZY 설정으로 인해 Proxy 객체가 초기화 되지 않았을 때 발생한 에러
·
Server/Error
문제 org.springframework.messaging.converter.MessageConversionException: Could not write JSON: could not initialize proxy \[com.onlyu.domain.entity.Member#1\] - no Session (through reference chain: com.onlyu.domain.entity.Chat\["chatRoom"\]->com.onlyu.domain.entity.ChatRoom\["member1"\]->com.onlyu.domain.entity.Member$HibernateProxy$XbE9wKRQ\["email"\]); nested exception is com.fasterxml.jackson.d..
[Refactor] boolean을 사용하여 메서드 정리
·
Server/Spring&Spring Boot
개선이 필요했던 이유 개발을 진행하던 도중 요청에 대해 수락, 거절을 해야 하는 메서드를 생성하게 되었다. 컨트롤러에서 어떤 요청을 타고 들어오느냐에 따라 accept, refuse 메서드를 선택하게 된다. 90%에 대한 로직은 동일하고 마지막 부분에 accept, refuse에 따라 상태변환 메서드 한 줄만 달라지는 메서드였다. 코드 @Transactional public void acceptFriendRequest(Long receiverNo, Long requesterNo) { Member requester = memberRepository.findById(requesterNo).orElseThrow( () -> { throw new OnlyUAppException(ErrorCode.MEMBER_N..
[멋쟁이 사자처럼] 백엔드 스쿨 수료 리뷰.
·
회고록/Archive
서문더위가 막 지나갈 무렵 시작되었던 부트캠프의 교육과정이 혹한기가 될 즈음 끝이 났다. 그리고도 한 달이 지났다. 원래는 더 빠르게 회고록을 작성하려고 했는데, 이리저리 현생에 치이다 보니 벌써 한 달이라는 시간이 지나버렸다. 그래도 그 한 달이라는 시간 동안 미니 프로젝트 하나, 면접 하나, 프로젝트 2건을 진행하고 있으니 나름 좋은 시간을 보내고 있는 것 같다. 일단 많은 분들이 질문해 주시는 내용에 대한 답변으로 글을 시작해보려고 한다. "백엔드 과정 만족하셨나요?" 답변은 당연히 "YES"본문관리 부분교육과정이 시작되는 즈음으로 돌아가보면 굉장히 혼란스러웠던 시기라고 말할 수 있을 것 같다. 굉장히 높은 교육 수준을 기대했던 몇몇 수강생들과의 마찰로 인해 꽤나 정신이 없었지만, 다행히도 빠른 운..
[Spring, html error] Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]
·
Server/Error
문제 발생 Join email password nickname 회원가입 뒤로가기 @PostMapping("/join") public String join(@RequestBody final @Valid JoinRequest request) { log.info("email = {}, nickname = {}", request.getEmail(), request.getNickname()); try { JoinResponse member = memberService.join(request); } catch (DataIntegrityViolationException | OnlyUAppException e) { throw new OnlyUAppException(ErrorCode.DUPLICATED_MEMBER_IN..
코드플리
'분류 전체보기' 카테고리의 글 목록 (8 Page)