전체 글 (172) 썸네일형 리스트형 [ 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-.. [ IDE ] IntelliJ 터미널 한글이 깨지는 문제 문제 사항 팀원 분과 숫자 야구를 만들 때 IntelliJ에서 코드를 짜서 실행을 했다. 이때 터미널에 출력한 한글이 깨져 보이는 현상이 나타났다. 원인 파악 Java의 경우 인코딩이 UTF-8로 설정이 되어 있었고 터미널의 경우 윈도우 환경이다 보니 인코딩이 CP-949로 설정이 되어있었다. 인코딩이 맞지 않아 실행한 프로그램이 출력한 한글이 깨지는 현상이 발생한 것이다. 해결 방안 IntelliJ의 실행 티미널의 인코딩을 UTF-8로 변경을 해줌으로 해결을 했다. 변경하는 방식은 아래 경로의 파일에 Dconsole.encoding 옵션을 추가해 주는 것이다. 파일 경로. "C:\Program Files\JetBrains\IntelliJ\bin\dea.exe.vmoptions" 추가 옵션. -Dcons.. [ 정규 ] Java 문법 종합반 2주차 궁금한 내용 강의에서 Deep Copy를 할 때 clone과 copyOf을 설명해 줬으며, copyOf를 사용하라고 알려줬다. clone은 2차원 배열 이상을 들어가면 복사가 제대로 이루어지지 않는다는 문제가 있기 때문이라고 했다. 정말 copyOf가 clone보다 깊은 복사를 더 잘 수행해 내는 것인지 의문이 들었다. copyOf도 똑같은 이슈가 존재한다면 어떤 방법을 사용하면 좋을지에도 고민이 되는 것 같다. 메서드 분석 정확한 동작을 파악하기 위해 clone과 copyOf의 코드 내부를 확인해보기로 했다. 하지만 두 메서드를 타고 들어갔을 때 사용되는 clone , arraycopy가 native 코드로 작성이 되어 있어 들여다보지 못했다. 이후에 native 코드까지 확인할 수 있다면 봐 보는 것.. [ GIT ] 다른 원격 저장소에서 커밋 내용 가져오기 이유 팀원 분들과 Git에서 저장소를 Fork 하고 Branch를 만들어 Readme.md를 수정 후 합치는 연습을 했다. 이 과정 중 첫 번째 팀원 분의 "저장소/Branch"에 커밋한 내용을 다른 분 저장소의 Branch에 불러오는 것이 안되었다. 구글링을 통해 Git 명령어에 대해서 학습을 하여 해결할 수 있었다. Git 명령어로 처리 명령어. 1. 내 원격 저장소를 클론 - git clone https://github.com/ironprayer/hh99-SA.git 2. 클론해온 로컬 저장소로 이동 - cd hh99-SA/ 3. 해당 branch로 이동 - git checkout ironprayer 4. 원격 저장소 URL 추가 - git remote add upstream https://gith.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 22 다음