DEMO: http://cnuant.iptime.org:8080/
REF: http://cnuant.iptime.org:8080/opensource
- 읽기 쉬운 코드
- 글 읽듯 읽혀야 한다.(변수 이름 의미있게 정하기, 영어 문법 고려)
- 일관성이 있어야한다.
- 수정하기 쉬운 코드
- 변경의 여파가 적어야한다. (순수함수, 상태를 남기지 않음 구현을 감추기)
- 버그를 최대한 빨리(컴파일 단에서) 발견하도록
- 개발의 방향성
- 이해하기 쉬운 코드: 코드가 짧고 단순하고 직관적인 코드
- 수정하기 쉬운 코드: 변경의 여파가 적은 코드
- 협업의 이해와 도구 사용
- Git, Git hub
- Git branch, Git flow
- Spring boot 이해
- Main의 위치 (application
- web front(html, css, js, img) 파일(resource)
- Build 시스템 (gradle)
- Config (spring config)
- MVC
- Controller: 요청 제어
- Model: 데이터를 가져옴
- Service: 데이터를 가공함
+) 추가
- intellij 단축키
- 논리적구분, 물리적구분 이해
- 개발 / 배포 서버
- /script/** (nohup ./gradlew bootrun --args='--spring.profiles.active=live' &)
- lsof -i:{port번호}
- 데이터 저장, 데이터 불러오기
- 데이터베이스 사용해보기
- SQL 문 써보기
- Repository 개념
- JPA & Hibernetes 맛보기
- 데이터 -> view
- Message: 데이터를 가공해 클라이언트에 보냄
- View: 사용자에게 보여줌 (web front)
- JS의 component.js (message의 데이터를 view로 binding함)
- template engine (https://www.thymeleaf.org/)
- view -> 데이터
- Http의 전송방식 (put, post, delete)
- Fetch API
- 여러 Javascript 라이브러리 적용해보기
- Alime Template
- CKEDITOR
- Choice js
- Valid js
- Javascript 주의할점
- js 기본 문법, 특징
- hoisting
- scope
- 인증 구현
- Spring security 를 이용한 login 처리
- Interceptor 를 통한 인증 정보
- preHandle
- postHandle
- annotation으로 함수 접근 범위 설정
- custom으로 annotation 생성하여 함수 범위 설정
- 관점지향 코딩의 방향성
- Spring Web
- Spring jpa
- Spring security
- Spring Template engine (Thymeleaf)
- alime template
- Bootstrap
- Js libraries