본문 바로가기

728x90
반응형
SMALL

programming

(30)
#1 C++ Basic 시작하기에 앞서 C++ 언어에 대하여 기존의 C언어에서 조금더 학습해야할 필요성을 느끼게 되어 스터디를 진행하게 됐다. 대체적인 C++의 특성으로는 C++은 절차지향 프로그램인 C언어( 매우 효율적이고, 사이즈가 작고, 실행속도가 빠르고 상대적으로 머신내에서 이식성이 뛰어난 성격을 가지는)와 객체 지향 프로그래밍(복잡한 프로그래밍 작업의 어려움을 극복하기 위한)과 템플릿이라는 기능을 이용하여 새로운 프로그래밍 방법론으로 OOP(Object-Oriented Programming), Gereric Programming등의 방법 추가되기도 했다. 하지만 언어자체의 기술적인 부분은 매우 강력해졌지만 반대로 배우고 알아야하는 내용들이 많아졌다는 단점이 존재한다. 앞으로 진행할 이야기의 절차는 우선 Basic C+..
GDB- 정리 1. 시작과 종료 시작 : gdb [프로그램명] / gdb [ 프로그램명] [core파일명] / gdb [프로그램명] [실행중인 프로세스 pid] 종료 : Ctrl+D , q 2. 소스 보기 (list/l) list : main 함수 기점으로 소스 출력 list 5 : 5행을 기준으로 출력 list func : func 함수의 소스 출력 list - : 이전 행의 소스 출력 3. 브레이크 포인트 (break/b) - 중단점 설정 / 확인 / 해제 break : 함수의 시작 부분에 브레이크 포인트 설정 break : 라인번호에 브레이크 포인트 설정 break : 파일의 라인번호에 브레이크 포인트 설정 break : 해당 파일의 함수에 브레이크 포인트 설정 break + : 현재 위치에서 오프렛 라인 뒤에 ..
[C++] Pair , Make_pari 소개 C++ 코테연습중 Pair, make_pari에 대한 기능이있어 간략하게 정리하고자 한다 . 1. Pair 클래스란 ? 두 객체를 하나의 객체로 취급 할 수 있게 묶어주는 클래스로 STL에서 데이터 쌍을 표현할때 사용하게 된다. 헤더에 pair객체가 존재하므로 #include 헤더를 선언해주어야 한다 . 2. Pair 원형 template struct pair; template struct pair; T1 = first T2 = second로 구분한다 . 3. pair 선언 방식 pair A 3.1. pair p = make_pair(30,"test"); 3.2 pair p; p= make_pair(30,40); 3.3 auto v = make_pair(30,40); 4. ..
[C++] Template 과 iterator 문법 복습하기 시작하기에 앞서 Template 와 Iterator란 ? Template와 iterator에 대하여 알아보도록 한다. 우선 Template와 Iterator가 무엇인지 알기위해 정의를 해본다면 Template : 함수나 클래스를 개별적으로 사용하지 않아도, 여러 자료형으로 사용할 수 있게 만들어놓은 틀 ( C언어로 따진다면 strucure같은 느낌이 든다. ) Iterator : Container의 위치값(주솟값)을 저장하는 Point-like oject이다. Container의 자료형에 구애 받지 않는다. Why using Template & iterator ? 1. template와 iterator는 Generic programming을 하기위해 사용하는 개념이다. Generic Programming..
[C++] STL MAP 정리 MAP이란 ? MAP은 노드가 KEY: VALUE 쌍으로 이루어진 트리형식의 구조이며 중복을 허용하지 않는다. MPA은 First, Second가 있는 Pair객체로 저장되며 First-key , Second-value로 저장되는 형식을 가지고있다. C++의 STL MAP의 기능은 시간복잡도 O(log N)인 레드블랙트리로 구성되어 있다. map의 기본함수 기본형 map key와 value의 pair형으로 선언 iterator (반복자) begin(), end() begin, end iterator를 반환 추가 insert( make_pair(key,value) ) 맵의 원소에 pair형으로 데이터 추가 삭제 erase(key) 맵에서 key에 해당하는 원소 삭제 claer() 맵의 원소 모두삭제 조회 ..
[c++] STL Queue , Stack 정리 Queue와 Stack이란 ? Queue와 Stack은 자료구조의 대표적인 FIFO(First in First Out), LIFO(Last In First Out)알고리즘이다. 1. Queue와 Stack이란 ? Queue는 대표적인 FIFO 구조이다.즉 FIFO그대로 먼저 넣은데이터가 먼저 빠지는것으로 이해할 수 있다. 즉 데이터를 한쪽으로 넣고 반대쪽으로 데이터가 빠지는 구조로 볼 수 있다. Stack은 대표적인 LIFO구조로 먼저넣은데이터가 가장 마지막에 빠지는 자료구조이다. 상자에 데이터를 쌓고 최상위 데이터부터 뺴는것으로 생각하면 된다. 1.Queue 헤더파일 #include; 1.1 queue 생성 queue q; 기본 생성 방식 queue q( {1,2,3,4,5,6} ) {}내의 데이터로 ..
[자료구조 알고리즘] 기초 . 정보 (information) : 어떤 목적에 기반한 action에 대한 직/간접적 지식 , . 자료 (data) : 정보를 얻기 위한 data processing system의 입력 되는 값 ( 정보의 자원 )으로 fact, concept, instruction의 총칭으로 실체의 유무와 관련이 없다. . DPS에서 처리할 수 있도록 다양한 자료형(data type)이 정의 되며 자료의 타입으로는 int , real(float) , double precision, complex, char, List등 을 다루게 된다. 자료 객체는 자료형의 실체를 구성하는 집합(set)과 요소(element)로 구성되며 data object에 대하여 주어지는 명칭은 variable이라고한다. 흔히 말하는 자료구조 (d..
[자료구조] linked list , double linked list , circular linked list 이해 소개 linked list는 Array list와 달리 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 Element - Element간 연결을 이용하여 리스트를 구성하여 데이터를 저장하는 자료 구조이다. 연결리스트인 linked list를 구성함에 있어 link(연결)에 대하여 파악하는 것이 가장 중요한 목적이라 할 수 있다. linked list의 종류로 Single Linked list, Double linked list, Circular linked list, Double Circular Linked list 등이 있으며 앞으로 구현과 함께 소개하도록 하겠다. linked list의 장점 1. 각 NODE의 중간지점에서 자료의 추가 삭제가 O(1)의 시간을 가지는 장점이 있다...
[python] web Scraping & crawling ) 사용 방법 web crawling 이란 ? 월드 와이드 맵 소위 www상의 웹페이지 데이터를 프로그래밍적으로 추출하는 방법을 말한다. 데이터를 추출하는 방식으로는 web Crawling과 web Scraping방식이 존재한다. web Crawling은 실시간 연동을 통하여 자동적으로 화면에 있는 data를 업데이트하여 데이터를 유지하는 기법이다. 반면 Web Scraping은 scraping시점의 데이터만 가져오는 방식이지만 자동적 실시간 데이터를 유지하는 방식은 아니라고 할수있다. Crawling 툴 및 라이브러리 데이터 수집에있어 본질적으로 어떤 툴이나 라이브러리던 웹상의 데이터를 수집한다는 것에 있어 본질은 변하지 않는다. 하지만 사용자의 데이터 니즈에 따라 툴 및 라이브러리를 알맞게 사용하여 수집하면 된다...
[Data - Python] CSV 파일 총정리 딥러닝모델링과 데이터를 처리하기 위해 csv파일에 대해 파이썬으로 cvs파일의 데이터를 읽고 처리하기위해 csv파일 읽는 방법에대해 정리하고자 한다. csv파일이란 ? CSV(Comma-Separated Value)는 데이터 필드를 Comma즉 쉼표","로 구분한 데이터 및 텍스트 파일이다. 확장자는 .csv 이다. 기본 내장함수 이용하기 - csv.reader() 이용하기 import csv file_path = "path" data = open(file_path) reader = csv.reader(data) lines = list(reader) print(lines) - csv.DictReader() 이용하기 import csv from collections import defaultdict col..

728x90
반응형
LIST