본문 바로가기

네트워크의 기본은 TCP/IP TCP/IP는 프로토콜의 집합이다. HTTP를 이해하기 위해서는 TCP/IP 프로토콜에 대해 어느 정도 알고 있어야 할 필요가 있다. 인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있다. HTTP는 그 중 하나이다. 컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안된다 . 예를 들면, 어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떠한 언어로 이야기를 하며, 어 떻게 이야기를 종료할까와 같은 규칙을 결정할 필요가 있다. 이렇게 서로 다른 하드웨어와 운영체제 등 을 가지고 서로 통신을 하기 위해서는 모든 요소에 규칙이 필요하게 된다. 이러한 규칙을 프로토콜이라 고 부른다. TCP/IP란 인터넷에 관련된 다양한..
웹은 HTTP로 나타낸다 웹 브라우저는 웹브라우저 주소 입력란에 지정된 URL에 의지해서 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻고 있다. 이 때, 서버에 의뢰를 하는 웹 브라우저 등을 클라이언트(Client)라고 부른다. 주소로 지정한 서버의 리소스(파일 등의 정보)를 가지러 간다(건네는 경우도 있다) 이렇게 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것은 웹에서 HTTP(HyperText Transfer Protocol)이라 불 리는 프로토콜이다. 프로토콜이라는 의미는 “약속”이다. 즉, 웹은 HTTP라는 약속을 사용한 통신으로 이루어져 있다.
리팩토링 (코드 품질을 개선하는 객체지향 사고법) 1. 리팩토링이란? 리팩토링은 겉으로 드러나는 코드의 기능은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템 을 수정하는 과정이다. 버그가 생길 가능성을 최소화하며 코드를 정리하는 정제된 방법이다. 요컨대. 리팩토링한다 는 것은 코드를 작성하고 난 뒤 설계를 향상시키는 일이다. 그런데 소프트웨어 개발 방법은 설계부터 하고 나서 코 드를 작성하는 것이다. 좋은 설계가 우선되어야 하고 코딩은 그 다음인 것이다. 이 과정을 반대로 한 것이 리팩토 링이다. 리팩토링을 실시하면 잘못된 설계나 심지어 엉망인 설계를 가져다가 체계적인 설계의 코드로 고칠 수 있 다. 리팩토링을 실시하면 작업의 균형이 바뀐다. 모든 설계를 미리 떠올리는 게 아니라 개발 도중 에 꾸준히 떠올리 게 되며 시스템 제작을 통해..
프록시에 대한 이해 클라이언트 - 프록시서버(아파치) - 톰캣 현재 클라이언트의 요청이 들어오면 이를 프록시 서버가 요청을 받고 다시 이 중계서버인 프록시 서버가 톰캣에 재요청을 해서 응답을 받고 그 응답을 다시 클라이언트에게 넘겨 주는 구조 클라이언트가 서버로부터 필요한 자원을 프록시 서버에 요청하면 프록시 서버는 클라이언트와의 서버 사이에서 대신 통신을 수행 프록시 서버에는 클라이언트로부터 원격에 요청된 자원들이 캐시(cache)되어 임시로 저장되어 있어 중계자 역할을 할 수 있다. 클라이언트는 자원 재 요청시 원격 서버에 접속할 필요 없이 프록시 서버 내의 정보를 제공 받을 수 있으며, 따라서 데이터 전송시간과 외부 트래픽이 줄어들고 서버 측의 네트워크 병목 현상을 방지 할 수 있다. https://dany-it.ti..
버퍼의 개념 버퍼 버퍼는 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 한다. 보관 창고에 있는 귤 5개를 도마로 옮긴다고 가정해보자. 한 번에 하나씩 옮기면 다섯 번을 왕복해야 하지만 귤을 바구니에 담아서 옮기면 한 번에 5개를 옮길 수 있어 효율적인데,이 경우의 바구니는 버퍼에 비유된다. 입출력장치에서 데이터를 가져오는 경우도 마찬가지이다. 느린 입출력장치에서 데이터를 읽 을 때마다 하나씩 전송하면 작업량에 비해 실제로 전송되는 데이터의 양이 매우 작지만,일 정량의 데이터를 모아 한꺼번에 전송하면 적은 노력으로도 많은 양의 데이터를 옮길 수 있다. 이렇게 일정량의 데이터를 모아 옮김으로써 속도의 차이를 완화하는 장치가 버퍼이다
통신, 네트워크, 프로토콜 개념 1. 통신 통신은 쉽게 말해 의사소통하는 것을 뜻한다 2. 네트워크 네트워크(network)는 유 • 무선통신 기술을 이용하여 여러 기기를 하나로 연결한 것으로, 우리말로는 망이라고 번역할 수 있다. 네트워크는 전송 신호에 따라 아날로그망과 디지털망으로 나눌 수 있다. 아날로그망으로는 음성 신호(전화 기능)를 전송하고 디지털망으로는 디지털 데이터를 전송한다. 인터넷은 디지털 데이터(데이터 통신)를 전송하는 대표적인 네트워크(데이터망)이다. 일상생활에서 가장 많이 사용하는 네트워크는 전화망 network이다. 3. 프로토콜 프로토콜은 다른 기기 간에 통신을 하기 위해 정한 약속으로 통신규약이라고도 한다. 컴퓨터를 연결하여 통신할 때도 데이터를 누가 먼저 보낼지,얼마만 한 크기로 보낼지,다 보낸 다음에는 어..
sockets 참고자료 위키 : https://ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93웹소켓으로 개발전 알아야 할것들 : https://adrenal.tistory.com/20기본적인 내용들 : https://victorydntmd.tistory.com/250https://developer.mozilla.org/ko/docs/WebSockets/Writing_WebSocket_servers https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%..
요구공학(requirements engineering) 소프트웨어 공학에서 특화된 분야 중 하나가 바로 요구 공학 이것은 요구 사항이 커다란 비중을 차지하고 있음을 보여줌 1. 요구 공학(requirements engineering)이란? 소프트웨어의 요구 사항을 정의하고 관리하는 방법을 연구하는 학문. 소프트웨어의 규모가 커지면서 요구 사항의 중요성이 날로 커지고 있음. 뿐만 아니라 요구 사항을 어떻게 만드는가에 따라 소프트웨어 제품 개발의 성공을 좌우. 이에 따라 요구 사항에 대한 연구가 늘고 있다. 그것이 요구 공학이라는 학문이 탄생하게 된 이유. 2. 요구 공학의 요소 각 요소들은 요구 사항들을 개발하고 관리하기 위해 해야 할 일들이 무엇인지를 정의하고 있다. 요구 공학 요소설명세부 요소설명요구 사항 개발(requirementsdevelopment)요..