본문 바로가기

CS공부31

의미부터 차근차근 네트워크에대해 더 자세히 알고싶어서 책을 샀다. 근데 너무 어렵다. 봤던거 또보고 또보고있다. 한번 정리를 해봐야 알것같다. 내가 이전에 공부했던것들과 뭔가 다른거같기도해서 겹치는 내용이 있더라도 다시 정리해보겠다. ㅇ 네트워크 기본 구성과 용어 네트워크에서 연결되는 대상을 '노드'라고 한다. 네트워크는 노드의 연결을 의미하며 노드가 반드시 다른 하나이상의 노드와 연결 되어있어야 네트워크라 부를 수 있다고 한다. 노드를 연결하는 방식을 '네트워크 토폴로지'라고 한다. 각 노드는 분리/독립된 단일 노드는 존재하지 않는다. ㅇ 네트워크 토폴로지 노드의 연결 방법이나 연결 형태를 의미한다. 종류를 정리해보자. 라인형: 각 노드가 선형으로 연결 링형: 각 노드가 링 형태로 연결 스타형: '허브'라는 기점 노드에.. 2024. 1. 4.
기본기 닦기(5) - API,Rest API ㅇ API(Applicaition Programming Interface) 개념 : 한 프로그램에서 다른 프로그램으로 데이터를 주고 받기 위한 방법. 이렇게 한줄로도 설명가능하다.쉬운예시로 리모컨에 버튼이 하는역할이 API라고 생각하면 쉽다. 다른 예를 들어보면, 날씨 앱이나 지도 앱을 통해 어떻게 API가 사용되는지 생각해보자. 날씨 앱은 실시간으로 날씨 정보를 DB로부터 받아오는 것처럼, API는 앱과 다른 소프트웨어 간에 데이터를 주고받는것이다. 구성 : 앞에 POST는 HTTP 메서드로써, 주로 DB에 새로운 데이터를 넣을때, 리소스를 생성할 때 사용한다. POST 메서드 말고도 다양하게 존재한다. 이것들은 밑에서 알아보자. 다음으로 서버의 주소. 밑의 예시는 로컬에서 테스트할때라 localhos.. 2024. 1. 3.
기본기 닦기(4) - 프로세스/스레드, ㅇ 프로세스/스레드 만약 한 게임을 온라인상에서 pc에 다운로드 받는다고 생각해볼때, 다운로드받는동안 마우스커서도 안움직이고, 아무런 동작이 되지 않는다고 치면 많이 답답할 것이다. 하지만 옛날엔 이런방식이었다. 옛날엔 한번에 하나의 작업만 해낼 수 있었다. 하지만 현재는 그렇지 않다. 바로 pc가 여러개의 프로세스를 한번에 작업할 수 있는 멀티태스킹이 가능해졌기 때문이다. 작업관리자를 보면 여러개의 프로세스가 동시에 실행되고 있는걸 확인 할 수 있고, 고유의 PID도 있다는것을 확인 할 수 있다. 여러 프로세스를 함께 돌리는 작업은 동시적, 병렬적, 또는 혼합으로 이뤄진다. 동시성은 프로세스하나가 이것조금 저것조금 하면서 여러작업을 돌아가면서 일부분씩 진행하는것을 의미하고, 병렬성은 프로세서하나에 여러.. 2024. 1. 2.
기본기 닦기(3) - OOP의 4가지특징과 SOLID 간만에 쓴다. 연말이라고 너무 해이해졌다. 다시 열심히 해보자. 오늘은 OOP의 5대원칙(SOLID), 4가지 특징에대해 포스팅 해보겠다. ㅇ OOP의 4가지 특징 OOP는 다들 알다시피 객체지향프로그래밍이다. 객체지향 프로그래밍의 4가지 특징은 캡상추다. 캡슐화 : 쉽게말하면 데이터와 해당 데이터를 다루는 메서드를 클래스라는 캡슐에 넣어 객체의 내부 구현을 외부로부터 숨기고, 외부에선 오직 공개된 메서드를 통해서만 객체와 상호작용을 하도록 만든것이다. 왜 이렇게 할까? 정보은닉을 통한 장점으로 외부의 직접적인 접근을 방지해 객체의 내부 구현이 바뀌더라도 외부 코드에 미치는 영향이 최소화된다. 이는 유지보수성도 좋아진다. 구현방법은 멤버변수에 접근제어자를 private로 설정하고 getter/setter.. 2023. 12. 28.