728x90
클래스를 나눠보며 각 클래스의 책임에 대해 고민하는 시간이 많았던 2주 차였다!확실히 코드가 깔끔해지고, 역할이 명확해져 뿌듯했다 ㅎㅎ 우테코 7기 백엔드 프리코스 2주 차 [자동차 경주]내가 제출한 코드🔥내가 제출한 코드 풀이 🔥 TDD(Test Driven Development) 개발 방식이란? - 테스트 코드를 먼저 작성하여 프로그램이 잘못됐다는 것을 증명하고, 이를 고쳐나가면 프로그램을 개발해 나가는 개발 방법론=> 잘못된 점을 찾고 수정" data-og-host="tyulsjjava.tistory.com" data-og-source-url="https://tyulsjjava.tistory.com/299" data-og-url="https://tyulsjjava.tistory.com/299"..
> TDD(Test Driven Development) 개발 방식이란? - 테스트 코드를 먼저 작성하여 프로그램이 잘못됐다는 것을 증명하고, 이를 고쳐나가면 프로그램을 개발해 나가는 개발 방법론=> 잘못된 점을 찾고 수정하는 과정을 계속 반복하며, 더 이상 잘못된 점을 찾을 수 없을 때 프로그램이 올바르다는 의미우테코 7기 백엔드 프리코스 2주 차 [자동차 경주]내가 제출한 코드 🔆 자동차 경주초간단 자동차 경주 게임을 구현한다. ✅ 기능 요구사항- `n`대의 자동차는 `1칸 정지` or `정지`한다.- 사용자로부터 `자동차 이름`과 `시도할 횟수`를 입력받는다.- 자동차 이름은 전진하는 자동차를 출력할 때 사용한다.- 자동차 이름은 쉼표 `,`를 기준으로 구분하며 이름은 `5자 이하`만 가능하다.- ..
> TDD(Test Driven Development) 개발 방식이란? - 테스트 코드를 먼저 작성하여 프로그램이 잘못됐다는 것을 증명하고, 이를 고쳐나가면 프로그램을 개발해 나가는 개발 방법론=> 잘못된 점을 찾고 수정하는 과정을 계속 반복하며, 더 이상 잘못된 점을 찾을 수 없을 때 프로그램이 올바르다는 의미 우테코 7기 백엔드 프리코스 1주 차 [문자열 덧셈 계산기]내가 제출한 코드 🔆 문자열 덧셈 계산기 입력한 문자열에서 숫자를 추출하여 더하는 계산기를 구현한다. ✅ 기능 요구사항 - `,`와 `:`을 구분자로 하여 문자열 전달한다. > `"1,2:3" => 6`- `//`과 `\n` 사이 `커스텀 구분자` 사용할 수 있다. > `"//;\n1;2;3" => 6` : `;..
자바를 이용해 프로그램을 처음 만들다 보니 긴장도 많이 했고, 모르는 것이 많아 검색하며 알아가는 데 많은 시간을 투자한 1주 차였다ㅠㅜㅜㅠ 우테코 7기 백엔드 프리코스 1주 차 [문자열 덧셈 계산기]내가 제출한 코드🔥내가 제출한 코드 풀이 🔥 TDD(Test Driven Development) 개발 방식이란? - 테스트 코드를 먼저 작성하여 프로그램이 잘못됐다는 것을 증명하고, 이를 고쳐나가면 프로그램을 개발해 나가는 개발 방법론=> 잘못된 점을 찾고 수정" data-og-host="tyulsjjava.tistory.com" data-og-source-url="https://tyulsjjava.tistory.com/298" data-og-url="https://tyulsjjava.tistory.co..
6. crontab으로 자동화하기`crontab -e`를 입력하면, crontab 편집기를 열 수 있다.여기에 우리가 생성한 `monitor.sh` 파일 경로를 넣어준다. 이때, `* * * * *`은 매 분마다 `monitor.sh` 파일을 실행하도록 한다. > crontab 이란? 리눅스/유닉스 시스템에서 특정 시간 간격으로 명령어나 스크립트를 자동으로 실행할 수 있도록 해주는 도구이다. 분 시간 일 월 요일 [자동화할 파일 경로]- `분` : 0 ~ 59- `시간` : 0 ~ 23- `일` : 1 ~ 31- `월` : 1 ~ 12- `요일` : 0 ~ 7 (일요일은 0 or 7)`*`은 모든 값을 의미한다. 7. Discord로 결과 확인하기내가 생성한 채널로 매 분마다 자원사용량 알림이 오는..
`crontab`으로, 매 1분마다 측정된 `CPU 사용량`, `메모리 사용량`, `네트워크 사용량`을 `Discord 웹 훅`을 사용하여, Discord로 보내도록 스크립트를 만들 것이다. 3. Discord 웹훅 만들기Discord가 아니더라도, 알림 시스템 API를 가진 곳이면 사용할 수 있다.(ex. Microsoft Teams, Discord, 이메일, Telegram, Slack 등) 나는 디스코드로 알림을 전송하도록 하였다. 1. 우선, 디스코드 서버를 만들고, 알림을 받을 `채널`을 생성한다. 2. 생성한 채널 옆, `톱니바퀴` 버튼을 클릭하여 채널 설정에 들어간다.3. `연동` 카테고리에 들어가, `웹후크`를 클릭한다. 4. `새 웹후크` 버튼을 눌러 생성한 뒤, `웹후크 URL 복사` ..
Tokenizer, Lexer, Parser컴파일러 실행 순서------ 전단부 ------1. 어휘 분석(Lexical Analysis)2. 구문 분석(Synatax Analysis)3. 중간 코드 생성(Intermediate Code Generation) ------ 후단부 ------4. 코드 최적화(Code Optimization)5. 목적 코드 생성(Target Code Generation ) 어휘 분석 / 구문 분석 단계 과정에서소스 코드 > (Tokenizer) > 토큰 > (Lexer) > 노드 > (Parser) > AST 과정을 거친다. Tokenizer / Lexer / Parser란?Tokenizer와 Lexer는 함께 어휘 분석(Lexical Analysis)을 수행하는 역할을 한..
컴파일러컴파일러란?`컴파일러` : 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 소프트웨어 도구이다.`컴파일` : 고수준 언어 > (컴파일러) > 저수준 언어 따라서, 컴파일하여 실행 가능한 `바이너리 파일`을 생성하여 컴퓨터에서 직접 실행할 수 있고,최적화된 코드를 생성하여 실행 속도를 향상할 수 있다. 컴파일러 구조컴파일러는 입력받은 소스 프로그램을 후단부가 이해할 수 있는 코드로 번역하는 `전단부`,해당 코드를 입력받아 동작시킬 기계에서 적합한 코드로 번역하는 `후단부`로 구분할 수 있다. 전단부는 언어에 의존적이고, 후단부는 기계에 의존적이기 때문에,전단부는 후단부가 이해할 수 있는 별도의 코드인 `중간 코드`를 생성한다. 컴파일러는 이러한 단계로 실행된다.---..