분류 101

용접 시작..!

군대 전역 후 아버지 일을 도와드리며 용접이 하고 싶다는 생각이 들어서 가르쳐달라고 했다 ㅋㅋㅋㅋㅋ  요기가 아부지 작업실  이건 내가 쓸 용접기들 ㅋㅋㅋㅋㅋ알곤 용접기하고 아크 용접기가 준비되어 있다. 일단 최종 목표는 가스기사 따는 것...!! 왜냐믄 아버지 일 도와드리면서 주워들은 것도 많고 보는 것도 많으니 아까워서라도 따자는 마음이 들었다 !!  이왕 시작한거 열심히 해봐야지~~

(1)스프링 스터디 : 레이싱카 - 콘솔

이제 드디어 스프링을 해 볼 차례다 !! 일단 계산기, 로또로 다져진 실력을 레이싱카 미션에 적용시켜 보았다. 결론부터 말하자면 실력이 많이 늘었다는게 느껴질 정도였다. 쉬웠음!!  일단 문제 조건은 요렇다.  그리구 내 패키지 구조 이제 내가 작성한 코드를 소개해보겠다.*exception 패키지 - CustomException은 여기서 처음 구현해보았다. 정석적인 CustomException은 아님. - CustomErrorCodepackage com.racing.common.domain.exception;public enum CustomErrorCode { EXCEPTION_RANGE("차 이름 너무 긺"), EXCEPTION_CAR("차 없음"); private final Strin..

(9)초록스터디 로또 3,4 단계 최종 구현

이번 미션 진행하면서 dto, enum, interface 등 새로운 기술들을 많이 사용하였고 이에 따라 많은 피드백을 받을 수 있었다. 근데 정말 피드백이 너무 많아서 하나 하나 다 설명하기엔 양이 너어어어어~~~~무 많으므로 최종적인 코드를 첨부하고자 한다 !! start!*LottoContorllerpackage controller;import domain.*;import view.InputView;import view.LottoRankDto;import view.OutputView;import java.util.ArrayList;import java.util.List;public class LottoController { private static final int RESET_NUMBER =..

(7)초록스터디 로또 1,2 단계 테스트 코드 구현

이 글에서는 앞에 소개한 메서드에 대한 테스트 코드만 설명할 예정이다. 위에 사진과 같은 형식으로 나누어 테스트를 구현하였고, 이에 대해 소개하고자 한다.*FakeLottoNumberGeneratorpackage FakeRandomNumber;import domain.CreateLottoNumber;import java.util.List;public class FakeLottoNumberGenerator implements CreateLottoNumber { @Override public List getRandomLottoNumber() { return List.of(1,2,3,4,5,6); }} 앞 글에서 설명한 인터페이스를 상속받아 랜덤 로또 넘버가 잘 생성되는지 검증하기..

(6)초록스터디 로또 1,2 단계 구현

로또 미션의 전체적인 틀은 다음과 같다.  로또 미션은 클린 코드를 목표로 진행되는 미션인 것 같다.  원래는 레이싱카 미션이 앞에 있는데 초록스터디 하기 전에 멘토님과 다른 스터디를 진행하면서 레이싱카를 구현했기에, 레이싱카 미션은 협의 하에 뛰어넘기로 하였다. 로또 1,2 단계 기능 구현 목록이다  이번 로또 미션에서는 일급컬렉션과 원시값 포장이 핵심으로 느껴졌다. 일급컬렉션에 대해서는 들어본 적 있지만, 원시값 포장은 나에게 너무 생소했다. 그래서 여러 블로그와 문서를 참고하여 일급컬렉션과 원시값 포장에 관한 개념을 익히고 기능 구현을 시작했다.로또 1,2 단계 기능 구현 도메인 객체는 다음과 같이 나누었다.  도메인 객체 하나 하나 뜯어보며 내가 썼던 코드를 복기해봐야겠다.* LottoContro..

(5)초록스터디 : 계산기 구현 PR 후기

이전에 작성한 코드를 토대로 멘토님께서 코드리뷰를 해주셨습니다.!!     이전 코드를 잘 구현하지 못한 것 같아 코드리뷰를 토대로 처음부터 코드를 다시 짤 각오까지 하였지만, 멘토님께서 위와 같이 말씀해주셔서 생각보다 놀랐습니다.  생각보다 컨벤션 오류가 많은 것 같아서 '자바 생활체조' 책을 사서 한 번 읽어볼 예정이다.  이 코드는 저번에 멘토님이 시범 보여주셨던게 기억나서 한 번 사용해 보았다. 이에 대해서 멘토님께서 왜 사용하였는지 물어봐주셨고, 다음과 같은 답변을 남겼다.  네이밍 부분에서 지적을 많이 당했고, 네이밍 하는게 생각보다 어렵다고 느껴졌다. 네이밍에 자료형을 사용하는 것은 좋지 않다는 얘기를 멘토님께 들어서, 다음에 참고하여 코드를 작성해야겠다. 근데 왜 자료형을 사용하는 것이 좋..

(4)초록스터디 step1 : 문자열 계산기 구현과 JUnit5 테스트

**주의사항** 모든 코드는 내 생각을 바탕으로 작성하였으며, 완벽하지 않을 수 있음. 참고해주시면 감사하겠습니다~~  문자열 계산기 기능 요구사항은 다음과 같다.먼저, MVC 패턴으로 구현하는 것을 목표로 하였고 의존성을 최대한 만들지 않고자 하였습니다.파일 형식은 이런 식으로 만들었습니다. 이제 각 파일을 하나 하나 뜯어봅시다!!* InputViewpackage view;import java.util.Scanner;public class InputView { private static final Scanner input = new Scanner(System.in); public String getString() { return input.next(); }}InputView..

(3)초록스터디 step1 - 초간단 계산기 구현: 계산기 MVC 패턴 구현, JUnit5 테스트 적용

드디어 !! Junit5 단위 테스트 적용할 시간이다..! 빨리 테스트 구현해보고 싶움.일단 계산기는 다음과 같이 구현했따.package domain;public class Calculator { final int DO_NOT_BE_DIVIDE_NUMBER = 0; public int add(int num1, int num2) { return num1 + num2; } public int subtract(int num1, int num2) { return num1 - num2; } public int multiple(int num1, int num2) { return num1 * num2; } public int divide..

(2)초록스터디 step1 - 초간단 계산기 구현 : 계산기 구현과 JUnit5

앞서 블로그에 소개한 순서대로, 공부를 진행해보겠다. 1. 계산기 메서드 구현public class Calculator { public static int add(int num1, int num2) { return num1 + num2; } public static int subtract(int num1, int num2) { return num1 - num2; } public static int multiple(int num1, int num2){ return num1*num2; } public static int divide(int num1, int num2){ return num1/num2; }} 일단은 요..