전체 글(78)
-
선언과 정의
C++ 에서는 종종 선언(declaration)과 정의(definition)이라는 용어를 사용한다. 두 가지의 차이점을 알아보자. *정의(definition)는 식별자(identifier)를 실제로 구현하거나 인스턴스화(메모리 할당) 한다. * 출처: https://boycoding.tistory.com/143 [소년코딩] -> 식별자(identifier)라는 단어가 클래스가 인스턴스화 되기 전의 상태를 의미한다고 생각해보자.
2020.09.10 -
C++ include style, 설명하면서 자연스럽게 linker와 preprocessor
@솔루션 -> 프로젝트 -> 소스코드 순으로 위계가 존재한다. 소스코드의 확장자는 주로 cpp인데. 보통 메인함수가 cpp에 존재한다. 따라서 cpp에서 헤더를 include 하므로 헤더에선 cpp를 include 할 필요가 없다. *20200910 추가) @정의와 선언 cpp에는 정의, h에는 선언이라 생각하자 (식별자 identifier) (인스턴스화 되기 전의 클래스) class.h와 function.h가 존재한다고 생각해보자, class.h에는 특정 class의 내용, function에는 사용자 지정 함수 (not 멤버 함수) @ 실제 사례 이때 main.cpp에는 구동 내용만 적으며 맨 위에 #include "class.h" , #include "function.h" 그리고 class.h에는 c..
2020.09.09 -
나는 포인터가 싫어요. (포인터변수와 참조자를 함수에 인자로 주고받는 것에 대해.)
이 포스트는 C를 기반으로 작성되었습니다. @변수의 종류를 알아보자. 1.일반변수 ex) int x; --> 일반변수를 저장합니다. 2.포인터변수 ex) int * px; --> 메모리주소를 저장합니다. 3.참조자변수 ex) int & rx; --> 도플갱어를 저장합니다. @선언과 초기화, 그리고 정의를 풀어서 읽어보자. 1.일반변수 //선언과 초기화 int x; // 선언 x = 10;// 초기화(할당) 위와 같이 변수는 "선언"과 "초기화" 2단계로 나누어서 결정합니다. 이를 동시에 하는 행위를 "정의"라고 합니다. //동시에 int x = 10; // 정의 2.포인터변수 먼저 포인터변수를 선언과 초기화 2단계로 나누어서 설정하자면 (먼저 x가 정의되었다고 가정합시다.) //선언과 초기화 int * ..
2020.09.03 -
API 실습
@지난 포스트를 확인하자. blossomwhale.tistory.com/7 @클라이언트와 서버는 알겠어, 근데 API가 그래서 뭔데? 1.지난 시간에 API를 "다리"라고 설명했다. 무언가와 무언가를 이어주는 체계 말이다. 다음과 같은 URL을 한번보자. 다음URL을 클릭하면 구글에 설국열차를 검색한 결과와 같은 값을 보여줄 것이다. www.google.com/search?q=설국열차 www.google.com은 서버주소를 의미할 것이다 (이전 시간의 도메인). /search는 이전시간의 A다리, B다리를 의미한다. A다리로 무엇을 보내든지간에 포유류로 분류하고, 도축한다고 했으니 이와같이 search 다리로 무엇을 보내든지간에 검색(search)할 것이다. ?q=설국열차는 무엇인가? 이는 파라미터(pa..
2020.09.02 -
클라이언트? 서버? API? SDK? JSON? 이게 대체 무슨 말이야...?
@설명할 단어들. 1.클라이언트 - 서버 (Client - Server) Request and Response 프론트엔드와 백엔드 2.IP, domain 3.API, CRUD REST(restful api) POST,GET,(PUT,PATCH),DELETE 4.HTTP 상태 코드 5.SDK 6.JSON @1. 클라이언트와 서버, Request와 Response, 프론트엔드와 백엔드 클라이언트(Client)는 번역하면 고객이고 서버(Server)는 번역하면 서빙을 제공하는 사람이다. 즉, 음식점에 갔다고 생각하면, 손님과 종업원인 셈이다. 손님(Client)과 종업원(Server)의 예시를 들어보자. 손님은 뭔가 부탁하는 사람이다. 우리는 핸드폰을 이용해서 많은 일들을 요청하곤 한다. 예를들어, 우리가 핸..
2020.09.02 -
우리는 어떻게 컴퓨터에게 명령을 내리는가.
@machine language 흔히 기계어라고 불리우는 이 언어는 우리가 아는 binary number를 이용한다. (1010111011...) 이렇게 두가지 숫자 (1과 0)만을 이용하는 이유는 전기적 신호와 관계가 있다. 신호에는 신호를 주는것 on과 off 이 둘이 가장 명확하고, 이외에는 적은신호, 강한신호 등등이 있을 수 있다. 하지만 전기적으로 작은신호와 강한신호는 결국 얼만큼 작고 얼만큼 큰가? 라는 불명확성을 만들어 컴퓨터의 오차를 만들어낸다. 따라서 오차를 가장 줄이는 방법인 이진수가 컴퓨터 언어로써 사용되는것이라 생각할 수 있다. 따라서, 삼진수나 더 큰 수를 이용할수록 연산은 빨라지나, 오차가 커질것이라고 생각 할 수 있다. @컴퓨터는 machine language밖에 알아듣지 못한..
2020.09.01