NetWork Addressing Transformation의 약자로 사설망과 공중망을 연결시켜 IP address를 변환하는 기술
Dynamic NAT 기술 중 하나로 여러 사설 IP가 하나의 공중 IP연결할 때 Port로 함께 매핑시켜 사용하는 기술
프록시는 말그대로 클라이언트와 서버 사이에서 물리적으로 중개를 해주는 녀석임. 클라이언트는 프록시 서버에게 요청을 하고 프록시 서버가 대신 서버의 값을 가져와서 처리해줌. 장점으로 캐싱이 가능하고(리버스 프록시에서 유리) ip 변조가 가능하다는 점이 있음
VPN은 Tunneling 기술로 기존의 Destination IP로 통신할 때 VPN 클라이언트와 VPN 장비(서버) 사이를 지나가면서 암호화가 됨. 그래서 VPN 터널링을 하는동안 기존의 패킷 데이터를 캡슐화해서 암호화하고 변조된 IP로 통신을 하기 때문에 보안이 철저함. 프록시보다 보안 발전했다고 보면 됨.
말그대로 객체 기반으로 코딩을 하는 것.
의존성 주입은 기존에 의존성을 가지는 관계(아래에서 위로)를 상위 컨트롤러(프레임워크)가 일방적으로 의존성을 주입시켜서 (위에서 아래로) IoC(역전 제어)를 발생시킨다. 의존성 주입이 되면 의존성을 받는 객체는 추상화된 인터페이스를 통해서 받게 되므로 의존성이 바뀌더라도 별다른 코드를 변경하지 않아도 되서 관리가 용이하다. 또 유닛테스트하기에도 용이함
플로이드 워샬은 모든 노드간의 최단거리를 구하는 알고리즘
MST은 모든 노드가 최소한의 가중치 간선으로 연결될 때 사용되는 알고리즘(사이클 X)이며 대표적으로 크루스칼, 프림 알고리즘이 있음
다익스트라는 특정 노드를 기준으로 그리디하게 모든 노드들의 최단거리를 구하는 알고리즘(Min Heap 사용하면 짱짱)