전체 글56 [cs]네트워크 분류 네트워크 분류 규모에 따른 분류 LAN(Local Area Network) 사무실과 개인적으로 소유 가능한 규모 같은 건물이나 캠퍼스 같은 좁은 공간에서 운영 ✔️ 특징 : 전송 속도가 빠르고 혼잡하지 않음 MAN(Metropolitan Area Network) 서울 시 등 시정도의 규모인 대도시 지역 네트워크 ✔️ 특징 : 전송속도는 평균이며 LAN보다는 혼잡함 WAN(Wide Area Network) 광역 네트워크를 의미(국가 또는 대륙 같은 더 넓은 지역에서 운영) ✔️ 특징 : 전송속도는 낮으며 MAN보다 더 혼잡 2023. 11. 8. [cs] 네트워크 토폴로지와 병목현상 네트워크 토폴로지(network topology) 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결형태 토폴로지 1️⃣ 트리 토폴로지 (=계층형 토폴로지) 트리 형태로 배치한 네트워크 구성 ✔️ 특징 : 노드의 추가, 삭제가 쉬우며 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 2️⃣ 버스 토폴로지 중앙 통신 회선 하나에 여러개의 노드가 연결되어 공유하는 네트워크 구성 근거리 통신망(LAN)에서 사용\ ✔️ 특징 : 설치 비용이 적고 신뢰성이 우수 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉬움 스푸핑이 가능한 문제가 있음 💁🏻♀️ 스푸핑 LAN 상에서 송신부의 패킷을 송신과 관련없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷.. 2023. 4. 13. 네트워크 기초 네트워크 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체 Node? :서버, 라우터, 스위치 등 네트워크 장치를 의미 Link? : 유선 또는 무선을 의미 처리량과 지연시간 좋은 네트워크? : 많은 처리량을 처리할 수 있으며, 지연시간이 짧고 장애빈도가 적으며 좋은 보안을 갖춘 네트워크 처리량(throughput) 링크를 통해 전달되는 단위 시간당 데이터양 ✔️ 관련 요인 : 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받음 ✔️ 단위 : bps(bits per second)로 초당 전송 또는 수신 되는 비트수 📁 대역폭? 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최.. 2023. 4. 11. 디자인 패턴 - MVC, MVP, MVVM MVC pattern ❓ Model, View, controller로 이루어진 디자인 패턴 애플리케이션의 구성요소를 세가지 역할로 구분하여 개발프로세스에서 각각의 구성요소에만 집중하여 개발할 수 있음 💜 장점 - 재사용성, 확장성 용이 🖤 단점 - 애플리케이션 복잡해질 수록 모델과 뷰의 관계가 복잡해짐 MVP pattern ❓ MVC 패턴으로부터 파생, C→ P(presenter)로 교체 뷰와 프레젠터는 일대일 관계로 MVC 패턴보다 강한 결합을 지님 💜 장점 - View와 Model의 의존성 문제 해결(Presenter를 통해서만 데이터를 전달 받기 때문)] 🖤 단점 - 어플리케이션이 복잡해 질 수록 View와 Presenter 사이의 의존성이 강해짐... MVVM pattern ❓ MVC 패턴으로부터.. 2023. 4. 9. 디자인 패턴 - 프록시 패턴 Proxy pattern ❓ 대상 객체에 접근하기 전 그 접근데 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용 가능 💜 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용 💡 프록시 서버에서의 캐싱 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청에 대해 다시 멀리있는 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말함 이를 통해 불필요하기 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있음 Proxy server 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있기헤주는 컴퓨터 시스템이나 응용프로그램을 가리킴 ✅ Ngi.. 2023. 4. 7. 디자인 패턴 - 옵저버 패턴 Observer pattern ❓ 주체가 어떤 객체(subject)의 상태변화를 관찰하다가 상태변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 패턴 📝 주체? 객체의 상태변화를 보고 있는 관찰자 📝 옵저버? 객체의 상태변화에 따라 전달되는 매서드 등을 기반으로 ‘추가 변화 사항’이 생기는 객체를 의미 🐣 예시 서비스 트위터! 새로운 트윗을 옵저버들에게 알려주는 방법으로 팔로워들에게 전달하는 것 패턴 구조 주로 이벤트기반 시스템에 사용하며 MVC(model-view-controller)패턴에도 사용할 수 있음 예를 들어 주체라고 볼 수있는 모델에서 변경사항이 생겨 update() 메서드로 옵저버인 뷰에 알려주고 이를 기반으로 컨트롤러 등이 작동하는 등 Proxy 프록시.. 2023. 4. 5. 디자인 패턴 - 전략패턴 Strategy pattern ❓ 객체의 행위를 바꾸고 싶은 경우 ‘직접’ 수정하지 않고 전략이라고 부르는 ‘캡슐화한 알고리즘’을 컨텍스트 안에서 바꿔주면서 상호교체가 가능하게 만드는 패턴 💡 컨텍스트 프로그래밍에서 컨택스트는 상화, 맥락, 문맥을 의미하며 개발자가 어떠한 작업을 완료하는 데 필요한 모든 관련 정보를 말함 Javascript 예제 1 function Regal() { this.getTicketPrice = function(quantity) { return quantity * 11.99; } } function AMC() { this.getTicketPrice = function(quantity) { return quantity * 10.99; } } function Cinemark() {.. 2023. 4. 3. 디자인 패턴 - 의존성 주입(DI) 의존성 주입(DI, Dependency Injection) ❓ 💜 장점 모듈들을 쉽게 교체할 수 있는 구조가 되어 테스팅, 마이그레이션 수월해짐 구현할 때 추상화 레이어를 넣고 이를 기반으로 구현체를 넣어주기 때문에 애플리케이션 의존성 방향이 일관적이고 애플리케이션을 쉽게 추론할 수 있으며, 모듈간의 관계들이 조금 더 명확해짐 🖤 단점 모듈들이 더 분리되므로 클래스 수가 늘어나 복잡성이 증가될 수 있음 약간의 런타임 패널티가 생기기도 함 이용하려는 의존성을 세팅해야함(구조화해야함) ⇒ container라고 부름 → 의존성 찾고 가져와주는 라이브러리(Awilix, TypeDI는 JS,TS 모두 사용가능, Inversify는 TS에서만 사용가능) ✍🏻 의존성 주입 원칙 상위 모듈은 하위 모듈에서 어떠한 것도.. 2023. 4. 1. 디자인 패턴 - 팩토리 패턴 Factory pattern ❓ 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 🐣 예시 라떼 레시피, 우유 레시피 라는 구체적인 내용이 들어있는 하위 클래스가 상위클래스에 전달되면 이 레시피들을 토대로 우유가 들어간 라떼 등을 생산하는 생산 공정 💜 장점 상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가짐 상위 클래스에서는 인스턴스 생성방식에 대해 알필요가 없기 때문에 더 많은 유연성을 가짐 객체 생성 로직이 분리되어 있어 코드 리팩토링시 한 곳만 고칠 수 있어서 유지보수성이 증가됨 Javascript 간단하게 new Object()로 구현.. 2023. 3. 30. 이전 1 2 3 4 ··· 7 다음