목록STUDY (106)
공부해봅시당

네트워크네트워크란?노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체여기서의 노드서버, 라우터, 스위치 등 네트워크 장치를 의미여기서의 링크유선 또는 무선 의미 네트워크 토폴로지(network topology)네트워크 토폴로지란?노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미네트워크 구조라고도 불림토폴로지가 중요한 이유병목 현상(아래 참고)을 찾을 때 중요한 기준이 되기 때문종류트리 토폴로지버스 토폴로지스타 토폴로지링형 토폴로지메시 토폴로지 트리 토폴로지(tree topology)트리 토폴로지란?계층형 토폴로지트리 형태로 배치한 네트워크 구성장점노드의 추가, 삭제가 쉬움단점특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 버스 토폴로..

처리량과 지연 시간네트워크를 구축할 때는 '좋은' 네트워크로 만드는 것이 중요좋은 네트워크란?1. 많은 처리량 처리 가능2. 지연 시간 짦음3. 장애 빈도 적음4. 좋은 보안을 갖춤처리량(throughout)처리량이란?링크를 통해 전달되는 단위 시간당 데이터양단위bps(bits per second)초당 전송 또는 수신되는 비트 수라는 의미특징사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받음대역폭이란?주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 지연 시간(latency)지연 시간이란?요청이 처리되는 시간어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간특징매체 타입(무선, 유선), 패킷 ..

절차적 프로그래밍이란? 명령형 프로그래밍 패러다임 중 하나인 절차적 프로그래밍(Procedural Programming)은 프로시저(함수)를 활용한 프로그래밍 개념 명령형 프로그래밍 '프로그램의 상태'와 '상태를 변경시키는 구문'의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종 컴퓨터가 수행할 명령들을 순서대로 써 놓은 것 How to solve it > 어떻게 그것을 해결할 것인가에 관심이 있음 거의 대부분의 컴퓨터 하드웨어는 명령형으로 구현됨 거의 모든 컴퓨터 하드웨어들은 기계어를 실행하도록 설계되어 있는데, 보통 명령형으로 써져 있음 포트란, ALGOL, C언어 등이 명령어 프로그래밍 언어의 일종임 (출처: https://code-lab1.tistory.com/244) 절차적 프로그래밍 패러다..

MVC와 MVP 구조 MVC와 MVP 동작 MVC와 MVP 특징, 장/단점 참고https://beomy.tistory.com/43 [디자인패턴] MVC, MVP, MVVM 비교웹 개발자로 일을 하면서 가장 먼저 접한 디자인패턴이 바로 MVC 패턴이었습니다. 그만큼 유명하고 많이 쓰이는 디자인패턴인 MVC 패턴과 MVC 패턴에서 파생되어져 나온 MVP 패턴과 MVVM 패턴을 이야beomy.tistory.comhttps://ykss.netlify.app/web/design_pattern/ [디자인패턴] mvc vs mvp vs mvvmMVC, MVVM 등 이러한 디자인 패턴 용어는 웹 개발을 하다보면 자연스럽게 알게되는 패턴이다. 이러한 패턴들은 화면에 보여주는 로직과 실제 데이터가 처리되는 로직을 분리..

이전에 이미 학습했던 내용이지만 CS 스터디를 위해 MVC 패턴에 대한 정리를 해보려고 함 MVC 패턴이란?MVC는 model, view, controller의 약자로, 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴model: 애플리케이션의 정보(데이터)view: 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소controller: 비즈니스 로직 사이의 상호동작 관리패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음 핵심은 MVC 패턴을 사용하면 사용자 인터페이스로부터 비즈니스 로직을 분리하여 비즈니스 로직을 쉽게 고칠 수 있는 애플리케이..

의도전략 패턴은 알고리즘들의 패밀리를 정의하고, 각 패밀리를 별도의 클래스에 넣은 후 그들의 객체들을 상호교환할 수 있도록 하는 행동 디자인 패턴 문제여행자들을 위한 내비 앱을 만들기로 했다고 가정사용자들이 어느 도시에서든 빠르게 방향을 잡을 수 있도록 도와주는 아름다운 지도가 앱의 중심 기능 앱에서 가장 많이 요청된 기능 중 하나는 자동 경로 계획 기능사용자가 주소를 입력하면 지도에 표시된 해당 목적지로 가는 가장 빠른 경로를 볼 수 있는 기능 앱의 첫 번째 버전에서는 도로로 된 경로만을 만들 수 있었음차를 타고 여행하는 사용자들은 만족모든 사용자가 여가 중에 운전하는 걸 좋아하진 않았음따라서 도보 경로를 만드는 옵션을 추가바로 그다음에는 사람들이 경로에서 대중교통의 사용을 계획할 수 있도록 옵션을 ..

의도팩토리 메서드는 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴 문제물류 관리 앱을 개발하고 있다고 가정앱의 첫 번째 버전은 트럭 운송만 처리할 수 있어서 대부분의 코드가 Truck(트럭) 클래스에 있음 앱이 유명해지면서 매일 해상 물류 회사들로부터 해상 물류 기능을 앱에 추가해 달라는 요청을 수십 개씩 받기 시작했다고 가정 좋은 소식이지만 현재 대부분의 코드는 Truck 클래스에 결합되어 있음앱에 Ship(선박) 클래스를 추가하려면 전체 코드 베이스를 변경해야 함또한 차후 앱에 다른 유형의 교통수단을 추가하려면 아마도 다시 전체 코드 베이스를 변경해야 할 것 그러면 결과적으로 많은 조건문이 운송 수단 객체..

싱글톤이란?클래스에 인스턴스가 하나만 있도록 하면서 이 인스턴스에 대한 전역 접근(엑세스) 지점을 제공하는 생성 디자인 패턴 문제싱글톤 패턴은 한 번에 두 가지의 문제를 동시에 해결함으로써 단일 책임 원칙을 위반함 단일 책임 원칙(Single Responsibility Principle)객체는 단 하나의 책임만 가져야 한다는 원칙여기서 '책임' 이라는 의미는 하나의 '기능 담당'이라는 의미즉, 하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되어야 있어야 한다는 의미 1. 클래스에 인스턴스가 하나만 있도록 함사람들이 클래스에 있는 인스턴스 수를 제어하려는 가장 일반적인 이유공유 리소스(ex. 데이터베이스 또는 파일) 일부에 대한 접근을 제어하기 위함예를 들어 객체를 이미 생성했지만, 잠..