본문 바로가기

분류 전체보기64

불변성은 왜 지켜야할까? 불변성 (Immutability) 불변성은 값이나 상태를 변경할 수 없는 것을 의미합니다. 프로그래밍에서 불변성은 데이터 원본의 훼손을 막는 것을 의미합니다. 간단히 말하자면, 어떤 값을 직접적으로 변경하지 않고 새로운 값을 만들어내는 것입니다. 자바스크립트에서는 원시타입은 불변성을 지니지만, 객체타입은 값이 변할 수 있습니다. 원시 타입 원시 타입에는 Boolean, Number, String, null, undefined, Symbol이 있습니다. 먼저 코드를 보겠습니다. let str = "example1"; str = "example2"; console.log(str) // example2 위에서는 원시타입은 값을 변경할 수 없다고 했는데 위와 같은 결과가 나왔습니다. 사실, 위 과정은 값이 변경.. 2022. 4. 27.
함수 스코프와 블록 스코프 스코프 변수나 함수가 선언되어 사용할 수 있는 유효 범위를 말합니다. 스코프는 크게 전역 스코프와 지역 스코프로 나누는데, 지역 스코프에 오늘 정리할 함수 스코프와 블록 스코프가 있습니다. 전역 스코프 : 어디든지 변수에 접근이 가능 지역 스코프 : 정해진 범위 안에서 접근이 가능 함수 스코프 자바스크립트는 함수 스코프를 기본으로 사용합니다. 함수 스코프는 새로운 함수가 생성될 때마다 새로운 스코프가 발생되는데, 함수에서 선언한 변수는 해당 함수 내에서만 접근 가능하다는 걸 의미합니다. function sayHello() { var hello = 'hello'; } hello; //ReferenceError 위 코드를 보면, sayHello라는 함수가 생성된 것을 볼 수 있습니다. hello라는 변수가 .. 2022. 4. 24.
TCP 와 UDP 는 무엇이 다를까? TCP와 UDP TCP와 UDP는 전송계층에서 데이터를 보내기 위해 사용되는 프로토콜입니다. 전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. TCP는 Transmission Control Protocol의 약자이고, UDP는 User Datagram Protocol의 약자입니다. 두 프로토콜은 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어 있지만, 서로 다른 특징을 가지고 있습니다. 패킷(Packet)이란? 인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 합니다. 그림을 보면 왼쯕은 TCP, 오른쪽.. 2022. 4. 22.
css의 position 이번 글에서는 CSS의 position 속성에 대해서 알아보겠습니다. position position 속성은 HTML에서 요소가 배치되는 방식을 결정합니다. 모든 경우는 아니지만, position 속성은 요소의 정확한 위치 지정을 위해서 top, left, bottom, right 속성과 함께 많이 사용됩니다. position: static position 속성을 별도로 지정해주지 않으면 기본값인 static이 적용됩니다. static은 요소들이 HTML에 작성된 순서대로 브라우저 화면에 표시가 됩니다. top, left, bottom, right 속성값은 position 속성이 static일 때는 무시됩니다. position: relative relative는 요소를 원래 위치를 기준으로 상대적(rel.. 2022. 4. 22.