변수의 개요 프로그램에서 처리할 데이터를 저장/관리할 수 있도록 메모리를 추상화한 것. 변수의 속성 변수명 : 변수의 이름. 식별자(identifier) 타입 : 변수에 저장할 수 있는 데이터 집합의 종류. 자료형 주소 : 변수가 사용하는 메모리의 위치. 참조 reference 값 : 변수에 저장된 데이터. 배런의 표기법 바인딩 언어 구성요소의 속성이 구체적으로 결정되는 것. 예) * : 곱셈 연산자로 바인딩 int : 4바이트 정수형으로 바인딩 바인딩 시각 바인딩이 일어나는 시점 언어의 구성 요소 혹은 속성에 따라 달라진다. 언어 정의 시점 : 연산자의 의미, 수의 의미 등 언어 구현 시점 : 타입의 자릿수, 수의 표기법 등 컴파일 시점 : 변수의 타입 등 링크 시점 : 라이브러리 함수의 내용 등 로드..
프로그래밍 언어 정의와 구현 구문 규칙 + 의미 규칙 구문 규칙 : 어떤 프로그램이 올바른 형태인지 규정하는 것 의미 규칙 : 올바른 형태의 프로그램을 실행하였을 때 어떻게 실행되는 것이 올바른 것인지 규정하는 것 구문 규칙 정의 문맥 자유 문법, BNF, EBNF, 구문 도표 등 문맥 자유 문법과 EBNF를 주로 사용 의미 규칙 정의 기능적 의미론, 표기적 의미론, 공리적 의미론 자연어를 주로 사용 ex) 로봇 제어 언어 구문 규칙 ::= { forward | left | right } 의미 규칙 forward : 로봇이 향하고 있는 방향으로 1만큼 이동 left: 로봇이 왼편으로 90도 회전 right : 로봇이 오른편으로 90도 회전 프로그래밍 언어 구현 그 언어로 작성된 프로그램을 수행하는 프로그..
어휘분석 int x12; x12 = 1 + 5 * 2; if x12>10 then ... 문자 : i, n, t, x, 1, 2, ;, =, +, 5, *, f, >, ... ↓ 어휘 분석(토큰, 즉 최소한의 단어단위로 묶음) 어휘 : int, x12, ;, =, 1, +, 5, if, >, 10, then, ... ↓ 구문 분석(프로그래밍 언어의 구문 규칙을 분석) 구문: ::= ; ::= = ; 어휘분석 프로그램에서 사용된 단어를 구별해 냄 토큰 어휘 분석을 통해 얻어지는 결과(연산자, 구분자, 식별자, 예약어 등) 연산자 : +-*/= 등 구분자: , ; { } ( ) [ ] 등 식별자 : 변수나 함수등의 이름을 나타내는 토큰 (x12, printf 등) 전통적인 식별자 규칙 : 문자와 숫자로 구성..
구문론과 의미론 구문론(syntax) : 문장이 구성되는 방식에 대해 연구 의미론(semantics) : 문장이 나타내는 의미에 대해 연구 예) 나는 너를 사랑한다. 구문 : 주어 + 목적어 + 서술어 의미 : 화자가 청자를 아끼고 귀중히 여긴다. 예) PRINT "GCD is"; A 구문 : PRINT "출력할 내용"; 변수 의미 : 출력할 내용과 변수의 값을 순차적으로 출력하라. 프로그램의 구조 int x12; x12 = 1 + 5 * 2; 문자 : 영어 알파벳, 숫자, 특수기호 등 어휘(토큰) : 문자의 모임. 최소한의 의미를 갖는 단어(int, x12, =, +, 1, ...) 구문 : 프로그램을 작성하는 규칙(토큰을 모아 프로그램을 구성) 의미 : 정수 변수 x12에 1 + 5 * 2를 계산해서..
프로그래밍 패러다임 패러다임이란? - 한 시대의 견해나 사고를 규정하는 양식, 규범, 체계 등을 통칭하는 말 이전의 믿음과 체계가 흔들리고 새로운 체계로 대체되는 과정에 주목 예) 천동설 → 지동설 프로그래밍 패러다임 프로그램을 작성하는 전형적인 방식. 특정 언어에 종속적인 것이 아닌 프로그래머가 추구하는 프로그램 작성 방식 프로그래밍 패러다임의 변화 1. 명령형 프로그래밍 : 주어진 데이터에 어떤 연산을 어떤 순서로 할지 결정하는 것이 중요. 2. 절차형 프로그래밍 : 복잡한 데이터 처리를 위해 데이터 처리 방식 자체를 잘 정리하는 것이 중요. 3. 함수형 프로그래밍 : 데이터가 저장된 메모리(값)를 관리하는 것이 어려운 문제로 대두 4. 논리 프로그래밍 : 계산 절차를 문제의 조건을 명시하는 규칙으로..
목차 프로그래밍 언어의 발전 동작 방식의 발전 아이디어 시대 : 계산 자동화를 위한 상상 속의 기계 설계(튜링기계) 전자식 컴퓨터 등장 : 전자 신호를 통한 계산 기계(애니악) 프로그램 저장 방식의 컴퓨터 : 프로그램과 처리기를 분리(에드박) 운영체제의 발전 일괄처리 운영체제 : 관리자를 대신할 프로그램 시분할 운영체제 : 한 컴퓨터를 여러 사람이 사용 DOS : CLI를 활용한 개인용 컴퓨터 PC 환경 운영체제 : GUI 운영체제와 리눅스의 발전 프로그래밍 언어의 역사 1950년대 : 초기 프로그래밍 언어 Portran : 수식과 문장, 제어문의 등장(과학계산용 언어) Algol : 구조화 프로그래밍의 발전. 알고리즘 기술 언어 LISP : 초기 함수형 언어 1960년대 : 프로그래밍 언어의 발전..
프로그래밍 언어란 무엇인가? 사람의 생각을 기계에 전달하는 수단 사람에게 전달하는 것도 고려해야 함 자연어 프로그래밍 언어 형식 말과 글 주로 글 내용 모호, 함축 엄밀한 규칙, 정확한 의도 방향성 양방향 단방향 내 언어의 한계가 내 세상의 한계이다. - 루트비히 비트겐슈타인 프로그래밍 언어의 기능 작성력 : 프로그래머의 의도를 나타낼 수 있도록 하는 기능 가독성 : 프로그램을 쉽게 해독할 수 있도록 하는 기능 실행 가능성 : 컴퓨터에서 실행될 수 있도록 하는 기능 추상화 : 대상을 간략하게 추려 나타내는 방법 모듈화 : 복잡한 대상을 나누어 구성할 수 있는 방법 특성 기계적: 기계적으로 처리할 수 있어야 함 구조적 : 복잡한 구조를 나타낼 수 있어야 함 가변적 : 시대의 필요에 따라 바뀔 수 있음 프로..
- Total
- Today
- Yesterday
- kiali
- Prometheus
- k8s
- flyway
- 쿠버네티스
- 달러구트 꿈 백화점
- DB형상관리
- HMAC
- eks
- 전략패턴
- AWS
- IAM
- istio
- Constant
- S3
- 드래곤라자
- cka
- kubernetes
- Traefik
- 프로덕션
- CloudFront
- production
- minikube
- jaeger
- liquibase
- cloudflare
- golang
- grafana
- Auto Scaling
- VPC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |