개발/지식 5

네트워크에 대한 이해 - 네트워크 구성 기술 (UDP, PORT, URL, DNS)

UDP UDP는 User Datagram Protocol의 약자로 TCP/IP 4계층 모델에서 2계층에서 동작하는 IP와 4계층에서 동작하는 애플리케이션(http)을 중개하는 역할을 합니다. TCP와는 아래와 같은 차이점이 있습니다. 구분 TCP UDP 타입 연결 지향적 프로토콜 데이타그램 지향적 프로토콜 속도 UDP에 비해 느림 TCP보다 빠름 신뢰성 데이터 수신자 까지 전송 보장 전송 보장 안됨 순서보장 전달하는 패킷 순서 보장 전달하는 패킷 순서 보장 안됨 즉 패킷의 정확한 전달 순서와 과정이 반드시 보장되어야 할 경우에는 TCP를, 속도가 중요한 경우에는 UDP를 사용한다고 볼 수 있겠습니다. 예를들어 스트리밍, 보이스톡과 같은 실시간 반응이 중요한 서비스의 경우 지연없이 매끄럽게 서비스를 활용하..

개발/지식 2023.05.17

네트워크에 대한 이해 - 네트워크 구성 기술 (TCP/IP)

웹 애플리케이션이란 무엇일까요? 스마트폰을 사용하면서 애플리케이션을 다운받고 해당 기능을 사용하다보니 애플리케이션은 익숙하지만 웹 애플리케이션은 다소 생소할 수 있습니다. 일반적으로 Android 또는 ios 에서 사용하는 애플리케이션은 네이티브 애플리케이션 이라고 합니다. 네이티브 애플리케이션은 특정 OS에 종속되어서 다른 OS에서는 사용할 수 없습니다. 웹 애플리케이션은 브라우저를 통해 접근이 가능한 애플리케이션 입니다. 근데 웹사이트와 웹 애플리케이션은 모두 브라우저를 통해 접속하다보니 구분하기가 다소 어려울 수 있는데요, 간략하게 비교를 해보자면 웹사이트 정보 제공을 위해 사용되는 정적인 웹페이지들의 집합 웹브라우저를 통해 사이트에 방문하여 정보 또는 컨텐츠 확인 가능 정적인 컨텐츠를 제공하여 사..

개발/지식 2023.05.16

데이터베이스에 대한 기본적인 이해 (NoSQL)

SQL 기반의 데이터베이스는 데이터간의 관계를 정의하고 테이블, 컬럼 등을 사용하여 데이터를 저장했다면 NoSQL은 주로 key-value 형태로 데이터를 저장하는 방식 입니다. SQL에서는 데이터를 테이블과 각 칼럼에 따라 조회했다면 NoSQL은 key값을 찾고 해당 key값에 대응하는 값들을 찾아내는 방식이라고 볼 수 있겠습니다. 다양한 NoSQL의 종류 NoSQL은 key-value 방식이 가장 기본적인 데이터 모델이지만 해당모델 뿐만 아니라 다르게 활용될 수 있는 여러 방식이 있습니다. 각 특징을 살펴보겠습니다. 가장 기본적인 방식 입니다. 간단하고 빠른 데이터 접근을 할 수 있고 주로 메모리기반의 데이터베이스에서 사용됩니다. 데이터간의 관계를 표현하지 않기 때문에 단순한 조회 및 삽입 작업에 적..

개발/지식 2023.05.16

데이터베이스에 대한 기본적인 이해 (SQL)

데이터베이스란? 텍스트, 이미지, 파일 등 각종 데이터를 저장하기 위해서 필요한 도구 입니다. 프로젝트를 만들게 되면 여러 데이터들을 따로 보관해야 하고 이러한 보관작업을 도와주는 역할을 한다고 볼 수 있습니다. 데이터베이스는 조직화된 방식으로 데이터를 저장, 관리, 조작하는 시스템 전체를 의미합니다. 사용하고 있는 PC에 저장공간(하드디스크)이 있고 여기에 각종 데이터들을 저장할 수 있는데요, 하드디스크는 파일의 저장 위치, 크기, 접근 권한 등을 관리하는 역할을 합니다만 이를 데이터베이스라고 보진 않습니다. 데이터베이스가 이보다 더 큰 개념으로 구조화된 데이터를 관리하는 시스템 이라고 보시면 됩니다. 이러한 데이터베이스는 사용 용도에 따라서 SQL(Structured Query Language) 또는..

개발/지식 2023.05.16

가비지 컬렉션(Garbage Collection)의 작동원리

가비지 컬렉션이란? 자바에서 사용되는 데이터들은 자바의 고유 메모리 영역에 저장 됩니다. 대표적으로 stack 메모리와 heap 메모리 등이 있습니다. stack 메모리에는 매개변수나 지역변수 처럼 메서드 호출에 필요한 데이터가 저장되거나 원시타입의 변수들의 값이 저장 됩니다. 예를들면 여기서 3은 원시타입에 해당하는 값 이므로 stack 메모리에 저장 됩니다. heap 메모리의 경우 참조타입의 주소값이 저장되는데요 ArrayList는 참조타입이니 해당 리스트의 주소값이 heap 메모리에 저장이 될 것 입니다. 이 heap메모리에서 사용하지 않는 객체를 자동으로 제거해주는 역할을 하는 것을 가비지 컬렉션 (Garbege Collection | 이하 GC) 라고 부릅니다. 가비지 컬렉션이 작동할 수 있는 ..

개발/지식 2023.05.09