데이터 형식

아기코딩단2·2022년 3월 25일
0

데이터 형식 :
1. CSV : 객체 배열 형태의 데이터를 파일로 바꿈(chracter 스트림으로 I/O)

  • CSV는 표준 파일 형식 -> 언어나 OS에 비종속적임
  • 계층적 구조의 데이터를 표현하기 어렵다.(번거롭다.)(Car와 Engine과 같이 계층적 데이터)
  1. Binary : 객체 배열 형태의 데이터를 출력 순서에 따라 byte[] 배열 형식으로 바꿈(byte 스트림으로 I/O)
    -언어나 OS에 비종속적임
  • App 전용 형식으로 I/O한다 -> App 마다 I/O 처리해야한다.(저장한 순서로 읽어야하기 때문에 I/O를 프로그램마다 짜야한다.)
  1. Serialize 객체 배열 형태의 데이터를 자바 serialize 규칙에 따라 byte[](클래스 정보, 필드 정보, 값이 들어있음)로 저장한다.(byte 스트림으로 I/O) + 자바규칙
  • 자바에 종속된다 -> 다른 프로그래밍 언어에서 I/O가 어렵다.
  • 다른 언어로 만든 APP과 데이터를 주고받기 어렵다.(유연성이 떨어진다./ s/w운영의 유연성이 떨어진다.)

4.JSON : 객체 배열 형태의 데이터를 JSON규칙에 따라 텍스트로 저장한다.(chracter 스트림으로 I/O)

  • JSON은 국제표준 데이터 형식이다.
  • 프로그래밍 언어나 OS에 비종속적이다.
  • 텍스트 형식으로 직접 편집가능
  • 계층적인 구조의 데이터를 손쉽게 다룰 수 있다.
    JSON 말고 계층적인 구조를 다룰 수 있는 것 - XML
    XML은 HTML태그로 되어있음
    PDF는 완성된 데이터임

gradle은 따로 관리하는 서버가 있지 않음 maven에서 관리
가장 유명한 거 사용 그래야 버전관리가 잘되는 거
POJO = 바닐라 js 같이 순수한 JAVA라는 뜻(Plain Old JAVA Object)
json = javascript Object notation/ json 은 키는 무조건 문자열로 써야함 값은 숫자형태면 "" 안써도 됨
jscokson에서는 날짜는 기본이 milisecond
gson 은 날짜가 자동으로 잘 나온다
class 빌트인 변수 클래스 정보가 들어있음
serialize - 클래스 정보 있음
json 은 필드 정보가 없음 * 이거 확인하기

public ArrayList(Object[] arr) { // 생성자가 호출되면 배열을 넘긴다.
this.addAll(arr);
}
객체를 어떤 포맷의 데이터로 인코딩하고(serialize), 어떤 포맷의 데이터를 객체로 디코딩하는 것(deserialize)
객체 다른 형식의 데이터로 변환하고 거꾸로 다시 객체로 만드는 것을 일반적인 표현으로 serialize/deserialize라고 부른다.

기술부채?

List , Set, Map

DAO(Data Access Object)의 등장 이유
-> 데이터의 persistence(지속성, 데이터 보관)를 관리하고 역할 수행

profile
레거시 학살자

0개의 댓글