외부활동/우아한테크코스 [프리코스] 10

[우아한테크코스 7기] 프리코스 4주차 회고

시작하며  4주간의 프리코스가 끝이났다...!!!모든걸 하얗게 불태운 4주차 미션을 끝낸 후 하루 반나절 이상 침대에 누워서 잠자고 먹고를 반복하며 저녁이 되서야 정신이 차려져 회고를 작성해보고자 한다. 결론적으로 너무 아쉬운 감정과 함께 4주차 미션을 마무리 하였다. 그 이유로 요구사항의 해석을 제대로 하지 못해 4개의 테스트 케이스 중 결국 3개만 통과한 채 끝이 났기 때문이다.11월 10일 오후 3시에 미션을 제출한 이후 프리코스를 진행하며 처음으로 테스트가 실패하였다.다시 미션 가이드를 천천히 정독하고 정리하며 놓친 부분이 없는지 확인해보았고, 그 과정에서 여러 버그를 수정하였다.그 과정에서 실제 기능적인 버그도 수정을 하였지만, 무엇보다 요구사항의 해석을 다양하게 적용하고 그에 맞는 로직을 수정..

[우아한테크코스 7기] 프리코스 3주차 회고

https://github.com/woowacourse-precourse/java-lotto-7/pull/56 [로또] 최영철 미션 제출합니다. by softmoca · Pull Request #56 · woowacourse-precourse/java-lotto-7제 코드를 보려와주셔서 감사합니다. ☺️ 제 코드를 읽으시면서 가독성이 떨어지시거나 코드 및 PR 커멘트의 의도를 파악하기 힘드셨던 부분은 강하게 피드백 해주시면 감사하겠습니다 ! 또 한github.com   시작하며  프리코스에 몰입한지 벌써 3주가 지났다. 정말 체감상 3일간 하나의 학교 과제 혹은 프로젝트의 하나의 기능을 구현하는것과 같이 짧게 느껴졌다..! 이제 앞으로 1번의 미션 밖에 남지 않았다니 뭔가 아쉽다..! 프리코스가 4주가 ..

원시값 포장, VO, 일급 객체, 일급 컬렉션 톺아보기

프리코스 2주차 미션을 진행하며 코드리뷰로 피드백 받은 '일급 객체','원시값포장' 도입에 대한 피드백을 받아 정리해 보고자 한다.   원시값 포장원시값 포장(Primitive Wrapping)은 Java에서 원시 타입(Primitive Type) 데이터를 객체로 감싸는 작업을 의미한다.일반적으로 데이터의 안전한 관리를 위해 사용되며, 원시 타입과 객체 간의 기능적 차이를 보완하고 객체 지향적 프로그래밍(OOP)의 장점을 활용하기 위한 기법이다.원시값 포장의 개념원시 타입(Primitive Type)은 값만을 저장하는 경량 데이터 타입으로, Java의 가장 기본적인 데이터 형태이다.그러나 원시 타입은 메서드를 가지지 않고, 객체로 취급되지 않으며, 컬렉션과 같은 데이터 구조에서 사용할 수 없는 제약이 있..

정적 팩토리 메서드 톺아보기

2주차 미션을 진행하며 코드 리뷰의 피드백으로 정적팩토리메서드 도입에 대한 피드백을 받아 정리해보고자한다.  정적팩토리 메서드정적 팩토리 메서드는 클래스의 인스턴스를 생성하기 위해 사용하는 정적 메서드(static method)이다.보통 생성자를 대체하거나 보완하는 방식으로 사용되며, 객체 생성과 관련된 다양한 기능을 제공한다. 정적 팩토리 메서드의 개념정적(static) 메서드로 정의되어, 인스턴스를 반환하는 역할을 수행.생성자와 달리 메서드 이름을 자유롭게 정의할 수 있어, 가독성과 유연성이 증가.객체 생성 로직을 캡슐화하여, 재사용성과 유지보수성을 높임. 정적 팩토리 메서드의 장점의미 있는 이름생성자보다 메서드 이름을 명시적으로 지정할 수 있어, 의도를 명확히 표현 가능.// 생성자 방식BigInt..

상수관리에 Enum은 필수적인가 ?

Enum은 상수 관리에 필수적인가 ?프리코스 1주차 미션에 대한 코드 리뷰로  에러메세지에 관한 상수를 Enum을 사용해 보는 것에 대한 피드백을 받았다. 그리고 2주차 미션에 바로 적용해 보았다.확실히 타입의 안정성과 재사용성 측면에서 좋은 장점이 있었다.   하지만 위와 같은 에러메세지가 길어 가독성이 떨어져 명확하게 보여지지 않는 피드백을 받고 생각해 보았다. throw new IllegalArgumentException(ErrorMessage.CAR_NAME_TOO_LONG.getMessage() + ": " + name);확실히 위와같은 Enum 을 사용하는 코드와 아래와 같은 Enum을 사용하지 않고 일반 상수로 관리하는것이 명확하게 인지되는것 또한 느껴졌다.throw new IllegalAr..

[우아한테크코스 7기] 프리코스 2주차 회고

https://github.com/woowacourse-precourse/java-racingcar-7/pull/141 [자동차 경주] 최영철 미션 제출합니다. by softmoca · Pull Request #141 · woowacourse-precourse/java-racingcar-7제 코드를 보려와주셔서 감사합니다. ☺️ 제 코드를 읽으시면서 가독성이 떨어지시거나 코드의 의도를 파악하기 힘드셨던 부분은 강하게 피드백 해주시면 감사하겠습니다 ! 코드 리뷰 하시면github.com 시작하며   요즘 지하철을 타거나, 밥먹으면서도, 학교 수업을 들는 중에도 프리코스 미션에 대해 생각을 할 정도로 프리코스에 푹 빠저 몰입을 하고 있다. 1주간의 적응 후 정말 온전히 미션을 통해 성장하는 요즘이 너무 좋다..

우아한테크코스 NsTest,Assertions 톺아보기

NsTest,Assertions는 우아한테크코스 미션에서 사용되는 테스트 API들이다.사용하기 이전에 하나하나 톺아보자 ! 2주차 자동차 경주 미션에는 위와 같은 테스트 파일이 먼저 제공되며 NsTest를 상속한 ApplicationTest가 구현되어 있다. NsTestJunit을 활용한 테스트 환경에서 콘솔 입출력을 테스트하기 위해 설계된 추상 클래스이다.  PrintStream standardOut;테스트 수행 후, 시스템 출력(System.out)을 원래 상태로 복구하기 위해 기존 표준 출력 스트림을 저장한다.OutputStream captor;테스트 중 발생한 콘솔 출력을 임시로 저장하기 위한 스트림이다.  @BeforeEach protected final void init() 역할: 각 테스트 ..

자바의 정규표현식 톺아보기[Regex, Matcher, Pattern] 및 최적화

Regex(정규표현식, Regular Expression)란?Regex는 문자열에서 특정 패턴을 검색, 일치, 변환, 분리하기 위한 표현식으로 문자열을 효율적으로 처리할 수 있도록 설계된 규칙 기반의 언어이며 주로 아래 5개의 목적을 위해 사용된다.검색(Search): 특정 패턴이 문자열 내에 존재하는지 확인.일치(Match): 문자열이 특정 패턴과 완전히 일치하는지 확인.추출(Extract): 문자열에서 특정 부분을 추출.분리(Split): 특정 패턴을 기준으로 문자열을 분리.변환(Replace): 특정 패턴을 찾아 다른 값으로 대체Regex의 기본 구성 요소Regex는 문자와 메타문자로 구성된다.1. 문자 (Literal Characters)특정 문자나 문자열 자체를 찾는다.예: "abc"는 문자열에..

MVC 패턴 톺아보기

MVC 패턴의 MVC는 Model View Controller의 약자이다.Model 데이터와 비즈니스 로직을 처리. 사용자가 편집하길 원하는 모든 데이터를 의미.정보 및 데이터 부분을 의미한다.이는 Controller에게 받은 데이터를 조작(가공)하는 역할을 수행한다고 볼 수 있다.즉, 데이터와 관련된 부분을 담당하며 값과 기능을 가지는 객체라고 보면 된다.규칙사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.View나 Controller에 대해서 어떤 정보도 알지 말아야 한다.변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다.View사용자에게 보여지는 UI 부분. 즉, 데이터를 시각적으로 표현하는 역할.View는 입력값이나 체크박스 등과 같은 사용자 인터페이스 요소를 나타낸다.이는..

[우아한테크코스 7기] 프리코스 1주차 회고

https://github.com/woowacourse-precourse/java-calculator-7/pull/654 [문자열 덧셈 계산기] 최영철 미션 제출합니다. by softmoca · Pull Request #654 · woowacourse-precourse/java-ca1주차 미션을 작성하며 '작업한 내용'에 대한 회고 및 TIL 기록을 한 링크입니다 :) https://breezy-way-675.notion.site/10-15-1-TIL-120eba944b4380d289b6ec348159f5c5 ⛳️미션 기능 요구사항 목표 입력된 문자열에서github.com  시작하며7시간 같았던 프리코스 1주차 7일이 벌써 지나갔다 !위 사진들은 우아한테크코스 지원서에 작성했던 목표를 이루는 과정 중 하..