CS면접
-
대칭키 vs 공개키CS 지식/네트워크(Network) 2023. 5. 5. 21:28
대칭키 대칭키 : 암호화에 사용되는 키와 복호화에 사용되는 키가 동일. 송신자와 수신자가 동일한 키를 소유하고 있기 때문에 두 사람 모두 키에 대한 비밀을 유지해야 함. => 키의 비밀 유지가 가장 중요하며 이 키를 '비밀키'라고 함. * 아래의 디지털 서명 예시와 같이 꼭 공개키로만 암호화해야만 하고 개인키로는 복호화만 해야 하는 것은 아님. 장점 : 암호화와 복호화를 수행하는데 소모되는 시간이 매우 짧음. => 하드디스크에 저장된 파일을 암호화하는 데 사용 => 파일이나 이메일 등을 암호화하는데 효과적. 그러나 멀리 떨어져 있는 사람과 암호화된 파일이나 이메일을 송, 수신하기 위해서는 비밀키를 전달할 수 있는 방법이 제공되어야 함. => 확장성이 떨어짐 *이런 비밀키 전달을 위해 공개키 암호 알고리즘..
-
statement vs prepared statement vs callable statement interfaceCS 지식/데이터베이스(Database) 2023. 5. 4. 23:10
SQL 실행 단계 1) Parsing(쿼리 문장 분석) 2) Compile 3) Execute(실행) Statement - used to execute string-based SQL queries - SQL string을 concatenate 하기 때문에 less readable public void insert(PersonEntity personEntity) { String query = "INSERT INTO persons(id, name) VALUES(" + personEntity.getId() + ", '" + personEntity.getName() + "')"; Statement statement = connection.createStatement(); statement.executeUpdat..
-
Load Balancing(로드밸런싱) 과 ProxyCS 지식/네트워크(Network) 2023. 5. 1. 19:58
서버로 traffic이 몰릴 때 해결법 1) scale-up : 서버의 하드웨어를 고성능으로 바꾸어 해결 2) scale-out : 복수의 서버를 사용하여 처리 분담. 여러 대의 웹 서버를 설치하고 한대가 담당하는 사용자의 수를 줄이는 방법 Load Balancing 서버로 요청하는 client 수가 늘어나서 access가 증가할 때 사용. application을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법. Load Balancing : 해야 할 작업을 나누어서 서버의 부하를 분산시키는 것 Load Balancer : 여러대의 서버가 분산처리 할 수 있도록 요청을 나누어주는 서비스 Load Balancer가 요청을 분배할 때의 판단 근거 - 웹 서버의 부하 상태 => 시험 패킷과..
-
Page 교체 알고리즘CS 지식/운영체제(OS) 2023. 5. 1. 19:53
1. FIFO - 가장 먼저 메모리에 올라온 페이지를 가장 먼저 내보내는 것.(메모리에 올라온 지 가장 오래된 페이지 교체) - 구현이 간단하지만 성능은 좋지 않음. - Belady's Anomaly(page frame의 개수가 많아져도 page가 없는 page fault 발생이 오히려 늘어나는 현상) 발생 가능. 2. Optimal Page Replacement(최적 페이지 교체) - 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 알고리즘 - 가장 page-fault 발생이 적을 알고리즘 - Belady's Anomaly 발생 X - process가 앞으로 사용할 page를 미리 알아야 해서 실제로 구현이 거의 불가능. 3. LRU(Least Recently Used) 페이지 교체 - 가장 오랫..
-
Transaction Isolation Level(트랜잭션 격리 수준)CS 지식/데이터베이스(Database) 2023. 4. 25. 17:37
Database Anomalies 1. Dirty read - 다른 transaction에 의해 수정 됐지만 아직 commit 되지 않은 데이터를 읽는 것 ex) Transaction A가 새로운 row를 추가하고 Transaction B가 새로운 row를 읽었는데 A가 roll back을 한 경우 2. Nonrepeatable read - 한 transaction 내에서 같은 row를 두 번 읽었는데 그 사이에 값이 변경되거나 삭제되어 결과가 다르게 나타나는 현상 ex) Transaction A가 row를 읽고 Transaction B가 그 row를 변경하고 A가 같은 row를 두 번째 읽었을 때 새로운 결괏값을 얻는 경우 3. Phantom read 한 transaction 내에서 같은 쿼리를 두 번..
-
쿠키 vs 세션CS 지식/네트워크(Network) 2023. 4. 21. 17:42
Cookie(쿠키) - user의 computer에 저장이 되는 작은 text file이다. - Cookie의 file size는 최대 4KB이다. - 사용자가 처음 웹사이트를 방문하면 사이트가 data packet를 cookie 형태로 사용자 computer로 보낸다. - client 측에 아무나 볼 수 있는 text 형태로 저장되기 때문에 상대적으로 안전하지 않다. - String data type만 저장한다. - 필요에 따라 cookie를 enable 하거나 disable 할 수 있다. - cookie가 저장되는 경로는 브라우저에 의해 결정될 수 있지만 보통 internet explorer는 주로 Temporal Internet File Folder에 저장한다. - 브라우저마다 저장되는 쿠키가 달라..