[코딩 테스트]- 개발형 코딩 테스트

Jeonghwan Kim·2022년 11월 8일
0

코딩 테스트

목록 보기
19/21

개발형 코딩 테스트

  • 정해진 목적에 따라서 동작하는 완성된 프로그램을 개발하는 것을 요구하는 코딩 테스트 유형

  • 개발형 코딩 테스트는 분야에 따라 상세 요구사항이 다르지만, 분야에 상관없이 꼭 알아야하는 개념과 도구 등이 있음

  • 서버와 클라이언트

    • 클라이언트가 요청(Request)을 보내면 서버가 응답(Response)함
    • 클라이언트(Client) = 고객
      • 서버로 요청(Request)을 보내고 응답(Response)이 도착할 때까지 기다림
      • 서버로부터 응답을 받은 뒤에는 서버의 응답을 화면에 출력함
        • ex 1) 웹 브라우저: 서버로부터 받은 HTML, CSS 코드를 화면에 적절한 형태로 출력함

        • ex 2): 게임 앱: 서버로부터 받은 경험치, 친구 귓속말 정보 등을 화면에 적절한 형태로 출력함

    • 서버(Server) = 서비스 제공자
      • 클라이언트로부터 받은 요청(Request)을 처리해 응답(Response)을 전송함
        • ex) 웹 서버: 로그인 요청을 받아 아이디와 비밀번호가 정확한지 검사하고 그 결과를 응답합

  • HTTP 개요

    • HTTP(HyperText Transfer Protocol)는 웹상에서 데이터를 주고받기 위한 프로토콜을 의미함
      • 보통은 웹 문서(HTML 파일)를 주고받는 데 사용됨
      • 모바일 앱 및 게임 개발 등에서 특정 형식의 데이터를 주고받는 용도로도 사용됨
    • 클라이언트는 요청의 목적에 따라서 적절한 HTTP 메서드를 이용해 통신 진행
      • 대표적인 HTTP 메서드
    • 파이썬 웹 요청 예제: GET 방식 → 구글 웹페이지에서 제공한 HTML 코드가 출력됨
      import requests
      
      target = "http://google.com"
      response = requests.get(url=target)
      print(response.text)
  • REST의 등장 배경

    • HTTP는 GET, POST, PUT, DELETE 등의 다양한 HTTP 메서드를 지원함
      • 실제로는 서버가 각 메서드의 기본 설명을 따르지 않아도 프로그램을 개발할 수 있음

      • 하지만 저마다 다른 방식으로 개발하면 문제가 될 수 있어 기준이 되는 아키텍처가 필요함

  • REST 개요

    • REST(Representational State Transfer)는 각 자원(Resource)에 대하여 자원의 상태에 대한 정보를 주고받는 개발 방식을 의미함
    • REST의 구성요소
      • 자원(Resource): URI를 이용 - 서버의 어떤 자원에 접근할 것인지 명시 (사용자)

      • 행위(Verb): HTTP 메서드를 이용 - 그 자원에 대해 어떤 행위를 할것인지 명시 (회원 등록)

      • 표현(Representations): 페이로드를 이용 - 상세 데이터 내용 기입 (아이디는~ 싶어요. )

  • REST API란?

    • API(Application Programming Interface): 프로그램이 상호작용하기 위한 인터페이스를 의미함
    • REST API: REST 아키텍처를 따르는 API
    • REST API 호출: REST 방식을 따르고 있는 서버에 특정한 요청을 전송하는 것
  • JSON(JavaScript Object Notation): 데이터를 주고받는 데 사용하는 경량의 데이터 형식

    • JSON 데이터는 키와 값의 쌍으로 이루어진 데이터 객체를 저장함

    • JSON 객체 사용 예제

      import json
      
      # 사전 자료형(dict) 데이터 선언
      user = {
      	"id" : "gildong",
      	"password" : "1!2@3#4$",
      	"age" : 30,
      	"hobby" : ["football", "programming"]
      
      # 파이썬 변수를 JSON 객체로 변환
      json_data = json.dumps(user, indent = 4)
      print(json_data)
    • JSON 객체 파일 저장 예제

      import json
      
      # 사전 자료형(dict) 데이터 선언
      user = {
      	"id" : "gildong",
      	"password" : "1!2@3#4$",
      	"age" : 30,
      	"hobby" : ["football", "programming"]
      
      # JSON 데이터로 변환하여 파일로 저장
      with open("user.json", "w", encoding = "utf-8") as file:
      	json_data = json.dump(user, file, indent=4)
  • REST API 연습용 서비스

  • REST API를 호출하여 회원 정보를 처리하는 예제

    import requests
    
    # REST API 경로에 접속하여 응답(Response) 데이터 받아오기
    target = "https://jsonplaceholder.typicode.com/users"
    reponse = request.get(url=target)
    
    # 응답(Response) 데이터가 JSON 형식이므로 바로 파이썬 객체로 변환
    data = response.json()
    
    # 모든 사용자(user) 정보를 확인하여 이름 정보만 삽입
    name_list = []
    for user in data:
    	name_list.append(user['name'])
    
    print(name_list)

참고: 이것이 취업을 위한 코딩 테스트다 with 파이썬 (취업과 이직을 결정하는 알고리즘 인터뷰 완벽 가이드), 유튜브 강의 영상

0개의 댓글