본문 바로가기

전체 글113

HTTP란 클라이언트와 서버라는 단어를 굉장히 많이 들어본적이 있을 것이다. 클라이언트는 요청을 보내는 사용자의 PC 즉, 간단하게 우리가 사용하는 컴퓨터를 의미한다. 서버는 이 클라이언트가 보낸 요청의 응답하는 즉, 네트워크를 통해 서비스하는 컴퓨터를 의미한다. 이 둘의 프로토콜이라는 통신규약, 서버와 클라이언트끼리 통신할 때 지켜야하는 약속으로, 이 프로토콜을 적절히 잘 사용해야 통신이 가능한데, 여기에서 설명할 프로토콜은 HTTP으로 HTTP는 "HTTP 메시지"로 서로 대화가 가능하다. 간단하게 설명하면 우편을 보낼때 필요한 데이터 : 보내는 사람의 주소와 이름과 받는사람의 주소와 이름 그리고 우편번호 등 위에서 표현한 필요한 데이터를 맞춰 기입해야 우편이 올바르게 보내지는 것 처럼 인터넷에서의 통신도 위와.. 2022. 10. 14.
박스포장 문제 마트에서 장을 보고 박스를 포장하려고 합니다. 박스를 포장하는 데는 폭이 너무 좁습니다. 그렇기에 한 줄로 서 있어야 하고, 들어온 순서대로 한 명씩 나가야 합니다. 불행 중 다행은, 인원에 맞게 포장할 수 있는 기구들이 놓여 있어, 모두가 포장을 할 수 있다는 것입니다. 짐이 많은 사람은 짐이 적은 사람보다 포장하는 시간이 길 수밖에 없습니다. 뒷사람이 포장을 전부 끝냈어도 앞사람이 끝내지 못하면 기다려야 합니다. 앞사람이 포장을 끝내면, 포장을 마친 뒷사람들과 함께 한 번에 나가게 됩니다. 만약, 앞사람의 박스는 5 개고, 뒷사람 1의 박스는 4 개, 뒷사람 2의 박스는 8 개라고 가정했을 때, 뒷사람 1이 제일 먼저 박스 포장을 끝내게 되어도 앞사람 1의 포장이 마칠 때까지 기다렸다가 같이 나.. 2022. 9. 30.
재귀(recursion) 재귀란 자기 자신을 정의하면서 자기 자신을 재참조하는 방법을 의미한다. ex) 1부터 num까지의 합을 구하는 재귀함수 #include #include using namespace std; int sum(int num){ if(num == 0) { return 0; } return num + sum(num-1); } 위에서 보는 것처럼 재귀함수는 자기 자신을 호출하면서 계속해서 반복된다. 재귀함수로 표현할 수 있는것들은 반복문으로 모두 표현이 가능하다. 그렇다면 왜 재귀함수를 쓰는것일까? - 재귀함수는 반복문의 비해서 가독성이 좋다. - 변수의 사용이 줄어든다. 다른 장점도 있겠지만 내가 생각하는 장점은 가독성이 좋아서 사용하는 것 같다. 코드는 짜는 사람뿐만이 아니라 나중에 유지보수하는 다른 사용자도 .. 2022. 9. 29.
React 기초 useState, props 리액트에서 State는 객체에 대한 업데이트를 실행한다. state가 변경되면 변경된 값을 전하여 컴포넌트는 리렌더링 된다. props는 properties의 줄임말로 어떠한 값을 컴포넌트에 전달해줘야할 때, props를 사용한다. state와 props가 비슷해서 다소 이해하기 힘들수 있지만 이 둘은 엄연히 다르다. 원래 글로 보면 복잡하니까 코드로 봐보자 ex) State // Hi.js import {useState} from "react"; function Hi() { let name = 'park'; const [name,setName] = useState("park"); function printName() { name = name === "park" ? "park" : "nopark"; se.. 2022. 9. 28.