분류 전체보기 (47) 썸네일형 리스트형 Mybatis 기준 SQL 명령어 모음 데이터 조작 언어 (DML)SELECT: 특정 조건에 맞는 데이터를 조회합니다. (예: SELECT * FROM users WHERE age > 30;)INSERT: 테이블에 새로운 행을 추가합니다. (예: INSERT INTO users (name, age) VALUES ('홍길동', 30);)UPDATE: 테이블의 기존 데이터를 수정합니다. (예: UPDATE users SET age = 31 WHERE name = '홍길동';)DELETE: 테이블에서 행을 삭제합니다. (예: DELETE FROM users WHERE id = 1;)데이터 정의 언어 (DDL)CREATE TABLE: 새로운 테이블을 생성합니다. (예: CREATE TABLE users (id INT PRIMARY KEY, name .. 트러블슈팅 - Post Ban 오류 Ban 기능 구현 중, Post 진행 시 계속해서 타입 오류가 발생했다.java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.lang.String (n/a)]이런 오류인데, post 과정에서 service 클래스에서 ban에서의 유효성 검증을 위해서 이미 등록되어있는 ban인지 확인하는 과정에서ban repository를 통해 검증하는데 long 타입이 들어가야 하는데 계속 올바른 타입이 아니라고 뜨는 오류가 발생했다. 기존 repository에서 사용한 코드는 아래와 같다.public interface BanRepository extends JpaRepository { Optional fin.. 2차 프로젝트(EVision) 트러블슈팅 문제 식별프로그램 설계 상 판매가는 삭제 없이 등록과 수정만 가능했고, 수정 시에는 기존 값을 변경하는 대신 새로운 판매가가 최신 판매가로 등록되었다.그러나 사용자가 실수로 잘못된 값을 입력했을 경우 이를 되돌릴 방법이 없다는 문제가 있었다. 이를 해결하기 위해 판매가 삭제 기능의 추가해야 하는 상황이 발생했다.특히 최신 판매가를 삭제하면 나머지 판매가 중 가장 최신 판매가의 종료일자가 9999-12-31로 변경되어야 했다.이를 구현하기 위해 가장 최신 데이터만 삭제하고 수정하여야 해서 Stack을 사용하려고 했으나, JPA Repository에는 Stack을 바로 저장할 수 없어서 다른 방법을 고민해야 했다.문제 해결 접근 방법JPA Repository에서 여러 데이터를 저장하기 위해 주로 사용되는 자.. www.google.com을 접속할 때 일어나는 일에 대해 OSI 7계층과 연관지어 설명해보세요 OSI 7계층은 다음과 같습니다. 1. 물리 계층 (Physical Layer)가장 밑에 있는 1계층이에요. 이 계층은 네트워크 케이블, 전파, 전선 같은 물리적인 연결을 다뤄요. 데이터를 0과 1로 이루어진 전기 신호로 바꿔서 보내고 받아요. 쉽게 말해, 컴퓨터를 연결하는 케이블이나 Wi-Fi 신호가 이 계층에 해당해요.2. 데이터 링크 계층 (Data Link Layer)이 계층에서는 데이터를 오류 없이 전달하기 위해 데이터를 작은 덩어리로 나누고, 이 덩어리를 패킷이라고 불러요. 또, 데이터를 어디로 보내야 하는지 주소(MAC 주소)를 붙여요. 이 계층은 주로 스위치나 네트워크 카드 같은 장치가 담당해요.3. 네트워크 계층 (Network Layer)여기서부터는 데이터가 어느 경로로 이동할지 결정해.. JPA 영속성 컨텍스트의 이점(5가지)을 설명해주세요. JPA영속성 컨텍스트의 이점 5가지. 1차 캐시 (First-Level Cache):영속성 컨텍스트는 기본적으로 1차 캐시로 작동합니다. 동일한 트랜잭션 내에서 같은 엔티티를 반복적으로 조회할 때 데이터베이스에 다시 쿼리를 보내지 않고, 영속성 컨텍스트에 저장된 캐시된 엔티티를 반환합니다. 이를 통해 데이터베이스 호출 횟수를 줄여 성능을 향상시킬 수 있습니다.변경 감지 (Dirty Checking):영속성 컨텍스트는 엔티티의 변경 사항을 추적합니다. 트랜잭션이 커밋될 때, 변경된 엔티티들을 자동으로 감지하여 데이터베이스에 필요한 업데이트 쿼리를 생성합니다. 개발자가 일일이 업데이트 쿼리를 작성하지 않아도 되며, 데이터의 일관성을 유지할 수 있습니다.지연 로딩 (Lazy Loading):영속성 컨텍스트는 .. 배열과 링크드 리스트의 차이를 설명해주세요 배열은 정적 자료구조이며 미리 크기를 정해놓은 뒤 해당 크기만큼의 연속된 메모리 주소를 할당받기 때문에 인덱스를 가지고 있어서 임의 접근이 가능하다는 장점이 있어서 접근 및 탐색에 용이합니다.하지만 크기가 미리 정해져있어서 크기 수정이 불가능하여 해당 배열 크기 이상의 데이터를 저장할 수 없다는 단점이 있습니다. 링크드리스트는 동적 자료구조이며 크기를 정할 필요가 없고 연속된 메모리 주소를 할당받지 않습니다.대신 Node라는 구성요소로 이루어져있으며, 그 노드 안에 데이터와 다음 데이터를 가리키는 주소를 가지고 있습니다.링크드 리스트의 장점은 크기의 제한이 없어서 데이터의 추가, 삭제가 자유롭다는 점이 있고 단점으로는 연속적인 메모리 주소를 할당받지 않기 때문에 임의 접근이 불가능하여 데이터를 탐색할 때.. 데이터베이스에서 인덱스를 사용하는 이유 및 장단점에 대해 설명해주세요. 데이터베이스에서 인덱스를 사용하는 이유는 검색성능을 향상시키기 위해서입니다.데이터베이스에서 사용하는 인덱스는 특정 Column에 인덱스를 생성하여 별도의 메모리 공간에 데이터의 물리적 주소를 저장하여 인덱스를 조회해 데이터를 찾는 방식으로써 검색에서의 성능을 향상시킵니다. 데이터베이스에서 인덱스를 사용함으로써 생기는 장점은 테이블을 조회하는 속도와 성능을 향상시킬 수 있으며 전반적인 시스템의 부하를 줄일 수 있는 것이며 단점은 인덱스를 관리하기 위해 데이터베이스의 일정부분의 저장공간을 사용한다는 점, 잘못 사용한다면 오히려 성능이 저하되는 점, 인덱스를 관리하기 위하여 추가적인 작업이 필요한 점 등이 있습니다. 좋은 코드란 무엇인가? 좋은 코드란, 크게 테스트, 리팩토링, 동시성 처리 등 개발 전반에서 잘 동작하는 코드 및 유지 보수가 용이한 코드를 의미한다고 생각합니다.이러한 부분을 기반으로하여 가독성을 추구하고 직관적으로 이해할 가능성이 높아야 좋은 코드라고 생각합니다.가독성이란 코드가 잘 읽히고 해당 코드의 동작을 직관적으로 예측할 수 있는지를 뜻하며 가독성을 추구한다는 것은 코드 해석에 드는 비용을 줄이는 것이라 볼 수 있습니다. 가독성은 크게 두가지로 나눌 수 있는데 표현적 가독성과 기능적 가독성입니다.표현적 가독성은 눈에 잘 들어오고 읽기 편한 것에 초점을 맞춘 가독성이며, 기능적 가독성은 기능적으로 해당 코드가 어떤 역할인지, 어떤 관계를 맺는지 직관적으로 파악하는 것 등에 초점을 맞춘 가독성입니다. 이전 1 2 3 4 ··· 6 다음