프론트엔드 테스트는 어디서부터 어디까지, 어떻게, 꼭 해야할까? (+Jest, Puppeteer, Cypress)
들어가며 이 글에선 프론트엔드의 테스트 코드에는 어떤 것들이 있으며, 테스트 코드 작성법, 좋은 테스트란 어떤 것인지, 나아가 리액트에서는 어떻게 적용할 수 있는지를 설명할 것입니다. 저와 같은 문제를 겪은 분들께 도움이 되는 글이 될 것이라 생각합니다. 간결한 문장을 위해 평어체로 진행하겠습니다. 내가 겪은 문제 나는 테스트 코드를 작성하려고 할 때면, 어디까지 Mocking을 해야하는지, 파라미터 테스트 범위는 어느 정도가 적합한지, 테스트 단위를 얼마나 나눠야하는지 막막했다. 그리고 이렇게 짜는게 맞는건지, 생각할 수 있는 케이스는 다 해본 것 같은데도 불구하고 테스트 커버리지가 높지 않아 고민하기도 했다. 그러다 최근 우테코에 지원해 4주간의 프리코스를 진행 중인데, 여기서 또 테스트와 만나게 되..
[Network] Network Layer에 대한 깊은 이해하기(+IPv4, NAT, PAT, UDP, TCP)
저번 2계층에 이어 3계층 네트워크 레이어중에 가장 유명하고 인터넷의 근간이 되는 IP네트워크에 대해 알아보려한다. IP네트워크는 위처럼 패킷 단위로 전송된다. 1, 2, 3, 4의 순서로 패킷이 전송되지만 속도에 따라 도착하는 순서는 위처럼 달라질 수 있다. 이 순서를 맞춰주는 것이 TCP이고, UDP는 순서를 맞춰주지 않는다. TCP를 쓴다면 1,2,3,4로 도착할 것이고 UDP를 쓴다면 위의 그림과 같은 순서로 도착을 할 것이다. R들은 Router로서 특정 포트에서 받은 패킷을 다른 특정 포트에 전달한다. 라우터의 인터페이스란(inteface) 라우터 장치에서 줄이 꽂혀있는 포트를 뜻한다. 네트워크 계층에는 가장 기본이 되는 IP외에도 이를 도와주는 IGMP, ICMP, ARP 등이 있다. 게임을..