TDD(Test Driven Development) : 테스트 기반 개발 첫째법칙 : 실패하는 단위 테스트를 작성할 때 까지 실제 코드를 작성하지 않는다 둘째법칙 : 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위테스트를 작성한다 셋째법칙 : 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 위 세가지 규칙을 따르면 개발과 테스트가 대략 30초 주기로 묶인다. 테스트 코드와 실제 코드가 함께 나올 수 있는 방법이다. 테스트 코드가 지저분할 수록 변경하기가 어렵다. 테스트 코드가 복잡할 수록 실제 코드를 짜는 시간보다 테스트 케이스를 점점 더 통과시키기 어려워진다. 그래서 테스트 코드는 계속해서 늘어나는 부담이 되버린다. 결국 단위 테스트 코드를 깨끗하게 구현해야 실제 코드를 짤 때 ..
요즘의 고민이라면? 개발블로그 좀 제대로 갖춰보겠다고 네이버 블로그에서 넘어왔는데 어떻게 활용해야 더 잘 쓸 수 있을까, 그런 고민! 나 스스로도 정리해보면서 한번 생각해보려고 한다. 내가 하고 싶은 것 ? 즐거운 개발, 사이드 프로젝트 리액트 네이티브를 이용한 안드로이드 앱 맥북을 사게된다면 ios 개발도 해보고싶다 자바를 이용한 게시판 만들기 회원정보 연동, ES 이용하기, JPA 이용하기 자기 개발용 공부 자료구조 이론 정리하기 알고리즘 문제 풀어보기 코딩테스트 풀어보기 클라우드 공부하기 (MSA, AWS) 내가 하고 싶은 분야 정하기 티스토리 잘 정리하기 유튜브에 강의나 프로젝트 기록 남기기 내가 하고 있는 것 ? JAVA 개발자로 입사했고, 프론트앤드, 백앤드, DB 가리지않고 지원해서 일하고 ..
연결리스트(Linked List)란 ?포인터를 이용하여 자료를 끊김 없이 연결되어 순차적으로 저장되는 것. 배열리스트와의 가장 대표적인 차이점배열리스트는 물리적 위치가 순차적이지만 ,연결리스트는 단순히 논리적 위치만 순차적이고 물리적 위치는 순차적이지 않을 수 있다는 것! 즉, 최대 원소 개수를 지정하는 것에 대한 차이가 있다.배열리스트는 무조건 최대 원소 개수를 지정해야하지만 연결리스트는 지정해줄 필요가 없다. 연결리스트의 구조노드(Node) = 자료 + 링크 연결리스트의 노드 추가와 제거는 링크 정보를 추가하거나 제거하는 것 배열리스트는 원소의 추가와 제거가 원소의 이동을 의미한다.노드 추가하기 노드 추가시 기존에 연결되어있던 링크를 제거하고 새로운 링크를 추가하여 다시 잇는다노드 제거하기 노드 제거..
- 배열리스트(ArrayList) 논리적 (저장)순서와 물리적 저장 순서가 동일하다 원소의 위치 인덱스는 0부터 시작한다 (C배열에서와 동일) 배열리스트의 단점 원소의 개수가 10만개인 배열리스트에서 원소의 추가/제거가 빈번하게 발생한다면? 중간에 추가 제거가 일어날때 해당 데이터와 관계없는 데이터들의 이동이 필요하다 배열리스트의 원소 추가 추가전 시작 지점과 방향, 어디까지 의 3가지 점을 주의해야함 1의 위치에 5를 삽입하기위해 가장 뒤에 있는값을 하나씩 옮긴 후 새로운 데이터를 삽입한다 추가가능한 위치인지 확인 필요 newElementCount 개수 만큼 값을 추가로 저장할 수 있음 int addALElement(ArrayList* pList , int position, ArrayListNode e..