분류 101

IoC(Inversion Of Control) 컨테이너와 스프링 빈(Bean)

앞서 설명한 의존성 주입(Dependency Injection, DI)은 IoC의 한 형태입니다.  도대체 무슨 말일까요?  이를 이해하기 위해서는 IoC를 이해해야 합니다. IoCIoC란 흔히 "제어의 역전" 이라고 불립니다.객체의 생성과 소멸 등등을 책임졌던 개발자의 객체 제어권이 바뀌었다는 소리입니다. 일반적으로 개발자는 객체를 직접 생성하고, 메서드를 호출하여 코드를 작성하였습니다.하지만 IoC에서는 직접 객체를 생성하고 호출하는 것이 아니라, 외부에서 객체를 생성하거나 호출합니다. 이를 통해 개발자는 코드를 작성할 때 의존성을 최소화하고 더욱 유연하게 코드를 작성할 수 있습니다. 위의 질문을 해결하자면, Spring Framework는 IoC 컨테이너를 이용하여 의존성 관리 및 의존성 주입을 수..

의존성 주입(DI)과 주입 방식

의존성 주입의존성 주입은 흔히 DI(Dependency Injection) 라고 불립니다. 그렇다면 의존성 주입이란 도대체 뭘까요?-> 스프링 프레임워크에서, 의존성 주입은 직접 객체를 생성하거나 참조하지 않고 외부에서 주입받는 것을 의미합니다. 그렇다면 의존성 주입을 왜 사용할까요?1. 코드가 깔끔해진다.2. 의존성 주입을 통해 객체들이 효과적으로 분리된다.3. 코드의 재사용성과 유연성이 높아진다.의존성 주입 방법1. 생성자 주입 생성자를 통해 의존성을 주입하는 방법입니다. 스프링이 가장 권장하는 방법이기도 합니다.@Servicepublic class SimpleMovieLister { private final MovieFinder movieFinder; public SimpleMovieLi..

@Data 어노테이션에 관하여

기본적으로 @Data 어노테이션은 Lombok 라이브러리에서 제공하는 기능입니다.## @Data 어노테이션 특징1. Getter 메서드: 각 필드에 대해 getter 메서드를 생성합니다.2. Setter 메서드: 각 필드에 대해 setter 메서드를 생성합니다.3. toString() 메서드: 객체의 내용을 문자열로 변환하는 toString() 메서드를 생성합니다.4. equals() 메서드: 객체 간의 동등성을 비교하는 equals() 메서드를 생성합니다.5. hashCode() 메서드: 객체의 해시 코드를 반환하는 hashCode() 메서드를 생성합니다.6. RequiredArgsConstructor: final 또는 @NonNull로 선언된 필드에 대한 생성자를 자동으로 생성합니다.이렇게..

[Spring] racing 콘솔 테스트 코드 작성 - 인터페이스는 어떻게 테스트 해야할까?

저번 포스팅에서는 racing 콘솔 프로그램 구현 과정을 설명드렸습니다. 그래서 이번 포스팅에서는 테스트 코드에 관해 다룰려고 합니다!그 중에서도 인터페이스 테스트에 관한 부분입니다.  전체적인 테스트 코드를 다루지 않는 이유는 테스트 코드 하나 하나 나열하자니 너무 많기도 하고, 테스트 코드 자체가 설명이기에 따로 설명할 것이 없어 코드 복붙밖에 안된다는 생각이 들었습니다... 그래서 앞으로는 테스트 코드 중에서도 조금 특별한 부분을 중점적으로 다루고자 합니다.오늘은 제가 인터페이스 테스트 어떻게 했는지 설명드리겠습니다! * CreateRandomNumberpublic interface CreateRandomNumber { int generateRandomNumber();} * CarRandomN..

[Spring] racing - 콘솔 프로그램 구현

racing 콘솔 프로그램 구현 바로 시작했습니다 ㅎㅎ 먼저 어떤 프로그램을 구현해야 하는지 설명해드릴게요. 위에 보이는 사진은 기능 요구사항과, 실행 결과 입니다. 자동차를 입력 받고, 5번 움직였을 경우의 결과를 도출하는 프로그램을 구현해야 합니다.기능구현목록  프로그램을 구현하기 전에 기능 구현 목록을 정리해봤습니다! 어떤 생각을 가지고 저런 식으로 작성하였는지 설명하겠습니다. Car : moveCount(움직인 횟수)를 필드로 두어 일급컬렉션을 적용합니다.랜덤 숫자를 생성하는 인터페이스를 이용하여 움직일지 말지 정하는 로직을 구현할 생각입니다. Cars : List 를 필드로 두어 일급컬렉션을 적용합니다.전체적인 Car를 관리합니다. CarNameParser :자동차 이름을 한 번에 입력 받을 때..

[Spring] 미션 시작!

초록 스터디가 끝나고, 멘토님의 개인적인 주관 하에 스프링부트 멘토링을 시작하였습니다!  요런 식으로 racing -> lotto -> board 순서로 진행된다고 합니다. racing 과 lotto 는 콘솔 프로그램으로 구현한 적이 있는데, 이 콘솔 프로그램 로직을 스프링에 옮겨와 구현한다고 하더라고요. 아직 무슨 소리인지는 잘 모르겠지만 초록 스터디 참여했던 것처럼 열심히 해보겠습니다! 벌써 떨리네요 ㅋㅋㅋㅋ 드디어 스프링을 하다니..... 책도 많이 읽고 기본기 탄탄하게 다져가며 실력 쌓아보겠습니다~~

알곤 배관 용접과 전기

예~~~전 포스팅에서 아크 용접 전기를 기록해야 할 필요가 있어서 기록을 남겼었는데, 알곤 용접도 마찬가지로 기록해야겠더라구요 ㅎㅎ..  아버지 용접기 기준으로 170?? 정도가 쉿물이 잘 녹아들어가는 것 같습니다 . 알곤 용접 할 때의 모재가 아크 용접 할 때의 모재보다 열 전달이 더 많이 되는 느낌입니다. 물론 아크 용접도 오래 하면 열 전달이 빠르게 되지만 한 포인트는 빠르게 떼울 수 있어서 모재에 그렇게 많은 영향은 안가는데, 알곤은 한 포인트 떼우는 데 시간이 꽤 걸리니까 모재에 열이 더 먹는 것 같은 느낌이 들더라구요... 그래서 시작하는 전기 말고는 딱히 기억해야 할 필요가 없어서(그때 그때 상황 맞춰가면서 하면 됌) 시작 온도만 기록하였습니다 ㅎㅎ..  그리고 가장 중요한 가스 나오는 정도..

알곤 용접 근황

너무너무 오랜만이네요 ㅋㅋㅋㅋㅋ 용접 포스팅은 거의 1년만인가요...?? 넘 바빴어서 ㅎㅎ.. 아크 용접 하다보니, 알곤 용접도 하고 싶어서 시작하게 되었습니다 ㅎㅎ  알곤 용접 시작한지는 1달 정도 된 것 같아요!  알곤 용접은 나중에 실기 시험 대비도 할 겸, 시험 방식으로 용접하고 있습니다!  요런 식으로 모재 고정하는 판이 있더라고요?? 빽비드 내는거 연습 중입니다!  뺵비드 이쁘게 나왔죠?? 근데 너무 많이 나오기도 하고 일정하지 않아서 일정하게 녹여가는 연습을 더 해야 할 것 같아요 ㅠ 빽비드가 뭔지 설명드리면, 모재와 모재를 연결할 때 접합 부위 뒷면으로 비드가 나오는 것입니다! 왜 빽비드가 나오면 좋냐!! -> 접합 부위가 더욱 강하게 연결될 수 있고, 쉿물이 잘 녹아들어갔다는 증거이기도 ..

아크용접 - 전기를 기억하자

용접을 계속 하다 보니까, 세팅을 정형화하자는 생각이 들었다 ㅋㅋ 그 중에서도 용접은 전기 세팅이 가장 중요...... 마스크, 용접봉, 장갑 같은 도구들이야 너무너무 당연해서 기억할 필요가 없는데 전기는 꼭 꼭 기억해야 할 필요가 있는 것 같다.   아버지 용접기 **배관 기준** 70 : 천천히 쇳물 녹이며 용접할 수 있는 온도, 계속된 용접으로 모재 온도가 올랐을 때 이 전기 온도가 좋긴함.80 : 70보다는 빠르게 용접 속도 가져가야함. 아니면 모재에 빵꾸 뚫림.90~ 100 : 찍어때우는 온도. 긇어때우면 무조건 빵꾸남 ㅋㅋ  요런식으로 아예 정리를 하는게 났다는 생각이 들었다. 왜냐면 가끔씩 일주일 동안 놀러 갔다 올때가 있는데, 다시 오면 어느 전기에서 했는지 가물가물함 ㅋㅋ

네프 후기

이번 학기는 정말 정말 힘들었다..... 20학점 6전공 정말 지옥같았음 ㅋㅋㅋ  데이터 통신을 열심히 해놓아서 솔직히 네트워크 프로토콜이 정말 천사같은 과목이였고, 데통과 맥락이 비슷해서 쉽게 느껴졌다.하지만 시험도 쉬울 것이라고 생각한 건 나의 실수..ㅋㅋ 시험이 생각보다 어려웠다. 나의 최종 네프 성적은 A.... 만족하지는 않지만 그렇게 아쉽지도 않다.  그리고 데통 듣고 난 후에는 느껴지는게 많았는데, 네프는 뭔가 느껴지는게 적은 것 같다. 비슷한 과목이라 그런가..???  아무튼 이번 학기 끝나서 너무너무 행복하고 담학기에도 20학점 들어야지........조기졸업 해보고 싶음 ㅎㅎ