본문 바로가기

분류 전체보기99

JSON vs XML XML(Extensible Markup Language) 개요 Park 150 Javis 136 HTML과 유사한 문자 기반의 마크업 언어이다. 하지만 HTML과는 달리, 데이터를 보여주는 목적이 아닌 저장 및 전달 목적으로만 쓰인다. 또한 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다. 특징 1. 다른 목적의 마크업 언어(ex. HTML)을 만드는 데 사용되는 다목적 마크업 언어이다. 2. XML은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 지원한다. 3. 새로운 태그를 만들 수 있기 때문에 확장성이 좋다. 4. 데이터를 보여주지 않고, 데이터를 저장하고 저장하는 것만을 목적으로 한다. 5. 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자.. 2021. 10. 3.
크루스칼(Kruskal)과 프림(Prim) 알고리즘 신장 트리(Spanning Tree) 그래프의 모든 정점을 연결한 트리를 말한다. 사이클이 생기지 않는 선에서 간선의 개수를 (정점 개수 - 1)개로 만드는 것으로, 하나의 그래프에서 신장 트리는 여러 형태가 나올 수 있다. 최소 신장 트리(MST; Minimum Spanning Tree) 신장 트리 중에서 간선들의 가중치 합이 최소인 트리를 말한다. 최소 신장 트리는 다음과 같은 조건을 만족한다. 1. 간선의 가중치 합이 최소이다. 2. 사이클이 없다. 3. 모든 정점이 연결되어 있으며, (정점 개수 -1)개의 간선을 가지는 트리이다. 4. 무방향 가중치 그래프이다. 도로망, 통신망, 유통망 등 비용을 최소로 해야 하는 경우, 즉 MST를 구할 때 프림 알고리즘, 크루스칼 알고리즘을 사용한다. 크루스칼.. 2021. 10. 2.
마이바티스(MyBatis) 마이바티스 개념 The MyBatis Blog A blog about the the MyBatis data mapper framework. blog.mybatis.org 마이바티스는 자바 퍼시스턴스 프레임워크의 하나로 XML 서술자나 어노테이션을 사용하여 저장 프로시저나 SQL 문으로 객체들을 연결한다. Mybatis는 JDBC를 이용할 때 1) 1개 클래스에서 반복된 코드가 나타나거나 2) 한 파일 안에 자바와 sql이 섞여있는 단점 등을 개선하기 위한 기능을 제공한다. 스프링에서 마이바티스(Mybatis) 사용하기 마이바티스(MyBatis) 마이바티스 개념 The MyBatis Blog A blog about the the MyBatis data mapper framework. blog.mybatis.. 2021. 10. 1.
TCP & UDP 전송 계층(Transport Layer) End Point간 신뢰성있는 데이터 전송을 담당하는 계층이다. 신뢰성: 데이터를 순차적으로, 안정적으로 전달하는 것 전송: 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것 전송 계층의 중요성 만약 전송 계층이 없다면, 첫 번째로 데이터의 순차적 전송이 원활할 수 없다. 예를 들어서 송신자가 1,2,3 순서대로 데이터를 전송했는데 수신자는 송신자가 전송한 순서대로 데이터를 받지 않을 수도 있다. 두 번째로 송수신자 간의 데이터 처리 속도 차이때문에 흐름 문제가 생긴다. 예를 들어 수신자가 처리할 수 있는 데이터량을 초과한다면 데이터가 누락될 수 있다. 세 번째로 네트워크의 데이터 처리 속도에 따른 혼잡 문제가 발생할 수 있다. TCP(Transfer Cont.. 2021. 9. 29.