본문 바로가기

전체 글153

DML, DDL, DCL이란? DDL(Data Define Language) 스키마/도메인/테이블/뷰/인덱스를 정의/변경/삭제할 떄 사용하는 언어이다. 데이터 정의어 : CREATE, ALTER, DROP,TRUNCATE DML(Data Manipulation Language) 쿼리를 통해 저장된 데이터를 실질적으로 관리하는 데 사용한다. 테이블 안의 데이터를 추가하고 삭제/수정 하는것 데이터 정의어 : INSERT, DELETE, UPDATE DCL(Data Control Langage) 보안/무결성/회복/병행 제어 등을 정의하는 데 사용한다. 데이터 관리 목적 데이터 정의어 : COMMIT, ROLLBACK, GRANT, REVOKE DELETE와 TRUNCATE의 차이점 DELETE는 행 일부 또는 전체 데이터를 지운다. TRU.. 2024. 1. 11.
DB 정규화란? 정규화란? 이상 현상을 제거하기 위해서 데이터베이스를 올바르게 설계해 나가는 과정 정규화 종류 제1정규형 테이블의 컬럼이 원자값을 갖도록 분해하는 것 제2정규형 제1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것 완전 함수 종속->기본키의 부분집합이 결정자가 되어서는 안된다는 것 제3정규형 제2정규화를 진행한 테이블에 대해 이행적 함수 종속을 없애도록 테이블을 분해하는 것 이행적 함수 종속-> A->B,B->C가 성립할 때 A->C가 성립되는 것을 의미한다. BCNF정규형 제3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것 정규화의 장단점 장점 DB 변경 시 이상현상문제 해결. 불필요한 쿼리 제거로 성능 향상 단점 릴레이션의 분해로 인해 .. 2024. 1. 11.
StringBuffer 와 StringBuilder의 차이점 StringBuffer 동기화를 지원하여 멀티쓰레드 환경에서 주로 사용한다-> Thread-safe하다 -> 싱글쓰레드 환경일 경우 StringBuffer을 사용해도 되나 동기화관련 처리 때문에 StringBuilder보다 성능이 좋지는 않다. 가변성을 가진다 ->문자열 연산작업이 많을 떄 사용하기 좋다 StringBuilder 동기화를 지원하지 않아 싱글쓰레드 환경에서 주로 사용한다. 가변성을 가진다. ->문자열 연산작업이 많을 떄 사용하기 좋다 cf)Thread-safe-> 멀티쓰레드에서 한 쓰레드가 한 함수를 호출해서 실행되고 있을 때 다른 쓰레드가 그 함수를 호출해서 동시에 실행되더라도 각 쓰레드에서의 함수의 수행결과는 올바르게 나온다. -> 동기화 처리 문제로 속도 측면에서 느려질수 있다. cf.. 2024. 1. 11.
call by value, call by reference란? Call by value 인자로 받는 값을 복사하여 처리하는 방식을 의미한다. Call by reference 인자로 받는 값의 주소를 참조하여 직접 값에 영향을 준다. call by value 장점 : 원본값의 불변성을 보장해준다. 단점 : 복사를 해야하기 때문에 메모리 사용량이 늘어나다 call by reference 장점 : 복사하지 않고 직접 참조하기 때문에 빠르다 단점 : 직접참조하기 때문에 원본값이 영향을 받는다. java에서는 포인터가 없어 기본적인 매개변수는 call by value이다. 2024. 1. 4.
Bitcoin clears $45,000 as key date for ETF approval looms https://www.investing.com/news/cryptocurrency-news/bitcoin-clears-45000-as-key-date-for-etf-approval-looms-3265173 Bitcoin clears $45,000 as key date for ETF approval looms By Investing.com Bitcoin clears $45,000 as key date for ETF approval looms www.investing.com approval looms : 승인이 임박하다 speculation : 추측 cryptocurrency : 암호화폐 exchange traded fund : 상장 지수 펀드 on account of : ~때문에 ruling : 결정, 판.. 2024. 1. 3.
abnormal build process termination 오류 해결방법 위와 같이 해봐도 해결이 안될경우가 있을 것이다. 나의 경우 JDK home path 부분에 문제가 생겨 아래와 같이 해결했다 SDKs 에서 JDK home path 부분에 오른쪽 폴더 표시를 누르면 위와 같이 SDKs 가 나오는데 이부분에서 내가 최신버젼으로 설치한 jdk 경로를 선택해주면 된다. 이 때 openJDK version 17.0.7 이라고 나와있는 부분이 버젼인데 이부분에서 가장 최신으로 선택하면된다. 참고로 ) build and run 부분에서도 java 17로 선택해줘야 한다. 2023. 12. 31.
객체, class, instance 란? 객체 : 형식 + 단위 (형식을 갖춘 단위) class : 객체를 기술하는 문법(자료형) ex) class test{ test a; }; Instance : 실제 사례( ex) 미인(class) 아이유 ; 개념 실제 사례 2023. 12. 31.
페이징(Paging)과 세그맨테이션(Segmentation)이란 논리적 주소(logical address) process가 memory에 적재되기 위한 독자적인 주소 공간을 말한다. 이 떄 논리적 주소는 각 process마다 독립적으로 할당되며, 0번부터 시작된다. 물리적 주소(physical address) process가 실제로 메모리에 적재되는 위치를 말한다. 주소 바인딩(address binding) cpu가 기계어 명령을 수행하기 위해 process의 논리적 주소가 실제 물리적 메모리의 어느 위치에 매핑되어있는지 확인 하는 과정을 말한다. 페이징(Paging) process의 메모리 공간을 일정한 크기의 page단위로 나누어 물리적 메모리의 서로 다른 위치에 page를 저장하는 메모리 관리 기법 이 떄 물리적 메모리를 page와 같은 크기의 frame으로 미.. 2023. 12. 27.
Synchronous 와 Asynchronous란? Synchronous(동기) 호출하는 함수가 호출되는 함수의 작업 완료 후 리턴을 기다리거나 호출되는 함수로부터 바로 리턴 받더라도 작업완료 여부를 호출하는 함수 스스로 계속 확인하며 신경쓰는 방식 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미 Asynchronous(비동기) 호출되는 함수에게 callback을 전달해서, 호출되는 함수의 작업이 완료되면 호출되는 함수가 전달받은 callback을 실행하고, 호출되는 함수는 작업 완료 여부를 신경쓰지 않는 방식 시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미 Blocking/Non-Blocking I/O 와 차이점 호출되는 함수의 작업완료 여부를 호출한 함수가 신경쓰냐 안쓰냐-> Synchronous/Asy.. 2023. 12. 27.
index란 무엇인가? Index는 데이터베이스에서 table의 검색 성능을 높여주는 대표적인 방법중 하나입니다. 일반적인 RDBMS(관계형데이터베이스)에서는 B+Tree구조로 된 index를 사용하여 검색속도를 향상시킵니다. 장점 1. 검색 속도 향상 -> 테이블안에 데이터가 무분별하게 섞여 있을 경우 index가 없을 경우 처음부터 끝까지 다 읽어서 검색조건과 맞는지 비교해야된다 이것을 Full Table Scan 이라고 한다. 반면에 index가 있을 경우 데이터들이 정렬되어 저장되어 있기 때문에 검색 조건에 일치하는 데이터들을 빨리 찾아낼 수 있습니다 단점 1. 추가 저장공간이 필요 -> index 자료구조를 위한 저장공간이 추가적으로 필요하다. 보통 table크기의 10%정도의 공간을 차지한다 2. 데이터 변경 작업시.. 2023. 12. 27.
728x90