Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4기-김주웅] 1~2주차 과제 : 계산기 구현 미션 제출합니다. #161

Open
wants to merge 21 commits into
base: JuwoongKim
Choose a base branch
from

Commits on Jun 6, 2023

  1. chore : 루트 디렉토리 프로젝트 초기화

    * Intellij를 사용해 Java Project 생성 
    * gitignore.io 를 통해 불필요한 파일 숨김 ( Intellij+all , gradle, java)
    JuwoongKim committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    07dd9d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5b44c0 View commit details
    Browse the repository at this point in the history
  3. chore : junit5에 대한 의존성 버전 변경

    *  기존 상황에서 org.junit.jupiter.params를 인식하지 못해 @ParameterizedTest를 사용할 수 없었음
    
    todo : 정확한 원인을 확인해야함
    JuwoongKim committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    5350e4d View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2023

  1. feat : 롬북 추가

    * 에너테이션 사용을 위한 롬북 추가
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    e67619a View commit details
    Browse the repository at this point in the history
  2. feat : 프로그램 초기 동작 구조 생성

    * Calulator clas 에서  lombok으로 @AllArg... 생성하려 했으나, 오류남 
     -> 우선 코드로 직접 생성자를 작성하고 추후 변경 예정
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    7bae5d1 View commit details
    Browse the repository at this point in the history
  3. feat : 연산 입력값 검증 기능 추가 및 테스트

    * validateExpression 메서드를 통해 구현함 
    * 함수 내부의 정규표현식을 사용해 검증
    * trim 처리는 외부의 compute 메서드에서 진행 (다시 parsing해야하니깐)
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    451492e View commit details
    Browse the repository at this point in the history
  4. feat : 연산 입력값 공백 전처리 기능 추가 및 테스트

    * trim을 사용해 앞, 뒤 공백 제거
    * 정규표현식을 사용해, 문자열 내부 공백을 한칸으로, 숫자사이는 공백없음으로 전처리
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    9052efa View commit details
    Browse the repository at this point in the history
  5. * feat : 입력 값 파씽 기능 추가

    * 불변객체인 문자열을 계속 입력값으로 사용하는 것이 마음에 걸림 -> 메모리 낭비
    * 문자열 배열로 변경
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    5ac7699 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a10e125 View commit details
    Browse the repository at this point in the history
  7. feat : 연산 입력 값 후위 표기식 변환 기능 추가 + parseExpression 입출력 타입변환

    * 기존 배열 타입에서 크기 변경에 자유로운 리스트 형태로 변환 
    * 후위 표기식 변환 시 연산자 우선순위를 위해  사칙연산에 대한 enum 을 추가함
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    6439421 View commit details
    Browse the repository at this point in the history
  8. feat : 다중연산 기능 구현

    * 후위식 표현식 리스트를 인자로 받아 우선순위에 맞게 사칙연산 구현 
    
    todo: 0으로 나눌 시 ArithmeticException 를 던지도록 하였지만, 처리부분을 작성하지 않음
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    b4ce338 View commit details
    Browse the repository at this point in the history
  9. test : 0으로 나누어 발생하는 ArithmeticException 예외 테스트 코드 작성

    * 예외 처리는 다른 부분과 함께 처리할 예정  ... 처리 범위 생각중
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    76e52dd View commit details
    Browse the repository at this point in the history
  10. chore : gradle-wrapper 버전변경

    * 프로그램 수행 시  계산을 3번 정도 반복하다 보면, 입력을 받으면서   
    "Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0."  waring
    이 발생하며 종료됨
    
    * 버전을 변경했지만, 9.0을 가리킴,  조사를 통해 intellij setting을 gradle(default)가 아닌 idea로 변경함
    todo : 구현 완료 후 원인을 정확히 정리해야 함
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    e861350 View commit details
    Browse the repository at this point in the history
  11. feat : 입출력을 BufferedReader로 변경

    * 추가적인 문제로 Scanner 사용 시, 모드 선택 값을 받고  연산입력값을 받을 떄, 입력 값을 받지 않고, 그냥 넘어감 
    * gradle-wrapper버전변경, BufferedReader 사용 동  이것저것 변경하여 문제 현상이 발생하지 않지만, 원인을 다시 확인해야함
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    a23441b View commit details
    Browse the repository at this point in the history
  12. feat : 연산자 enum 람다식 변경

    * 더하기에 대한 함수를 복사하고 수정하지 않음
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    c1928df View commit details
    Browse the repository at this point in the history
  13. feat : 임시 예외처리

    * 예외를 처리하는 범위를  Caculator 실행 전체 범위로 잡음
    * 한 곳에서 예외를 처리해  보기가 쉽지만, 추후에 분리하여 처리해야함
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    6a6bc9c View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    2fd1184 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b7f98cd View commit details
    Browse the repository at this point in the history
  16. faet : javaCode Convetion 적용

    * 네이버 캠퍼스 핵데이 Java 코딩 컨벤션을 따름 
    * https://naver.github.io/hackday-conventions-java/
    
    * 인텔리제이에 해당 fomatter 적용
    * https://bestinu.tistory.com/64
    JuwoongKim committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    cff0639 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2023

  1. feat : 레포지토리 명칭변경

    * 계산 순서를 보장한다는 것을 전달하고 싶어 Ordered 라는 명칭을 앞에 추가함
    JuwoongKim committed Jun 11, 2023
    Configuration menu
    Copy the full SHA
    6cac2df View commit details
    Browse the repository at this point in the history
  2. feat : 사용자 정의 exception 작성 및 적용

    * 에러 메시지만 출력함 ( 에러코드 없음 )
    JuwoongKim committed Jun 11, 2023
    Configuration menu
    Copy the full SHA
    60b31aa View commit details
    Browse the repository at this point in the history