[개발자들이 자주쓰는 단어 모음집] 개발자의 맘에 탕탕 후루후루~

Seoyoung·2024년 5월 13일
112
post-thumbnail

안녕하세요
오늘은 저의 고향 강변 카페에서 카공을 하면서 개발용어에 대한 이야기를 꺼내보려고 합니다!

저번주에 중고거래로 산

최원영 씨의 "비전공자를 위한 이해할 수 있는 IT 지식" 이라는 책을 최근에 읽게 되었는데요.

여기에는 다양한 비개발자들이 이해하기 쉽게 개발 용어들을 설명하고 있었습니다.
저는 개발적인 지식을 어느정도 가지고 있는 상태에서 요 책은 이미 알고 있는 부분이 많았기 때문에

최근 개발자들과의 회의록들을 취합해서 "그들이 많이 쓰는 용어" 를 한번 정리해보았습니다!

(주의) 제가 아는 용어들 보단, 자주 사용하지만 정확히 의미를 모르는 단어들 위주로 주관적인... 기준으로 구성되어있습니다

STEP1. 개발자들의 회의 속 단어들을 정리하자

개발자들의 회의록, 작성 문서, 개발 관련 컨퍼런스를 보면서 자주 나오는 단어를 추려 보았습니다.
EX) velog글들, 개발 컨퍼런스(if kakao같은 사항들) , 회의 시간에 들은 단어들

  1. 레거시 (Legacy)
  2. 핫픽스 (Hotfix)
  3. 통테
  4. 빌드 & 컴파일
  5. Sentry Error /Sentry Error Boundary
  6. Postman
  7. DTO
  8. 오류 , 결함, 장애 뭐가 다르니?
  9. DeadLock (교착상태)
  10. Health Check
  11. 화이트리스트
  12. 리그레션 테스트
  13. RestFul API
  14. CI / CD
  15. Mocking
  16. Cross Browsing

느낀점 : 이외 단어들도 다양하게 있어서 V2를 만들어 볼 예정이다 (많 관 부)

STEP2. 단어들을 모았으니 알아보자

1.레거시

낡은 기술, 방법론, 소프트웨어 같은 것들을 레거시 (이전 개발 사항)라고 말한다.

레거시 코드를 이해하는데 많은 노력과 시간이 필요하기 떄문에 -> 이해가 부족한 상태에서 코드를 수정 -> 레거시 코드 변경... 두렵다 -> 스파게티 코드로.. 이어진다 -> 레거시 투척

레거시 코드를 개선하고, 효율성을 높이는 것
즉 리팩토링을해서 코드 변경 비용을 낮추고 싶어하지만, 실제 개발 시간이 들기 때문에

PO와 개발자 사이의 입장 간극이 있을수 있지 않을까 추정된다.

2.핫픽스 (Hotfix)

QA에서 많이 사용하는 용어 이기도 한다.
버그나 취약점들이 발견되었을때 긴급해 배포를 하는 작업을 의미한다.

보안적인 허점이 될 수도 있고, 이외 정규 배포 일정을 기다릴 수 없을 정도로 긴급한 변경 사항일 때 보통 핫 픽스를 진행된다.

즉.. 요약하면 긴급하게 처리되어야하는 bugfix 작업을 의미하지 않을까? 생각

3. 통테 (통합테스트)

통테를 검색하면 사투리가 나오지만, ㅋㅋ 이건 아닌것 같다.

통테는 단위 별로 테스트 하는 것이 아닌 모든 모듈이 다같이 잘 돌아가는지 전반적으로 확인하는 테스트이다.

이외 다른 용어로는
단위 테스트 가 나왔으면 E2E Test 도 존재합니다
*(사용자 시나리오에 맞춰서 수행하는 테스트의 경우에는 인수 테스트 라는 단어도 있다.)

4.빌드 & 컴파일

빌드 : 컴파일이 완료되면, 이를 컴퓨터가 실행할 수 있는 상태로 변환하는 것을 빌드라고 합니다. 실제 실행할 수 있는 상태로 만드는 것입니다. 지정된 위치에 옮기고 실행할 수 있게 하는 프로세스를 포함해서 하는 것이 빌드!

컴파일 : 사용자가 작성한 파일을 컴퓨터가 이해할 수 있는 기계어로 변역
바이트 코드로 바꾸는 과정을 의미한다.
*컴파일을 해주는 프로그램은 컴파일러라고 합니다

5. Sentry Error

Sentry error은 소프트웨어 개발에서 오류를 실시간으로 모니터링하고 추적하는 도구 서비스 인데,
이를 통해 전반적으로 어플리케이션에서 발생하는 오류를 실시간으로 모니터링 할 수 있음.

6. Postman

api 개발 , 테스트를 위한 도구이다!
api의 요청 항목을 문서화하고, 전반적인 api들을 모아 볼 수 있다.
postman을 사용하면, 개발자 도구를 사용하지 않고도 api 요청 응답을 테스트할 수 있어서 개발 테스트 과정에서 사용할 수 있음.

7. DTO

DTO는 data transfer object의 약자로
DB의 데이터에 접근하기 위한 객체를 보통 말한다. (DB에 접근하고 삽입 삭제 조회등 조작할 수 있는 기능)
로직을 가지지 않은 순수한 데이터 객체

8. 오류 , 결함, 장애 뭐가 다르니?

오류 :
결함이 되는 요소, 인간의 활동 실수

결함 :
소프트웨어 상에 나오는 결함, 장애로 이루어지진 않지만 이러한 오류가 모여서 결함이 발생하게 된다.

장애 :
시스템이 의도대로 되지 않아 실제 환경에서 정상적으로 실행되지 않는 사항을 말한다.
결함으로 인한 결과라고 볼수 있음.

9. DeadLock (교착상태)

서로 두개 이상의 작업이 상대방이 끝나기만을 기다리고 있기 때문에 아무것도 실행을 못하고 있는 상태
DB 관련 용어로 보통 많이 사용하는 단어며, 무한 대기 상태라고 생각하면 됨.

10. Health Check

상태 검사이며, 특정 서버의 서비스에 작업을 성공적으로 수행할 수 있는지 여부를 물어보는 것임
서버나 네트워크가 정상인 상태에 있는지 여부를 확인하는 작업
(QA에서 많이 쓰는 용어)

11. 화이트리스트

화이트리스트는 말그대로.. 특정 상황 조건에서 신뢰할 수 있는 요소를 지칭할 때 사용
블랙리스트의 반댓말로 생각하면 좀더 간단함.

EX)IP 화이트리스트
네트워크, 서버 접근 허용되는 IP 주소 목록

이외 API 화이트리스트, 앱스토어 화이트리스트 등...

12. 리그레션 테스트

회귀 테스트라고도 하며 QA 쪽에서 많이 쓰는 단어입니다.
이전에 제대로 작동하던 소프트웨어 기능에 문제게 생기는 것을 의미합니다.
회귀 테스트를 진행하여, 이전에 잘 고쳐졌던 오류가 혹시 재발생 하는지에 대한 검사등을 진행합니다.
-> 관련 용어 : 회귀 버그 (변경 중 뜻하지 않게 발생하는 버그)

이미 테스트된 프로그램을 테스팅 할 때 사용한다

13. RestFul API

REST기반으로 만들어진 API 를 의미한다.
HTTP 프로토콜을 통해 API를 설계하기 위한 아키텍처 스타일이라고 할 수 있다.
HTTP 데이터 요청을 통해 데이터 생성, 읽기,삭제와 같은 CRUD 작업을 진행할 수 있다.

14. CI / CD

둘다, 소프트웨어 개발 과정을 자동화하고, 개선하기 위한 방법론

CI : 개발자를 위한 자동화 프로세스 "지속적인 통합"
사소한 변경 사항들을 단 기간에 통합할 수 있고, 빠르고 깔끔한 코드를 제공할 수 있음. 코드 변경사항을 자주 메인 저장소에 머지 하는 것
(코드를 자주 통합하여, 문제를 조기에 발견하는데 포커싱 되어있음)

CD : 지속적인 서비스 제공 및 지속적인 배포
ci 과정을 확장한 버전, 모든 코드 변경사항이 테스트를 거쳐 자동으로 릴리즈가 되도록 준비하는 과정
(배포될 준비가 되어있도록 보장한다)

15. Mocking

테스트 환경이나 실제 객체나 행위를 가상의 객체 에서 대체해서 하는 작업이다.
데이터 베이스, api 같은 애들을 모킹해서 모크 객체를 사용하여 api 호출을 시뮬레이션 합니다.

행위를 검증하고, 환경제어를 테스트해보기 위해 주로 진행함.
또한 테스트 대상 코드가 외부 시스템에 영향을 미치지 않도록 진행하는 이유가 있음.

모킹을 하기 위해선 다양한 라이브러리가 사용된다!

16. Cross Browsing

Cross browsing은 보통 웹 디자인 개발에서 많이 사용하는 단어며,
앱과 웹이 최대한 비슷하도록 개발하는 사항을 보통말한다.
더불어 웹 개발에서도 모든 브라우저에서 잘 호환하는지를 의미한다 (브라우저 마다 엔진이 다르기 때문)

참고 사이트
https://velog.io/@pppp0722/%EA%B5%90%EC%B0%A9%EC%83%81%ED%83%9CDeadlock%EB%9E%80
https://ko.wikipedia.org/wiki/%EA%B5%90%EC%B0%A9_%EC%83%81%ED%83%9C
https://velog.io/@ha0kim/DAO-DTO-VO-%EC%B0%A8%EC%9D%B4
https://velog.io/@hyebinee/%ED%81%AC%EB%A1%9C%EC%8A%A4%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A7%95cross-browsing%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1%EA%B3%BC-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95
https://velog.io/@matcha_/%EC%BB%B4%ED%8C%8C%EC%9D%BCCompile-%EB%B9%8C%EB%93%9CBuild-%EB%B0%B0%ED%8F%ACDeploy-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
https://mulder21c.io/what-is-cross-browsing/
https://blog.naver.com/PostView.naver?blogId=gmanf77&logNo=10171171787&parentCategoryNo=&categoryNo=30&viewDate=&isShowPopularPosts=false&from=postView
https://rae-gi.tistory.com/53
https://jud00.tistory.com/entry/CICD%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
https://ccomccomhan.tistory.com/148#google_vignette
https://velog.io/@seungmini/%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC-Postman
https://coding-yesung.tistory.com/69
https://blog.naver.com/techref/222265707252
https://cin-dy.tistory.com/33
https://post.naver.com/viewer/postView.nhn?volumeNo=18503584&memberNo=4753342

profile
데이터 분석가로 데롱데롱 살아요

8개의 댓글

comment-user-thumbnail
2024년 5월 16일

탕 탕 후루후루

답글 달기
comment-user-thumbnail
2024년 5월 17일

한국인으로써 안들어올수 없는 썸네일..

답글 달기
comment-user-thumbnail
2024년 5월 17일

젠장 또 대병건이야

답글 달기
comment-user-thumbnail
2024년 5월 20일

글쓴이 선생님 내용 외에 물어보고 싶은 것이 있는데요 내용 오른쪽에 목록 리스트 만드는 방법 좀 알 수 있을 까요... 검색해봐도 안나오네요 ㅜㅜ

1개의 답글
comment-user-thumbnail
2024년 5월 24일

7번의 DTO는 통신을 위한 객체인걸로 알고있는데 DB에 직접 접근하는것은 보통 DAO라 하지 않나요?

답글 달기
comment-user-thumbnail
2024년 5월 26일

7번의 DTO의 설명에서 순수한 데이터 객체라는 내용은 VO(value object)과 좀 더 유사한 개념 같습니다!

답글 달기
comment-user-thumbnail
2024년 5월 27일

저도 데이터 쪽 취준 중인데 유용한 정보 얻고 갑니다! 부트캠프 듣다가 다른 사람들은 어떻게 공부하는지 궁금할 때 가끔 블로그 찾아보고 있는데 도움이 많이 됩네요~! 혹시 데이터 취준에 도움 되실까 해서 제가 듣는 부트캠프 링크도 남겨드려요! (https://bit.ly/3UPB0go) 전에 빅데이터 국비 듣다가 코딩만 하고 개발 공부를 시키길래 너무 시간 낭비라는 생각이 들어서 시작했는데, 한양대 교수님이랑 머신러닝, 딥러닝 프로젝트 하고 있어요!ㅎ Seoyoung님도 취준 힘내세요!

답글 달기

관련 채용 정보