일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 리눅스 마스터 2급
- 웹 디자인 기능사
- gitkraken을 통한 프로젝트 올리기
- 뷰
- 컴퓨터 활용 능력 1급
- 친절한 SQL 튜닝
- 첫 프로그래밍
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- Update
- 혼자 공부하는 SQL
- INSERT
- 혼자 공부하는 네트워크
- 열거형
- 인덱스의 개념과 장단점
- github에 새 리포지토리 추가하기
- 이것이 오라클이다
- oracle
- sqld
- 데이터 모델링
- 2025-02-13
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- 컴퓨터 활용 능력
- mysql 설치 방법과 정상 작동 확인하기
- 클러스터형 인덱스와 보조 인덱스
- youtube review
- 컴퓨터 구조
- 명령 프롬프트
- delete
- 운영체제
- 데이터모델링
- Today
- Total
목록2024/10 (199)
코딩 브이로그
C 언어 컴파일 과정 test.c 전처리기(preprocessor) test.i 컴파일러(compiler) test.s 어셈블러(assembler) test.o 링커(linker) test.exe 전처리 과정 (preprocessor)- 본격적으로 컴파일하기 전에 처리할 작업들- 외부에 선언된 다양한 소스 코드, 라이브러리 포함- 프로그래밍의 편의를 위해 작성된 매크로 변환- 컴파일할 영역 명시 컴파일 과정 (Compiling)- 전처리가 완료 되어도 여전히 소스 코드- 전처리 완료된 소스 코드를 저급 언어(어셈블리 언어)로 변환 어셈블 과정 (assembling)- 어셈블리어를 기계어로 변환- 목적 코드(object file)를 포함하는 목적 파일이 됨 C 언어 컴파일 과정- 목적 파일 vs 실행 ..
기계어, 어셈블리어저급 언어로 변환 명령어: "학생들, 다음 주까지 과제를 제출하세요." 명령어의 구조- 연산코드: 수행할 연산- 오퍼랜드: 연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치 오퍼랜드- 연산에 사용될 데이터- 연산에 사용될 데이터가 저장된 위치 (주소필드) 연산코드- 데이터 전송MOVE: 데이터를 옮겨라STORE: 메모리에 저장하라LOAD: 메모리에서 CPU로 데이터를 가져와라PUSH: 스택에 데이터를 저장하라POP: 스택의 최상단 데이터를 가져와라 - 산술/논리 연산ADD / SUBTRACT / MULTIPLY / DIVIDE : 덧셈 / 뺄셈 / 곱셈 / 나눗셈을 수행하라INCREMENT / DECREMENT : 오퍼랜드에 1을 더하라 / 오퍼랜드에 1을 빼라AND ..
https://godbolt.org Compiler Explorer godbolt.org Compiler Explorer - 고급언어를 저급언어(어셈블리어)로 변환하는 과정 참고 웹 사이트
개발자가 작성한 소스 코드 #include int main() { printf("Hello, World!"); return 0;} 고급 언어와 저급 언어 변환고급 언어 -> 저급 언어 - 고급 언어: 개발자가 이해하기 쉽게 만든 언어- 저급 언어: 컴퓨터가 이해하고 실행하는 언어 (기계어, 어셈블리어) 이진수(0과1)로 표현된 기계어십육진수(0~9, A~F)로 표현된 기계어 기계어 어셈블리어0101 -> push rbp push rbpmov rbp, rspmov DWORD PTR [rbp-4], 1 컴파일 언어와 인터프리터 언어 고급 언어 컴파일컴파일 언어 -> 저급언어 ..
0과 1밖에 모르는 컴퓨터가 어떻게 문자를 이해하고 표현할 수 있지? 이모티콘, 문자, 특수문자를 사용한다 어떻게 사용하는 것이지? 문자 집합과 인코딩- 문자 집합(character set): 컴퓨터가 이해할 수 있는 문자의 모음- 인코딩(encoding): 코드화하는 과정, 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정- 디코딩(decoding): 코드를 해석하는 과정, 0과 1로 표현된 문자 코드로 문자로 변환하는 과정 아스키 코드- 초창기 문자 집합 중 하나- 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자- 7비트로 하나의 문자 표현: 8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit) - 간단한 인코딩 - But 한글을 포함한 다른 언어 문자, 다양..
컴퓨터는 0과 1밖에 모른다. 어떻게 3+4를 할까? 정보 단위 비트(bit): 0과 1을 표현하는 가장 작은 정보 단위 (전구로 따지자면 꺼짐, 켜짐) 총 4가지가 가능 00 01 10 11 * 3비트로는 8개가 가능 n 비트로는 2n승 가지의 정보 표현 가능 프로그램의 수많은 비트로 이루어져 있음 다만, 평소 "이 파일은 8,920,120 비트야" 라고 표현하진 않음 비트보다 더 큰 단위를 사용 - 바이트, 킬로바이트, 메가 바이트, 기가 바이트, 테라 바이트 ... 1바이트 - 8비트1킬로바이트 - 1000바이트1메가바이트 - 1000킬로바이트1기가바이트 - 1000메가바이트1테라바이트 - 1000기가바이트 워드- CPU가 한 번에 처리할 수 있는 정보의 크기 단위- 하프 워드 : 워드..
컴퓨터 구조 - 컴퓨터가 이해하는 정보 - 데이터, 명령어- 컴퓨터의 네 가지 핵심 부품 - CPU, 메모리(RAM, ROM), 보조기억장치, 입출력장치 데이터- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보- 컴퓨터와 주고 받는/내부에 저장된 정보를 데이터라 통칭 하기도- 0과 1로 숫자를 표현하는 방법- 0과 1로 문자를 표현하는 방법 컴퓨터는 결국 명령어를 처리하는 기계명령어- 컴퓨터를 실질적으로 움직이는 정보- 데이터는 명령어를 위한 일종의 재료명령어의 생김새와 동작 방식 1과 2를 더하라- 1과 2는 데이터- 1과 2를 더하라는 명령어 '안녕하세요'를 출력하라- '안녕하세요'는 데이터 컴퓨터의 네 가지 핵심 부품- 작은 컴퓨터 - 라즈베리파이, 아두이노- 스마트폰- 노트북- 서버 컴퓨터 메모..
"프로그래밍 언어의 문법과 함께 컴퓨터 구조와 운영체제를 알아야 한다" 첫 번째 이유는 문제해결 능력을 기를 수 있다. 두 번째 이유는 성능/비용을 고려한 개발을 할 수 있다. 컴퓨터를 두려움 없이 볼 수 있는 능력이 필요 컴퓨터의 대상을 미지의 대상으로 보기 때문 분석의 대상으로 보아야 한다 컴퓨터를 관조할 수 있는 능력 배양 컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자 성능, 용량, 비용을 계산하여 프로그래밍을 할 수 있다. 서버 컴퓨터 -> 무조건 저렴한 컴퓨터, 무조건 최신 컴퓨터? 클라우드 서비스? 클라우드 서비스를 이요하더라도 CPU, 메모리, 저장 용량을 직접 선택해야 한다. 비용이 달라진다. "컴퓨터 구조는 결국 성능, 용량, 비용에 대한 이야기"
https://www.youtube.com/watch?v=krIsM4g15HI&list=PLZIOAx7U0dil7sDpXvSNWSugHPrNBxUyG&index=2 color list : 명령 프롬프트 창 색상 변경 cd [디렉토리 주소] : 디렉토리 주소로 경로 이동 ipconfig | clip: ipconfig 내용을 클립보드에 저장 디렉토리를 명령프롬프트 창에 드래그 : 해당 디렉토리 복사 드래그한 영역 우클릭: 드래그한 영역 복사 디렉티로에서 shift+우클릭으로 명령프롬프트 창에서 열기: 쉽게 해당 디렉토리에 명령프롬프트 창 열기 doskey /history : 명령 히스토리 조회 ipconfig && netstat -ano : ipconfig 명령어가 성공하면 netstat -ano 명령어 실..