코드노트

프로그래밍 기본 정리 본문

Code note/자바스크립트

프로그래밍 기본 정리

코드노트 2022. 8. 18. 14:03

● 컴퓨터 = 하드웨어 + 소프트웨어

● 프로그램 = 명령어의 모음

● 소프트웨어 = 여러 프로그램

● 코드 = 컴퓨터가 알아듣는 언어

● 코딩 = 코드 + ind, 컴퓨터에게 명령하는 것

 

● 프로그래밍 = 프로그램을 만드는 작업 = 문제를 해결하는 것 = 입력 -> 결과

 

● 프로그래밍 언어 = 컴퓨터에게 명령하는 언어 = 소프트웨어를 만들기 위한 도구(자바스크립트, 자바, 파이썬, ...)

 

 

 ● 프레임워크와 라이브러리

▶ Framework = Frame(틀) + work(일하다) = 틀을 가지고 일을 한다.

- 뼈대나 기반 구조

- 완성된 제품을 만들기 위해 사용

- spring, django, ANGULARJS, nodejs, Flask, ...

 

▶ Library = 도구의 모음

- 특정 기능에 대한 도구 또는 함수들의 집함

- 소프트웨어를 개발하기 쉽게 기능을 제공하는 도구

- HTML Chart, navbar, NumPy, ...

 

▶  프레임워크와 라이브러리의 차이

⊙ 공통점

- 프로그램을 쉼게 만들 수 있게 함.

⊙ 차이점

- 프레임워크는 지켜야하는 규약이 있다.

- 라이브러리는 써도되고 안써도 된다.( 자유도가 높다. )

 

● 컴파일과 인터프리터

 컴파일러 = 컴파일 뒤 실행파일을 생성하는 것

 컴파일 = 컴퓨터로 실행 가능한 코드로 해석하는 것

⊙ 장점

- 컴파일 마친 실행파일은 빠르게 실행 됨.

- 컴파일 후 생성된 코드 최적화

⊙ 단점

- OS에 의존적 ( OS에 맞도록 재컴파일 필요)

- 코드 변경 시 재 컴파일 필요

 

인터프리터 = 기계어로 변환 시키는 것이 아닌 중재자 역할

⊙ 장점

- 에러 발생 시 빠른 수정 가능

⊙ 단점

- 실행 속도 느림

- js, 파이썬, php

 

 

● 데이터와 변수

데이터 = 이론을 세우는데 기초가 되는 사실 or 바탕이 되는 자료

 

 데이터 타입 = 공간에 저장되는 값의 종류 = 변수 : 분류된 데이터에 대하여 담을 수 있는 이름을 가진 어떤 공간

⊙ 변수의 종류

- 정수, 실수, 문자, ...

⊙ 연산자

- 산술연산자 : +, -, *, /, %, ...

- 증감연산자 : ++, --. **

- 비교연산자 : > , <, =, >=, <=, ==, !=

- 논리연산자: &&, ||, !

 

 

● 함수

- 기능을 의미

- 어떤 기능을 만든 코드 집합

- 독립적으로 설계

ex) 더하는 함수 function sum(x,y) {return x + y)};

ex ) 호출 sum(10, 20)

▶ 함수 필요성

- 반복적인 코드 작성을 피할 수 있음 = 개발시간 단축

- 코드 간결화로 가독성이 높아짐

- 쉬운 유지 보수

 

● 문(statement)

- 어떤 것을 수행하는 구문 단위

- 함수 기능을 구현한 코드로 사용

 

▶ 문 유형

- 조건문

- 주어진 조건에 따라 판별하는 문

⊙ if ~ else

- 조건이 참이면 참인 조건에 걸리는 로직 실행

⊙ switch ~ case

- switch 괄호 안에 값이 case의 값과 같으면 해당 로직 실행

- case는 여러개 사용 가능

 

- break = 반복문 강제 종료

- continue = 다음 로직 수행

 

⊙ for(초기화; 조건식; 증감식)

- 조건식에 맞으면 로직 반복 수행

- 조건식에 맞지 않으면 종료

 

⊙ while(조건식 및 무한 반복)

- for문과 동일

- 조건식에 맞으면 로직 반복 실행

- 조건식에 맞지 않으면 종료