공부 연습장 :-)

TIL_20171226 ~ 20171229

|

2017.12.26

TIL
  • JSON step3
    • GrammarChecker에서만 에러 핸들링되도록 설계 : execute 메서드
      • array/object format과 Value 체크하는 함수 Bool타입 리턴으로 / 접근제어자 private으로 변경
      • array/object value 를 체크하는 정규식 적용하기
      • manager 메소드에서 각 체크 메소드 호출, 리턴받은 Bool값으로 에러 핸들링
    • parser에서 모두 체크 완료된 [String]으로 converting하도록 다듬기 (GrammarChecker이후의 로직에서는 문법 검사 에러가 처리되지 않도록)

2017.12.27 ~ 28

TIL
  • JSON step4 구현
  • matchType에서 Int형변환하는 곳에서 자꾸 string이 들어가서 걸려서 버그 뜨는 문제. 왜string인데 value.contains(“[“)로 가지 않았을까?
    • 해결: 그래서 가장 외부 괄호를 제거하면서 하니까 에러 없이 잘 처리됐다. 하지만 GrammarChecker의 execute에서 들어오는 input마다 모두 괄호를 잘라버리면 중첩된 배열일때도 괄호를 없애고 parsing을 해서 배열하나로 카운트되는게 아니라, 배열 안의 value들이 다 파싱되는 문제가 있었음
      • 배열이 value로 들어있을때는 외부의 괄호가 제거되고 execute가 실행되지 않도록, 가장 외부의 괄호가 제거되는 로직은 프로그램 맨 처음 시작할때만 하고, 중간에 parsing될때는 괄호가 trimming되지 않도록 trimming하는 로직을 분리!
      • 배열만 잇을댄 처음부터 괄호제거(그래야 안의 밸류가 나옴)
      • 배열안에 또 배열이 잇을때(matchvalue에서 알수있음- 여기서만 이렇게 메소드 실행시키면된다는소리..) : 배열 안의 배열이있으면 괄호제거를 하면안됨.
      • input입력 > String분리 > execute에 String넘기기 > 하다가 배열/객체 나오면 > execute에 또 바로 String넘기기 matchType에서 Int형변환하는 곳에서 자꾸 string이 들어가서 걸려서 버그 뜨는 문제. 왜string인데 value.contains(“[“)로 가지 않았을까?

2017.12.29

TIL
  • JSON step4 피드백 처리
    • CountInfo의 책임 결정 : ParseType 정보를 출력할때 넘기기 위해 추가한 프로퍼티에 대해
      • ParseType을 담는 데이터오브젝트 만들기 > JK피드백 : parseType을 parsing하고 바로넘기기
    • GrammarChecker의 메소드 재사용이 가능할지 고민
      • MyArray나 MyObject처럼 프로토콜로 다시 구현해야할지
      • extractArrayValue 재사용하는 방식으로 바꾸기(정규식패턴을 인자로 넘김)

Comments