안녕하세요
오늘은 저의 고향 강변 카페에서 카공을 하면서 개발용어에 대한 이야기를 꺼내보려고 합니다!
저번주에 중고거래로 산
최원영 씨의 "비전공자를 위한 이해할 수 있는 IT 지식" 이라는 책을 최근에 읽게 되었는데요.
여기에는 다양한 비개발자들이 이해하기 쉽게 개발 용어들을 설명하고 있었습니다.
저는 개발적인 지식을 어느정도 가지고 있는 상태에서 요 책은 이미 알고 있는 부분이 많았기 때문에
최근 개발자들과의 회의록들을 취합해서 "그들이 많이 쓰는 용어" 를 한번 정리해보았습니다!
(주의) 제가 아는 용어들 보단, 자주 사용하지만 정확히 의미를 모르는 단어들 위주로 주관적인... 기준으로 구성되어있습니다
개발자들의 회의록, 작성 문서, 개발 관련 컨퍼런스를 보면서 자주 나오는 단어를 추려 보았습니다.
EX) velog글들, 개발 컨퍼런스(if kakao같은 사항들) , 회의 시간에 들은 단어들
느낀점 : 이외 단어들도 다양하게 있어서 V2를 만들어 볼 예정이다 (많 관 부)
낡은 기술, 방법론, 소프트웨어 같은 것들을 레거시 (이전 개발 사항)라고 말한다.
레거시 코드를 이해하는데 많은 노력과 시간이 필요하기 떄문에 -> 이해가 부족한 상태에서 코드를 수정 -> 레거시 코드 변경... 두렵다 -> 스파게티 코드로.. 이어진다 -> 레거시 투척
레거시 코드를 개선하고, 효율성을 높이는 것
즉 리팩토링을해서 코드 변경 비용을 낮추고 싶어하지만, 실제 개발 시간이 들기 때문에
PO와 개발자 사이의 입장 간극이 있을수 있지 않을까 추정된다.
QA에서 많이 사용하는 용어 이기도 한다.
버그나 취약점들이 발견되었을때 긴급해 배포를 하는 작업을 의미한다.
보안적인 허점이 될 수도 있고, 이외 정규 배포 일정을 기다릴 수 없을 정도로 긴급한 변경 사항일 때 보통 핫 픽스를 진행된다.
즉.. 요약하면 긴급하게 처리되어야하는 bugfix 작업을 의미하지 않을까? 생각
통테를 검색하면 사투리가 나오지만, ㅋㅋ 이건 아닌것 같다.
통테는 단위 별로 테스트 하는 것이 아닌 모든 모듈이 다같이 잘 돌아가는지 전반적으로 확인하는 테스트이다.
이외 다른 용어로는
단위 테스트 가 나왔으면 E2E Test 도 존재합니다
*(사용자 시나리오에 맞춰서 수행하는 테스트의 경우에는 인수 테스트 라는 단어도 있다.)
빌드 : 컴파일이 완료되면, 이를 컴퓨터가 실행할 수 있는 상태로 변환하는 것을 빌드라고 합니다. 실제 실행할 수 있는 상태로 만드는 것입니다. 지정된 위치에 옮기고 실행할 수 있게 하는 프로세스를 포함해서 하는 것이 빌드!
컴파일 : 사용자가 작성한 파일을 컴퓨터가 이해할 수 있는 기계어로 변역
바이트 코드로 바꾸는 과정을 의미한다.
*컴파일을 해주는 프로그램은 컴파일러라고 합니다
Sentry error은 소프트웨어 개발에서 오류를 실시간으로 모니터링하고 추적하는 도구 서비스 인데,
이를 통해 전반적으로 어플리케이션에서 발생하는 오류를 실시간으로 모니터링 할 수 있음.
api 개발 , 테스트를 위한 도구이다!
api의 요청 항목을 문서화하고, 전반적인 api들을 모아 볼 수 있다.
postman을 사용하면, 개발자 도구를 사용하지 않고도 api 요청 응답을 테스트할 수 있어서 개발 테스트 과정에서 사용할 수 있음.
DTO는 data transfer object의 약자로
DB의 데이터에 접근하기 위한 객체를 보통 말한다. (DB에 접근하고 삽입 삭제 조회등 조작할 수 있는 기능)
로직을 가지지 않은 순수한 데이터 객체
오류 :
결함이 되는 요소, 인간의 활동 실수
결함 :
소프트웨어 상에 나오는 결함, 장애로 이루어지진 않지만 이러한 오류가 모여서 결함이 발생하게 된다.
장애 :
시스템이 의도대로 되지 않아 실제 환경에서 정상적으로 실행되지 않는 사항을 말한다.
결함으로 인한 결과라고 볼수 있음.
서로 두개 이상의 작업이 상대방이 끝나기만을 기다리고 있기 때문에 아무것도 실행을 못하고 있는 상태
DB 관련 용어로 보통 많이 사용하는 단어며, 무한 대기 상태라고 생각하면 됨.
상태 검사이며, 특정 서버의 서비스에 작업을 성공적으로 수행할 수 있는지 여부를 물어보는 것임
서버나 네트워크가 정상인 상태에 있는지 여부를 확인하는 작업
(QA에서 많이 쓰는 용어)
화이트리스트는 말그대로.. 특정 상황 조건에서 신뢰할 수 있는 요소를 지칭할 때 사용
블랙리스트의 반댓말로 생각하면 좀더 간단함.
EX)IP 화이트리스트
네트워크, 서버 접근 허용되는 IP 주소 목록
이외 API 화이트리스트, 앱스토어 화이트리스트 등...
회귀 테스트라고도 하며 QA 쪽에서 많이 쓰는 단어입니다.
이전에 제대로 작동하던 소프트웨어 기능에 문제게 생기는 것을 의미합니다.
회귀 테스트를 진행하여, 이전에 잘 고쳐졌던 오류가 혹시 재발생 하는지에 대한 검사등을 진행합니다.
-> 관련 용어 : 회귀 버그 (변경 중 뜻하지 않게 발생하는 버그)
이미 테스트된 프로그램을 테스팅 할 때 사용한다
REST기반으로 만들어진 API 를 의미한다.
HTTP 프로토콜을 통해 API를 설계하기 위한 아키텍처 스타일이라고 할 수 있다.
HTTP 데이터 요청을 통해 데이터 생성, 읽기,삭제와 같은 CRUD 작업을 진행할 수 있다.
둘다, 소프트웨어 개발 과정을 자동화하고, 개선하기 위한 방법론
CI : 개발자를 위한 자동화 프로세스 "지속적인 통합"
사소한 변경 사항들을 단 기간에 통합할 수 있고, 빠르고 깔끔한 코드를 제공할 수 있음. 코드 변경사항을 자주 메인 저장소에 머지 하는 것
(코드를 자주 통합하여, 문제를 조기에 발견하는데 포커싱 되어있음)
CD : 지속적인 서비스 제공 및 지속적인 배포
ci 과정을 확장한 버전, 모든 코드 변경사항이 테스트를 거쳐 자동으로 릴리즈가 되도록 준비하는 과정
(배포될 준비가 되어있도록 보장한다)
테스트 환경이나 실제 객체나 행위를 가상의 객체 에서 대체해서 하는 작업이다.
데이터 베이스, api 같은 애들을 모킹해서 모크 객체를 사용하여 api 호출을 시뮬레이션 합니다.
행위를 검증하고, 환경제어를 테스트해보기 위해 주로 진행함.
또한 테스트 대상 코드가 외부 시스템에 영향을 미치지 않도록 진행하는 이유가 있음.
모킹을 하기 위해선 다양한 라이브러리가 사용된다!
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
저도 데이터 쪽 취준 중인데 유용한 정보 얻고 갑니다! 부트캠프 듣다가 다른 사람들은 어떻게 공부하는지 궁금할 때 가끔 블로그 찾아보고 있는데 도움이 많이 됩네요~! 혹시 데이터 취준에 도움 되실까 해서 제가 듣는 부트캠프 링크도 남겨드려요! (https://bit.ly/3UPB0go) 전에 빅데이터 국비 듣다가 코딩만 하고 개발 공부를 시키길래 너무 시간 낭비라는 생각이 들어서 시작했는데, 한양대 교수님이랑 머신러닝, 딥러닝 프로젝트 하고 있어요!ㅎ Seoyoung님도 취준 힘내세요!
탕 탕 후루후루