2021.01.10 단위 테스트를 위한 코드 작성을 할 수 있다. TDD랑은 다르다. TDD는 테스트 코드를 먼저 작성하는 것이 시작이다. 단위테스트와 TDD의 차이 TDD RED - 항상 실패하는 테스트를 먼저 작성 GREEN - 테스트가 통과하는 프로덕션 코드 작성 REFACTOR - 테스트가 통과하면 프로덕션 코드를 리펙토링 합니다. 단위테스트 단지 기능 단위의 테스트 코드를 작성하는 것을 이야기 한다. 꼭 테스트 코들르 먼저 적성한느 것을 포함지 않고 리펙토링도 포함하지 않는다. 테스트코드 작성이유 단위 테스트는 개발단계 초기에 문제를 발견하게 도와줌 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등을 할 때 기존 기능이 올바르게 작동하는 지 확인할 수 있음 기능에 대한 불확실성 감소 단위 테..
스프링 부트 프로젝트를 생성할 때 빌드 툴을 Gradle로 할 수 있다. Maven도 있지만 기능상 차이보다는 편한 것 선택하면 된다. 나는 좀더 힙해보이는 그레이들 선택 그래이들 빌드 스크립트 파일인 gradle.build를 해서 설정을 해줘야하는데 개념을 잘 이해하고 넘어가고 싶었음. 의존성이나 플러그인 설정 같은 빌드에 필요한 설정을 하는 곳이다. 해당 스크립트를 읽어서 프로젝트를 빌드할 수 있다. 참고한 build 스크립트가 중구난방이라 알아보니 2.1 버전부터 문법이 업데이트 됨.(이전 문법도 가능) 직접 작성하는 방법도 있지만 가장 쉬운 방법은 스프링 이니셜라이저를 이용해 프로젝트 기초를 다운 받을 수 있다. https://start.spring.io/ 여기서 한가지 의문점 발생 의존성 설정 ..
객체지향이란? 객체지향프로그램 설계는 어플리케이션이 객체들이 어플리케이션 구동이라는 목표를 위해 각자의 역할을 책임을지고 협력하는 프로그램이다. 전체 시스템을 상호작용하는 자율적인 객체들의 공동체로 바라보고 객체를 이용해 시스템을 분할하는 방법 객체는 각자가 충분히 자율적이야하고 다른 객체가 봤을 때 무엇을(what)하는지 알 수 있지만 내부가 어떻게(how)처리하는 지는 알 수 없어야한다. → 알아서 자율적으로 책임지고 처리해야한다. 다른 객체가 참여하면 객체지향적인 프로그래밍과는 거리가 멀어진다. 객체 간에는 공동의 메세지만 주고 받는다. 따라서 객체지향 설계는 이 객체들을 얼마나 적절한 책임을 선택하고 지정하는지가 핵심이다. 따라서 평소에 객체지행적으로 사고의 중심을 전환해야지 훌륭한 객체지향 설계..
DO 객체지향 내용 정리 - 공부한 내용 한 번더 정리 (그냥 인상깊어서... 책임! 역할! 협력!!) 객체지향 실전을 위해 스프링 부트 시작 - 스프링 객체지향을 실전 적용 연습 목적으로 책 병행해서 공부시작 - 다른 언어들도 가능하지만 자바가 객체지향 연습하기 좋을 것 같아 고민하다가 시작했다. 객체지향적인 사고를 체득하는 것이 목적. 플러그인이란? 소프트웨어의 일부이다 (= 플러그인도 프로그램이다.) 원래 프로그램에는 없지만 Plug-In 해버리면 그 기능을 사용할 수 있는 것 웹브라우저에서 사용하는 플러그인이 대표적이다. 얼마전 종료된 Adobe Flash도 플러그인이다. 웹브라우저가 처리하지 못하는 것을 부분적으로 처리해주는 것 처럼 표준기능을 확장해주는 별도의 프로그램이다. ----------..
TIL 1. 변수와 메모리 관련해서 내용 정리 - 변수를 메모리에 저장하는 방법하고 기본형 변수 참조형 변수와 저장 메모리 공부했다. 그냥 대충 알아고 넘어가도 문제 없었지만 간단한 기본만 한번 더 숙지해도 혼란이 줄고 이해력이 사고력이 크게 증가한다 기본형 데이터 - 불변값(Real 해당데이터 가비지콜렉팅 당하기 전까지 안변함) 참조형 데이터 - 가변값( 참조 주소의 변경 가능) 변수이름과 가르키는 주소가 있고 해당 주소에 값이 들어있음 값을 변경할 때 변수는 해당 값이 있다면 해당 값이 들어있는 주소를 참조하고 없다면 해당 값을 저장하는 메모리 공간을 할당해 저장한다. 참조가 없어진 변수는 가비지컬렉트 단계에서 제거된다 . 참조형 변수는 배열이나 key:value를 생각하면 쉬운데 변수에 저장된 주소..