오늘은 독서 중

[코딩시대] 코드, 미래를 지배하는 언어 -(1) 용어 정리

이도토리 2021. 6. 1. 22:11

그동안 학원 공부, 언어 공부에 몰두하느라 개발 관련 서적을 많이 읽지 못했는데

이제 여유가 나서 읽는 책들의 내용이 하나같이 너무 좋다.

5개월간 휘몰아친 개념들을 차근차근 정리할 수 있는 소중한 시간.

너무 조급해 하지 않고 차근차근 나의 길을 걸어가보려 한다.

취업에 대해 걱정이 되더라도 당장 내가 할 수 있는 몫을 잘 하면서 길을 걸어나가다 보면

내가 원하는 목적지에 도달해 있을 거라고 믿는다.

 

하루하루는 열심히, 인생 전체는 되는대로.

이동진 평론가님의 말씀처럼 살아가보자! 그냥 방향을 잃지만 말자

 

 

 

[책에 나온 개념 정리]


  • 변수

변수는 값을 넣는 그릇이다. 프로그래밍할 때 계속 변하는 것이 있다면 이를 변수라는 그릇에 담아준다.

이 그릇에 어떤 값을 담을 것인지 알려주는 과정 = 변수를 지정한다.


  • 함수

프로그램에서 제공하는 변수를 사용해 계산을 수행하고 결과를 만들어내는 기능.

너무 자주 사용되기 때문에 아예 설정 없이 사용할 수 있도록

프로그래밍 언어에 미리 만들어져 있는 함수들 = 내장함수.

 

함수는 들어온 입력값을 받아 명령받은 처리를 수행한 다음 결과값을 돌려주기 때문에

입력값과 결과값이라는 개념도 같이 따라다닌다.

입력값 = 인수, 매개변수

결과값 = 출력값, 리턴값, 돌려주는 값


  • 클래스

객체지향 프로그래밍 : 클래스와 객체로 현실세계를 표현하고자 한다.

클래스는 비슷한 성질을 가진 부류의 총칭. 객체는 클래스에서 유일무이한 실체.

<-> C언어의 구조체(struct)


  • 라이브러리

함수들을 모아둔 것.

ex) 파이썬의 Numpy (계산, 통계, 행렬 등 금융 분석이나 회계 업무, 데이터 분석에 사용하기 편한 라이브러리)

뷰티플 수프 : 웹에서 HTML 정보들을 가져오는 데에 쓰임.

 

OpenCV(Computer Version)는 오픈소스 컴퓨터 비전 C라이브러리. 이미지 인식, 텍스트 인식, 영상인식 등을 위한 머신러닝, 딥러닝 분야에서 유용.

 

텐서플로우(TensorFlow) : 인공지능 딥러닝을 빠르게 활용하기 위해 구글에서 공개한 오픈소스 라이브러리. 


  • API (Application Programming Interface)

API는 특정한 함수와 클래스가 동작하는 방식을 담아서 프로그래머가 편리하게 사용할 수 있게 공개한 것.

애플리케이션 프로그램을 만들 때 필요한 기능들.

ex)  구글 지도, 네이버 지도 API.

네이버 - 검색, 기계 번역, 음성인식, 캘린더 등.

 

필요한 Open API를 확인한다 => 서비스별 인증키를 발급받는다. => Open API의 스펙을 확인한다 => 적용해서 구현 => 테스트


  • 프레임워크

라이브러리의 모음. 라이브러리를 모아 일종의 틀을 만들어둔 것.

컴파일러, 라이브러리, API 등이 포함되어 있어 개발을 할 때 효율적.

Java - Spring Framework (금융권, 전자정부프레임워크) / Ruby - Rails (해외 인기) / Python - Django (DB 기반 웹사이트) 등


  • 플랫폼

응용 프로그램이 실행될 수 있는 시스템. PC : 윈도우, 매킨토시, 리눅스와 같은 운영체제.

모바일 시대에는 iOS, 안드로이드, 윈도, 타이젠(삼성전자), 파이어폭스 등.

 

삼성전자는 타이젠을 생활 가전으로 확대하여 사물인터넷 플랫폼으로 확장하려고 계획 중.

로보틱스, 인공지능, 사물인터넷, 무인자동차, 무인항공기 등 다음 시대의 주도권을 잡을 만한 거대한 플랫폼에 대해 치열한 경쟁이 시작되고 있다.


  • 컴파일/ 컴파일러

컴파일(compile) : 소스코드를 목적코드로 옮기는 과정

컴파일러(compiler) : 변환시키는 프로그램.


  • MVC 패턴

모델-뷰-컨트롤러 개발 패턴은 소프트웨어 디자인 패턴의 하나이다.

Model : 애플리케이션의 데이터, View는 사용자 인터페이스, Controller는 데이터와 비즈니스 로직의 상호 동작을 관리.

Model은 실제로 클라이언트와 통신하는 데이터베이스 서버에 접근하여 CRUD 데이터 처리를 자동화 또는 단순화.

create, read, update, delete

 

Controller는 모델과 뷰 사이에서 다리 역할. 웹 서버에서 요청과 응답을 주고받으며 애플리케이션 동작을 제어한다.

모델에게 데이터 처리를 요청하고, 뷰에게 결과값을 준다.