본문 바로가기
728x90
반응형

기타 CS35

JSON vs BSON BSON ? mongoDB는 Document로 데이터를 관리하는데 BSON 형태로 저장하고 JSON형태로 출력한다. BSON은 JSON과 동일한 구조지만 Binary 형태로 변경된 구조다. = JSON Document를 Binary로 인코딩한 포맷. 텍스트 기반이라 파싱이 느리고, 데이터 저장 시 공간 효율성이 떨어지는 JSON의 단점을 해결하기 위한 방안이다. BSON은 2진법에 기반을 둔 표현법으로, 스토리지 공간과 스캔 속도 모두 효율적으로 설계되어 있다. JSON보다 메모리 사용에 효율적이다. 빠르고, 가볍고, 유연하다. JSON보다 많은 데이터 타입을 사용할 수 있다. JSON JavaScript Object Notation. 경량의 DATA 교환 형식. XML을 대체해서 데이터 전송 등에 많이.. 2023. 4. 5.
웹 사이트 성능 개선 방법 HTTP 요청 수 줄이기 콘텐츠는 동일하게 유지하면서도 HTTP 요청 수는 줄일 수 있는 방법을 찾아서 적용한다. 클라이언트가 웹 서버랑 통신할 때 html 파일을 먼저 응답 받아 html 내 css, js, image 파일을 차례로 호출한다. 이런 호출은 브라우저가 html을 모두 해석하여 컨텐츠(css, js, image...)를 전부 받아오기까지 호출을 계속 한다. 스크립트 파일 병합 - 기능 단위로 모듈화 하면 HTTP 요청 수를 줄일 수 있겠지만 합친 파일이 너무 큰 경우 로딩 과정이 오히려 길어질 수 있다. 인라인 이미지 - css 안에 해시 정보를 통해 이미지 파일을 삽입하면 html 파일의 바이트는 소폭 증가하지만, 전체 로딩 시간은 단축 될 수 있다. css 스프라이트 - 주로 아이콘이나.. 2023. 4. 5.
(기술 면접 기출) 낙관적 락 VS 비관적 락 낙관적 락(Optimistic Lock) 대부분의 트랜잭션이 충돌이 발생하지 않을 것이라고 가정하는 방법론입니다. 그러니 자원 자체에 락을 걸어서 선점하지 말고, 동시성 문제가 발생하면 그 때 처리하자는 이론입니다. 일단 충돌이 나는 것을 막지 않으며, 충돌이 난 것으로 감지되면 그 때 처리합니다. 일반적으로 version의 상태를 보고 충돌을 확인하며, 충돌이 확인되면 롤백을 진행합니다. (version이 아닌 hashcode나 timestamp를 이용한 확ㅇ니도 가능) 애플리케이션에서 동시성을 처리하는 것입니다. [장점] 충돌이 나지 않는 경우 동시 요청에서 처리 성능이 좋습니다. [단점] 충돌이 빈번한 경우 롤백 처리 비용이 많이 들어 성능이 나빠질 수 있습니다. 롤백 처리 구현이 복잡할 수 있습니.. 2023. 3. 26.
(기술 면접 기출) Local cache VS Global cache Local Cache 서버마다 캐시를 따로 저장한다. 로컬 서버의 리소스(메모리, 디스크)를 사용한다. (장점) 서버 내에서 동작하기 때문에 속도가 빠르다. (단점) 다른 서버의 캐시를 참조하기 어렵다. (단점) 캐시에 저장된 데이터가 변경되는 경우, 해당 서버를 제외한 모든 peer에 변경 사항을 전달해야 한다. (All-to-All Replication) 이로 인해 WAS 인스턴스가 늘어나고, 캐시 저장 데이터 크기가 커지면 성능이 저하될 수 있어 부적합하다. Global Cache 별도의 캐시 서버에 캐시를 저장한다. (예: 레디스 서버) (장점) 여러 서버에서 캐시 서버에 접근하여 참조할 수있다. (장점) 데이터를 분산하여 저장할 수 있다. (예: Master-Slave의 Replication 방.. 2023. 3. 26.
(기술 면접 기출) GC종류, 가비지 컬렉션 종류, 설정 명령어 가비지 컬렉션으로 인한 애플리케이션 지연 현상을 최적화하기 위해 다양한 GC 알고리즘이 개발되었다. Serial GC 서버의 CPU 코어가 1개일 때 사용하는 가장 단순한 GC. 싱글 스레드여서 가장 stop-the-world 시간이 길다. Minor GC에서는 Mark-Sweep을 사용하고, Major GC에서는 Mark-Sweep-Compact를 사용한다. java -XX:+UseSerialGC -jar Application.java Parallel GC Java 8의 기본 GC. Serial GC와 알고리즘은 같지만, Young 영역의 Minor GC를 멀티 스레드로 수행한다. (Old 영역은 싱글 스레드) Serial GC에 비해 Stop-the-world 시간이 감소한다. java -XX:+Us.. 2023. 3. 26.
728x90
반응형