전체 글 (223) 썸네일형 리스트형 [Operating System] 운영체제 정리 Operating system: 컴퓨터 하드웨어를 관리하는 소프트웨어 Operating systemd의 목표 하드웨어와 소프트웨어의 인터페이스다. 편의를 위한 라이브러리를 제공한다. 마우스, 키보드 등의 관리를 편하게 해준다. Process Process: 실행 중인 프로그램 – 메모리에 올라가서 동작을 하고 있는 것을 말한다. 별도의 고유한 상태를 가지고 있다. Program: 저장장치에 저장된 실행 파일을 말한다. 메모리에 올려서 실행 가능하게 만들어야 한다. 하나의 program 에는 여러 개의 process 가 존재한다. Job: batch 시스템에서 다루는 일종의 process 라고 말할 수 있다. Task: 일이 끝나고 기다리고를 반복하지 않고 전체를 조금씩 수행하는 것을 말한다. 하나의 하드.. [Spring Boot] 외부 API 정보 가져오기 RestTemplate는 HTTP 요청을 동기 방식으로 실행하는 것으로 json이나 xml과 같은 일반적인 template에 대해 간편하게 응답을 받을 수 있습니다. RestTemplate는 다음의 함수를 제공합니다. method http description getForObject GET 주어진 URL로 GET 방식을 사용하여 responseType으로 결과를 받는다. getForEntity GET 주어진 URL로 GET 방식을 사용하여 ResponseEntity로 결과를 받는다. 다은은 getForObject 함수를 사용하여 외부 API 경로의 결과를 Item.class 타입으로 받는 예제입니다. private Item[] getItemList() { String url = "외부 API 경로"; R.. [Spring Boot] dto의 toEntity를 어떻게 사용해야할까? POST, PUT과 같이 서버의 리소스를 생성, 수정할 경우에 dto의 toEntity 함수를 어떻게 작성하면 좋을지에 관한 고민입니다. 게시글 작성 예시를 중심으로 살펴보겠습니다. 게시글을 작성할 때에는 제목, 설명 그리고 작성자가 필요합니다. 게시글을 작성 과정은 다음과 같습니다. 회원은 로그인을 진행한다. 로그인에 성공하면 JWT 토큰을 발급받는다. 게시글 작성 폼에 들어와서 제목과 설명글을 작성한다. 게시글 작성하기 버튼을 클릭하여 게시글 정보를 서버에 저장한다. 위의 과정을 토대로 dto를 설계할 때에 제목과 설명은 다른 entity와 관계가 없기 때문에 문제가 되지 않습니다. 문제가 되는 부분은 회원과 관계를 가지는 작성자 부분입니다. 작성자를 고려한 dto 설계는 크게 2가지가 있습니다. d.. [Algorithm] 알고리즘 정리 정렬 선택 정렬(selection sort) 배열에서 가장 큰 값을 선택하여 정렬되지 않은 배열의 맨 뒤로 이동시켜 정렬하는 방법입니다. 모든 경우에 대해서 O(n^2)의 시간 복잡도를 가집니다. 버블 정렬(bubble sort) 배열에서 인접한 두 값을 비교하여 조건에 맞게(오름차순, 내림차순에 따라 다름) 값의 위치를 이동시켜 정렬하는 방법입니다. 선택 정렬과 마찬가지로 모든 경우에 대해서 O(n^2)의 시간 복잡도를 가집니다. 향상된 버블 정렬(enhanced bubble sort) 버블 정렬과 같은 방법으로 동작하지만 이중 반복문을 순환하는 동안 값이 한 번도 바뀌지 않으면 정렬되었다고 가정하는 정렬 방법입니다. 버블 정렬과 마찬가지로 모든 경우에 대해서 O(n^2)의 시간 복잡도를 가집니다. 삽.. [Error] Failed to parse configuration spring-boot를 사용하여 개발하던 중에 파일의 역할에 맞게 정리하기 위해 폴더를 변경하였더니 아래와 같은 오류가 발생하였습니다. Failed to parse configuration class [backend.core.CoreApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'memberController' for bean class [backend.core.controller.member.MemberController] conflicts with existing, non-compatible bean.. [Error] ids for this class must be manually assigned before calling save() 게시글에서 구성원들을 설정하는 기능을 개발하여 테스트를 하던 도중에 다음의 error가 발생하였습니다. nested exception is org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): backend.core.domain.Staff error 발생 원인은 EntityManage.save() 함수를 호출하기 전에 id 값이 설정되어 있어야 한다는 것입니다. 따라서 Staff.java의 id 값 설정에 문제가 있을 것을 알 수 있었습니다. 문제 해결을 위해서 Staff.java 파일을 열어 id 값을 확인해본 결과 다음의 코드가 작성되어 있었습니다... [Error] No entity found for query Spring을 사용하여 로그인 처리를 하던 중에 email을 사용하여 회원을 찾는 기능에서 error가 발생하였습니다. javax.persistence.NoResultException: No entity found for query 해당 기능은 Optional을 사용하여 구현하였고, 결과가 null일 경우 404 Not Found error가 발생해야 하지만 예상과는 다르게 500 Internal Server Error가 발생하였습니다. 따라서 Repository에 구현된 findByEmail에 문제가 있다는 것을 알 수 있었습니다. 문제 해결을 위해서는 getSingleResult를 사용하지 않고, getResultList을 사용하는 것으로 해결 가능합니다. // 수정 전 public Optional .. [Error] cannot deserialize from object value spring 프로젝트에서 JWT 웹 토큰을 사용하여 회원가입 테스트하던 중에 아래와 같은 error가 발생했습니다. Cannot construct instance of `backend.core.controller.member.dto.MemberSignUpRequestDto` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) error 메시지를 살펴보니 회원가입 API에 사용되는 MemberSignUpRequestDto를 생성하지 못한다고 되어있습니다. MemberSignUpRequestDto의 생성자 형식에 맞게 json 요청을 보.. 이전 1 2 3 4 5 6 ··· 28 다음