연재작 (37) 썸네일형 리스트형 react에서 객체의 불변성이 강조되는 이유 불변 객체 (Immutable Object)객체 지향 프로그래밍에 있어서 불변 객체란 생성 후 그 상태를 바꿀 수 없는 객체이다.객체 전체가 불변인 것도 있고, 내부에서 사용하는 속성(field)이 변화해도외부에서 그 객체의 상태가 변하지 않는 객체를 불변 객체로 보기도 한다. 예를 들어서, Java나 Python에서String과 같은 객체는 선언 후 내부의 값을 변화시킬 수 없는 객체 전체가 불변인 객체이다.(참고로, JavaScript에서 String은 primitive type이다.) "속성이 변화해도 외부에서 그 객체의 상태가 변하지 않는 객체" 는 딱히 정해진 타입이 없어 Java를 통해 대략적으로 설명하자면 다음과 같다.public class PseudoImmutableObject { p.. TCP/IP 4계층, OSI 7계층, Handshaking? chatGPT와 정리 HTTP/3 이전에서는 TCP를 기반으로 한 통신이 이루어진게 맞지?UDP도 지원은 하는데 대부분이 tcp 기반으로 이뤄진거 같아.맞음: HTTP/3 이전에는 TCP가 주로 사용되었으며, UDP도 사용되지만 대부분의 인터넷 통신은 TCP를 기반으로 합니다. OSI 7계층은 TCP/IP 4계층과 사실상 동일하다고 보면 되지?부분적으로 맞음: OSI 7계층과 TCP/IP 4계층은 유사하지만 동일하지 않습니다. OSI 모델은 7계층, TCP/IP 모델은 4계층입니다. 그니까 전자는 7계층으로 이뤄져있고 후자는 4계층으로 이뤄져있는데후자는 구현쪽에 느낌을 가지는거잖아OSI 7계층은 네트워크 통신을 논리적으로 나누어 각 계층이 어떤 역할을 하는지 설명하는 모델로, 주로 이론적인 측면에서 이해됩니다.TCP/IP 4.. 수학적 철학을 가미한 함수형 프로그래밍 처음에 프로그래밍에 입문했을때 제일 큰 충격은 다음의 한 줄 이었다.i = i + 1; 돌아버린거냐? 라는 말이 절로 나왔다.아무리 그래도 컴퓨터의 근본은 수학으로 알고 있었는데...어떻게 맨 처음부터 나오는 명령이 저런거라니 라는 생각밖에 안들었다. 시간이 흘러 최근 JavaScript를 접하면서 함수형 프로그래밍이라는 새로운 개념을 접했는데,찾아보니 수학적인 철학?이 많이 차용된 것 같은 것 같아서 조금은 기뻤다.사실 함수형 프로그래밍이더라도 저 선언은 사용한다.그렇지만 이제 익숙해져버려서 거부감이 있거나 그러진 않고.. 몇가지 수학적인 성질이 들어가 있길래복습겸 정리해보자 한다. 1. 순수 함수(Pure Function)를 지향기본적으로 수학에서의 함수와 그간의 프로그래밍 언어에서의 함수는 차이가.. 웹은 당신의 눈을 속인다 (1) Web Browser는 이미 준비된 척을 한다. 언제부턴가 브라우저에서 페이지가 로딩되는 속도는 너무나 빨라졌다.컴퓨터의 성능, 통신 기술의 향상으로 어쩌면 당연하다 할 수도 있겠다.하지만 이게 정말 통신 기술, 하드웨어 발전만으로 빠르게 로딩되는 것일까? 그렇다면 그러한 발전에도 불구하고 느린 페이지가 여전히 존재하는 이유들은 무엇일까?어쩔때는 느린 페이지에서 보여주는 자료의 양보다 빠른 페이지에서 보여주는게 더 많은 경우도 있다.인터넷 회선 제공자들이 특정 서버에 더 빠른 데이터 속도를 보장해주는가? 아니다. 모두 같은 양과 속도의 데이터를 서비스로 제공할 수 있다. 페이지에도 성능이 존재한다는 것이다. Google은 2020년에 페이지의 성능이 알고리즘을 통한 검색 순위에 영향을 줄 것이라 공표한 바 있다.그리고 지금 2024년의 develope.. HTTPS 보안 : 의심병 환자의 대칭키 전달 Episode 비대칭키가 공개키와 비공개키 두 개로 구성되어 있고비공개키만 있으면 공개키로 만든 어떤 암호라도 금방 풀 수 있다고 하던가? 공부하면서 느낀 것은 HTTPS 보안의 핵심을 이해하는 비공개키는 상황을 거꾸로 되짚어보며 이해하기 이다."CA의 서버인증부터 시작해서 ... 대칭키로 통신을 해요!" 가 아니라거꾸로 "왜 대칭키로 통신을 하며 이것을 어떻게 상대방(서버)에게만 알려줄 수 있을까?" 를생각해봐야 한다는 것이다. 왜 대칭키로 통신을 할까?쉽다. 대칭키로 통신을 하는게 더 빠르기 때문이다.대칭키는 암호화와 복호화를 같은 것으로 사용하기에 키 하나만 알고 있으면 된다. 하지만 치명적 단점이 있다. 나와 키를 유지할 상대방(서버)에게 매우 안전하게 전송을 해야 한다는 것이다.전달하러 가는 길의 공기 흐름이.. 이전 1 2 3 4 5 다음