팀 협업이란? 우선 개발자로서 필요한 역량이란 크게 두가지가 있다. 하드 스킬과 소프트 스킬이다. 하드 스킬은 개발 업무에 있어 필요한 지식과 기술을 말하고, 소프트 스킬은 커뮤니케이션 능력, 협업 능력같은 팀으로서 일할 수 있는 능력을 말한다. 여기서 소프트 스킬
서버의 운영 방법 대표적으로 서버를 운영하는 방법에 있어서 두 가지 방법이 있다. 온 프레미스(On-Premise) 방법과 클라우드 컴퓨팅(Cloud Computing)이 있는데, 그 중에서 최근에 많은 각광을 받고 있는 클라우드 컴퓨팅이란 무엇이고, 어떤 방식으로
CI/CD란? CI/CD는 Continuous Integration(CI)와 Continuous Delivery/Deployment(CD)를 통합해서 부르는 용어이다. CI/CD는 개발 과정에서 필요한 빌드, 테스트, 배포등의 과정을 자동화한다. CI/CD를 통해서
렌더링(rendering)이란? 렌더링이란 화면에 특정한 요소를 그려내는 것을 의미하며, 브라우저에서 렌더링이란 DOM요소를 계산하고 그려내는 것을 의미한다. HTML과 CSS를 통해서 만들어지고 계산된 DOM과 CSSOM은 결합되어, 위치를 계산하고, 최종적으로 브라
Context API Context API란 React에서 제공하는 내장 API로서 컴포넌트들에게 동일한 Context(맥락)을 전달하는데 사용할 수 있다. 일반적으로 리액트에서 데이터를 전달하는 기본 원칙은 단방향성이며, 부모 컴포넌트에서 자식 컴포넌트 방향으로만
관심사의 분리란? 개발에는 관심사의 분리(Seperation of Concerns)이라는 용어가 있다. 이는 좋은 코드를 짜기 위한 가장 기본적인 원칙이며, 더 좋은 애플리케이션을 만들기 위한 여러 디자인 패턴, 기법, 아키텍쳐 등은 결국 모두 이 관심사의 분리를
의존성 역전 원칙(DIP) 의존성이란 특정한 모듈이 동작하기 위해서 다른 모듈을 필요로 하는 것을 의미합니다. 의존성 역전 원칙은 “유연성이 극대화된 시스템"을 만들기 위한 원칙입니다. 이 말은 곧 소스 코드 의존성이 추상에 의존하며 구체에는 의존하지 않는 것을 의미
클로저란? 클로저란 무엇일까? 클로저는 자바스크립트만의 개념은 아니고 함수를 일급객체로 사용하는 모든 언어에서 사용되는 특성이다. 클로저의 정의는 언어마다, 그리고 그것을 설명하는 사람마다 조금씩 다르게 말하는 경향이 있다. MDN에서는 클로저의 정의를 아래와 같이
소프트웨어 테스트란? 테스트란 무언가 동작하는지를 확인하는 행위입니다. 소프트웨어 테스트란 소프트웨어가 의도한대로 동작하는지를 테스트하는 행위를 의미합니다. 옛날에는 개발자는 개발만하고, 소프트웨어가 올바르게 동작하는지를 확인하는 테스트팀이 별도로 존재하며, 개발자