2018년 4월 14일 토요일

패스트 캠퍼스 JAVA 웹 프로그래밍 마스터 16일차(String, git flow, Test)

String 관련 개념

  • String 변수명 = 문자 : 형식으로 구현하면 상수풀에서 관리되서 같은 문자면 주소값이 같다.
  • new String(문자) 형식으로 같은 문자를 넣고 구현하면 힙객체에서 관리되서 선언할때마다 주소값이 다르다.
  • 문자열 끼리 더하면 append 함수를 많이 사용하므로 성능에 좋지 않아 StringBuffer 버퍼를 사용해서 구현한다.
  • StringBuffer 동기화를 지원하고 StringBuilder는 동기화를 지원 하지 않는다. 제공하는 메소드는 같다.
  • 문자를열을 더할때 매번 String 인스턴스를 생성하는 방식에서 Jdk 1.5버전 부터는 컴파일단계에서 내부적으로 new StringBuilder()의 append함수를 통해 더한다.
public class stringTest {

    public static void main(String[] args) {
        String str1 = "hello"; //상수풀 영역에 저장

        String str2 = "he";
        String str3 = "llo";

        String str4 = str2 + str3;

        String str5 = "he" + "llo";

        String str6 = "he" + "llo" + "hi";

        if(str1 == str4){ //변수를 통해 더하면 힙에 생성된다
            System.out.println("str1 == str4");
        }else{
            System.out.println("str1 != str4");
        }

        if(str1 == str5){ //문자열로 더하는 방식은 상수풀에서 관리해서 존재하는 것을 사용한다
            System.out.println("str1 == str5");
        }else{
            System.out.println("str1 != str5");
        }

        if(str1 == str6){
            System.out.println("str1 == str6");
        }else{
            System.out.println("str1 != str6");
        }

        // '+' 연산자를 많이 사용할때는 아래와 같이 StringBuffer를 사용해서 처리한다
        StringBuffer sb = new StringBuffer();
        sb.append("select id from test ");
        sb.append("where name like '%kim%'");
        String sql = sb.toString();
        
    }

}

Junit Test

  • Service -> DAO 구조일때는 단위테스트가 아니다. Mock객체를 통해 
  • 파일을 여러개 선택하고 Run ... with Coverage 를 클릭한다.
  • Coverage를 볼수 있고 리포트를 출력할수 있다(리포트 출력파일은 프로젝트 경로에 하지말것)

Git Flow 사용중 최신 소스로 로컬에서 개발하기

  • develop 브랜치에서 자주 fetch를 받자
  • 작업중인 파일이 있으면 git stash에 넣어 놓는다.
  • feature 브랜치를 선택하고 stash에 넣어둔 파일을 가지고온다.
  • 최신소스를 유지하기 위해 feature 브랜치를 선택하고 develop 브랜치에서 오른쪽 버튼을 누르고 merge한다.

Share:

0 개의 댓글:

댓글 쓰기