^^ 약간 화난게 보이시나요? 문제 다 풀었는데 문제 풀이 IDE도 독특하고 주석에 설명이 엄청 많고 뭐가 뭔지 모르겠어서 삽질을 했기 때문입니다. SWEA에서는 testcase 갯수를 받고 그걸 반복문으로 돌리면서 검증하더라고요?함수 입력하고 테스트 케이스는 알아서 검사하는 다른 사이트와 다르게test하는 로직도 코드에 포함되어 있어서 헤맸습니다. T = int(input()) for test_case in range(1, T + 1): 이렇게 시작하는데 test의 txt 파일에 총 몇개의 테스트가 있는지 적혀있다면 그대로 두면 되는거 같고만약 문제에서 10문제다 이렇게 제한한다면T = 10 이렇게 두고 똑같이 푸시면 됩니다. ㅎㅎㅎ 앞으로 친해져야겠네요 SWEA~~ 화이팅.
우테코를 하면서 디버거를 사용했는데 정말정말 좋았다.지금까지 콘솔에다가 찍으면서 했던 게 삽질이었다는 것을 안 순간... 사실 수업시간에 디버거에 대해서 배웠으나 사용하지 않았다. 왜 그 랬 을 까.그냥 항상 콘솔에 찍어서 사용했는데. NOPE 그러지 말자. intellij에서 디버거를 사용 후 fn+f5 키를 누르면 다음 브레이크 포인트까지 진행되며변수 상황을 체크할 수 있다. Jetbrains IDE의 경우 TODO도 정리해서 보여준다. 아주 편리함.VScode의 경우 TODO tree extension을 다운받으면 된다.
드디어 우테코 프리코스 4주간의 여정이 끝났다.4주동안 시험기간이기도 하고, 과제 제출도 해야하고, 여행도 잡혀있어서 정말 만만치 않았다. 하지만 도전해보길 정말 잘한거 같다. 일단 제대로된 코딩이라는 것을 해본 느낌이다. 각 과제의 요구사항이 점점 늘어나는 형태였는데,마지막에는 정말 요구사항이 많았다. 이 요구사항들을 README에 정리하고 계획하고 수행하는 능력을 기를 수 있었다.그리고 git commit 의 용도에 대해서 확실히 알았다. 마치 일을 하다가 어디까지 했는지 기록하는 용도이다.기록을 해둬야 문제가 생겼을 때도 다시 보기 쉬우므로, 알맞은 메세지로 명확하게 무슨 작업을 했는지 남겨야 한다. TDD(test driven development)부터 디버깅 툴로 디버깅도 할 수 있게 되었..
계속 우테코 과제를 하다가class의 getter 에 this를 쓰지 않았는데도에러가 나지 않는 것이다. 뭐지? 원래 this 무조건 써야하는 거 아닌가,찾아보니 scope 와 관련된 내용이었다. 만약 this를 앞에 안적어 준다면그러니까 this.a 라고 적지 않고 a라고 적는 다면, 그 함수 내에 a라는 변수가 있을 경우 거기에 맵핑 된다.만약 없을 경우에는 클래스의 a로 맵핑되기 때문에 에러는 발생하지 않는다. this.a를 적어주면 클래스의 a와 맵핑되며,나의 경우에는 this를 적어주는 게 맞았다. 간단한 til 끝~~
M1, 2020 를 사용중인데 잘되던 pgadmin이_lsopenurlswithcompletionhandler() failed with error -54. (1) 가 뜨면서실행이 안되는 것이다!!!! 이유를 찾아봤더니 경로문제라는 사람도 있었고 다시 다운을 받으라는 경우도 있었으나나는 로제타를 다운받았더니 해결되었다!softwareupdate --install-rosetta
동기분께서 귀한 피드백을 해주셔서 그것을 기반으로 다음주차 진행해보려고 한다. 2주차에 대한 피드백이었는데 핵심은 다음과 같았다.Error Message 의 내용을 static nested class로 만들지 말고, enum으로 관리하기용도에 따라 public 함수와 private 함수 잘 구분하기 MVC 패턴 분류 기준에 따라 명확하게 함수 구분하기객체로서 의미가 있는 것만 객체로 할당하기INTEGER와 int의 사용 구분하기 - NULL 값을 허용하느냐 안하느냐매직넘버 - 상수화 해서 관리하기함수를 최대한 한가지 기능만 하도록 나누기 3주차 공통 피드백에서 신경쓸 부분은 다음과 같았다.연관성이 있는 상수는 static final 대신 enum을 활용한다. 객체는 객체답게 사용한다. - 로직 구현 없이..
오늘 코딩을 하다 list 수정에 대해서는 함수 안에 global로 선언하지 않아도 작동하고int 변수의 경우에는 global로 알려줘야지만 함수 안에서 사용할 수 있었다. 왜 그 럴 까 정답은 가변객체, 불변객체에 있었다. 가변객체 : list, dict불변객체 : int, str, tuple, float int는 불변객체로 수정하려면 재할당을 해야한다.이때 문제가 생기는 것인데, 전역변수를 주소값을 참조하고 수정하려면 global 선언이 되어 있어야 한다. 반면에 list 는 가변객체로 list 자체의 주소값은 변하지 않아수정할 때도 global 선언이 되어 있지 않아도 된다는 점~~ 새로운 것을 알았다.
2주차에는 여행과 함께 우테코를 병행하느라 조금 애를 먹었다 😂해당 주차에 신경 쓰고자 했던 점은 MVC 패턴 적용해보기디버거를 사용한 디버깅배열 대신 컬랙션 사용하기가 있었는데 3개 모두 잘 수행했다고 생각한다.디버거를 사용하니까 디버깅이 상당히 쉬워져서 왜 이제까지 하지 않았는가... 에 대한 생각도 했다.이름이 "디버거"인데 왜 안 썼지...ㅋㅋ 하지만 치명적인 실수를 하게 되었는데MVC 패턴 적용에 신경을 쓰다 보니 README를 제대로 업데이트하지 않았다. 일단 내 맘대로 코딩 후에 MVC패턴을 적용하여 리팩토링을 진행했는데,그 결과를 README에 적용하지 않고 그대로 제출해 버렸다... 근데 또 2주차 피드백 내용 중에"README를 죽은 문서가 아닌 살아있는 문서로 유지될 수 있도록 노..