CS
📌 정렬 알고리즘 종류정렬 알고리즘정의버블 (bubble)데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식선택 (selection)대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식삽입 (insertion)대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하면서 정렬하는 방식퀵 (quick)pivot 값을 선정해 해당 값을 기준으로 정렬하는 방식병합 (merge)이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬하는 방식기수 (radix)데이터의 자릿수를 바탕으로 비교해 데이터를 정렬하는 방식 📌 버블 정렬이란?두 인접한 데이터의 크기를 비교해서 정렬하는 방법인접한 2개의 데이터를 비교하여 크기가 순서대로 되어 있지 않으면 서로 ..
📌 컴퓨터가 이해하는 정보 컴퓨터는 0과 1로 표현된 정보(데이터, 명령어)만 이해한다. ✅ 데이터 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 ✅ 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 🐣 ex) 데이터 : 1, 2 명령어 : '더하라' 📌 컴퓨터의 4가지 핵심 부품 ✅ 중앙 처리 장치(CPU, Central Processing Unit) 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 역할 (뇌랑 비슷!) ⭐️ CPU의 내부 구성 요소 산술 논리 연산 장치(ALU, Arithmetic Logic Unit) : 계산기 역할 레지스터(register) 작은 임시 저장 장치 CPU 안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있음 제어 ..
✅ ddl-auth: create ➡️ 테이블을 drop 하고 create 하려고 해보면 이런 에러를 본 적이 있을 것이다. fk 때문에 즉, 연관관계 때문에 발생한 error 자식 테이블들부터 지워나가야 하는데 아무렇게 테이블을 지우려하다보니 에러가 발생한다. ex) user를 삭제하려면 likes 때문에 삭제를 못 한다. ➡️ likes 삭제 후 user 삭제 가능 💡 참고 spring: jpa: hibernate: ddl-auto: create: 기존테이블을 삭제 후 다시 생성한다.(닫을 때 삭제하지는 않는다) create-drop: create와 비슷하지만, 종료시점에 테이블을 삭제한다. update: 삭제하지 않고 계속 업데이트한다. validate: 엔티티와 테이블이 정상 매핑되었는지만 확인한..
📌 soft delete 란 논리 삭제 UPDATE 명령어를 사용하여 삭제 여부를 알 수 있는 flag를 사용하여 표현 ❗️단점 실수로 삭제하였을 시에 복원이 가능해야 할 때 사용 ❗️단점 데이터베이스의 용량이 커질 수 밖에 없음(계속 누적되어 쌓임) SELECT 조회 시 불필요한 검색 조건을 추가해야 함(없다고 쳐야하는 데이터이기 때문) where을 꼭 써야 하기 때문에 직관적이지 않음 📌 hard delete 란 물리 삭제 테이블에서 제거하는 것 DELETE 명령어를 사용하여 직접 데이터를 삭제 ❗️장점 삭제 처리를 통해 디스크 사용량을 줄일 수 있음 SQL 작성이 편하다. ❗️단점 데이터를 복구할 수 없음 Reference Soft Delete vs Hard Delete Valar Codilis. ..