분류 98

[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학점 들어야지........조기졸업 해보고 싶음 ㅎㅎ

Application layer

애플리케이션 계층의 개요애플리케이션 계층은 네트워크 응용 프로그램을 개발하고 배포할 수 있도록 지원하는 계층이다. 애플리케이션은 전송 계층을 통해 통신하며, 네트워크 코어 장치에 대한 별도의 소프트웨어를 개발할 필요가 없다. 이를 통해 애플리케이션 개발이 빠르고 효율적으로 이루어진다.애플리케이션 구조애플리케이션은 주로 두 가지 구조를 가진다:클라이언트-서버 구조: 서버는 항상 켜져 있고 고정된 IP 주소를 가지고 있으며, 클라이언트는 서버와 통신한다. 클라이언트는 서버와 직접적으로 통신하지만, 클라이언트들끼리는 통신하지 않는다.P2P 구조: 항상 켜져 있는 서버가 없으며, 피어 간의 직접 통신이 이루어진다. 새로운 피어가 참여하면 새로운 서비스 용량이 추가되고, 관리가 복잡해진다.프로세스 간 통신프로세스..

Congestion control

혼잡 제어의 원리혼잡은 네트워크에서 너무 많은 데이터가 너무 빠르게 전송되어 네트워크가 처리하지 못할 때 발생한다. 혼잡 제어는 이러한 네트워크 과부하를 막기 위한 메커니즘이다. 혼잡은 패킷 손실(라우터에서 버퍼 오버플로) 또는 지연(라우터 버퍼에 큐가 쌓이는 현상)으로 나타난다.TCP 혼잡 제어: 가산적 증가와 곱셈적 감소 TCP는 전송 속도를 증가시키며 사용 가능한 대역폭을 탐색하고, 손실이 발생할 때까지 창 크기를 증가시킨다.가산적 증가: 패킷 손실이 없을 때, 매 RTT마다 혼잡 윈도우(cwnd)를 1 MSS만큼 증가시킨다.곱셈적 감소: 패킷 손실이 발생하면, 혼잡 윈도우 크기를 절반으로 줄인다.이 과정은 톱니형으로 나타나며, 대역폭을 탐색하고 손실을 처리하는 특성이 있다.혼잡 윈도우(Conges..

TCP(2) - 연결과 해제

TCP 연결 설정 TCP는 3-way 핸드셰이크 방식을 사용하여 연결을 설정한다. 이 과정에서 클라이언트와 서버는 초기 순서 번호를 교환한다.SYN: 클라이언트가 서버에 연결 요청을 보내고, 이를 SYN 패킷이라고 한다.SYN-ACK: 서버는 클라이언트의 요청에 응답하고, 이를 SYN-ACK 패킷이라고 한다.ACK: 클라이언트는 서버의 응답을 확인하고 연결이 설정된다.3-way 핸드셰이크 예시클라이언트가 서버에 연결을 요청할 때 SYN 패킷을 보내며, 서버는 SYN-ACK 패킷으로 응답한다. 이후 클라이언트가 ACK 패킷을 보내면 연결이 완료된다.TCP 연결 종료 TCP 연결은 4-way 핸드셰이크를 통해 종료된다. 클라이언트와 서버는 FIN 플래그를 사용해 각자의 연결을 독립적으로 종료할 수 있다.클라..