What is Redis? Remote Dictionary Server의 줄인 말로 인 메모리형 key, value 으로 데이터를 저장하는 데이터 스토어입니다. 캐시 서버로 주로 사용되는 오픈소스이다. ※ 캐시: 데이터나 값을 미리 저장해놓고 메모리에 임시로 저장해서 호출 시 데이터를 찾는 리소스 없이 바로 가져올 수 있다. 캐시 서버를 사용하는 이유 다이나믹 프로그래밍에서 나오게 되는 중요한 핵심과 비슷한데 연산을 미리 저장해놓고 다시 호출될 때 처음부터 연산하지 않고 미리 연산된 데이터를 가져와서 이어서 연산을 시작하는 개념과 비슷하다고 볼 수 있다. 예를 들어 가게 평점을 들어보자. 배달의 민족을 보면 별점을 참여한 사람은 7000명 가까이 되는데 수천만개의 데이터에서 한 음식점에 7000개의 리뷰..

전체 글
좋은 영향력을 전파하기 위해 노력하는 엔지니어 리오입니다.의도를 명확하게 클린 코드에서는 의도를 명확하게 하는 것을 매우 중요하게 생각한다. 코드에 대해 명확한 의도를 가지지 않고 코딩을 하게된다면 어떻게 될까 아래의 예제를 통해 알아보자 List dateTimes; 위의 변수를 보고 어떤 역활을 하는지 생각해보자. 코드에 아무런 의도가 없어서 추론이 불가능하다. 우리는 결국 이코드를 하나하나 추적해서 알아가는 수 밖에 없다. 하지만 이렇게 이름에 의도를 나타낸다면? List memberJoinedDateTimes; 아! 멤버(회원)가 가입한 시간을 모은 변수구나! 라고 바로 생각하게 된다. 코드에 의도를 명확하게 표현하는 것은 중요하고 이러한 네이밍 하나로 엄청난 시간을 절약하게 된다. 물론 조건문 반복문에도 의도를 나타내는 것은 매우 중요하다. List d..
스타트업에서 근무하면서 빠르게 아웃풋을 내야하는 환경에 일하다 보면 코드를 작성하는데 생각보다 손이 먼저 나가게 된다. 안된다는 것을 알면서도 습관적으로 손이 자꾸 먼저 나가게 된다. 결국 개발을 마치고 나중에 보게 된다면 나는 "왜 이렇게 짰을까...." 라고 후회를 하고 쌓인 부채로 인해 업보가 돌아오게 된다. 하드코딩으로 인한 생산성 저하는 생산성이 중요시하는 개발자에겐 치명적으로 다가오게 된다. 물론 부채를 포기하고 난 몰라하고 퇴사를 할 수 도 있다. 그렇게 무책임하게 떠나고 계속 전전하고 후퇴하게 된다면 연차는 계속 쌓이지만 실력은 주니어 수준에 머무르게 될 것이다. 결국 기업은 그런 개발자를 채용하지 않을 것이고 개발자로서의 가치는 점점 떨어지는 것이다. 나는 실제로 첫직장을 SI업체를 다니..
도커 설치하기 https://www.docker.com/get-started/ Developers - Docker Developer productivity tools and a local Kubernetes environment. www.docker.com 레디스 이미지 다운로드 도커에서 레디스의 이미지를 내려 받습니다. docker pull redis 레디스 실행 docker run --name some-redis -d -p 6379:6379 redis -p : 포트 설정 (도커 외부 포트 : 도커 내부 포트) -d : 백그라운드 실행 레디스 실행 확인 docker ps -a
많은 기업에서 TDD, ATDD 등 테스트 주도 개발이라는 도입을 하고 테스트 커버리지를 높이는데 많은 돈과 인력을 투자를 하고 있었습니다. 심지어 개발자를 뽑는데도 필수 역량으로 표시되어 있는 경우도 있었습니다. 하지만 주니어 개발자인 저에게 테스트 주도 개발이 왜 필요하고 어떻게 해야되는지에 와닿지 않았었습니다. 그래서 테스트 주도 개발 책중 가장 유명한 켄트백의 테스트 주도 개발 책을 읽게 되었고 게으른 저에게는 분명 책만 사두면 다 읽지 않을 것이라는 것을 알고 있기 때문에 책 스터디를 통해 강제성을 가지고 시간이 오래걸리긴 했지만.. 다 읽고 이렇게 후기를 남길 수 있게 되었습니다. 일단 이책은 TDD에 대한 이론에 가까운 책이기 때문에 실무에 바로 적용해보고 사용할 수 있는 책은 아닙니다.....
빨간 막대 패턴 한단계 테스트 우리들인 테스트를 할 때 어떠한 방법으로 하는지 API를 개발할 때 컨트롤러부터 테스트할 때 도 있고 DAO나 Repository 먼저 테스트하는 경우도 있습니다. 켄트백은 이러한 상향식 프로그래밍 하향식 프로그래밍은 TDD 프로세스에 대해 효과적으로 설명할 수 없다고 말을 합니다. 이와 같은 수직적 메타포는 시간에 따른 단순한 변화일 뿐이라고;; 메타포: 본래 표현되어야 할 내용을 간접적으로 명시하는 것이다. 예시: 인생은 여행이다. 켄트백은 TDD에 대해 성장이라는 키워드에 초점을 맞췄다. 우리는 TDD를 처음 접할 때는 더닝 크루거 효과처럼 TDD에 아주 얕은 부분만 알고 알고있는 테스트만 작성을 합니다. 그렇게 알고 있는 테스트만 작성하게 된다면 우리는 해당 테스트가..