Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

염지현 6주차 과제 #57

Open
1 task
yeomja99 opened this issue Jul 20, 2020 · 0 comments
Open
1 task

염지현 6주차 과제 #57

yeomja99 opened this issue Jul 20, 2020 · 0 comments

Comments

@yeomja99
Copy link

📡Network📡

1. Network → 통신

DataBase ←———→Server ←———→Client(app, web, ...)

  글                                                                                A

 댓글                                                                             B

→ 서버를 통해 A가 쓴 글과 B가 쓴 댓글을 서로 볼 수 있음

→ 서버를 통해 데이터를 전달받고 클라이언트는 디자이너가 디자인 시안대로, 사용자가 보기 편하게 UI를 그려줌

→ 서버는 데이터 베이스에 접근하는 역할과 더불어 더 많은 기능을 함

Local DataBase의 한계

  • 동기화가 어렵다
  • 상호작용이 불가능 하다

⇒ 이 2가지 한계를 극복하고자 서버와 통신을 하고 데이터 베이스를 서버가 관리해준다

서버와 통신하는 방법

  • 해당 URL로 요청한다 → request
  • 인증 정보(Client가 누구인지에 대한 정보를 보냄)
    • 같은 url을 입력할 시 모두가 같은 페이지를 보게 됨
    • but 넷플릭스와 같은 페이지는 가입 유무 및 구독 방식에 따라 받는 서비스가 다름
    • 따라서 url과 함께 인증 정보(header)를 전송하여 Client가 누구인 지에 대해 알려줌
    • Json 형식을 사용하여 data를 보낸다.

2. Json(JavaScript Object Notation)

2.1 : Json

: JavaScript에서 객체를 만들 때 사용하는 표현식이다.

  • → list

  • { } → 객체

    • "" → 문자열
    • "" 없으면 → 숫자

    ❗자바, 코틀린 : 강타입 언어(타입을 지정해주어야 한다)

    • 코틀린은 반 강타입 언어

      ex) val num = 10 → 추론을 어느 정도 허용 한다

    • 자바는 강타입 언어

      → 따라서 "" 의 유무를 통해 String인지 숫자인지를 판별한다.

    ex) Json Response

      {
            "id": 1,                    -> 문서에 type이 작성되어 있다
            "name": "홍길동",
            "age": 20,
            "intro": "나는 홍길동이다!"
        },
       {
           "id": 2,
           "name": "김아무개",
           "age": 10,
           "intro": "난 김 아무개 입니다 :)"
       }
    ]
    

2.2 Json Parsing → Json을 코틀린이나 자바가 이해할 수 있게 변형하는 과정

2.3 Serializer(직렬화)

  • 자바 시스템 내부에서 사용하는 object를 외부에서 사용할 수 있도록 byte의 형태로 데이터를 바꾸는 것
          • -- - - -- - - - >(꼬치에 id, name, age, intro를 하나씩 꽂아주는 느낌)

      id, name, age, intro

2.4 Class(코틀린이나 자바가 이해할 수 있는 틀)

→ Json 형식으로 작성되면 자바나 코틀린은 이해할 수 없다. 따라서 Json 형식을 코틀린이나 자바가 이해할 수 있는 클래스로 변경시켜 주어야 한다.

class Person{
  var id : Int? = null
  var name : String? = null
  var age : Int? = null
  var intro : String? = null
}

Person(1, "김아무개", 20, "안녕하세요")

2.5 Request Type

image

+) Status Code

  • 200 번 대 → 처리가 잘 됐다.

image

2.6 Library(Network)

  • Volley
  • Retrofit

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant