IT는 참 이상하다. 개발 기술 자체는 명확한데 개발자들끼리 커뮤니케이션하다보면 말하는 방법도 다르고 단어도 다르다. 그래서 정리해봤다. 간지나는 실무 용어 정리다. 자료조사와 생각나는대로 이 게시글에 정리해볼 생각이다.
요즘 댓글을 확인하며 조금 더 상세하게 작성해야겠다는 생각이 든다. 얏빠리 너무 방심해버린걸까나 ㅎㅎ 나 역시 개발자기 떄문에 확실한 정보를 추구한다. 그런 의미에서 잘못된 정보에 대한 지적은 언제나 환영이다. 자 그럼.. 이쿠죠..
지구의 모든 개발자들아! 나에게 힘을줘!..
IT 리소스, 시스템, 플랫폼, 환경을 제어하는 인력으로 대부분 하드웨어나 CI/CD 관리를 한다.
Development + Operation 개발과 운영을 결합해 탄생한 개발 방법론으로 개발 운영 둘다 하란 뜻이다.
컴파일이란 소스 A > B로 변환하는 작업을 말한다. 우리가 Java, C#로 코드를 짜봤자 컴파일이 없다면 컴퓨터는 해당 소스를 실행시키지 못한다. 한마디로 기계어로 변환하는 작업을 말한다.
인터프리터는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램으로 모든 소스를 번역해 결과파일을 만들어내는 방식의 컴파일과 다르게 줄단위 실행으로 초기 속도는 빠르나 성능상 컴파일 프로젝트보다 낮다.
여러 개의 소스를 1개의 실행 파일로 패키징하는 작업으로 컴파일언어의 경우 내부에 컴파일 프로세스가 포함되어있다.
빌드된 실행 바이너리를 실행할 수 있는 환경에 업로드하는 것을 말한다. 우리가 이거할라고 똥꼬쑈한다고 생각하면 된다.
애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 릴리즈하는 방법으로 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포다. 그니까 개발 이후에 똥꼬쇼할 필요없이 웹 서버 안내리고 자동화된 배포와 파일 병합등을 제공하는 것을 말한다.
취약점은 공격자가 시스템의 정보 보증을 낮추는데 사용되는 약점이다. 한마디로 해커들의 공격인데 언제나 늘 새로운 방법으로 우릴 짜증나게한다. 제품 경쟁시 취약점 처리 여부도 포함되어있다. 검수 전에 처리 안되면 위약금 오지게 내는 경우가 발생하니 주기적으로 취약점 추적 및 예방이 필요하다. 만들었다고 끝나는게 아니라고
특정 이름으로 웹 서버의 IP로 연결하는 시스템이다. 네이버도 모두 고유의 IP를 가진 웹 서버를 운용할 것이다. 가시적으로 보이기 위해 www.naver.com 이라는 도메인으로 서비스를 제공하는 것이다.
다 네트워크와 관련있는 개념이다. NAC과 NAT은 보안에 해당하고 NAS는 네트워크 스토리지를 뜻한다.
컴퓨터끼리 데이터 송수신을 위해 사용하는 규약으로 다음과 같은 종류가 있다.
이 정도만 알아도 실무에서 어버버대진 않는다. (프로토콜의 종류와 포트에 대해서는 다른 글에서 다루겠다.)
전송 계층 보안는 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약이다. 간단하게 HTTPS를 적용하기 위해 SSL 인증서를 적용해야된다. 정도로 이해하고 넘어가자. 이거 설명할라면 글 따로 써야된다.
가설사설망으로 VPN 네트워크에 접속하게 되면, 외부에 있는 컴퓨터라도 내부 네트워크에 접속해 있는것처럼 이용할 수 있다. 그니까 외부에서 내부 인트라넷 네트워크에 접근하려면 이 VPN을 사용해야된단 얘기다.
인터넷 트래픽은 인터넷을 경유하는 데이터의 흐름이다. 당신이 입사해서 트래픽 많이 발생하는데? 라는 말을 듣는다면 해당 서버로 사람들이 오지게 들어오고 있구나 이해하면 된다는 뜻이다.
부하분산 또는 로드 밸런싱은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 한마디로 대규모 서비스를 제공하는데 서버 1대만 뭐빠지게 일하면 힘드니까 비율을 정해 서버의 트래픽을 분산하는 것을 말한다.
아마존 AWS Elastic Compute Cloud의 약자 EC2를 말하는 것. 그냥 AWS에서 제공하는 클라우드 가상 컴퓨팅 시스템을 말하는 것이다.
MicroService Architecture의 줄임말로 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법, 분업과 책임전가에 제격임
운영환경에 적용하기 전에 확인하는 서버로 불안감이 많은 한국인들에게 무조건 적으로 필요한 서버다. 운영환경과 동일한 설정을 기반으로 완전히 배포되기 전 오류가 없는지 검토하기 위한 서버
'와 이거 지금 이대로 나두면 X된다' 싶은 오류를 즉각적으로 처리하기 위해 긴급 배포하는 것을 말한다.
HTML, CSS 및 JavaScript를 사용하여 웹 사이트의 그래픽 사용자 인터페이스를 구현하는 개발이다.
프론트 엔드에 있는 사용자들이 하고자 하는 행동을 처리하는 것으로 로그인, DB 작업 등 뒷단 기능을 구현하는 개발이다.
프론트 엔드 + 백 엔드 둘다 가능한 스펙
개발 도구의 집합으로 Java의 JDK를 말한다. 그냥 어떤 언어를 사용해서 코드를 짤때 코딩을 위한 바이너리 패키지를 SDK라고 하는 구나 정도로 이해하면 된다. 이거 빠삭하다고 직장 안바뀐다.
씨알유디라고 불리는 데 우리가 게시판을 만들어도 CRUD 기능을 전부 포함하고 있다. C는 create, R은 read, U는 update, D는 delete를 뜻한다.
말그대로 벌레, 실행 중 발생하는 오류를 말하며 소스를 벌레처럼 짜면 버그가 발생한다.
말그대로 벌레잡이, 벌레가 발생한 원인을 찾기위한 절차로 님들 취직하면 한평생해야되는 것이다.
이타치 빙의해서 오류가 발생할 상황을 미리 예측하고 예방해놓는 코딩방식으로 비정상적으로 종료되지 않도록 하기 위해 하는 작업이다. 이거 잘해놓으면 간지남 좀;
스냅샷은 여러 방면에서 살짝 다른 의미를 갖고 있는데 특정 시간에 데이터 저장 장치의 상태를 별도의 파일로 저장하는 것을 말하며 스냅샷 기능을 이용하여 데이터를 저장하면 유실된 데이터 복원과 일정 시점의 상태로 데이터를 복원 가능하다.
연결 오류가 뜨는 경우 네트워크가 연결됐는지 확인해야 될 때가 있는데 그때 '해당 서버로 핑날려봐' 라는 멘트를 듣게된다. cmd창에서 ping 대상IP 명령어를 입력해 트래픽 송신 정보가 정상적으로 찍히면 연결된 것이다.
이게 진짜 개발자별로 의미가 상이한 단어 중하난데, 정말 포괄적으로 많이쓰이는 단어다. 원래 모듈이란 프로그램을 구성하는 요소의 일부로 단위 기능을 뜻한다. 근데 라이브러리나 서드파티 모듈등을 전부 모듈이라 칭해서 이건 좀 눈치가 있어야한다.
특정 프로그램의 구동환경을 말하는 것이다. Javascript의 nodeJS와 같은 개념이라고 생각하면 된다.
! 프레임워크와 라이브러리의 차이는 프로젝트나 기능을 구축함에 있어 제어권이 어디에 있느냐의 차이다. 라이브러리는 참조하여 개발자가 객체를 만들고 제어하지만 프레임워크는 객체에 대한 정보만 설정해놓으면 프레임워크가 알아서 처리하는 구조를 띈다. 부트스트랩, react, vue, angular와 같은 녀석들은 프레임워크로 분류되고 Jquery, D3, PDF 등등 솔루션을 더 풍부해지게 도와주는 짜바리들을 라이브러리로 분류된다.
하드웨어나 소프트웨어 등의 제품을 제조하고 있는 주요 기업이나 그 계열 회사 또는 기술 제휴를 하고 있는 기업이 아닌 제3자 기업을 부르는 말이다.
상수나 변수에 들어가는 값을 소스코드에 직접 쓰는 방식을 말한다. 보통 개발할 때는 입력 값을 받던지 전달받는 구조를 많이 띄는데 그냥 "" 형태로 코드에 대놓고 쳐박는걸 말한다. 이게 많을 수록 프로그램은 유연하지 못한 구조를 띄게되는데 필요한 상황이 꼭 생긴다.
우리가 일상적으로 보는 태그로 시작해서 끝나는 형태를 말하는데 HTML, XML의 뒤에 ML이 마크업 랭귀지의 약자다.
프로그래밍에서는 개인정보 보호를 위한 하나의 보안과정을 의미하는데 예를 들어 주민등록번호의 뒷자리를 * 문자로 치환하는 것을 마스킹이라 한다.
이것도 많은 의미로 사용될 수 있는데 쉽게 말해서 2가지 정도로 구분하여 설명할 수 있겠다.
어떤 기능을 수행하는 실질적인 코드를 말한다. 자바 스프링으로 예를 들어보면 컨트롤러에 비즈니스 로직을 구현하는 것은 바람직하지 않다. 이런 멘트를 본적이 있을 것이다. 이것은 컨트롤러는 클라이언트와의 연결점 역할만 하고 실제 실행하는 코드는 서비스에 구현하라는 얘긴데 말그대로 실제 실행하는 코드를 비즈니스 로직이라 칭한다.
웹 표준이란 브라우저 종류 및 버전에 따른 기능 차이에 대하여 호환이 가능하도록 제시된 표준이다. 아직도 IE쓰는 원시인들을 위한 정책이다.
웹 서비스 프로그램이 최대한 많은 종류의 웹 브라우저에서 정상적으로 작동하게 구현하는 방법론이다. 보통 구형 IE에서 가장 많은 문제가 나타나는데 이런 구석기 브라우저도 지원 가능하게 개발 방법론이다.
통합 개발환경의 줄임말로 개발자들 출근하면 항상 키는 인텔리제이, 이클립스, 비쥬얼스튜디오등을 통칭하는 단어다. 코딩, 디버깅, 빌더, 형상관리 부가기능 등이 포함되어 있다.
어떤 기능에 대해 어떤 순서로 어떻게 동작할 것인가를 정리한 문서로 기획팀이 UX를 적용시켜 내놓은 결과물이다. 중요한것은 이대로 짜줘도 바꿔달라함
PL은 Project Leader를 말하고 PM은 Project Manager를 말한다. 보기엔 PL이 더 높아보이지만 PL은 특정 파트의 리더 역할로 하나의 프로젝트의 수많은 PL이 있다. 개발 PL, UI/UX PL.. 뭐 등등 PM은 총괄자인데 프로젝트 일정이나 인원 배분 등 프로젝트의 결정자 역할을 한다. 한마디로 PL은 골목대장, PM은 지역구 짱이다.
SI는 기업이 필요로 하는 서비스 시스템을 기획부터 개발, 구축 등 모든 서비스를 제공하는 사업 형태로 쉽게 말해 그냥 외주나가서 갑질당하고 줘뺑이치는걸 말한다.
SI 프로젝트가 끝난 뒤 해당 시스템에 대한 유지 보수 사업으로 SI보단 윤탄한 삶을 보장받을 수 있지만 이후 이력서 포트폴리오에 쓸게 없어진다.
AS-IS는 변경되기 전, 현 상황이고 TO-BE는 어떻게 바뀌겠다 지향점을 말한다. 그니깐 AS-IS는 이래서 문젠데~ TO-BE 어떻게 개선할 것이다~ 라는 건데 한마디로 판타지다.
Task Force Team의 약자로 특정 프로젝트 진행시 임시로 구성된 팀을 말한다. 말이 좋아서 TFT지 회사에 노는 인력 끌어다가 프로젝트하는 인력사무소 느낌이라 보면 된다.
Work Breakdown Structure, 직역하면 작업 분할 구조로 개발 일정, 업무 사항을 분류하여 일정을 관리하기 위한 문서다. 각 담당자들은 자신의 업무가 전체적으로 나아가는 방향에 대해서 스스로 일정을 확인할 수 있고 전체적인 업무 파악에도 도움을 준다. 이것도 그냥 성과 책임제를 위한 장치다. '몇일까지 하기로 햇는데 해냈다/못했다' 를 한눈에 볼 수 있기 때문에 성과 분석에 있어 아주 유용한 녀석이니 조심하자
기획자가 구성해놓은 화면 설계서로 이 버튼 누르면 어디 페이지로 이동하고 이 버튼 누르면 로그인되고 이런걸 명시해 놓은 문서다. 스토리 보드를 토대로 프로젝트를 구현한다.
UI는 User Interface 즉 우리가 보는 화면이고 UX는 User eXperience 사용자의 경험 정보를 말한다. 즉 어떤 버튼을 눌렀을 때 어떻게 작동해야 사람들이 가시적으로 이해하고 넘어가겠는가가 UX다.
Graphic User Interface 말그대로 그래픽 기반 UI다. 우리 눈알에 들어오는 그거
Man-Month란 월간 인력 투입 규모 비용을 산정하는 단위로 어떤 개발을 함에 있어 몇 맨먼스가 든다. 이런식으로 표현하는데 그냥 머릿수, 개월수 세서 얼마나 걸리는지 간지나게 표현하기 위해 사용한다.
소비자들을 자신의 고객으로 만들고, 이를 장기간 유지하고자 하는 경영방식이며 기업들이 고객과의 관계를 관리, 고객 확보, 그리고 고객, 판매인, 협력자와 내부 정보를 분석하고 저장하는데 사용하는 광대한 분야를 아우르는 방법이다. 솔직히 이전 회사에서 연차쓸때 말고 들어가본 적이없음
경영 정보 시스템의 한 종류로 전사적 자원 관리는 회사의 모든 정보 뿐만 아니라, 공급 사슬관리, 고객의 주문정보까지 포함하여 통합적으로 관리하는 시스템이다. 그니까 회사에 경영정보라던지 자원을 모니터링하는 솔루션이라고 보면 된다.
통합보안관리(ESM)는 방화벽, 침입탐지시스템(IDS), 침입방지시스템(IPS), 가상사설망(VPN) 등의 보안 솔루션을 하나로 모은 통합보안 시스템을 말한다.
조직 애플리케이션, 보안 장치와 호스트 시스템에 의해 생성되는 로그 및 이벤트 데이터를 수집하고, 그 데이터를 하나의 중앙 집중식 플랫폼으로 통합하는 방식으로 ESM에서 확장된 방식이다.
기능 변경없이 원래 구현된 코드를 깔끔하게 정리하는 절차를 말한다. 이거 하다보면 진짜 코드 개같이 짜는 애들 많음;;
이것도 어떤 상황에 사용되냐에 따라 의미가 조금 상이한데 그냥 기존 운영환경 A에서 B로 옮기는 작업이라고 생각하면 된다. 보통 운영 환경이나 플랫폼, 데이터 마이그레이션등이 있다.
서버나 네트워크가 정상 작동하는지 모니터링하는 것을 뜻함. 그냥 인간 건강검진정도로 생각하면 쉬울 듯?
프로젝트에 참여한 인원들의 코드를 점검하는 절차로 공개적 개쪽을 주기위한 자리다. 글게 첨부터 좀 꼼꼼히 잘해라
대충 주의깊게 행동을 지켜보는 행위를 말한다. 감시지 감시
개발 풀이 커질 수록 용어는 늘어만 갈 것이다. 이 게시 글의 수정이 멈추는 날, 나도 치킨을 튀기겠지..
오늘 저녁은 BBQ치킨이다. 🥕
표현이 시원시원해서 좋네요 ㅋㅋㅋ 🔥