전체 글193 23.08.25 테스트 코드를 작성하기 전 테스트 코드가 정상적으로 돌아가기 위해서는 orphanremoval을 제거해야할 필요성을 느꼈고, 그러기 위해서는 부모객체를 삭제하는 메서드를 호출할 때 미리 자식 객체들을 제거해줘야 한다. 카드나 덱에서 해당 작업을 할 때는 조금의 귀찮음이 느껴지는 정도였지만, 점점 상위 객체로 갈 수록 기존 코드를 복사만 하면 돼서 오히려 간단해졌다. 하지만 여전히 같은 내용의 10줄이 넘어가는 코드를 붙이는게 너무 비효율적이라고 느낀다. 2023. 8. 25. 쓰레드와 쓰레드 풀 프로세스와 쓰레드의 차이점 프로세스 자신만의 고유 공간(code, data, heap, stack)과 자원을 할당받아 사용 다른 프로세스의 변수나 자료에 접근 불가 프로세스 만으로 작업을 처리하면 프로세스를 생성할 때 많은 시간이 소요되고, 스위칭의 비효율성이 커진다. 프로세스 간 통신은 비용이 비싸 통신이 어려워짐 쓰레드 다른 쓰레드와 공간과 자원을 고유하며 사용(stack만 따로 사용) 프로세스보다 실행 단위가 작아 생성 및 소멸에 대한 오버헤드 감소 자원을 공유하기 때문에 context switching이 빠름 프로세스 간 통신 시간, 방법 어려움 해소 프로세스와 쓰레드의 주소공간 프로세스 각각 독립된 메모리 영역을 할당받음 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있다. 기본적으로 다른 프로세스.. 2023. 8. 24. 쿠키, 세션의 개념과 차이 쿠키 로컬에 저장되는 키와 값을 가지는 작은 데이터 파일. 클라이언트와 서버는 아래와 같은 특징을 가지는 HTTP 프로토콜을 통해 통신하기 때문에 쿠키를 사용한다. 비연결성 서버는 클라이언트의 요청에 대한 응답을 보내고 연결이 끊어진다. HTTP 1.1 은 연결을 유지하는 keep-alive가 기본 옵션이긴 하지만 HTTP 1.0은 기본적으로 비연결성을 지킨다. 무상태성 서버는 클라이언트의 상태를 따로 저장해두지 않는다. 즉, 지난 요청은 물론 지난 요청에 대한 응답도 기억해두지 않는다. 이와 같은 이유로 HTTP는 쿠키를 사용하고, 쿠키에는 다음과 같은 정보가 담겨있다. 이름, 값, 유효시간, 도메인, 경로 만약 쿠키가 없다면 사용자는 인증이 필요한 서비스를 사용할 때마다 로그인을 해야 할 것이다. 쿠.. 2023. 8. 24. 23.08.24 오늘은 h2라는 것을 사용해 테스트코드를 만들어볼 예정이다. h2란 java로 만들어진 관계형 데이터베이스 관리 시스템이다. 장점 컴퓨터에 저장된 RAM 기반 RDBMS여서 용량이 적고, 브라우저 기반 콘솔을 지원한다. spring boot에서는 별도의 db를 사용하지 않고 사용할 수 있다. 기본 설정 // application.yml spring: datasource: url: jdbc:h2:mem:testdb driverClassName: org.h2.Driver username: sa password: h2: console: enabled: true # path: /h2-console # default 값이므로 이 경로로 들어가려면 필요없음 profiles: active: local jpa: dat.. 2023. 8. 24. 이전 1 ··· 7 8 9 10 11 12 13 ··· 49 다음