본문 바로가기

분류 전체보기216

react 프로젝트에 redux 적용하기 #2 지난 react 프로젝트에 redux 적용하기 #1에서는 리덕스가 적용되는 대략적인 구조를 만들었습니다. 그러나 앞으로 우리가 해야할 작업은 이것만으로 충분하지 않았습니다. 오늘은 비동기 작업을 위해 리덕스 청크(redux-thunk)를 이용하여 요청을 처리해보겠습니다. 리덕스 청크란 리덕스 미들웨어의 한 종류입니다. 간단한 동기 작업만이 가능한 리덕스에 비동기 작업이나, 웹 요청, 또는 저장소에 접근하는 복잡한 요청 등을 처리해주는 고마운 친구입니다. 우리는 오늘 이 고마운 친구와 함께 비동기 작업을 수행해 볼 예정입니다. 그럼 시작하겠습니다. 시작 우선 가장 문제가 되는 비동기 작업부터 처리해보겠습니다. 우리가 비동기 요청을 보냈을때의 상태를 구분해보면 세 가지가 있습니다. 1. 요청을 보내지 않았거.. 2020. 10. 2.
리팩토링 스터디 #3 - 테스트 구축하기 & 리팩토링 카탈로그 보는 법 3주차 리팩토링 스터디에서는 테스트의 중요성과 구축 방법에 대해 알아보았습니다. Mocha.js와 같은 테스트 프레임워크를 통해 어떻게 테스트를 구성하는지, 어느 부분에서 테스트를 추가하는지 등의 주된 내용입니다. 본문에선 책의 내용보단 스터디를 진행하며 나왔던 곁들이면 좋을 내용들을 위주로 포스팅합니다. 책에 실려있던 내용들은 리팩토링 스터디 #2.5 - 내용 미리보기를 참고해주세요. 테스트 코드 챕터의 주제가 테스트인 만큼 어느때보다 테스트 자체에 대한 이야기가 많이 나왔습니다. 필요성에 대해서는 크게 의견이 갈리지는 않았습니다만, TDD(Test-Driven Development, 테스트 주도 개발) 에 대해서는 호불호가 꽤 나뉘었다고 합니다. 필드에서는 책에서의 예들이 완전히 적용되지않는 다양한 .. 2020. 9. 29.
리팩토링 스터디 #2.5 - 내용 미리보기 리팩토링 스터디도 3주차가 다가오고 있습니다. 추석 기간 동안의 휴식을 고려해 이번 주차는 양이 그리 많지 않네요. 챕터 4 - 테스트 구축하기부터 챕터 5 - 리팩터링 카탈로그 보는 법까지 예정되었습니다. 본문의 내용을 정리하는데에도 시간이 많이 걸리지 않았으니, 바로 시작하겠습니다. 테스트 코드 저자는 리팩터링은 가치있는 도구이지만, 그것만으로는 부족하다고 말합니다. 리팩터링을 하는 근본적인 이유는 작업 시간의 단축으로 인한 효율적인 개발이라고 지난 회차에서 정리했었는데요. 이러한 작업 시간 단축을 위해 필요한 것이 바로 견고한 테스트 스위트(test suite)입니다. 단순히 한 번 쓰고 버릴 테스트 코드로 끝나는 것이 아닌 지속 가능한 테스트 스위트를 만들어 내는 것은 중요합니다. 프로그램이 제대.. 2020. 9. 26.
리팩토링 스터디 #2 - 리팩토링 원칙 & 코드에서 나는 악취 2주차 리팩토링 스터디입니다. 이번 스터디의 내용은 챕터 2: 리팩토링 원칙부터 챕터 3: 코드에서 나는 악취까지의 내용입니다. 본 포스팅에서는 스터디를 진행하며 나왔던 이야기 위주로 정리합니다. 모두 곁들여서 들으면 좋을 내용들이고, 챕터에 대한 자세한 내용은 리팩토링 스터디 #1.5 - 내용 미리보기를 참고해주세요. 그럼 시작하겠습니다. 테스트의 중요성 책에서는 테스트의 중요성을 집요하리만큼 역설하고, 저자 스스로도 테스트를 사랑한다고 말합니다. 스터디원들도 테스트의 필요성에 대해서는 대체로 동의하였지만 저자만큼의 빈도로 테스트를 수행하는 사람은 없었습니다. 필요에 의한 테스트를 꾸준히 진행하는 건 훌륭한 습관이지만 자칫 테스트를 위한 테스트가 될 수 있다는 것은 조심해야 할 것 같습니다. 테스트 자.. 2020. 9. 21.
OSI 7계층 정리 (Open System Interconnection) 네트워크 관련한 수업을 수강 중 OSI 7계층이라는 개념이 등장하길래, 정리해두면 좋겠다는 생각이 들었습니다. 강의 내용을 최대한 기억나는대로 작성하였기에 사실과 다른 내용이나 부족한 설명이 있을 수 있습니다. 그럼 시작하겠습니다. OSI 모형이란 국제표준화기구인 ISO에서 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델입니다. 프로토콜은 연결을 위한 일종의 규칙입니다. 쉽게 말하면 둘 이상의 디바이스에서 서로 연결하기 위해 일어나는 일들을 과정에 따라 구분한 단계라고 생각하면 이해하기 쉬울 것 같습니다. 물리 계층 - Physical layer 물리 계층(Physical layer)은 OSI 모형의 가장 밑에 위치한 1단계입니다. 이름처럼 물리적인 현상이 일어나며, .. 2020. 9. 20.
리팩토링 스터디 #1.5 - 내용 미리보기 이전에 올렸던 리팩토링 스터디에 관한 포스팅은 곁들여서 들으면 좋을 이야기들을 위주로 포스팅하기 때문에, 본문의 내용을 따로 정리할만한 글이 필요하다고 느껴졌습니다. 2주차의 범위인 챕터 2~3의 본문 내용을 간략히 요약합니다. 스터디 정리는 리팩토링 스터디 #2 - 리팩토링 원칙 & 코드에서 나는 악취를 참고해주세요. 챕터 2의 제목은 리팩토링 원칙 입니다. 앞 장에서 여러가지 예시를 통해 대략적이나마 리팩토링이 어떤 과정을 거치는지 감을 잡으셨을 것이라 생각합니다. 이번 장에서는 리팩터링 전반에 적용되는 몇 가지 원칙들을 다룹니다. 이번 챕터를 읽고나서 챕터 1을 다시 보신다면 일련의 과정이 눈에 더 잘 들어오실 것 같습니다. 정의 으레 책들이 그렇듯, 용어의 정의부터 시작합니다. 저자는 리팩토링(r.. 2020. 9. 19.