본문 바로가기
일기

용어 공부

by 눈표범  2021. 8. 15.


●●●개발 관련 용어 공부●●●

import os
os.getcwd()
에서 getcwd 가 뭔가?
> 구해라(get)! 무엇을? 현재 작업 디렉터리(current working directory)를~
 현재 작업 디렉터리를 알려줍니다.
*디렉토리(영어: directory, 문화어: 등록부)는 컴퓨팅에서 파일을 분류하기 위해 사용하는 이름공간이다. 
> 폴더 or 카탈로그 라고도 한다. (x)
>>폴더와는 유사하지만 다른 개념이다.

파이썬은 객체 지향 언어.
객체 지향이 무슨 말이지?
>강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향한다는 것.
>>
프로그램을 유연하고 변경이 용이하게 만든다.
프로그램의 개발과 보수를 간편하게 만든다.
직관적인 코드 분석을 가능하게 한다.

나이가 10살에서 20살 사이다.
if age <= 10 and 20 >= age:
> 사이인데 코딩에서는 포함을 하네.
영어를 직역한 부작용인가보다.

return을 시킨다는 말은 뒤에 result라는 변수를 펑션(def)을 실행할 때 주란 의미.

여러 자원을 가져다 쓰려면 class를 잘 다뤄야 한다.
class가 뭐지?
>
과자 틀 → 클래스 (class)
과자 틀에 의해서 만들어진 과자 → 객체 (object)
>> 계산기도 클래스 활용의 예로 들 수 있다.


*컴파일러 vs 인터프리터
>고급의 언어에서 저급의 언어로(기계어 또는 중간언어). 기계에게 프로그래밍 언어를 해석해주는 것을
미리 해놓으면 : 컴파일러
그때그때 하면 : 인터프리터
둘 다 번역가(프로그램)인 셈이다.

컴파일러 언어 : C, C++, 자바 등
인터프리터 언어(스크립트 언어 라고도 한다.) : 자바스크립트, 파이썬, 루비 등

인터프리터 언어
>컴파일을 하는 과정이 필요 없기 때문에 코드 수정이 잦은 서비스의 경우 업데이트가 훨씬 수월.
그때그때 통역사가 머리를 굴리며 번역을 해야 하기에 그만큼 실행이 느리다.
프로그래머가 짠 코드가 그대로 배포되어 사용되기에 프로그래밍 코드가 보다 쉽게 누출되기도 한다.


*빌드
개발자가 작업하는 프로젝트는 일반적으로
>개발자가 작성하는 코드 파일들, 다른 곳에서 작성한 코드들(라이브러리 들), 이미지나 기타 등등 소프트웨어에 필요한 파일들이 포함된다. 
>소프트웨어의 특성마다 다르지만, 일반적으로는 이를 출시할 때에는 이들을 다른 형태로 변형 or 압축해서 내보낸다.
이를 '빌드' 한다고 한다.
정리하면, 작업하는 프로젝트 파일들을 출시하기 적합한 형태로 포장하는 일이다.
요리한 음식들로 도시락을 싸는 작업을 '빌드' 라고 생각하면 된다.

>>빌드를 하는 목적과 이유
ex)
1. exe 파일처럼, 사용자가 파일 하나로 제공하기 위함일 때
2. 프로그래밍 코드를 압축해서 전체 크기를 줄이는 경우
3. 다른 사람들이 가능한 코드를 못 알아보도록 난독화 하는 경우도 있다.

컴파일 언어는 컴파일을 해서 내보내야 한다.
즉, 컴파일 언어는 빌드에 컴파일 작업이 포함돼 있는 것

*배포
코딩해서 빌드한 결과물을 사용자에게 전달하는 과정.
웹개발에서 배포란, 사람들이 보는 웹사이트에 작업한 바를 반영하는 것.

*환경 변수
소프트웨어가 동작하는 공간을 말한다.

-----
* 라이브러리 vs 웹 프레임워크 의 차이점
컨셉의 차이다. -> 누가 누구를 컨트롤 하는가


라이브러리: 내가 코드를 컨트롤 하는 것. 모든 결정을 다 내린다.
ex) jQuery
내가 필요할 때 소환한다. 쉽게 대체할 수 있다.

웹 프레임워크: 누군가 정해준 규칙을 따라야 한다.
내가 프레임 워크를 부르는 것이 아니다. 프레임워크가 나를 부르는 것이다.
웹 프레임워크가 규칙을 정하고 그걸 나에게 알려준다.
ex)django


라이브러리 vs 프레임워크
라이브러리 : 집 지을 때 쓰는 재료. (남이 만들었든 내가 만들었든 간에.)
프레임워크 : 집 골조\
------


반복 가능한 객체
>말 그대로 반복할 수 있는 객체인데
우리가 흔히 사용하는 문자열, 리스트, 딕셔너리, 세트가 반복 가능한 객체입니다. 
>>즉, 요소가 여러 개 들어있고, 한 번에 하나씩 꺼낼 수 있는 객체입니다.

-----
* CUI(Character User Interface)
>즉 문자로 이루어진 화면을 말합니다. 즉 옛날에 Dos 환경일때 그래픽이 아닌 명령어로 처리하는 부분 또한 현재 Unix나 Linux가 그래픽도 지원하긴 하지만 원격지에서 접속하여 명령어로 처리하는 환경을 CUI라고 합니다.

* GUI(Graphic User Interface)
>문자가 아닌 그래픽 위주로 이루어진 방식을 말합니다. 현재의 MS-Windows나  Linux의 X-windows환경 또 Unix의 그래픽 환경에서 작업하는 것을 GUI라고 합니다.
 주로 운영체제에서 작업할때 명령어 대신 아이콘을 더블클릭하여 사용하는 환경
즉 그래픽 환경에서 작업하는 것을 GUI라고 합니다.

CUI와 GUI의 차이점은 문자로 처리하느냐 그래픽으로 처리하느냐가 둘의 차이점입니다.
------

콘솔= 터미널= 명령 프롬프트.
구분 없이 쓰이고 있다. 앞으로도 그럴 것.


프롬프트는 
   ~$이나 C:\>처럼 명령어 입력을 받을 수 있는 상태임을 나타내는 용어

프롬프트, prompt
명사컴퓨터
사용자의 명령을 받아들일 준비가 되었음을 모니터에 나타내는 표시. " >>> "

인터프리터(interpreter)
인터프리터는 프로그래밍 언어의 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말합니다. 파이썬 인터프리터에는 두 가지 형태가 있습니다.

대화형 인터프리터
대화형 인터프맅터에서는 입력에 대한 출력 값이 바로 나옵니다. 입력과 출력이 번갈아 이어지는 것이 마치 대화하는 것과 같다고 하여 ‘대화형’ 인터프리터라고 합니다.

코드 편집기
코드 편집기는 일반적으로 개발 환경에서 사용되며 프로그램의 전체 소스 코드를 입력하고 입력된 소스 코드 전체가 실행됩니다. 


UNIX 계열(리눅스, macOS 포함)이면 터미널이라는 이름을 쓰고,
윈도 계열이면 명령 프롬프트라는 이름을 씁니다.

-------



할당 연산자
ex) += 나 -= 같은 것.

클래스 내부의 함수는 '메서드' 라고 부르면 된다.

'생성자(Constructor)'란 객체가 생성될 때 자동으로 호출되는  (종류의) 메서드
>
파이썬 메서드 이름으로 '__init__'를 사용하면 이 메서드는 '생성자'가 된다.



[같은 의미를 가진 여러 가지 용어들에 주의하자]

프로그래밍을 공부할 때 어려운 부분 중 하나가 용어의 혼용이라고 할 수 있다. 우리는 공부하면서 원서를 보기도 하고 누군가의 번역본을 보기도 하면서 의미는 같지만 표현이 다른 용어를 자주 만나게 된다. 한 예로 입력값을 다른 말로 함수의 인수, 매개변수 등으로 말하기도 하고 결괏값을 출력값, 반환 값, 돌려주는 값 등으로 말하기도 한다. 이렇듯 많은 용어가 여러 가지 다른 말로 표현되지만 의미는 동일한 경우가 많다. 따라서 이런 용어를 기억해 놓아야 머리가 덜 아플 것이다.

 

페이드 인(Fade-in)

영상의 경우 검은 화면에서 서서히 밝아지며 영상이 나타나는 것을, 음향에서는 소리가 서서히 커지는 것을 가리킨다.반대는 페이드 아웃.

 

절차지향 VS 객체지향

영어로는

Procedure Oriented Programming(POP) :  절차 지향

Object Oriented Programming(OOP)     :   객체 지향

 

절차지향 언어를 사용한다면, 말 그대로 실행 순서, 즉 절차가 더 중점이 되고,

객체지향 언어를 사용한다면, 필요한 객체들의 종류와 속성 등이 더 중점이 된다.

 

 

 

'일기' 카테고리의 다른 글

시행착오  (0) 2021.08.29
0806 이해하기  (0) 2021.08.06
정보처리기사 공부 덕에 바쁘다.  (0) 2021.07.26
오랜만에 시간적 여유가 생겼다.  (0) 2021.07.16
이번 달 중으로 블로그 한 번 정리해야겠다.  (0) 2021.07.10

댓글