본문 바로가기

개발일지

(101)
[ 230618 ] 27주차 회고 일주일 간 진행한 내용 1. 자바 문법 강의 듣기 2. 팀 과제 - 숫자야구 4. 사이드 프로젝트 3. 코딩 문제 풀기 자바 문법 강의 [ 진행 ] 4일 동안 자바 문법 강의를 듣는 시간을 가졌다. 자바 정의, JVM, 객체지향, 자료형, 조건문, 반목문 등에 대해서 다루고 있었다. 기존에 학습했던 적이 있어서 쉽게 강의를 들을 수 있었다. 중간에 있던 과제도 무난히 해결해 제출할 수 있었다. [ 생각 ] 이번 강의를 듣는 시간은 아쉬운 점이 더 많은 시간이었다. JVM 구조와 객체지향에 대한 설명은 다시 리마인드 할 수 있는 시간이어서 좋았다. 하지만 자료형, 조건문, 반복문을 다시 듣는 시간은 아까웠다. 막상 시간은 많이 사용해야 했지만 얻은 것은 없었기 때문이다. 그래서 멘토님에게 이러한 상황에 대..
[ 230617 ] Java Spring WireMock 이슈 및 적용 사용 이유 일반적으로 단위 테스트를 짤 때는 mock을 만들어해야 하는 외부와 통신이 들어가는 부분을 제외한다고 책에서 읽어었다. 하지만 이번에 사이드 프로젝트 하면서 친구와 논의를 해 mock을 적용을 해보기로 했다. 이제까지 테스트 코드를 많이 적용해 보지 못했기에 연습도 겸하는 것도 있었다. 의존성 문제 공식 사이트에서 제공하는 방식으로 build.gradle에 의존성을 추가함으로 설치를 했다. 설치 후 JUnit5를 기반한 어노테이션을 사용해 코드를 작성했다. 하지만 테스트를 실행 했을 때 에러가 뜨며 정상적으로 동작하지 않았다. 라이브러리가 정상적 설치가 되었지만 WireMock 관련 클래스를 찾지 못했기 때문이다. [ 추가한 의존성 ] testImplementation "com.github.t..
[ 230616 ] 내가 느낀 페어 프로그래밍 관하여 알고리즘 문제 페어 프로그래밍으로 풀면서... 내가 그동안 겪었던 페어 프로그래밍은 문제를 같이 논의하며 풀어나가는 것이었다. 그 과정에서 서로 배우면서 성장한다는 느낌을 많이 받았다. 그런데 이번 2주차 알고리즘 문제 페어 프로그래밍을 하면서 시간 대비 우리 팀원 모두의 성장에 도움이 되지 않는다는 느낌을 받았다. 각자의 경험치 차이에서 발생하는 현상이었다. 그래서 어떻게 하면 모두에게 도움이 될 수 있을까 고민도 해보고 주변 5년차 개발자 분에게도 조언을 구했다. 조언을 얻고 나서 페어 프로그래밍을 할 때 긴 시간을 가진다고 해서 효율이 있는 것은 아니다. 그래서 때론 각 문제나 이슈에 대해 시간을 정해서 드라이버가 해결해보고 안 될 경우 네비게이터가 답을 제공해야 한다. 네비게이터가 제공한 코드를 ..
[ 230615 ] Java 계산기 메서드 작성하기 만든 이유 강의를 듣고 간단하게 계산기 만드는 과제가 있었다. " 피연산자 (연산자) 피연산자" 형식의 값을 입력받아 계산을 해주었다. 그러다 보니 연속된 연산을 거치기 위해서는 입력을 여러 번 해야 했다. 긴 계산식을 한 번에 받아 처리해 주는 메서드를 작성해 보기로 했다. [ 입력 형식 변경 ] "피연산자 (연산자) 피연산자" -> "피연산자 (연산자) 피연선자 (연산자) 피연산자 ..." Java 코드 작성 숫자, 연산자를 저장하는 Stack 객체를 2개 만들었다. 맨 마지막에 있는 값을 결과로 사용하고 싶어서 FILO형태의 자료구조를 선택한 것이다. 그리고 기본 분기는 operator 중심으로 작성해서 처리했다. 문자를 다룰 때는 변동이 많은 경우 StringBuilder를 사용해 처리했다. St..
[ 230614 ] Java Spring에 Graphql 설정 적용 이유 친구와 사이드 프로젝트를 시작했다. 자바로 백엔드를 만들기로 했으며, Rest API 대신 Graphql을 통해 구현해 볼 것을 제안했다. 이유는 Graphql이 Rest API에 비해 언더패치와 오버패치를 방지할 수 있다는 장점이 있기 때문이었다. Spring 적용 [ build.gradle 파일에 추가 ] implementation 'org.springframework.boot:spring-boot-starter-graphql' [ application.yml 파일에 추가 ] graphql: servlet: enabled: true mapping: /graphql corsEnabled: true cors: allowed-origins: http://localhost:8080 allowed-..