CS-Theory
-
null 이란 무엇인가.CS-Theory 2022. 9. 29. 18:00
null 을 왜 사용 할까? 참고 자료 : https://www.youtube.com/watch?v=N08BSA3rwhU/ 1. 자바는 포인터가 없다? 자바,c# 둘다 포인터가 없을 뿐이지 , 자바의 모든 오브젝트는 레퍼런스를 사용한다 즉 포인터 개념이다 . 2. 포인터는 메모리주소를 저장 하는 변수이다. 포인터가 null 을 가르킨다 = 아무것도 가르 키는게 없다. => 포인터는 주소를 가르키거나 / invalid 한 상태 (null) null 이 탄생한거는 변수를 표현하면서 상태를 표현이 가능하다. 보통 함수는 리턴 값이 하나이다, 데이터가 없는 것을 어떻게 표현 할 것인가 ? == null 로 표현이 가능하다. -> boolean 으로 표현이 가능할텐데 함수를 하나 만들어서 상태를 판별 하는건 어떤..
-
Hash Map 보다 Array가 더 빠르다.CS-Theory 2022. 9. 29. 17:45
서문 : 3학년 2학기를 듣는 지금 단순하게 코드를 짜느것 보단 하드웨어를 이해를 하여 생기는 판단의 근거를 앞으로 1년동안 만들고 싶다라는 생각이 들었다. 다음은 1학년때 부터 듣던 유투브에 나온 이야기 이다. https://www.youtube.com/watch?v=g4sXh0NR0Dk&t=247s/ 본론 HashMap 보다 Array 가 더 빠르다 . CPU 에 들어가는 캐쉬 때문이러고 한다. 모든 상황에서 그런가 ? 관련 영상에서는 그건 아니다라고 한다. 하지만 N 개를 연속으로 look up 하는 경우 Vector 의 경우 cache Hit 이 더 빠를 수 있고 , 64B 캐시라인에 int32 를 벡터 vs 해쉬테이블에 넣는다 생각하면 16 elem 까지는 벡터가 access는 무조건 빠를 것 ..
-
DB 기본 개념(Transaction)CS-Theory 2022. 9. 1. 12:17
DBMS 를 왜 사용함? 데이터와 프로그램 사이의 의존성을 떨어뜨리기 위하여 사용을 한다 . ------------------------------------ ------------------ ------------------ ------------------ Transaction 정의: 데이터 베이스의 상태를 변화 시키기 위해 수행하는 작업 단위 이다. Transaction 특징 : ACID Atomicity 원자성 : 트랜젝션이 DB 에 모두 반영되거나, 혹은 전혀 반영되지 않아야 한다. Consistency 일괸성: 트랜젝션의 작업 처리 결과는 항상 일돤성이 있어야 한다. Isolation 독립성 : 둘이상의 트랜잭션이 동시에 병행 실행되고 있을때 , 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수..