뉴렉처 1부: 필수 플랫폼을 이용한 자바 풀스택 프로그래밍

1부 내용은 웹 개발자들이라면 반드시 알고 있어야 하는 기반기술에 대한 내용에 대해 다룹니다.

단순히 HTML과 CSS 그리고 JAVASCRIPT를 다루는 것 이상으로 HTML이나 CSS를 어떻게 사용하는 것이 바람직한 지와 JAVASCRIPT를 사용할 때 문제가 되는 부분들을 짚어보고 그리고 그것을 어떻게 이용하는 것이 바람직한 지와 같은 올바른 코딩 습관 등을 자세히 알려주는 과정입니다.

개발자 취업을 위해서 공부하는 사람들 중에는 리엑트나 스프링과 같은 과목들을 학습하면서 이해력이 부족하거나 응용이 부족한 경우가 많습니다. 그래서 엉뚱한 방식으로 코드를 작성하는 경우가 많은데 그 이유는 바로 기초가 부족하기 때문입니다.

이 과정은 2부 내용을 학습하기 위해서라도 반드시 알고 있어야 하는 중요한 내용을 담고 있습니다.

[과정 내용]

  1. : 필수 플랫폼을 이용한 자바 풀스택 프로그래밍
    1. 코딩의 이해와 기본적인 코드 절차 작성능력 배양하기
      1. 이용한 절차지향 프로그래밍
        1. 코딩의 이해와 원하는 결과를 얻어내기 위해 올바른 절차를 작성하는 방법을 학습한다.
        2. 데이터 형식과 값의 구조 그리고 연산자와 연산순서 등을 학습한다.
        3. 파일 입/출력을 통해 값의 입/출력 방법과 문자코드와 숫자 코드를 이해한다.
        4. 제어구조를 통해서 자신이 원하는 데이터만 읽거나 연산할 수 있도록 절차를 제어하는 방법을 연습한다.
        5. 함수를 통해서 제어의 복잡도를 낮추는 방법을 이해하고 데이터를 구조화 하는 것의 필요성을 느끼며 올바로 구조화 하는 방법을 학습한다.
      2. 객체지향 프로그래밍
        1. 함수와 데이터 구조화의 한계를 통해서 캡슐화의 필요성을 학습한다.
        2. 캡슐화/상속/재사용/다형성 등을 통해서 규모가 있는 프로그램을 올바로 만드는 방법을 학습한다.
        3. 객체를 설계하기 위한 기본 개념을 학습한다.
      3. 컬렉션과 기타요소
        1. 배열의 한계를 극복할 수 있는 가변크기 배열의 필요성을 학습한다.
        2. 자바가 제공하는 콜렉션의 종류와 사용방법을 학습한다.
        3. 콜렉션을 가공할 수 있는 Stream 객체를 통해서 정렬,필터링 등을 실습해본다.
        4. 예외처리와 기타 요소들을 학습한다.
    2. 웹 문서 기획 및 디자인, 프로토타입 만들기
      1. 기획안 발표
        1. 개인 또는 팀별로 기획안을 소개한다.
        2. 기획안을 기반으로 조를 나누거나 개인 프로젝트를 진행하기 위한 일정을 정한다.
      2. Adobe XD를 이용한 디자인 및 프로토타입 작성하기
        1. 기획안을 구체화할 수 있도록 기획에 도움이 되는 도구를 학습한다.
        2. Adobe XD를 활용하여 와이어 프레임과 목업을 디자인하는 방법을 학습한다.
        3. 프로토타이핑을 작성하는 방법을 학습한다.
        4. 자신 또는 조에서 기획한 최종 프로토타입을 발표한다.
    3. 웹 문서 구현하기
      1. 기획된 문서가 구현될 수 있도록 웹문서를 구현 능력을 학습한다.
      2. 문서 콘텐츠 구조 만들기(HTML5)
        1. 인사이트 블록레벨 태그를 이용해서 콘텐츠를 구분하는 방법을 학습한다.
        2. 아웃사이드 블록레벨 태그를 이용해서 아웃라인 잡고 그 블록을 작성하는 방법을 학습한다.
        3. 인터널 또는 인라인 태그를 이용해서 콘텐츠를 구분하는 방법을 학습한다.
      3. 문서 구조에 스타일 입히기(CSS3)
        1. 셀렉터, 속성연산자, 중첩연산자, 슈도 클래스, 슈도 엘리먼트를 통한 타게팅 방법을 학습한다.
        2. 블록 레벨 박스를 스타일링하기 위한 박싱, 배경, 경계선, 오버플로우 등에 대해서 학습한다.
        3. 수동 레이아웃인 absolute, relative, fixed, sticky 등을 학습한다.
        4. 자동 레이아웃인 block ,inline, table, list-item 등에 대해서 학습한다.
        5. 새로운 레이아웃에 대해서 학습한다.
          1. Flex : 목록을 다루는 다양한 Flow, Flexibility와 정렬방법
          2. Grid : Track을 고정/가변으로 만드는 방법과 인덱스를 이용하는 배치와 이름을 이용한 배치 라인 이름 붙이기 등을 학습한다.
          3. Multi Column : 콘텐츠를 박스 없이 배치하는 방법을 학습한다.
        6. 동적인 변화를 위한 상태 변경 방법과 애니메이션과 트랜지션
          1. 트랜지션을 이용한 애니메이션과 변형을 위해 새롭게 추가된 속성과 그것이 주는 장점과 기존 변형속성과의 차이점을 올바르게 이해하고 올바른 적용방법등을 학습한다.
          2. 여러 굴곡점을 가지는 변화에 적합한 애니메이션 방법을 학습하고 변화를 위한 자원을 미리 마련하는 방법을 학습한다.
        7. 반응형 페이지를 위한 미디어 쿼리와 스타일 파일을 구성하는 방법을 학습한다.
    4. 프론트엔드 프로그래밍
      1. 자바스크립트 ES5 버전을 이용한 프로그래밍
        1. 앞에서 학습했던 자바를 기반으로 프로그래밍 언어로써 어떤 차이가 있는지를 학습한다.
        2. 데이터, 제어구조, 배열, 함수, 객체 등의 차이를 학습하고 스크립트를 올바로 다루기 위한 방법을 학습한다.
        3. 자바스크립트 객체지향의 레거시 방법인 프로토타입과 상속 등에 대해서 학습한다.
        4. 객체 속성을 나열하고 속성 추가 삭제 방법을 학습한다.
      2. DOM 플랫폼을 이용한 웹문서 동적으로 만들기
        1. HTML을 로드하는 과정과 문서 객체의 구조에 대해서 학습한다.
        2. 문서 객체를 선택하기 위한 document 객체의 노드 찾기와 순회 방법을 학습하고 최신 노드 선택과 순회 방식인 Selectors API를 학습한다.
        3. 선택된 객체의 속성과 스타일을 변경해보고 바람직한 코드 작성 방법을 학습한다.
        4. 문서내에 엘리먼트들을 조작하기 위한 추가/삭제/수정 방법들을 학습하고 가장 바람직한 코드 작성방법을 학습한다.
        5. 문서 이벤트 객체와 이벤트 종류를 학습하고 이벤트에 반응하는 동적인 화면을 구현한다.
        6. Ajax 를 이용하여 문서의 로딩타임을 줄이고 싱글 페이지 어플리케이션 만드는 개념을 학습한다.
      3. 스크립트를 ES6 버전으로 마이그레이션하기
        1. 기존 스크립트 버전의 문제점과 그것을 해결하기 위해 등장한 ES6만의 기능을 설명하고 사용해야 할 것과 사용하지 말아야 할 것을 선별하고 올바른 스크립트 코드 작성방법을 설명한다.
        2. 데이터 바인딩과 템플릿 문자열을 이용해 효율적인 문서 조작 방법을 학습한다.
        3. 새롭게 등장한 객체지향 프로그래밍을 위한 도구들을 학습하고 커스텀 이벤트와 콤포넌트 작성방법을 학습한다.
        4. 새로운 비동기 처리 방식을 이용해보고 Ajax 요청도 Promise 방식을 이용해 개선하는 방법을 학습한다.
        5. 커스텀 클래스와 엘리먼트를 독립적인 라이브러리로 만드는 방법을 학습한다.
      4. Canvas / SVG 를 이용한 그래픽 프로그래밍
        1. Canvas를 이용해 다양한 그래픽 처리나 게임과 같은 동적인 처리 방법을 학습하고 SVG를 이용해 차트를 다루는 방법을 학습한다.
      5. 외부 API 이용하기
        1. Map API나 인증 API 등과 같은 API를 활용하는 방법을 학습한다.
    5. 백엔드 프로그래밍
      1. 브라우저 없이 동작하는 자바스크립트 프로그램 만들기
        1. 브라우저가 아닌 곳에서 스크립트를 동작시키는 NodeJS를 이해하고 그 위에서 사용할 수 있는 기본 API들을 활용해본다.
      2. Express를 이용한 백엔드 프로그래밍
        1. NodeJS의 외부 API인 Express를 설치하고 활용하여 웹 문서를 백엔드에서 작성하는 방법과 라우팅이나 인코딩, 인증 방법 등을 학습한다.
        2. Express에 View 엔진을 설치하고 백엔드에 페이지를 동적으로 만드는 방법을 학습한다.
        3. Restful API 작성을 위한 URL 규칙을 학습하고 API 작성 방법을 학습한다.
        4. MongoDB를 설치하고 그것을 이용하여 쿼리를 실행하는 방법을 학습한다.
        5. DB에 저장된 데이터를 이용해 Restful API를 작성한다.
      3. 오라클 또는 MySQL SQL 프로그래밍
        1. 오라클 또는 MySQL 중에 하나를 선택해서 설치하고 데이터베이스를 활용하기 위한 기본 SQL, Select 구절, 조인, 유니온 등에 대해서 학습한다.
        2. Select 구절을 이용해서 정렬, 필터링, 집계하는 방법들을 학습한다.
        3. 엔티티와 관계로 이루어진 테이블을 조인하는 방법을 학습한다.
        4. 유니온과 View를 만들고 이용하는 방법을 학습한다.
        5. 저장 프로시저를 만들어서 호출하는 방법을 학습한다.
      4. 데이터베이스 설계 및 구현하기
        1. 기획안을 기반으로 데이터 엔티티를 선별하고 관계를 분석하는 개념설계 방법을 학습한다.
        2. 개념 설계를 바탕으로 논리설계 방법을 학습한다.
        3. 물리설계와 데이터베이스를 구현하는 방법을 학습한다.
        4. 정규화를 통해서 데이터 결함을 방지하는 방법을 학습한다.
        5. 테이블에 제약조건을 통해서 데이터 결함을 방지하는 방법을 학습한다.
      5. JDBC 프로그래밍
        1. 데이터베이스를 연동하기 위한 JDBC API의 구조와 필요성을 이해하고 DB에 연결하고 쿼리를 실행하는 학습한다.
        2. 인자가 많은 쿼리를 실행하는 효율적인 방법을 학습한다.
        3. 트랜잭션을 이해하고 트랜잭션을 유지하는 방법을 학습한다.
        4. 저장 프로시저를 이용해서 데이터를 요청하는 방법을 학습한다.
        5. 백엔드에서 사용할 백엔드 데이터 서비스 클래스 작성하기
      6. Servlet / JSP를 이용한 백엔드 프로그래밍
        1. 웹 UI의 구동방식과 Servlet API 이해하기
        2. Servlet 작성하기와 문서 생성방법 학습하기
        3. 문자열 입/출력 방식을 이해하고 한글 입/출력하기
        4. 필터 작성방법과 인코딩 필터 만들기
        5. JSP 뷰 엔진을 이용한 문서 작성방법 학습하기
        6. JSP MVC 방식을 이해하고 MVC 프로그래밍 구조 작성하기
        7. 세션 키와 구동 방식을 이해하고 인증 처리하기
        8. 쿠키를 이해하고 쿠키를 이용한 데이터 사용하기
        9. 인증과 권한을 위한 인증필터 작성하기
        10. Restful API를 구현하기
    6. 1부 플스택 최종 프로젝트
      1. 프로젝트 구현과 리뷰 진행
      2. 프로젝트 발표 및 수료