본문 바로가기
728x90

프로그래밍 언어73

[CUDA] 데이터 복사 예제 문제 해당 문제에선, CUDA에서 데이터를 전송하는 것을 연습한다. 이때, 1) 호스트 → 디바이스 2) 디바이스 → 디바이스 3) 디바이스 → 호스트 로 각각 데이터들을 전송하는 방법을 확인한다. 1. 크기가 5인 배열을 각각 호스트에서 2개, 디바이스용 2개를 만들아라. - host에서의 배열: host_A, host_B - device에서의 배열: device1_A, device2_A 2. host_A의 배열에 값을 할당하라. 3. 할당된 host_A의 값을 device1_A로 복사하라. - 이때, device1_A에 할당된 값을 출력한다. - 출력 후, 각각의 배열의 원소에 1을 더한다. 4. device1_A의 값들을 device2_A로 복사하라. - 3.에서와 마찬가지로 device2_A에도 .. 2021. 8. 20.
[C/C++] 힙(Heap), 스택(Stack) 메모리 구조 프로그램이 운영체제로부터 할당받는 메모리 공간은 크게 아래와 같이 4가지이다. 영역 설명 코드 (Code) • 실행한 프로그램의 코드가 저장되는 영역 • 텍스트 영역이라고 부르기도 함 • CPU가 코드 영역에 저장된 명령어를 하나씩 처리함 데이터 (Data) • 프로그램의 전역 변수와 정적 변수가 저장되는 영역 • 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸함 힙 (Heap) • 사용자가 직접 관리할 수 있는 메모리 영역 • 사용자에 의해 메모리 공간이 동적으로 할당되고 해제됨 • 메모리의 낮은 주소에서 높은 주소의 방향으로 할당됨 스택 (Stack) • 함수의 호출과 관계있는 지역 변수와 매개변수가 저장되는 영역 • 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸함.. 2021. 8. 17.
[MySQL] PHP와 MySQL과 관련된 함수 정리 ※ MySQL과 관련된 함수들은 아래에서 확인 가능 https://www.php.net/manual/en/ref.mysql.php 함수명 설명 mysqli_connect() MySQL 서버에 연결 mysqli_connect_error() MySQL 서버에 연결 오류가 발생 시에 그 원인을 알려줌 mysqli_close() MySQL 서버 연결 종료 mysqli_select_db() MySQL에서 사용할 DB를 선택 mysqli_query() SQL문을 서버에 실행 mysqli_error() SQL문이 서버에서 실패한 경우, 그 원인을 알려줌 mysqli_num_rows() select 문의 결과가 몇 개의 행인지 알려줌 mysqli_fetch_array() select 문의 실행 결과에서 결과 행을 추출함 2021. 8. 15.
[PHP] 기초적인 내용 정리 1. PHP의 기본 구성 - command 부분에 필요한 PHP 코딩을 하면 됨 - PHP의 command에서 명령 줄이 끝나면 행의 끝에 세미콜론(;)을 붙여야 함 - PHP의 주석 처리 (1) 한 줄용 주석 처리: // (2) 여러 줄 용 주석 처리: /* */ 2. PHP 의 변수 1) 변수를 사용할 경우, 변수의 이름 앞에 달러기호($)를 붙여씀 $a = 100; - a라는 변수에 숫자 100을 대입함 ※ 변수 이름의 규칙 1) 변수의 제일 앞에 ($)가 붙여야 함 2) 문자와 숫자, 언더바를 사용할 수 있지만, 변수명은 숫자로 시작할 수 없음 3) 변수 명은 영문의 대소문자를 구분함 2) PHP의 데이터 형식: 정수(int), 실수(double), 불형(Boolen), 객체 (Object), 배.. 2021. 8. 2.
[MySQL] SELECT - 조인 (join) 조인이란 ? 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것 데이터 베이스의 테이블들은 중복 및 공간 낭비를 피하고 데이터 무결성을 위해 여러 개의 테이블로 분리하여 저장함. 그리고 이러한 테이블들은 서로 관계를 맺고 있으며, 가장 보편적인 관계는 1대다 관계이다. 내부조인 및 외부 조인 1) 내부 조인: 테이블들 간의 교집합 - 두 테이블에 공통으로 존재하는 키값이 되는 모든 행을 나타냄 - 조인 조건을 지정하지 않은 채 두 테이블을 조인하면 곱집합이 된다. 이 경우, 반환되는 행의 수는 첫번째 테이블과 두번째 테이블의 행의 수를 곱한 수가 됨 2) 외부 조인 - 조인의 조건에 만족되지 않는 행까지도 포함시키는 것 - 외부 조인은 left outer join, right out.. 2021. 8. 1.
[MySQL] 함수, 조건문, 데이터 그룹화 1. 자주 쓰이는 수학 함수 (집계함수) 함수 설명 비고 COUNT 행의 수를 나타냄 - NULL값을 포함한 전체 행의 수: COUNT(*) - NULL값을 제외한 전체 행의 수: COUNT(행이름) - 중복을 제외한 행의 수: COUNT(DISTINCT 행이름) - COUNT 함수는 데이터 검증용으로도 많이 사용됨 : 테이블 내에 NULL 값 및 중복된 값이 있는 경우 COUNT() 함수를 이용해서 쉽게 확인이 가능 SUM 행의 합계를 나타냄 - SUM(행이름) - 예시) SELECT COUNT(*) AS CNT FROM STUD_SCORE; -------- | CNT | -------- | 8 | -------- AVG 행의 평균을 나타냄 - AVG(행이름) MAX 행의 최대값을 나타냄 - MAX(행.. 2021. 8. 1.
[MySQL] 데이터 조작어 (DML) 및 데이터 정의어(DDL) 데이터 조작어 및 데이터 정의어란? a. 데이터 조작어: Data Manipulation Language (DML) - 데이터의 검색 및 수정 등을 위한 언어 - 예) INSERT, DELETE, UPDATE, SELECT b. 데이터 정의어: Data Definition Language (DDL) - 데이터의 구조와 그 정의와 관련된 언어 - 예) CREATE, DROP, ALTER 1. 데이터 삽입: INSERT 1) 열 이름과 함께 값 삽입 • 열 이름을 지정한 후, 값을 삽입하는 방법 INSERT INTO (열이름1, 열이름2, 열이름3) VALUES(값1, 값2, 값3) 2) SQL 문장 결과를 삽입 INSERT INTO (열이름1, 열이름2, 열이름3) SELECT 열이름1, 열이름2, 열이름.. 2021. 8. 1.
[C/C++] C언어 - 구조체 구조체 변수 (Structured Variables) 우리가 다음과 같은 변수들을 다룬다고 가정을 해보자; 도서의 타이틀, 저자명, 출판사, 출판일, 페이지 수, 정가, 권 수. 이 변수들의 타입은 정수, 문자열 등 다양하다. 이러한 다양한 변수들을 하나의 배열만을 이용하여 모든 정보를 넣고자 할 때, 구조체 변수를 사용한다. 구조체는 다양한 종류의 정보들을 저장할 수 있기 때문에, 데이터 베이스를 구축하는데 사용하는데 쓰이는 도구이다. NOTE 1: 하나의 구조체에 저장되는 정보의 총 집합 = 레코드 (record) NOTE 1: 하나의 구조체의 각각의 개별 항목 = 필드 (field) 구조체와 효율적인 데이터형 - 효율적인 데이터 형들은 다음과 같다: a. 큐(queue) b. 바이너리 트리 (bin.. 2021. 6. 28.
[Shellscript] 입력 및 출력 리다이렉트, 그리고 파이프라인 0. 리눅스 시스템에서의 입력 및 출력 1) 리눅스 시스템에서는 모든 개체들을 파일로 다루며, 입력과 출력 과정 역시 파일로 다룬다. - 리눅스는 파일 디스크립터를 사용하여 각 파일 개체들을 식별함 - 파일 디스크립터: 세션에서 열려있는 파일들을 식별하는 음이 아닌 정수 2) BASH 쉘의 특수한 3개의 파일 디스크립터 (0,1,2) - 아래의 파일 디스크립터들은 파일의 입출력 및 오류를 처리함 파일 디스크립터 약어 설명 0 STDIN 표준 입력 1 STDOUT 표준 출력 2 STDERR 표준 에러 1) STDIN (표준 입력) - STDIN 파일 디스크립터: 쉘의 표준 입력을 의미 - 터미널 인터페이스에서 표준 입력은 키보드 - 쉘은 키보드 입력을 STDIN 파일 디스크립터로부터 받으면 입력하는 각 문.. 2021. 6. 27.
728x90