02장, 기초 지식 배우기

Kiiing_Stone·2023년 4월 30일
0

2-1 자바 기초 지식 복습
2-2 웹 애플리케이션 만들기의 필수 지식 확인
2-3 개발에 사용하는 편리한 라이브러리와 도구

📌 2-1 자바 기초 지식 복습

📃 1) 인터페이스 : Java에서 class에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것을 말한다.

  • 인터페이스를 선언할 때는 interface 키워드를 사용.
    • 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어지기에, 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불림.
    • 인터페이스에 변수를 선언한 경우 암묵적으로 public static final한정자가 붙어서 상수가 됨.
  • 인터페이스를 구현할 때는 implements 키워드를 사용.

📃 2) 리스트 : 컬렉션 프레임워크에서 제공하는 인터페이스로, 여러 데이터를 순서대로 정렬하여 저장할 때 사용한다.

  • 컬렉션의 종류
인터페이스(종류)개요
리스트List순서대로 데이터를 저장. 데이터의 중복을 허용.
세트Set순서를 유지하지 않는 집합. 중복을 허용하지 않음.
맵Map키와 값의 쌍으로 이루어진 데이터 집합. 순서는 유지되지 않고 키의 중복을 허용하지 않으며 값의 중복을 허용.
  • ArrayList : List 인터페이스의 구현 클래스에서 가장 많이 사용 되며, 요소를 배열로 유지하기 때문에 요소의 검색을 빠르게 처리할 수 있지만, 요소의 수가 많아지면 '추가/삭제' 처리에 시간이 걸린다.
  • LinkedList : 요소끼리 전후 양방향의 링크로 참조하는 리스트 구조를 이용하여 관리하기 때문에, 요소의 추가or삭제가 ArrayList보다 빠름. 그러나 특정 요소 검색과 같은 인덱스 값에 의한 무작위 액세스에는 적합하지 않다.

📌 2-2 웹 애플리케이션 만들기의 필수 지식 확인

📃 1) 클라이언트와 서버 :

  • 클라이언트는, 서비스를 요청하는 쪽
  • 서버는, 서비스를 제공하는 쪽.
  • 서버가 서비스를 제공해 그 서비스를 클라이언트가 사용하는 관계

📃 2) 브라우저 :

  • 인터넷을 사용할 때 이용하는 소프트 웨어
  • 구글 크롬, 파이어 폭스, 마이크로소프트 엣지, 인터넷 익스플로러, 사파리

📃 3) 애플리케이션과 웹 애플리케이션 :

  • 애플리케이션은, 응용 프로그램 소프트웨어의 약어이다.(프로그래밍 언어로 작성한 소프트웨어)
  • 웹 애플리케이션은, 인터넷을 통해 사용되는 응용 프로그램이다.(검색 엔진, e-커머스, e-러닝 등의 응용 프로그램이 웹 응용 프로그램으로 세상에 제공되고 있음)

📃 4) 웹 서버 :

  • 웹 애플리케이션을 배포하는 서버이다.
  • 웹 서버는 항상 실행되며, 클라이언트로부터 액세스(요청)를 계속 기다림.

📃 5) HTTP 통신(프로토콜) :

  • 클라이언트와 웹 서버는 HTTP요청(request)과 HTTP응답(response)으로 상호작용하며, 이를 HTTP통신이라 한다. (클라이언트의 요청에 대해 웹서버가 응답하게 됨)

  • HTTP통신의 흐름 :

      1. 클라이언트가 브라우저에 URL 입력.
      1. 클라이언트에서 웹 서버로 HTTP 요청이 전송됨.
      1. 웹 서버는 HTTP요청을 받아, 요청에 해당하는 HTTP응답을 클라이언트에 반환.
      1. 브라우저는 받은 응답을 표시하고, 클라이언트가 이를 확인.

📃 6) GET 메서드와 POST 메서드 :

  • GET메서드와 POST메서드는 HTTP요청의 한 유형이다.
  • GET메서드는, 브라우저에서 웹 서버로 값을 전달할 때 URL 뒤에 값을 더하여 보내는 방식으로, URL 뒤에 오는 정보를 '쿼리 스트링' or '쿼리 문자열'이라고 한다.
    • 특징1, url끝에 '?'가 붙어 쿼리 스트링의 시작을 나타냄 (domain.com/?)
    • 특징2, 형식은 '이름=값'입니다. (domain.com/?name=value)
    • 특징3, 여러 값을 전달하려면 '&'로 연결함. (domain.com/?name=value&tel=010)
      (쿼리 스트링은 많은 양의 값을 보내기에 적합하지 않음)
  • POST메서드는, 브라우저로부터 웹 서버에 값을 보낼 때 '요청 본문(request body)'이라고 하는 URL에는 보이지 않는 장소에 값을 넣어서 보내는 방법이다. (e-커머스 사이트 등에서 개인정보를 등록할때 입력한 내용을 URL에 표시하고 싶지 않을 경우 POST메서드를 사용하며, 많은 양의 값을 보내는 데 적합함.)
  • GET메서드는 url에 대한 내용을 받는다는 의미, POST메서드는 지정한 url에 입력 정보를 보낸다는 의미.

📌 2-3 개발에 사용하는 편리한 라이브러리와 도구

📃 1) Lombok : 편리한 프로그램을 모아 모듈화한 것을 '라이브러리'라고 하며, Lombok은 그런 라이브러리 중 하나이다.

  • Lombok을 사용하게 되면, getter나 setter 등의 코드를 작성하지 않아도 자동으로 구현해 주어, 매우 편리하기 때문에 자주 사용된다.

📃 2) Gradle : 빌드 도구로, 최근 자바 개발의 표준이 되고 있다.

  • 빌드란 '요구된 실행 환경에서 동작할 수 있는 형식에 애플리케이션이나 라이브러리를 조립하는 것'을 말한다.
  • 빌드로 자동화 할 수 있는 반복 작업
    • 필요한 라이브러리를 리포지토리(라이브러리가 저장되어 있는 곳)에서 다운로드 함.
    • 소스코드를 컴파일 함.
    • 테스트를 실행하여 보고서를 출력.
    • 클래스 파일의 아카이브(여러 파일이나 폴더를 하나로 정리하는 것)를 생성 함.
    • 아카이브를 스테이징 환경(프로덕션 환경에 가까운 환경) 등에 배포 함.
profile
"Hello, World!"

0개의 댓글