#자바 프로그래밍 수업 ##프로그래밍의 3단계
- 하수는 메서드를 나눈다.
- 중수는 클래스를 나눈다.
- 고수는 개념으로 클래스를 구성하고 머리로 코드를 작성한다.
##단위 테스트와 리펙토링
우리가 프로그래밍을 할때 프로그램을 한번에 완성하려는 경향이 있다.
그리고 프로그램을 한번에 디버깅을 할려고 한다.
이것은 비효율적인 방법이다.
프로그램을 기능단위로 쪼개서 메서드로 만들고 나눈 부분들을 다시 조합해서 더 큰 프로그램을 만들어야한다.
각 기능은 테스트를 하면서 통과하면서 나아간다.
초보개발자들이 반드시 이 과정을 알아야한다.
테스트가 짧으면 짧을수록 효율은 증대한다.
###JUnit을 이용한 테스트 방법
이클립스에서 Source folder는 소스코드가 들어오면 자동으로 컴파일 해준다.
프로덕션 코드 - src에 들어가야하는 코드
테스트 코드 - test에 들어가야하는 코드
package는 소문자, class는 대문자, method명은 소문자로 시작해야한다.
테스트 코드는 반드시 프로덕션코드의 파일명 뒤에 Test를 붙이는 것이 컨벤션이다.
테스트코드와 프로덕션 코드는 같은 package 안에 위치하는 것이 컨벤션이다.
각 테스트 메소드는 프로덕션 메소드 하나에 대해서 검증을 해야한다.
메서드의 인풋과 아웃풋을 먼저 추출해야한다. 테스트를 먼저 작성하면 input, output을 먼저 추출할 수 잇다.
assertEquals를 쓸 때 내가 기대하는 값이 먼저오고 결과값을 2번째로 넣어준다.
###문자열계산기
- 짝프로그래밍
###SIS(학생정보시스템)
- 접근제어자
- public - 다른 클래스라도 접근 가능
- 디폴트 접근 제어자 - 같은 패키지 내에 있을때에는 접근 가능, 딴 패키지는 안됨
- private - 같은 클래스 내에서만 접근가능
- protected - 클래스 내, 상속내에서 가능
##포비의 학습론. 무엇인가를 감사주도로 만들어가면서 병행해서 내가 스스로 무언가를 만들어갈때 학습효과가 좋다.
- 프로그래밍을 할때 어떤 순서대로 시작하느냐?(클래스와 메소드를 어떻게 분리하느냐)
- 2가지의 형태가 있다. 클래스를 우선적으로 나누거나, 한개의 클래스에 다수의 메소드(기능들)로 나누거나.
- 나(포비)는 메소드로 시작해서 클래스로 가는것을 추천한다. 왜냐하면 클래스부터 나누는 것은 매우 어려운 작업이기때문이다.
- 디자인패턴은 결국 리펙토링을 계속 하다보면 그것이 마지막에는 디자인패턴적인 코드가 되어있다고 생각한다.
##프로그래밍 원칙
- indent depth = 1
- method line < 10
##Yesdoing Project 기술 스택 백앤드
- Spring boot
- Spring + MVC
- Security
- Spring data JPA
- Gradle ( <= Maven)
- logging => slf4j
-
thymleaf handlebars - Mysql, MariaDB, Postgres DB
- RESTful API
- ORM => JPA (hibernate, …)
프론트앤드
- Javascript
- jquery => ajax
- react.js
- angular.js
- vue.js
- jquery => ajax
Comments