2017. 8. 14 - pobi

#자바 프로그래밍 수업 ##프로그래밍의 3단계

  1. 하수는 메서드를 나눈다.
  2. 중수는 클래스를 나눈다.
  3. 고수는 개념으로 클래스를 구성하고 머리로 코드를 작성한다.

##단위 테스트와 리펙토링 우리가 프로그래밍을 할때 프로그램을 한번에 완성하려는 경향이 있다.
그리고 프로그램을 한번에 디버깅을 할려고 한다.
이것은 비효율적인 방법이다.
프로그램을 기능단위로 쪼개서 메서드로 만들고 나눈 부분들을 다시 조합해서 더 큰 프로그램을 만들어야한다.
각 기능은 테스트를 하면서 통과하면서 나아간다.
초보개발자들이 반드시 이 과정을 알아야한다.
테스트가 짧으면 짧을수록 효율은 증대한다.

###JUnit을 이용한 테스트 방법 이클립스에서 Source folder는 소스코드가 들어오면 자동으로 컴파일 해준다.
프로덕션 코드 - src에 들어가야하는 코드
테스트 코드 - test에 들어가야하는 코드
package는 소문자, class는 대문자, method명은 소문자로 시작해야한다.
테스트 코드는 반드시 프로덕션코드의 파일명 뒤에 Test를 붙이는 것이 컨벤션이다.
테스트코드와 프로덕션 코드는 같은 package 안에 위치하는 것이 컨벤션이다.
각 테스트 메소드는 프로덕션 메소드 하나에 대해서 검증을 해야한다.
메서드의 인풋과 아웃풋을 먼저 추출해야한다. 테스트를 먼저 작성하면 input, output을 먼저 추출할 수 잇다.
assertEquals를 쓸 때 내가 기대하는 값이 먼저오고 결과값을 2번째로 넣어준다.

###문자열계산기

  • 짝프로그래밍

###SIS(학생정보시스템)

  • 접근제어자
    • public - 다른 클래스라도 접근 가능
    • 디폴트 접근 제어자 - 같은 패키지 내에 있을때에는 접근 가능, 딴 패키지는 안됨
    • private - 같은 클래스 내에서만 접근가능
    • protected - 클래스 내, 상속내에서 가능

##포비의 학습론. 무엇인가를 감사주도로 만들어가면서 병행해서 내가 스스로 무언가를 만들어갈때 학습효과가 좋다.

  • 프로그래밍을 할때 어떤 순서대로 시작하느냐?(클래스와 메소드를 어떻게 분리하느냐)
    • 2가지의 형태가 있다. 클래스를 우선적으로 나누거나, 한개의 클래스에 다수의 메소드(기능들)로 나누거나.
    • 나(포비)는 메소드로 시작해서 클래스로 가는것을 추천한다. 왜냐하면 클래스부터 나누는 것은 매우 어려운 작업이기때문이다.
    • 디자인패턴은 결국 리펙토링을 계속 하다보면 그것이 마지막에는 디자인패턴적인 코드가 되어있다고 생각한다.

##프로그래밍 원칙

  1. indent depth = 1
  2. 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

Comments