IT knowledge

패킷(packet) 이란 무엇인가? 개발자를 하면서 한번쯤 들어본 패킷(packet), 이것을 떠올렸을 때 어렴풋이 추상화된 이미지로밖에 그려지지 않아 이번기회에 머릿속에 정확히 정의하고자 패킷(packet)에 대해 공부하고 기록하려 한다. 오늘은 데이터 통신에서 전송되는 정보의 기본 단위인 패킷(packet)에 대해서 포스팅하려 한다. 👉 패킷(packet)의 정의 패킷(packet)이란 네트워크에서 출발지와 목적지간에 라우팅 되는 데이터의 단위이다. 즉, 정보를 보낼 때 특정 형태를 맞추어 보내 컴퓨터 간에 데이터를 주고 받을 때 네트워크를 통해 전송되는 데이터 조각이다라고 생각하면 된다. packag(패키지) + bucket(버킷) 패킷은 pack과 bucket를 합친 말로, 우체국에서는 화물을 적..
DDD (Domain-Driven Design) - 도메인 주도 설계 내 생각에 모든 아키텍처는 "낮은 결합도와 높은 응집도"라는 과학적 사고에 기초해 나온거라고 생각한다. 최근 많은 IT 기업에서 적용하고 있는 MSA에 관심을 갖던 중 DDD 라는 개념을 알게 되었고 마이크로 서비스의 도출기법으로 활용되는 DDD (Domain-Driven Design)에 대해서 간략히... 포스팅하려고 한다. 이 방법론은 복잡한 도메인 모델을 잘 이해하고, 그것을 구현할 수 있는 소프트웨어 모델을 만드는 것을 목표로 하며 이를 통해 개발자와 도메인 전문가가 협업하여 비즈니스 요구사항을 이해하고, 구현하는 과정에서 발생할 수 있는 문제를 최소화 할 수 있다. 도메인 주도 설계의 목적 도메인 주도 설계의 목적은 소프트웨어..
Layered Architecture - 계층화 아키텍처 ✔️ 아키텍처(Architecture)란? 시스템의 구조, 동작 등을 정의하는 개념적인 모형으로 목적을 달성하기 위해 시스템의 각 컴포넌트가 무엇이며 어떻게 상호작용 하는지, 정보가 어떻게 교환되는지를 설명한다. "하나의 서비스가 어떻게 구성이 되며 어떻게 동작이 된다" - 서비스의 동작 원리 ✔️ 계층화 아키텍처 (Layered Architecture)란? 아키텍처의 컴포넌트들은 각각 어플리케이션의 특정한 역할을 수행하도록 가로로 나누어져 계층을 이룬다. 가장 널리 알려진 아키텍처로 전통적인 IT workflow와 조직 구성이 잘 맞아 떨어져 많은 비즈니스에서 채택된다. 주로 3계층으로 이루어져 있다. 유저 + 브라우저와 상호작용하는 Presen..
[네트워크] tcp와 udp의 개념 및 차이점 ⏺ TCP / UDP 란? : 전송계층에서 데이터 전달을 담당하는 전송계층의 프로토콜이며, 목적지 장비까지 전송한 패킷을 상위의 특정 응용 프로토콜에게 전달하는 것에 목적이 있습니다. -> 전송방식으로는 TCP와 UDP가 있습니다. * 전송계층 : 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층. (데이터의 전달을 담당) 📌 TCP (Transmission Control Protocol) 란? - TCP는 연결형 서비스를 지원하는 전송 계층 프로토콜로써, 전송 제어 프로토콜이라고 불리며 서버와 클라이언트간 신뢰성 있는 데이터 전달과 흐름제어를 한다. (인터넷 환경에서 기본으로 사용) - 일반적으로 인터넷 상에서 데이터를 메시지 형태로 보내기위해 IP와..
· IT knowledge
서버 이중화에 대하여 - L4, L7, 로드밸런싱 현재 실제 많은 서비스 들은 대부분 서버 이중화가 되어있다. 오늘은 서버이중화의 구조에 대해 포스팅하려고 한다. 📌 이중화란? 시스템의 가용성을 높이기 위해 장비를 다중화 시키는 방법을 말한다. 가용성이란 N개의 서버 장비 중 하나의 서버 장비가 문제가 생겨도 다른 장비에서 서비스가 될 수 있도록 구현하여 서비스가 다운되지 않고 정상적으로 유지된 시간이 길어지는 것이다. uptime(정상 서비스 시간) / uptime + downtime(총 서비스 시간) = 가용성 📌 로드밸런싱 L4 스위치란 OSI 7 Layer 중에서 4계층(transport)에 해당하는 장비 즉, 들어온 데이터를 로드밸런싱 해주는 장비를 말한다. 여기서 로드밸런싱이라는 말은 어려워 ..
· IT knowledge
컴퓨팅사고 - 정보의 표현(문자, 사진, 영상, 음악 - 정보처리 방식) 📌 문자의 표현 컴퓨터는 스위치가 on/off하면서 숫자를 표현한다고 했는데 문자는 어떻게 표현할까? 또 지난번에 강조했던 '약속'이라는 것을 한다. 바로 문자를 숫자로 표현할 수 있도록 표준부호 ASCII(아스키코드/American Standard Code for Information Interchange) 이다. 총 128개의 부호로 정의되어 있으며, 알파벳은 A(65) ~ Z(90)로 정의되어있다. 이 외에도 Unicode라는 표준에서는 더 많은 비트를 사용해 더 다양한 문자들도 표현가능하도록 지원한다. Unicode는 😂(기쁨의 눈물) 이런 이모티콘 까지 표현할 수 있게 해주었습니다. 이 이모티콘은 10진법으로 128,514..
· IT knowledge
컴퓨팅사고 - 컴퓨터 과학, 2진법 등 요즘 SI프로젝트를 진행하면서 약간의 회의감이 몰려올 때가 있다. 차세대 프로젝트이기 때문에 AS-IS 분석은 물론이며 애초에 설계 부분이 미흡하게 시작했던 개발단계를 밟고 있기 때문에 새로운 프로세스를 구성한다기 보다 그대로 옮겨놓는 작업이 되다 보니까 개발자로서 직접 요구사항을 디벨롭한다기 보다 분석 -> 옮겨놓기 작업이 되어가고 있다. 서론이 길었다. 개발자로서 경력이 1년이 되는 순간이 얼마전에 있었다 그 즈음부터 미래를 생각하며 로드맵을 그려보았다. 우선 비전공자이기 때문에 컴퓨팅, 네트워크 등의 기초 지식을 탄탄하게 공부하는 것을 첫번째 목표로 세웠다. 찾아보던 중 해외 명강인 CS50이라는 하버드대학교에서 진행하는 컴퓨터 과학 기초교양 과목이다. 해당 ..
[디자인 패턴] 데코레이터 패턴(Decorator Pattern) 개념 정리 Decorator Pattern - 데코레이터 패턴 (구조패턴 분류) 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 객체에 추가적인 요건을 동적으로 첨가하며, 기능 확장이 필요할 때 서브크래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. 즉, 장식시켜주는 객체들과 장식 받을 객체들을 만든 뒤 이들을 이용하여 장식 받을 객체가 원하는 모양이 되도록 만들어주는 패턴이며 이때, 기존의 객체(장식 받을 객체)를 활용하고 있던 모듈은 장식이 이루어지는 것과 무관하게 작동을 해야 한다. 복잡해 보이는 설명을 풀어서 설명해보겠습니다. 문을 밀고 들어가 카운터에서 점..
코딩무니
'IT knowledge' 카테고리의 글 목록