TDD
-
20221026 TIL 점점 발전 중인 프로그래머스로 TDD하기TIL 2022. 10. 26. 10:04
ide없이 프로그래머스 사이트에서 TDD를 하고 있는데, 조금씩 팁이 생기고 있다. TDD를 하면 문제를 잘게 쪼개고, 쪼갠 걸 구현하다가 반복이 보여서 리팩토링하고 하면서 자연스럽게 좋은 구조의 코드가 생성된다. 일단은 test메서드를 만들어서 solution에서 이용하는 방법보다 나은 방법은 아직 찾지 못했고, 하다가 찾으면 바로 더 나은 방식으로 바꾸려고 한다. 실제로 제출할 때는 test메서드를 호출하는 부분을 막아야 처리되는 시간을 줄일 수 있다. I/O는 시간이 오래걸리기 때문에 호출하지 않는 것이 좋다. 구조는 아직 그대로이지만 테스트를 작성하는 방식이 발전하고 있다. 기존에는 메서드: 값 구조로 출력을 했었고, 심지어 배열인 경우에 효율적으로 출력할 방법을 고민하고 있었고, 값 하나만 확인..
-
20220914 TIL 코딩테스트를 TDD로 풀어보았다.TIL 2022. 9. 14. 11:44
오늘은 어제 홀맨님께서 TDD를 연습하기에 가장 좋은 게 코딩테스트라고 하셔서 반신 반의하며 코딩테스트를 TDD로 푸는 것을 시도해보았다! 오늘의 문제가 쉬웠을 수 있지만, 다른 날들보다 훨씬 빠르게 코딩테스트 문제를 해결했다. 어려운 경우의 수 문제가 안 풀릴 때 하나하나 손으로 몇 십 개를 그냥 손으로 쓰다보면 문득 해결 방법이 떠오르는데, 코딩에서는 TDD가 그 역할을 하는 것 같다. 테스트 케이스들을 차근차근 순서대로 생각하다보면 해결 방법이 떠오르게 되는 것 같다. 그리고 오늘도 약수 개수는 제곱근 기준 대칭이라는 개념을 사용했다. 자주 나오는 개념인 것 같으니 까먹지 말자. 그리고 앞으로도 코딩테스트를 TDD로 풀자!
-
객체 지향 프로그래밍 너의 정체를 드러내라 [객체지향의 사실과 오해]책을 읽자 2022. 9. 12. 12:06
이 책을 읽기 전까지는 내가 객체지향에 대해 잘못 이해하고 있는지 몰랐다. 그리고 객체지향이라며 프로그램을 짰지만, 이 책을 읽고 보니 내가 짠 코드는 객체지향 프로그램이 아니었다. 정말 제대로 객체지향적으로 프로그램을 짜니 훨씬 가독성이 높고, 깔끔하다. 그렇다면 이 책에서 말하는 제대로 된 객체지향은 어떤 것인지 알아보자. 객체지향에서 제일 중요한 것은 메시지이다. 객체지향을 강력하게 만드는 비밀은 책임과 메시지에 숨겨져 있다. 객체끼리 어떤 메시지로 협력을 하게 할 것인가를 중심으로 프로그램을 짜면 아주 바람직한 객체지향 프로그램이 탄생한다. 훌륭하고 유지보수가 쉬운 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다는 모듈이 어떻게 커뮤니케이션하는가에 달려 있다. 훌륭한 객체지향의 ..
-
4주차 개념노트메가테라 2022. 9. 11. 13:45
build 소프트웨어에 필요한 수 많은 파일들(소스 코드 + 리소스)을 변형 또는 압축하는 과정을 의미한다. 소스 코드를 실행할 수 있는 상태로 만들어주는 것도 빌드이고, 코드들을 압축해서 전체 크기를 줄이거나 난독화하는 과정도 빌드에 해당한다. 컴파일 언어의 경우 컴파일이 당연히 build과정에 포함된다. 배포(개발한 프로그램을 사용자에게 전달)하기 위해서는 빌드 과정이 필요하다. Gradle등의 빌드 도구를 이용해서 빌드할 수 있다. 배포 빌드한 결과물을 사용자에게 전달하는 것을 의미한다. 사용자들이 다운로드할 수 있는 곳(구글 플레이 등)에 업로드하거나 웹사이트의 서버에 올려서 웹사이트에 개발한 것을 반영하는 것을 의미한다. jar 파일 소스 코드와 리소스들을 한 개의 파일로 모은 파일이다. 프로그..