일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- LLM
- Classification
- 회귀
- 분류
- AI
- GPT-4
- ChatGPT
- OpenAI
- PCA
- LG Aimers
- regression
- Machine Learning
- 딥러닝
- 해커톤
- 지도학습
- LG Aimers 4th
- 머신러닝
- supervised learning
- 오블완
- deep learning
- gpt
- LG
- 티스토리챌린지
- Today
- Total
목록분류 전체보기 (334)
SYDev
구조체 구조체: 하나 이상의 변수들을 그룹화하여 만든 새로운 자료형 구조체 선언 struct computer { int monitor; //멤버 선언 int keyboard; int ram; }; int main() { struct computer c1; //구조체 변수 c1 선언 return 0; } 구조체 초기화 struct computer { int monitor; int keyboard; int ram; }; int main() { struct computer c1 = { 30, 1, 16 }; } 구조체 멤버 접근 c1.monitor = 30;//구조체변수이름.멤버이름 -> 해당 형태로 접근 가능 c1.keyboard = 10; c1.ram = 4; printf("c1의 monitor: %d\n..
재귀함수를 이해하고, 이를 활용하여 팩토리얼·피보나치 수열 등 여러 함수를 구현해보자. 재귀함수의 기본적인 이해 재귀함수: 함수 내에서 자기 자신을 다시 호출하는 함수를 의미한다. 재귀함수의 작동 원리는 위 그림의 형태와 같이 별도로 설정하지 않으면 멈추지 않고 계속 실행된다. 따라서, 특정 조건을 충족했을 때 재귀함수 호출이 멈추도록해야 하는데, 여기서 이 조건을 '재귀의 탈출조건'이라 한다. 이와 관련된 예제를 살펴보자. #include void Recursive(int num) { if(num Recursive 함수에 0이 전달되면 '재귀의 탈출조건' 성립 팩토리얼: factorial 팩토리얼의 수식적 의미는 다음과 같다. $n! = n * (n-1) * (n-2) * . . . . * 2 * 1$..
Git Git: Git이란 분산형 버전 관리 시스템(Version Control System)의 한 종류이며, 빠른 수행 속도에 중점을 둔다. 버전 관리: 파일변화를 시간에 따라 기록했다가 나중에 특정시점의 버전을 다시 꺼내올 수 있는 시스템이다. Git 기본 용어 원격 저장소(Remote Repository): 파일을 원격 저장소 전용 서버에서 관리, 여러 사람이 함께 공유하는 저장소이다. 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소. 저장소를 새로 만들거나, 이미 존재하는 원격 저장소를 로컬 저장소로 복사해 올 수 있다. Working Tree(Working Directory): 작업자의 현재 시점. 파일 수정, 저장 등의 작업을 하는 Directory를..
문제 상황 push가 완료되어도 레포지토리에 업데이트 상황이 반영되지 않고, pull을 이용해도 레포지토리의 상황과 같아지지 않는 현상 발생. remote remove origin을 이용하여 레포지토리와의 연결을 끊었다가 다시 연결도 해봤지만 문제가 해결되지 않음. 문제 발생 원인은 repo에 있는 readme 파일을 로컬 저장소에 pull하지 않고 push한 것으로 추정, 이후 repo에 임의로 넣은 파일도 원인이 된 거 같음. 문제 해결 로컬 파일 내에 있는 .git 파일의 존재가 문제점이라 파악하여, 새로운 로컬 폴더를 생성 후 레포지토리와 연결하니 문제가 해결됨. -> 원래 있던 폴더를 복사해서 시도하면, 보이지 않는 .git 파일까지 복사되기 때문에 문제가 해결되지 않는다.
자료구조와 알고리즘에 대한 기본적인 개념을 이해하고, 알고리즘의 성능분석 방법에 대해 알아보자. 자료구조 프로그램이란 데이터를 표현하고, 그렇게 표현된 데이터를 처리하는 것이다. 여기서 데이터의 표현은 데이터의 저장을 포함하는 개념이고, 이런 데이터의 저장을 담당하는 것이 자료구조이다. 쉽게 말해서 자료구조란, 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 자료구조 종류 선형구조 비선형구조 파일구조 단순구조 리스트 트리 순차파일 정수 스택 그래프 색인파일 실수 큐 직접파일 문자 문자열 자료구조와 알고리즘 알고리즘은 표현 및 저장된 데이터를 대상으로하는 '문제 해결 방법'을 뜻한다. 알고리즘은 자료구조에 의존적이다. 자료구조의 형태에 따라 알고리즘의 선..
CPU 언어인 ISA가 무엇인지 이해하고, 현대 CPU 주요 설계 방식인 CISC와 RISC의 정의와 차이점에 대해 알아보자. 명령어 집합 명령어 집합(instruction set) 혹은 명령어 집합 구조(ISA; Instruction Set Architecture): CPU가 이해할 수 있는 명령어들의 모음 ISA가 같은 CPU끼리는 서로의 명령어 이해 가능, ISA가 다르면 서로의 명령어 이해하지 못함. CISC CISC(Complex Instruction Set Computer): 복잡하고 다양한 종류의 가변 길이 명령어 집합을 활용하는 CPU 적은 수의 명령어로 프로그램을 실행할 수 있다. -> 메모리 공간 절약 하지만, 활용하는 명령어가 복잡하고 다양한 기능을 제공하는 탓에 명령어의 크기, 실행..
명령어를 빠르고 효율적으로 처리하는 대표적인 명령어 병렬 처리 기법인 명령어 파이프라이닝, 슈퍼 스칼라, 비순차적 명령어 처리에 대해 알아보자. 명령어 파이프라인 명령어 파이프라이닝: 동시에 여러 개의 명령어를 겹쳐 실행하는 기법 단계가 겹치지만 않으면 명령어를 동시에 처리할 수 있다. 파이프라인 위험 데이터 위험 데이터 위험(data harzard): 명령어 간 '데이터 의존성'에 의해 발생 명령어1: R2 레지스터와 R3 레지스터에 저장된 값을 더한 값을 레지스터 R1에 저장 명령어2: R1 레지스터와 R5 레지스터에 저장된 값을 더한 값을 레지스터 R4에 저장 -> 명령어2는 명령어1보다 먼저 실행될 수 없음 제어 위험 제어 위험(control harzard): 분기 등으로 인한 '프로그램 카운터의..
클럭과 코어, 스레드라는 개념을 학습하고, 빠른 CPU를 만드는 설계 기법인 멀티 코어와 멀티 스레드를 이해해보자. 클럭 클럭 속도가 높은 CPU는 빠르게 작동한다. 클럭 속도는 헤르츠(Hz) 단위로 측정한다. 1초에 100번 반복되면 100Hz 오버클럭킹(overclocking): 순간적으로 최대 클럭 속도를 강제로 끌어올려 성능을 향상시키는 기법 코어와 멀티코어 코어: CPU 내에서 명령어를 실행하는 부품 멀티코어 프로세서: 여러 개의 코어를 포함하는 CPU (dual-core, triple-core, quad-core, hexa-core ...) 스레드와 멀티스레드 스레드(thread)는 '실행 흐름의 단위'로, 하드웨어적 스레드와 소프트웨어적 스레드가 있다. 하드웨어적 스레드: 하나의 코어가 동시..