본문 바로가기

분류 전체보기49

동기 & 비동기 자바스크립트의 싱글 스레드 작업 수행 방식 Tread - taskA 0.3s- taskB 0.5s - taskC 0.1s 동기 방식의 처리 자바스크립트의 싱글 스레드 작업 수행 방식 Tread - taskA 0.3s- taskB 20s - taskC 10s 동기적 처리의 단점은 하나의 작업이 너무 오래 걸리게 될 시, 모든 작업이 오래 걸리는 한나의 작업이 종료되기 전까지 올 스탑 되기 때문에, 흐름이 느려진다. 웹사이트에서 버튼 하나하나마다 30초 씩 걸리면, 속 터진다. -> 동기 처리 방식의 문제점 싱글 쓰레드 방식을 이용하면서, 동기적 작업의 단점을 극복하기 위해 여러개의 작업을 동시에 실행시킴 즉, 먼저 작성된 코드의 결과를 기다리지 않고 다음 코드를 바로 실행함 ->비동기 작업 JS Engin.. 2023. 9. 7.
Sort N^2 : bubble, selection, insertion NlogN : quick, merge, heap quick 평균적으로 nlogn을 보장하지만 최악의 경우 n^2이다. pivot을 2로 잡고 왼쪽에는 2보다 작은 것들을 오른쪽에는 큰 것들을 위치시키다. 높이가 NlogN이고 길이가 N이라서 NlogN 이 된다. pivot을 2로 잡으 왼쪽이 짧아지고 오른쪽이 길어져 valance가 깨지게 된다. valance가 나쁠수록 높이가 길어진다. 따라서 pivot을 잘 정해야한다. merge nlogn을 보장 무조건 반씩 자른다. heap 최소 정렬하고 빼오고 rearrange 하여 또 빼오고 하는 과정이 있다. import java.util.Arrays; import java.util.Collect.. 2023. 8. 3.
[Relation] mappedBy 양방향 및 단방향 매핑 고민은 주로 JPA에서 발생하는 문제이다. RDBS에서는 join을 사용하여 연결(양방향 매핑)을 쉽게 구현할 수 있다. 이는 RDBS의 기능 중 하나이며, JPA는 이에 대해 직접적인 지원을 제공하지 않는다. 그렇다면, JPA에서도 RDBS처럼 양방향 매핑이 더 좋은 선택이 아닐까 생각할 수 있다. 그러나 다음과 같은 이유로 이는 적합하지 않을 수 있다. Entity의 복잡성이 증가할 수 있다. 코드의 가독성이 떨어질 수 있다. 따라서, 일반적으로 JPA에서는 단방향 매핑을 지향한다. 그러면 두 테이블 중 어느 쪽에서 매핑을 설정해야 하는가에 대한 문제가 생긴다. 이는 다시 말해, '연관관계의 주인은 누구인가?'에 대한 질문과 같다. 연관관계의 주인은 외래키 수정 권한을 가지게 .. 2023. 7. 27.
Cookie & Session 쿠키란? 쿠키는 사용자가 웹사이트를 처음 방문할 때 웹사이트(서버로부터)에서 클라이언트의 컴퓨터에 저장해 놓은 작은 파일이다. 목적은? http 프로토콜은 웹브라우저에 응답후에 일정한 정해준 만료 시점 시간이 지나면 접속을 끊는 특징이 있다. 끊어진 뒤 사용자가 접속 요청을 해도, 매번 인증작업을 할 번거로움을 피하기 위해, 쿠키 기술이 등장하게 되었다. 쿠키의 crud 쿠기는 서버로부터 생성되어 클라이언트 pc에 저장하고 관리는 웹브라우저가 한다. 크기는 4KB이다. 저장 형식은 text이다. Spring 환경에서 Cookie를 다루는 방법 방법1 : HttpServletRespose 객체 사용 방법2 : @CookieValue("key") 사용 여기서 Session과 Cookie의 차이점으로 Sess.. 2023. 7. 19.