20180802

Today I Learned

  • BE 환경 설정(JDK, Eclipse, Tomcat) (~ 08/02)

웹의 동작

  • URL
    • 프로토콜://IP주소(도메인주소)/경로
    • URI : 자원의 위치
  • HTTP 요청 메시지
    • 요청 메서드
      • GET : 정보 요청 (select) , 요청 바디가 없다.
      • POST : 정보 삽입 (insert)
      • PUT / PATCH : 정보 업데이트
      • DELETE : 정보 삭제
      • OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청
      • TRACE : 클라이언트의 요청을 그대로 반환 (주로 echo 서비스 같이 서버 상태 확인 목적)
  • HTTP 응답 상태 코드
    • 200 : 성공
    • 404 : Not found
    • 500 : 내부 서버 오류

Front / Back

  • 웹 프론트엔드란 사용자에게 웹을 통해 다양한 콘텐츠를 제공하고, 사용자의 요청에 반응해서 동작하는 것.
    • 역량
      • 웹콘텐츠를 잘 보여주기 위한 구조
      • 적절한 배치, 일관된 디자인
      • 사용자의 요청 반영
  • 웹 백엔드란 클라이언트의 요청에 따른 정보 전달 및 정보 처리/저장하는 것
    • 역량
      • 웹의 동작 원리
      • 알고리즘/자료구조
      • 운영체제
      • 네트워크
      • 프레임워크
      • DBMS

웹 서버

  • 클라이언트가 요청하는 데이터를 전달
  • 가장 많이 사용하는 웹 서버 소프트웨어 Apache, Nginx, Microsoft, Google 웹서버

WAS

  • 미들웨어
    • 서버와 클라이언트 사이의 서버
    • 대부분의 로직을 수행
    • 클라이언트 관리로 인한 여러 문제를 해소
      • 클라이언트의 복잡한 로직을 덜어줌
  • WAS
    • 브라우저와 DBMS 사이에서 동작하는 미들웨어
    • 기본 기능
      1. 프로그램 실행 환경과 DB 접속 기능을 제공한다
      2. 여러개의 트렌젝션을 관리한다.
      3. 비지니스 로직을 수행한다.
  • 웹서버 vs WAS
    • 보통 아래와 같이 역할 분담.
      • 웹서버는 클라이언트에게 정적인 콘텐츠 전달.
      • WAS는 클라이언트에게 프로그램의 동적인 동작 전달.
    • WAS에도 웹서버 기능이 있으나, 웹서버와 WAS를 분리하여 사용하는 이유 - 웹서버는 WAS 보다 간단한 구조.
      • WAS의 동적인 프로그램상 오류로 재시작해야할 때 등
        • 장애극복기능(앞 단의 웹서버에서 먼저 해당 WAS를 이용하지 못하도록 설정)
        • 즉, 무중단 운영을 위함

JAVA 설치

  • JRE : Java언어로 작성된 프로그램 실행을 위함 Java SE Runtime Environment
  • JDK : JAVA언어로 작성된 소스를 컴파일 / 관리를 위함 Java SE Development Kit
    • JDK안에는 JRE도 포함되어 있음.
  • 시스템 환경 변수 추가
    • JAVA_HOME : JDK 설치 경로
    • CLASSPATH : ./%JAVA_HOME%\lib\tools.jar
    • PATH : %JAVA_HOME%bin 추가
  • java -version : java 명령은 class로 작성된 프로그램 실행
  • javac -version : javac 명령은 java로 작성된 프로그램 컴파일

Java Code Conventions

  • Class Name : 첫 글자 대문자
  • project/package Name : 소문자

숫자야구

  • 불필요한 메소드가 있었다.
  • 너무 새벽에 코딩했나보다.
    • (모순)지금도 새벽 4시

TO-DO

  • 코딩야학 4기 수료 (~ 08/14)
    • Local Tomcat 서버에서 동작하는 아주 간단한 HTML Page 구현 (~08/05)
  • 부스트코스 Full-Stack Web Developer 이수 (~ 09/30)

  • 온라인 (git, html/css, js, java) 강의 듣기. (미정)