brunch

You can make anything
by writing

C.S.Lewis

by 저스트두잇 Mar 09. 2022

개발용어라던가.. 개발용어라던가..?

업데이트는 계속된다. 쭈욱~

디버그 / 디버깅하다

-> 베포와 대비되는 말 . 개발 중인 상태에 해당되는 말에 쓰이기도 함

소프트웨어에 발생하는 문제의 원인을 찾는 것. 꼭 문제만 찾을때만 사용되는 용어는 아님

프로그램의 코딩이 복잡해지면 한번에 의도되로 되는 경우가 많이 없어 코딩하는 시간의 상당부분은 디버깅에 해당된다고 함.

완성 후 오류 뿐만 아니라 새로운 기능을 넣을때라던가 기존 기능을 수정하게 되는 경우 등 많은 디버깅의 과정을 거친다고 함.

 

머릿속에서 모든 상태의 코드를 돌려볼 수 없다면 코드의 특정 단계들마다 상태를 확인할 수 있도록 해서 어느 지점에 오류를 발생시키는 요소가 있는 지 찾아가는 것.

이 작업은 엄청난 시간과 에너지가 소모되기 때문에 코딩을 할때 디버깅을 위한 여러기능들을 갖출 수 있는 코딩 tool들도 꾸준이 발전하고 있다. 

예를 들어, Visual Studio , Eclipse , IntelliJ 등등의 기능을 이용해서 어느 지점에서 어떤 문제가 있는지 찾아볼 수 있도록 하는 것.


컴파일러 or  인터프리터 

컴퓨터의 언어는 0과 1로 구성되어 있는데, 코딩할 때 쓰는 영어로는 이 코드들을 알아볼 수 없다. 따라서 중간에 컴퓨터의 언어로 해석해주는 Tool이 필요한데, 쓰는 순서에 따라 달라진다.


출처 : 얇팍한 코딩사전 

완성된 프로그램을 출시하는 단계에서 컴퓨터에게 일을 시킨다. (컴파일) 

예를 들어 자바언어로 코딩(컴파일) 을 하고 컴파일러에 명령을 내리면 class라는 확장자를 가진 파일이 생성됨. 이 class.파일 은 자바 가상머신(JVM)이라는 프로그램이 설치된 모든 종류의 기계에서 통용되는 언어임. 이 파일을 기계들에 보내서 소프트웨어를 동작시킴.

But, 

그대로 가져가서 그때그때 통역해주는 것도 있음 . 자바스크립트, 파이썬, 루비 등이 대표적.

인터프리티 언어라고 하고 스프린트언어라고도 함.

따라서 코드 수정이 잦은 서비스을 경우 업데이트가 훨씬 수월하지만 그때그때 통역사가 머리굴리며 책을 읽어야 하기 때문에 실행속도는 컴파일러 언어에 비해 느리다.

프로그램 코드가 그대로 노출되기 때문에 보안이 그대로 노출됨이 단점.


빌드

개발자들이 작업하는 프로그램안에는 수십 수백개의 폴더와 파일들로 이루워져 있다. 개발자의 편의를 위해서. 라이브러리 , 직접 입력한 코딩, 등이들을 출시할떄는 이들은 변형 혹은 압축하는 걸 빌드라고 함. 


베포 

빌드한 결과물을 사용자에게 전달하는 과정.

곧 사용자들이 보는 웹사이트에 작업한 바를 반영하겠다는 의미!


환경변수

 각 다양한 용도로 각 환경마다의 값을 지어할 때 사용되는 것.


라이브러리 

특정기능들이 함수나 클래스 등의 형태로 공개해서 이를 가져다가 내 소프트웨어에 붙여넣어 사용할 수 있는 것. 꼭 남이 만든 것 뿐만 아니라 내가 만들 수도 있다.


참조 : 얄팍한 코딩사전



참조 : https://youtu.be/GYmuQJiPeM4


프로토컬 

컴퓨터 내부에서 혹은 사이에서 데이터의 교환방식을 정의하는 규칙체계.


리펙토링

'결과의 변경 없이 코드 수준을 재조정함' 을 의미한다. 주로 가독성을 높이고 유지 보수를 편하게 한다.

why :  
1. 소프트웨어의 설계를 더 나아지게 한다. 

2. 코드를 더 이해하기 쉽게 만든다.

3. 코드에서 발생하는 버그를 찾기 쉽게 만든다.

4. 프로그래밍 속도가 높아져 생산성을 빠르게!
when :

1. 같은 작업을 3번 반복할 때?
2. 어떤 기능을 추가하기 힘들 때


WebRTC ( Web Real Time communication)

웹 실시간 커뮤니케이션 기술로, Google, Mozilla 웹 브라우저 간의 플러그인 도움 없이 실시간으로 영상, 음성 데이터 등을 서로 통신할 수 있도록 설계된 API 이다.

이 기술을 통해 음성 통화, 비디오 채팅 및 파일 공유을 위한 브라우저 어플리케이션이 원할하게 구현 될 수 있다. 대다수의 서비스의 경우는 클라이언트 - 서버  간의 데이터 통신을 통해 기능을 제공하고 있지만 어떤 경우는 클라이언트간의 빠른 데이터  교환이  중요하게 생각 되는데  이러한 경우 WebRTC 가 중요한 기반 기능을 제공한다. 서버를 중계할 이유가 없어지기 때문.

현재 지원하는 브라우저로는 chrome 등 있다. 

참조 :https://asfirstalways.tistory.com/306?category=656859


작가의 이전글 PM의 역량은 무엇인가?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari