전체 글 57

맞춤 추천 게시글 시스템 구축 - 이론편

요즘 많은 서비스가 사용자 맞춤 추천을 통해 관심 있는 콘텐츠를 효과적으로 제공하고 있습니다. 이번 글에서는 간단한 방법으로 맞춤 추천 게시글 시스템을 구축하는 기본 개념과 구현 방법에 대해 살펴보겠습니다. 이번 포스팅에서는 이론적인 부분에 대해서 집중적으로 정리해보겠습니다. 대표적인 추천 방식추천 방식의 대표적인 방식으로는 컨텐츠 기반 추천 시스템과 협업 필터링 추천 시스템이 있습니다. 해당 방식의 장점과 단점을 테이블로 정리를 해보겠습니다. 구분 장점 단점컨텐츠 기반 추천 시스템• 신규 사용자·아이템에도 강함(콜드 스타트 완화)• 외부 사용자 데이터 필요 없음 → 프라이버시 이슈 적음• 추천 근거(아이템 특징) 설명이 쉬움• 아이템 특징 추출·정규화가 필요(텍스트 전처리, 태그 관리 등)• 사용..

기술 회고 2025.04.17

[TCP/IP가 보이는 그림책] 8. 보안

통신에 숨어있는 위험'다른 컴퓨터와 연결된다'는 것은 편리한 반면, 다양한 위험도 따른다는 것을 잊어서는 안 됩니다.편리와 위험은 이웃사촌네트워크에 접속해서 다른 컴퓨터와 통신할 수 있다는 것은 무척 편리합니다. 하지만 외부와 연결되어 있는 환경에서는 악의를 갖고 있는 제3자로부터 다음과 같은 피해를 받을 위험이 도사리고 있습니다.패킷을 도둑맞는다도청 : 통신 중 패킷이 부정한 방법으로 복사되어서 개인 정보를 도둑맞는 것을 말합니다.변조 : 통신 중 패킷을 도둑 맞아서 정보가 부정한 방법으로 변조되는 것을 말합니다.외부로부터 공격받는다부정 액세스 : 다른 사람의 컴퓨터에 허가 없이 침입하는 것을 말합니다.DOS/DDOS 공격 : 서버 등에 모두 처리할 수 없는 양의 패킷을 보내서 기능을 마비시키는 것을 ..

네트워크 2025.04.16

[TCP/IP가 보이는 그림책] 7. 라우팅

라우팅목적지의 컴퓨터가 동일한 네트워크 내에 있다고는 할 수 없습니다. 패킷을 다른 네트워크로 이동시키는 것은 라우터의 역할입니다.라우팅서로 다른 네트워크 간의 통신에서 패킷은 여러 개의 라우터를 경유하여 목적지에 도달합니다. 이 때 라우터가 수행하는 목적지까지의 경로 결정을 라우팅이라고 합니다. 라우팅을 수행하기 위해 라우터는 라우팅 테이블이라는 정보를 갖고 있습니다. 회수한 패킷의 수신 IP 주소를 보고 라우팅 테이블을 참고로 다음에 어떤 라우터에게 전송할지를 결정합니다.라우팅 테이블라우팅 테이블은 주로 다음과 같은 항목으로 구성되어 있습니다.수신 네트워크 : 라우터가 파악하고 있는 네트워크의 네트워크 주소와 서브넷 마스크가 들어갑니다.넥스트 홉 주소 : 1의 네트워크에 전달하기 위한 다음 전송처가 ..

네트워크 2025.04.16

[TCP/IP가 보이는 그림책] 6. 데이터 링크 계층과 물리 계층

데이터 링크 계층의 역할네트워크 계층 아래에 위치하는 데이터 링크 계층의 역할을 소개합니다.네트워크 간의 차이를 흡수한다.기기끼리 연결하는 데에는 몇 가지 방법이 있으며, 동일한 방법으로 연결된 한 덩어리의 기기를 데이터 링크라고 합니다. 데이터 링크 간의 차이를 흡수하고, 네트워크 계층보다 위에 있는 계층이 그 차이를 의식하지 않고 작동할 수 있도록 하는 것이 데이터 링크 계층의 역할입니다.네트워크 계층과 물리 계층의 중개자데이터 링크 계층에서는 데이터에 헤더를 붙인 것을 프레임이라고 합니다.데이터 링크 계층의 프로토콜데이터 링크 안에서 데이터를 어떻게 주고받을지를 결정하는 것이 데이터 링크 계층의 프로토콜입니다. 데이터 링크 내에서 기기를 식별할 필요가 있을 때는 MAX 주소를 사용합니다. 데이터 링..

네트워크 2025.04.16

[TCP/IP가 보이는 그림책] 5. 네트워크 계층

네트워크 계층의 역할TCP/IP 통신의 핵심을 담당하는 네트워크 계층의 주요 역할에 대해 소개합니다.네트워크 계층의 위치네트워크 계층은 다른 계층과 달리 주된 프로토콜이 IP 하나밖에 없습니다.통신 방법의 차이를 흡수네트워크 계층에는 통신 방법의 차이를 흡수하는 기능이 있습니다. 이에 의해 통신 방법이 다른 네트워크 상에 있는 컴퓨터끼리도 주고받기가 가능하게 되는 것입니다.통신 상대를 지정네트워크 계층은 '누가 누구에게 전달할지'라는 통신에 있어서 가장 중요한 정보를 다루고 있습니다. 통신 상대를 정하기 위해서 네트워크상에 존재하는 모든 기기에는 고유의 주소 같은 것이 할당되어 있습니다.목적지까지의 경로를 결정목적지 컴퓨터까지의 경로는 하나만 있다고 한정할 수 없습니다. 목적지까지의 경로가 여러 개 있는..

네트워크 2025.04.14

[TCP/IP가 보이는 그림책] 4. 트랜스포트 계층

트랜스포트 계층의 역할트랜스포트 계층의 역할과 주요 프로토콜을 소개합니다.트랜스포트 계층의 위치트랜스포트 계층은 애플리케이션 계층과 네트워크 계층의 중개 역할을 합니다.상대에게 전달한다데이터가 항상 확실히 전달된다고는 할 수 없으므로 문제가 발생한 경우에는 뭔가 대처 방안이 필요합니다. 이 때 통신 서비스에 맞는 방법으로 그것을 처리하는 것이 트랜스포트 계층의 역할입니다.신뢰성이냐 속도냐?트랜스포트 계층에는 TCP와 UDP라는 두 개의 프로토콜이 있습니다. TCP는 신뢰성을, UDP는 속도를 중시한 프로토콜입니다. 애플리케이션의 현관목적하는 애플리케이션 프로토콜에 데이터를 확실히 넘겨줄 수 있도록 각각 개별 현관문을 준비하고 있습니다.애플리케이션 계층의 출입구애플리케이션 계층에는 애플리케이션 프로토콜마다..

네트워크 2025.04.14

[TCP/IP가 보이는 그림책] 3. 애플리케이션 계층

애플리케이션 계층의 역할TCP/IP의 최상위 계층에 위치한 애플리케이션 계층의 주요 역할에 대해 소개합니다.애플리케이션 계층의 위치TCP/IP의 5계층 중에서 가장 위에 위치한 것이 애플리케이션 계층입니다. 컴퓨터끼리의 주고받기를 사용자가 이용할 수 있는 '통신 서비스'라는 형태로 만드는 것이 이 계층의 역할입니다.통신 서비스의 실현애플리케이션 계층의 역할은 통신 서비스를 실현하는 것입니다. 그래서 이 계층은 '송신측과 수신측'이 아니라 '클라이언트와 서버'라는 개념을 갖고 있습니다.애플리케이션 프로토콜애플리케이션 계층에는 통신 서비스를 하는 서버와 클라이언트가 주고받기로 정한 프로토콜이 있습니다. 이것을 애플리케이션 프로토콜이라고 합니다. 애플리케이션 헤더서버와 클라이언트의 주고받기에 필요한 정보는 애..

네트워크 2025.04.14

[TCP/IP가 보이는 그림책] 2. 통신 서비스와 프로토콜

서버와 클라이언트통신 서비스의 기본이 되는 것이 '서버'와 '클라이언트'의 개념입니다.서비스를 제공하는 측, 제공받는 측서비스를 제공하는 측을 서버, 서비스를 받는 측을 클라이언트라고 합니다. TCP/IP를 사용한 많은 서비스는 '서버와 클라이언트의 주고받기'라는 형태로 이루어집니다. 데이터가 어디 있지?서버에서 '이 데이터가 필요해'라고 요청할 때는 데이터가 있는 곳을 확실히 표시할 필요가 있습니다.URL이란?네트워크 상에 있는 특정 데이터 등을 표시할 때 사용되는 것이 URL입니다. URL 구조는 다음과 같습니다.URL : http://ww.cyber.co.kr:80/picbook/gabsoon/index.html스킴명 : http(서비스의 종류를 나타냅니다.)도메인 : www.cyber.co.kr(..

네트워크 2025.04.13

[TCP/IP가 보이는 그림책] 1. TCP/IP 개요

통신 프로토콜네트워크 상의 컴퓨터끼리 데이터를 주고받으려면 그에 맞는 구조가 필요합니다.통신 프로토콜데이터를 주고받으려면 송신측과 수신측의 컴퓨터가 미리 정해놓은 공통된 메뉴얼에 따라 연락을 취해야 합니다. 이 메뉴얼을 프로토콜이라고 합니다. TCP/IP란?TCP/IP는 전 세계적으로 공통된 통신 프로토콜입니다.TCP/IP만일 전세계적으로 공통된 통신 프로토콜이 있다면, 그 프로토콜만 사용하면 어떤 컴퓨터끼리든 데이터를 주고받을 수 있게 될 것입니다. 현재 전 세계 공ㅌ오 통신 프로토콜로 채택된 것이 TCP/IP입니다. 계층화TCP/IP는 송수신에 필요한 작업을 몇 개의 단계로 나눠서 수행합니다.단계로 나눠서 처리하기TCP/IP에서는 송수신과 관련된 일련의 작업을 몇 개의 단계로 나눠서 수행합니다. 각 ..

네트워크 2025.04.13

DNS(Domain Name Syetem)

DNS(Domain Name Syetem)웹사이트에 접속 할 때 우리는 외우기 어려운 IP 주소 대신 도메인 이름을 사용합니다.도메인 이름을 사용했을 때 입력한 도메인을 실제 네트워크상에서 사용하는 IP 주소로 바꾸고 해당 IP 주소로 접속하는 과정이 필요합니다. DNS 구성 요소도메인 네임 스페이스(Domain Name Space)네임 서버(Name Server) = 권한 있는 DNS 서버리졸버(Resolver) = 권한 없는 DNS 서버도메인 네임 스페이스(Domain Name Space)DNS는 전세계적인 거대한 분산 시스템입니다.도메인 네임 스페이스는 이러한 DNS가 저장 관리하는 계층적 구조를 의미합니다.도메인 네임 스페이스는 최상위에 루트 DNS 서버가 존재하고 그 하위로 연결된 모든 노드가 ..

네트워크 2025.03.03