Note
-
비대칭키 암호화Note 2021. 2. 22. 18:25
암호화 암호화 방식은 크게 대칭키, 비대칭키 방식이 있다. https, ssh 등 여러 곳에서 비대칭키(공개키 + 비밀키) 방식을 사용한다. 대칭키 대칭키는 암호화 복호화에 같은 암호키를 쓰는 방식이다. 예를 들어 알파벳을 세 칸 옮기는 암호화 방식이 있다고 하자. (암호화 알파벳 + 3, 복호화 알파벳 - 3) 암호화 : 알파벳 + 3 a + 3 = d b + 3 = e c + 3 = f ... z + 3 = c 이렇게 암호화한 khoor를 복호화하면 hello라는 것을 알 수 있다. 복호화 : 알파벳 - 3 k - 3 = h h - 3 = e o - 3 = l r - 3 = o 이 방식의 치명적인 단점은 암호화/복호화 방식 둘 중 하나라도 털리면 암호가 해독될 수 있다는 것이다. 따라서 한쪽이 털려도..
-
Unicode, UTF-8Note 2021. 2. 18. 18:24
Unicode 옛날 컴퓨터가 세상에 나왔을 때는 ‘영어’와 몇 가지 ‘특수문자’만 사용했고 이를 저장하기 위해서 1 byte면 충분했다. (0~255) 시간이 흘러 다른 국가 사람들이 컴퓨터를 이용하다 보니 자국어도 컴퓨터로 표시하고 싶어 졌다. 그래서 1 byte 안에 임의대로 알파벳 대신 자기 나라 글자를 할당해서 그럭저럭 쓸 수는 있었다. 그러나 네트워크가 발전하고 다른 사람 홈페이지를 들어갔더니 글자가 와장창 깨지고 만다. 그리하여 국제적으로 전 세계 언어를 모두 표시할 수 있는 표준코드를 만들기로 했다. 바로 유니코드(Unicode)다. 유니코드는 글자와 코드가 1:1 매핑되어 있는 '코드표' UTF-8 유니코드를 통해 코드표가 정의되었다. 남은 것은 그 ‘코드'가 컴퓨터에 어떻게 저장되어야 하..
-
호출 스케줄링Note 2021. 2. 15. 15:03
호출 스케줄링(scheduling a call) 일정 시간이 지난 후에 원하는 함수를 호출(예약 실행)할 수 있게 하는 것 setTimeout 일정 시간이 지난 후에 함수를 실행 // 2초 후에 sayHi() 호출 function sayHi() { alert('안녕'); } setTimeout(sayHi, 2000); setInterval 일정 시간 간격을 두고 함수를 실행 setTimeout이 함수를 단 한 번만 실행하는 것과 달리 setInterval은 함수를 주기적으로 실행 // 5초 간격으로 메시지를 보여줌 let timer = setInterval(function() { alert('째깍')}, 5000); 함수 호출을 중단하려면 clearInterval(timer)을 사용
-
ReduxNote 2021. 2. 8. 11:57
Redux is a predictable state container for JavaScript apps 예측 가능한 상태관리 애플리케이션의 복잡성을 획기적으로 낮추고 우리의 코드가 어떤 결과를 가져올지 예측 가능하게 만들어준다. Component 간의 정보 공유 형제 컴포넌트들 간에 데이터를 주고받을 때, 부모 컴포넌트를 통해서 주고받는다. 그런데 자식이 많아진다면...? 상태 관리가 매우 복잡해진다!! 이런 복잡성을 줄이기 위해서 상태 관리 라이브러리 Redux를 사용 Redux의 세 가지 원칙 1. Single source of truth -> stroe 2. State is read-only -> action 3. Changes are made with pure functions -> reduce..
-
Restful apiNote 2021. 1. 28. 10:27
Restful api REST(REpresentational State Transfer): HTTP 통신에서 어떤 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 URI(Resource)로 요청을 보내는 것으로 Get, Post 등의 방식(Method)을 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(Representation of Resource)로 표현됩니다. 예를 들어 게시글을 작성하기 위해 http://localhost:8080/board라는 URI에 POST방식을 사용하여 JSON형태의 데이터를 전달할 수 있습니다. 위와 같이 CRUD 연산에 대한 요청을 할 때, 요청을 위한 Resource(자원, URI)와 이에 대한 Method(행위..
-
React HooksNote 2021. 1. 18. 15:34
Hook은 React 16.8에 새로 추가된 기능 Hook은 class를 작성하지 않고도 state와 다른 React의 기능들을 사용할 수 있게 해준다. UseState const [count, setCount] = useState(0); useState는 현재의 state 값과 이 값을 업데이트하는 함수를 쌍으로 제공한다. 이 함수를 이벤트 핸들러나 다른 곳에서 호출할 수 있다. 이것은 class의 this.setState와 거의 유사하지만, 이전 state와 새로운 state를 합치지 않는다는 차이점이 있다. useState는 인자로 초기 state 값을 하나 받는다. 위 예시에서는 초기값으로 0을 넣어준 것이다. this.state와는 달리 setState Hook의 state는 객체일 필요가 없다..