코드 리팩토링이란 프로그램의 내부 구조를 변경하는 것으로, 이미 구현된 기능의 변경이 없어야하고, 내부적인 코드의 성능 개선이 이루어져선 안된다. 리팩토링은 순전히 코드의 유지보수를 위해 행해진다.일관된 스타일 (new line, space, indent)의 코드를 작
처음 react hook을 사용했을 때부터, useState, useEffect와 같은 hook들이 내부적으로 어떻게 동작하는 지 매우 궁금했다. 사용하는 입장에서는 그저 마법처럼 느껴진다는 말이 맞는 것 같다.사실, 이번 말고도 이전에 hook을 바닐라 js로 만드려
컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관, 조직하는 체제를 가리키는 말이라고 한다. 파일 시스템은 운영체제 별로 다를 수 있기 때문에, 여러가지 종류가 존재한다. 이번 글은 리눅스에서 사용되는 파일 시스템인 EXT에 대해 설명하고자 한다.디스크는
하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위한 이름이다. 값을 가지고 있는 메모리 공간에 대한 별명이라고 생각할 수 있다.그림 1. 메모리와 변수의 관계위의 예시로 30이라는 값은 0x000000F2 주소에 저장되어 있는 값이
교차 출처 리소스 공유 (CORS) 란, 서로 다른 도메인으로 요청을 보낼 수 있도록 허용하는 시스템이다.만약 서로 다른 도메인으로부터 받는 모든 요청에 대한 제약이 없다면, CSRF나 XSS같은 공격에 취약할 수 있다.정상적인 사용자의 권한을 탈취하여 공격자가 의도한
좋은 프로그램이란, 좋은 함수란, 좋은 서브루틴이란 높은 응집도와 낮은 결합도를 가질 수 있도록 작성해야한다.높은 응집도와 낮은 결합도를 가지는 코드는 유지보수에 용이하다.예를 들어, Stack을 제어하는 push, pop이라는 메서드가 존재한다고 가정했을 때, pus
Hypertext Transfer Protocol로, 인터넷에서 데이터를 주고 받기 위한 규약. 개발 시 정해진 HTTP 규약을 통해 통신할 수 있다.HTTP over Secure Socket Layer로, SSL 위에서 동작하는 HTTP라는 의미. HTTP는 데이터를
ES Classes 문법을 이용하여 클래스를 구현할 때, 메서드가 undefined 가 나오거나 원하는 대로 작동되지 않는 문제가 종종 있었다. 클래스 내부에서 this 키워드를 이용해 자신의 클래스에 존재하는 다른 메서드를 호출하게 되는데, JS에서 this 키워드는