본문 바로가기

함수10

C++ 언어의 기초 C++ 언어의 기초 주석은 프로그래머를 위한 것으로 컴파일러는 주석을 무시한다. 주석은 //와 /*를 사용하여 나타낼 수 있다. C++은 세 단계를 거쳐서 빌드 된다. 전처리 작업으로 코드 내에 지시된 메타 정보를 인식하여 자동으로 코드를 수정하고 컴파일 작업으로 소스 코드를 기계어로 번역한다. 마지막 링크 작업으로 기계어로 된 여러 오브젝트 파일을 묶어서 하나의 실행 파일로 만든다. 전처리 지시자인 #include은 헤더 파일의 코드를 가져와서 현재 소스 파일에 삽입하도록 지시한다. #define은 상수나 매크로를 정의하는데 사용되고 #ifdef나 #ifndef는 헤더 파일의 중복 인클루드를 막는 경우에 사용된다. main 함수는 프로그램을 실행할 때 가장 먼저 호출되는 시작점이다. main의 인자로는.. 2017. 7. 11.
데이터 분석 with Python 1장 - NumPy를 활용한 데이터 분석 - 데이터 분석 with Python 1장- NumPy를 활용한 데이터 분석 - NumPy는 주요한 python 데이터 분석 라이브러리의 기본 베이스가 되는 라이브러리로 벡터 및 행렬 연산과 관련하여 편리한 인터페이스를 제공한다. NumPy를 설치하는 방법은 cmd 프로그램이나 터미널에 pip install numpy라는 명령을 입력해주면 쉽게 설치가 가능하다. NumPy를 사용하기 위해서는 Python에서 import를 시켜 주어야한다. import numpy as np 로 명령을 넣어서 np라는 이름을 통해 numpy 모듈을 사용할 수 있는 상태로 만든다. NumPy는 기본적으로 array라는 단위로 데이터를 관리한다. 이러한 데이터를 활용해서 다양한 연산을 할 수 있고 이를 통해 데이터 분석을 할 수 .. 2017. 6. 9.
파이썬(python) 강의 9장 - 객체 지향 프로그래밍 - 파이썬(python) 강의 9장- 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 Object Oriented Programming으로 객체를 통해 프로그래밍을 동작시키는 방식을 말한다. 앞의 장에서 모듈에 대해서 배웠다. 모듈은 일종의 수납공간과 같은 형태로 우리가 원하는 함수를 모듈이라는 공간에 잘 보관하여 사용하고 싶을 때 사용을 할 수 있게 해주는 도구이다. 이러한 모듈이라는 개념에서 조금 더 다양한 기능을 수행할 수 있게 해주는 것이 바로 객체라는 도구이다. 객체는 class와 instance로 이루어져 있다. class는 모듈과 같은 수납공간으로 이해할 수 있다. 하지만 class는 함수뿐만 아니라 연관된 변수 또한 포함하고 있는 공간이다. 우리는 이 class를 바로 사용하지 않고 복제를 하.. 2017. 5. 29.
파이썬(python) 강의 8장 - 모듈(module) - 파이썬(python) 강의 8장- 모듈(module) - 컴퓨터를 사용할 때 파일이 한 두 개만 있다면 우리는 나누거나 할 필요 없이 그냥 사용하면 된다. 하지만 파일의 수가 엄청나게 많아지게 된다면 어떻게 해야 할까? 이런 파일 중에서는 같은 이름을 가진 파일이 있을 수도 있고 언제 만들었는지 무엇을 의미하는지에 따라 구분을 하고 싶을 것이다. 이 때 폴더인 디렉토리라는 것을 사용하여 성격이 비슷한 파일들을 하나의 디렉토리에 넣어준다. 이렇게 되면 양이 많아짐에 따라 늘어나는 복잡도를 명확하게 나타나게 해줄 수 있는 방법이다. 이런 방법을 파이썬에도 적용할 수 있다. 파이썬을 만들 때에도 엄청나게 많은 코드들을 가지고 만드는데 이럴 때 많은 문제가 발생한다. 이럴 때 사람들이 사용하는 많은 코드들 중에.. 2017. 5. 23.
파이썬(python) 강의 7장 - 함수 - 파이썬(python) 강의 7장- 함수 - 프로그래밍하기 위해서 앞의 장에서 다룬 것과 같이 단순한 형태로 작성하게 되면 엄청나게 많은 코드를 작성해야한다. 간단하게 aaa라는 문자열을 출력할 때에도 aaa라는 문자열을 출력하는 print문을 계속 사용해서 작성해야한다. 이렇게 되면 코드의 길이가 길어지게 되고 가독성, 즉 코드가 무엇을 의미하는지를 알기 어렵다. 이를 위해 함수라는 개념을 도입해서 중복을 줄이고자 한다. 함수는 수학에서 사용하는 함수를 생각하면 되는데 수학에서 특정 입력하는 값에 따라 결과 값을 나타나게 해주는 것이 함수이다. 보편적으로 x와 y를 사용하는데 특정 규칙을 가지고 x를 y라는 결과 값으로 바꾸어준다. 이와 똑같게 파이썬에서 사용하는 함수도 특정한 입력 값으로 특정 결과 값.. 2017. 5. 22.
파이썬(python) 강의 5장 - 입력과 출력 & 논리 연산자 - 파이썬(python) 강의 5장- 입력과 출력 & 논리 연산자 - 4장에서 조건문을 사용할 때 임의의 주어진 answer라는 값을 사용해서 구문을 완성시켰다. 따라서 answer라는 값은 코드를 통해서 계속 바꾸어줘야 하는 값인 것이다. 하지만 우리가 보편적으로 아이디나 비밀번호를 입력할 때 코드를 작성하는 것처럼 항상 정해져 있는 것이 아니다. 수많은 사람들이 조건문을 통해 증명을 받을 때 자신이 내놓은 답은 다를 것이다. 따라서 컴퓨터는 사람들이 원할 때 마다 값을 바꾸어 받아줄 필요가 있다. 따라서 이런 기능을 위해 입력이 존재한다. 출력은 print를 통해 하는 방법을 많이 보았으니 입력에 대해 자세히 보도록 하자. 출력하기를 위해서는 print라는 함수를 사용하였다. 입력하기를 위해서도 이와 같.. 2017. 5. 16.
컴퓨터 네트워크 33장 - 소켓의 주소 체계와 서비스 - 컴퓨터 네트워크 33장- 소켓의 주소 체계와 서비스 - 소켓이라는 통신 프로그램을 쉽게 개발할 수 있게 해주는 API의 일종이다. 인터넷 응용 프로그램을 작성하려면 C 언어를 포함한 고급 프로그래밍 능력이 필요하듯이 네트워크 기능을 위한 데이터 전송을 위해서는 반드시 소켓 프로그래밍을 할 수 있어야한다. 소켓은 네트워크 통신에서 종단의 교신점 역할을 한다. 예를 들어 우편배달을 하는 경우에는 우체통이라는 도구가 교신점 역할을 할 것이고 전화 서비스를 생각하면 전화기가 교신점 역할을 할 것이다. 프로토콜의 종류에 따라 사용하는 주소 체계가 다르다. 일반적으로 한 호스트에 존재하는 프로세스 사이의 통신을 지원하는 AF_UNIX와 다른 호스트에 존재하는 프로세스 사이의 통신을 지원하는 AF_INET가 존재한다.. 2017. 5. 7.
C++ 강의 6장 - inline 함수 & 이름 공간(namespace) - C++ 강의 6장- inline 함수 & 이름 공간(namespace) - inline 함수는 다른 언어를 배운 사람들이 보면 조금 생소할 수도 있다. in은 ‘내부’를 의미하고 line은 ‘프로그램 코드라인’을 의미하는 말이다. 따라서 프로그램 코드라인 안으로 들어가 버린 함수라는 의미로 해석할 수 있다. C언어에 대해 먼저 선행을 하였을 경우 매크로 함수에 대해 공부를 하였을 것이다. 매크로 함수는 함수의 결과 값을 도출하는 식을 미리 정의하는 형태를 가진다. 전처리 부분에 함수를 정의한다. #define 매크로 함수명(인수) 치환될 부분 위와 같은 형태로 매크로 함수를 정의하는데 다른 함수들에 비해 일반적으로 실행속도가 빠르다는 이점을 가지고 있다. 매크로의 정의가 전처리 부분에서 되므로 함수의 몸.. 2017. 4. 23.
C++ 강의 4장 - 함수2 - C++ 강의 4장- 함수2 - (함수 리턴 형태) 함수의 이름 (함수 파라미터){ 함수의 내용; return 리턴값;} 함수의 형태에 대해 조금 더 상세히 설명하겠다. 함수의 리턴 형태 :함수의 리턴 형태는 함수가 실행되고 나서 어떠한 값을 나타나게 하겠는가에 대한 질문이다. 만약 int형의 함수 리턴 형태를 선언하면 내가 이 함수를 실행하고 난후에 정수 형태의 값을 반환할거야 라는 것을 의미한다. 우리가 3장의 예시로 사용한 void라는 값은 우리는 어떠한 값도 반환하지 않을 거야라는 것을 의미한다.(void는 빈 공간을 의미하는 단어이다.) 이렇듯 우리가 함수를 정의할 때 어떠한 형태로 사용할 것인지를 설정하는 방법이라고 생각할 수 있다. 그래서 함수의 리턴 형태를 선정하는 것은 매우 중요한 부분 중.. 2017. 4. 9.
C++ 강의 3장 - 함수1 - C++ 강의 3장- 함수1 - C++을 프로그램이 시작되는 부분이 어디라고 했는가? C++강의 1장을 보게 되면 그건 바로 main()함수라고 했다. 실제로 C++ 프로그램은 main()함수만 있으면 돌아갈 수 있다. 하지만 우리가 main()함수만을 사용할 경우 코드의 길이가 엄청 길어지고 코드를 보고 이해하기 힘들어 질 것이다. 왜냐하면 도구가 너무 부족하기 때문이다. 우리가 함수를 이용하는 이유에는 크게 두 가지가 있다.∙반복되는 작업을 쉽게 처리할 수 있다.∙우리가 무슨 작업을 할지 이해하기 쉽다. 반복되는 작업을 쉽게 처리할 수 있다.우리가 프로그램을 사용하는 이유는 반복되는 작업을 수행하기 위해서다. 쉽게 예제를 들어보자. 우리가 만약 계산기를 만들고 싶다고 가정해보자. 우리는 더하기, 빼기 .. 2017. 4. 9.