용어정리

엘제이·2023년 7월 10일
0

Plug-in은 어떤 특정한 하나의 문제를 해결하기 위한 component 입니다.
jQuery에 plug-in이 많은데, 이들은 주로 어떤 하나의 문제를 해결하기 위한 것들입니다. Slider나, Modal이 포함될 수 있겠네요.

Library는 비슷한 성격을 가진 plug-in의 집합이라 보시면 됩니다. jQuery를 주로 library라고 하는데, jQuery의 catchphrase인 'write less, do more'라는 문제를 해결하기 위해, DOM Search 관련 Method, Ajax call 같은 편의 기능들을 제공해주지요.

Framework는 말 그대로 뼈대 입니다. 일정한 틀을 제공하여, 그 안에서 logic을 구현하도록 돕지요. BackboneJS의 경우 JS code를 MVC 형태로 구현하는 것을 도와줍니다.

컴파일(Compile)
컴파일이란 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정을 말한다. (목적파일이 생성됨)
즉, 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업이다. 이러한 작업을 해주는 프로그램을 가르켜 컴파일러(Compiler)라 한다.
자바의 경우, 자바가상머신(JVM)에서 실행가능한 바이트코드 형태의 클래스파일이 생성이 된다.

링크(link)
프로젝트를 진행하다 보면 소스파일이 여러개가 생성이되고 A라는 소스파일에서 B라는 소스파일에 존재하는 함수(메서드)를 호출하는 경우가 있다.
이때 A와 B 소스파일 각각을 컴파일만 하면 A가 B에 존재하는 함수를 찾질 못하기 때문에 호출할 수가 없다.
따라서 A와 B를 연결해주는 작업이 필요한데 이 작업을 링크라고 한다.
여러개로 분리된 소스파일들을 컴파일한 결과물들에서 최종 실행가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 작업이다.
링크는 정적링크(static link)와 동적링크(dynamic link)가 있는데
정적링크란 컴파일된 소스파일을 연결해서 실행가능한 파일을 만드는 것이고, 동적링크란 프로그램 실행 도중 프로그램 외부에 존재하는 코드를 찾아서 연결하는 작업을 말한다.
자바의 경우, JVM이 프로그램 실행 도중 필요한 클래스를 찾아서 클래스패스에 로드해주는데 이는 동적링크의 예이다.

빌드(Build)
소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다.
빌드의 단계 중 컴파일이 포함이 되어 있는데 컴파일은 빌드의 부분집합이라 할 수 있다.
빌드 과정을 도와주는 도구를 빌드 툴이라 한다.

변수
값을 저장할 수 있는 저장공간
var
재선언(공간, 메모리 확보) 재할당(확보된 공간에 데이터할당) 함수스코프()
let
재선언불가 재할당가능 블록스코프{}
const
상수 재선언불가 재할당불가 선언시초기화 블록스코프{} 주로전역변수로쓰임.
단, 오브젝트로 선언 시 오브젝트 내 데이터 변경가능

const gritground = { 이름 : ‘이정은’ }
gritground.이름 = ‘이선우’;

//!!! 변수 재할당에 해당하지 않음 !!!

스코프
변수의 유효범위
hoisting 호이스팅
변수선언문, 함수선언문 등을 해당 스코프의 가장 최상위에 위치된것처럼 보이는 현상?
어떤 위치에서 선언하든 위로 끌올되는 현상
변수가 선언과 할당이 분리되는 것을 의미
js가 해당 변수의 선언을 영역의 최상위로 올려놓은 것을 의미

node.js, npm
노드 패키지 매니저 node.js 관리 프로그램 같은 것?
패키지를 한번에 하나씩 순차적으로 설치
yarn
페이스북에서 만든 js 패키지 매니저
여러 패키지를 동시해 로드해서 설치 속도측면에서 더 빠름
pull request 내가 작업한 코드가 있으니 내 브랜치를 당겨 검토 후 병합해주세요
pull request 하는 방법과 사용이유

원본 저장소를 > 작업자 각각 자신의 로컬로 받아서 > 작업을 위해 각각의 브랜치를 생성 > 생성된 브랜치에서 작업 add, commit, push 한다 > pr생성 => 작업이 완료 된 시점에 각각의 작업된 브랜치를 (작업된 작업물을) 병합하기 위해 요청하는 것이 pull request !!! > 코드리뷰, Merge Pull Reqest > Merge 이후 branch 삭제 및 동기화

원본저장소 develop > 공동브랜치 > 각자 작업할 브랜치 생성 

린트(lint)
소스 코드에 문제가 있는지 탐색하는 작업
자바스크립트와 같이 컴파일 과정이 없는 인터프리터 언어의 경우,
런타임 에러가 발생할 확률이 높기 때문에,
이 린트 작업을 통해 사전에 에러를 최대한 잡아주는 것이 중요
린터(linter)
이 작업을 도와주는 소프트웨어 도구

FTP
파일 전송을 위한 TCP/IP 프로토콜 파일을 주고 받기
인터넷에서 컴퓨터 간 정보를 주고받는데 쓰이는 규약 중에 제일 많이 쓰는 것 중에 하나
TCP
전송조절프로토콜
데이터 전달을 보증, 보낸 순서대로 받게해줌
IP 인터넷프로토콜
IP주소체계를 따르고 IP 라우팅을 이용해 목적지에 도달 TCP 특성을 활용해 송신자와 수신자의 노리적 연결을 생성하고 신뢰
포트번호 20(데이터전송), 21(인증/제어포트) 사용
SFTP 보안강화 SSH 통한 파일 전송 프로토콜 포트번호 22 사용자 지정 SSH
암시적 FTPS SSL암호화 사용, 연결보호 포트번호 90
명시적 FTPS 웹호스팅계정에 명시적연결 포트번호 21
SSL/TLS 암호화 업그레이드 가장안전한 FTP (온라인상품구매)
LFTP 리눅스에서 사용
TFTP UDP 사용 속도 빠름 안정성 보장안됨

Open System Interconnection Reference Model 7 Layer
쉽게설명 : https://aws-hyoh.tistory.com/entry/OSI-7-Layer-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명
7계층에 가까울수록 애플리케이션, 실제 프로그램에 가깝고 하위 계층은 케이블, 물리적 연결구간에 가깝다

  • 7 사용자 UI
  • 4 송수신자 논리적 연결
  • 3 IP활용, 라우팅, HTTP/TCP/IP HEADER
  • 2 데이터링크 mac address
  • 1 케이블 물리계층 전기적 신호 전송
profile
잔잔바리 돈 버는 한량, 미치도록 놀고 싶다

0개의 댓글

관련 채용 정보