Light Blue Pointer
본문 바로가기

Job Interview Prep16

네트워크 병목 현상 Network Bottleneck 네트워크 병목 현상 Network Bottleneck네트워크 병목현상이란?네트워크 병목 현상은 네트워크나 시스템의 특정 지점에서 대역폭, 처리량 등이 제한되어 전체 성능을 저하시키는 현상을 말한다주요 원인 primary causes네트워크 대역폭 부족 limited network bandwidth서버 처리 능력 저하 server processing capacity과도한 트래픽 excessive traffic토폴로지는 병목현상을 찾을 때 중요한 기준이 된다네트워크 구조(예: 스타, 버스, 링, 메쉬 등)에 따라 데이터 흐름 경로가 다르기 때문에, 특정 노드나 연결부가 병목 현상을 유발할 가능성이 있다 병목 현상의 사례 (Examples of Bottlenecks)서버 과부하 (Server Overload).. 2024. 11. 5.
네트워크 토폴로지 Network Topology 네트워크 토폴로지 Network Topology네트워크 구성 요소들이 연결된 방식각 노드(서버, 컴퓨터, 라우터)와 링크가 배치된 구조네트워크 성능, 비용, 확장성, 장애 대응에 영향을 미침버스 토폴로지 (Linear) Bus Topology하나의 메인 케이블(백본)에 모든 노드가 연결된 구조근거리 통신망(LAN)에서 사용한다Pros설치가 간단하고 저렴신뢰성이 우수노드 추가와 삭제가 쉽다Cons메인 케이블에 문제가 생기면 전체 네트워크에 영향을 미침메인 케이블의 양 끝단에 모두 Terminator가 필요하다전체 네트워크가 다운되었을때 원인 파악이 힘들다스푸핑이 가능하다🔎스푸핑 SpoofingLAN 상에서 송신부의 패킷을 송신과 관련없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 .. 2024. 11. 5.
네트워크란? 네트워크란?네트워크란 노드와 링크로 이루어진 연결 시스템리소스를 공유함노드 : 서버, 라우터, 스위치 등 네트워크 장치링크 : 무선 혹은 유선으로 연결된 통신 경로네트워크 성능 지표많은 처리량짧은 지연 시간적은 장애 빈도좋은 보안처리량(throughput)성공적으로 전송 및 처리된 데이터의 양단위 : bps (bits per second) ,초당 전송되는 비트 수트래픽, 대역폭, 에러 빈도, 하드웨어 스펙 → 처리량트래픽(Traffic)네트워크를 통해 전송되어야 하는 데이터의 양전송 중인 데이터의 볼륨을 나타낸다단위 : MB, GB, 초당 요청 수🔎헷갈리기 쉬운 개념 Traffic vs ThroughputTraffic is the amount of data that needs to be transmit.. 2024. 10. 28.
SQL이란 무엇인가 SQL = Structured Query LanguageSQL is a set-based, declarative programming language, not an imperative programming language like C or BASIC. 하나하나 뜯어보면서 의미를 분석해 보았다StructuredSQL의 원래 이름은 SEQUEL(Structured English QUEry Language) → 상표 문제로 SQL로 이름을 바꿈문법이 영어와 같다는 사실을 강조하고 싶었던 것이라고 함Set-basedSet-Based vs Row-Based Database CodeSet-Based CodeOperations on Sets: Set-based code focuses on performing oper.. 2024. 8. 1.
Hibernate-Spatial 관련 개념 정리 공간 데이터공간 데이터는 포인트(Point), 선(Line), 폴리곤(Polygon) 과 같은 엔티티의 표현을 포함한다.이러한 데이터 타입은 JDBC 사양의 일부가 아니므로 JTS (JTS Topology Suite) 가 공간 데이터 타입을 나타내는 표준이 되었다.JTS 외에도 하이버네이트 스페이셜은 최근의 라이브러리인 Geolatte-geom 을 지원하며, JTS에서 사용할 수 없는 몇 가지 기능을 제공한다.두 라이브러리는 모두 하이버네이트-스페이셜 프로젝트에 이미 포함되어 있다. 어느 라이브러리를 사용할지는 단순히 데이터 타입을 어느 jar 파일에서 가져오는가의 문제이다.JTS( JTS Topology Suite)JTS 토폴로지 스위트는 벡터 지형을 생성하고 조작하기 위한 Java 라이브러리이다. 또.. 2024. 8. 1.
ktlint 자동적용 안 되는 경우 해결법 저장하면 자동으로 적용된다는 팀원들과 다르게ktlint 자동적용이 안 돼서 build한다음 stacktrace에서indentation 6 ->8 로 하나하나 줄 찾아가서 수정하고 trailing comma 찍어주고 하는 삶을 살길 한 달째... 오늘 이것을 발견했다gradle 탭에서 이것을 눌러주면 자동으로 적용이 된다...여태까지 헛된 삶을 살아왔던 것이다 2024. 6. 2.
String과 StringBuilder, StringBuffer의 차이 Java에서 String, StringBuilder, StringBuffer는 문자열을 다루기 위한 클래스들로, 각각의 특성과 사용 목적이 다르다.이 클래스들의 차이점은 주로 불변성, 성능, 그리고 동기화 여부에 있다.아래에서 각 클래스의 특징과 차이점을 상세히 설명하겠다.String주요 특징불변성 (Immutability)String 객체는 한 번 생성되면 수정할 수 없다문자열을 변경하는 모든 작업은 새로운 String 객체를 생성한다불변성의 장점불변성 덕분에 String 객체는 스레드 안전(thread-safe)하며, 해시 코드가 캐시되기 때문에 효율적으로 사용할 수 있다성능문자열 결합과 같은 작업에서 많은 새로운 객체를 생성하게 되어 성능이 떨어질 수 있다예제public class StringExa.. 2024. 5. 31.
제네릭(Generic)이란 Java에서 제네릭(Generic)은 클래스, 인터페이스, 메서드 등에 사용할 수 있는 타입 매개변수화 기법을 말한다.제네릭을 사용하면 컴파일 시 타입을 체크할 수 있으며, 코드의 재사용성을 높이고, 타입 안정성을 보장할 수 있다.제네릭은 자바 5에서 도입되었으며, 주로 컬렉션 프레임워크에서 많이 사용된다.제네릭의 주요 특징타입 안전성(Type Safety) 보장컴파일 시점에 타입을 체크하여 런타임 에러를 줄일 수 있다타입 캐스팅 제거제네릭을 사용하면 불필요한 타입 캐스팅을 제거할 수 있다코드 재사용성 증가다양한 타입에 대해 동일한 코드를 사용할 수 있다제네릭의 기본 사용법제네릭 클래스제네릭 클래스는 클래스 선언 시 타입 매개변수를 사용하여 정의할 수 있다다음은 제네릭 클래스를 사용하는 예제이다publi.. 2024. 5. 31.
Java volatile / synchronized Java에서 volatile과 synchronized는 멀티스레딩 환경에서 안전하게 데이터를 접근하고 수정하기 위한 동시성 제어 키워드이다.이 두 키워드는 각각 다른 방식으로 동기화를 제공한다.volatilevolatile 키워드는 변수의 값을 모든 스레드가 항상 최신 상태로 읽을 수 있도록 보장한다.자바 메모리 모델에서 각 스레드는 자신의 캐시를 사용하여 변수를 읽고 쓸 수 있다.volatile로 선언된 변수는 각 스레드의 캐시에 저장되지 않고 항상 주 메모리에서 읽고 쓰기 때문에 여러 스레드가 동시에 접근하더라도 일관된 값을 보장한다.주요 특징변수의 가시성 보장volatile로 선언된 변수는 각 스레드가 해당 변수의 최신 값을 볼 수 있도록 한다.원자성 보장 불가volatile은 변수의 읽기/쓰기의 .. 2024. 5. 31.