심심할 때 꺼내먹는
인프런 단어짱
#소소한
#IT용어
#단어짱
매번 쓰면서도 헷갈리는 용어,
명확하게 이해하기 힘든 용어가 있죠.
매월 첫 번째, 세 번째 화요일 발행되는
인프런의 뉴스레터, 헬로 인프런에는
다양한 IT 용어의 의미를 쉽게 정리한
[인프런 단어짱] 코너가 있는데요.
오늘은 [인프런 단어짱]에 실렸던
용어들을 한곳에 모아봤어요!
소소한 IT 용어 모음집 🗂️
생각 없이 가볍게 쓱,
유용한 IT 용어 맛보고 가세요.
쿠키(cookie)
- 웹사이트 첫 페이지 화면에서 종종 [쿠키 수집에 동의] 버튼을 보신적 있으신가요?
- 쿠키(cookie)는 1994년 넷스케이프가 발명한 기술로, 인터넷 사용자가 어떠한 웹사이트를 방문할 때, 웹사이트에서 사용자의 브라우저에 전송하는 작은 텍스트 조각이에요. 최대 약 4,000바이트를 포함할 수 있답니다.
- 쿠키를 통해 웹사이트는 로그인 상태, 장바구니, 사용자 설정 등 과거 이용내역의 일부 데이터를 저장해요. 대신 유효 기간이 있어 그 이후에는 브라우저에서 삭제됩니다.
캐시(cache)
- 캐시는 데이터를 미리 복사해 놓는 임시 저장 공간이에요.
- 캐시는 브라우저 또는 앱 등을 더 빠르고 효율적으로 실행할 수 있도록 앱이나 웹 사이트를 처음 들어가면 만나는 파일, 이미지 및 기타 관련 데이터를 디바이스에 저장해요.
- 캐시를 사용하면 반복적으로 데이터를 불러와야 할 때, 매번 데이터를 요청하는 것이 아니라 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있어요.
TDD(Test-driven development, 테스트 주도 개발)
- TDD는 소프트웨어 개발 방법론 중 하나로, 테스트 후 개발하는 방식을 말해요.
- 자동화된 테스트 코드를 작성하고, 테스트를 통과하기 위한 코드를 개발하고, 그 코드를 표준에 맞도록 리팩토링하는 일련의 프로세스에요.
- 짧은 개발 사이클을 반복하는 TDD는 과도할 경우 오히려 생산성을 저하하도 하지만, 적당한 TDD는 효율적인 개발에 도움을 줄 수 있어요.
팝업, 모달, 얼럿, 컨펌
- 팝업(Pop-Up)은 하나의 브라우저에서 새로운 브라우저를 여는 방식을 말해요. 브라우저 옵션에서 팝업 차단으로 노출을 막을 수 있어요.
- 모달(Modal)은 새로운 브라우저를 띄우지 않고 창 안에 종속된 레이어를 겹쳐 올리는 방식이에요. 현재 페이지와 관련 있거나 다음 진행을 위해 필요한 내용을 알릴 때 사용합니다.
- 시스템에서 유저에게 알림을 주는 창도 있어요. 얼럿(Alert)은 경고나 중요한 내용을 알리는 역할을, 컨펌(Confirm)은 확인/취소, 예/아니오처럼 True/False를 입력받는 역할을 합니다.
리팩토링(Refactoring, 리팩터링)
이미 작성한 코드의 구조를 개선하는 일을 말해요. 코드가 구현하는 결과와 겉으로 보이는 동작은 그대로 유지하지만, 내부를 고쳐 가독성을 높이고(클린 코드) 유지 보수하기 쉽게 만들죠. 잘 다듬어진 코드를 통해 개발하는 데 드는 시간을 절약하고 효율을 높일 수 있어요.
마이그레이션(Migration)
- 마이그레이션은 데이터를 한 운영 환경에서 다른 운영 환경으로 옮겨가는 프로세스를 말해요. 단일 시스템의 이동 같은 소규모 마이그레이션도 있고, 많은 시스템이 새로운 애플리케이션이나 네트워크로 이동하는 대규모 마이그레이션도 있어요.
- 오늘날에는 클라우드 기반 스토리지나 애플리케이션으로 이전 및 전환하는 클라우드 마이그레이션이 빈번하게 이루어져요.
기술 부채, 레거시(Legacy)
- 개발에서 레거시(Legacy)란 과거에 개발되어 지금도 물려 내려와 쓰이고 있는 낡은 소스 코드나 시스템, 애플리케이션을 말해요.
- 촉박한 일정과 상황적 한계에 맞춰 개발을 진행하다 보면 프로젝트에 대한 기록과 문서를 제대로 남기지 못하거나, 코딩 컨벤션이 엉망이 되거나, 유지보수하기 어려운 레거시 코드가 늘어나거나, 자동화할 수 있는 일에 대해 자동화 처리를 해두지 않는 등 여러 가지 문제점이 누적될 수 있어요. 이를 기술 부채(Technical Debt)라고 합니다.
- 지속 가능한 개발을 위해서는 현재 프로덕트의 상태를 잘 인지하고, 리스크를 관리하며 기술 부채를 서서히 줄여나가는 것이 중요합니다.
애자일, 워터폴
- 애자일(Agile)이라는 단어는 "행동이 민첩한, 날렵한"이라는 뜻을 가지고 있어요. 기획, 개발, 출시와 같은 주기를 의미하는 스프린트를 여러 번 거치며 고객의 요구와 환경에 맞게 개선됩니다. 급변하는 환경에 빠르게 대응하고 적극적인 협력을 하기에 개발 과정이 빠르고 수정이 용이하다는 장점이 있어요. 그렇지만 수많은 변경 사항 때문에 이를 검토하고 매번 수정하는 것이 번거로울 수 있다는 단점이 있어요.
- 워터폴(Water fall)은 "폭포수"라는 뜻으로 제품 개발에 있어 위에서 아래로 물이 떨어지는 것처럼 순차적으로 진행되는 방식을 말해요. 하나씩 단계별로 이루어지기에 체계화된 문서를 바탕으로 안정적으로 진행될 수 있고 관리가 용이하다는 장점이 있어요. 하지만 반대로 개발 속도가 느린 편이며 순차적인 타임라인에 따라 개발이 이루어지기에 변경이 쉽지 않다는 단점도 있어요.
아키텍처(Architecture)
영어로 '건축학'을 의미하는 아키텍처. 개발자들은 보통 시스템 아키텍처라는 표현을 쓰는데요. 시스템의 최적화를 목표로, 구성과 동작 원리, 구성 환경 등을 설계하고 설명하는 것을 의미합니다. 어떤 프레임워크와 라이브러리를 쓸지, 개발 과정에서 발생할 수 있는 변수는 무엇인지 등 튼튼한 시스템을 구축하기 위해 반드시 필요한 큰 그림이에요.
세션, 트래픽
- 세션(Session)이란 사용자 한 사람이 웹 브라우저를 통해 서비스에 접속했을 때 연결되는 상태 정보를 서버에서 유지하는 기술을 뜻해요. 웹 서버에 접속해서 브라우저를 닫기 전까지의 상태를 세션이라는 하나의 단위로 부릅니다.
- 사용자가 브라우저 창을 닫거나 정해진 시간 내에 새로운 요청을 보내지 않으면 세션은 자동으로 만료돼요.
- 사용자의 로컬 환경에 최대 4,000바이트의 문자열을 저장하는 쿠키(Cookie)와 달리 세션은 저장 데이터에 제한이 없고, 서버에 저장됩니다.
- 트래픽(Traffic)은 서버를 통해 일정 시간 동안 서비스 사용자에게 전송하는 데이터의 양이에요.
- 서비스에 접속하는 사용자가 늘어날 때 세션마다 담긴 데이터가 크다면 서버 부하가 커질 수 있어요. 세션이 서버 자원을 쓰기 때문이죠. (= 트래픽 증가)
UX, UI
- UX (User eXperience)는 사용자 경험을 뜻하며, 사용자가 어떤 제품, 서비스 등을 이용하면서 느끼는 반응이나 행동과 같은 경험을 총체적으로 설계하는 것입니다.
- UI (User Interface)는 사용자가 실제로 마주하게 될 레이아웃과 같은 디자인을 말합니다. 사용자가 제품을 어떤 방식으로 이용하도록 만드는 시각화 작업이라고 할 수 있습니다.
PR(Pull Request)
- GitHub에서 제공하는 기능으로, 기존 GitHub 보관소에 보관된 코드 베이스에서 내 작업으로 인해 생긴 변동사항(추가, 삭제, 수정 등)을 코드 베이스에 포함해달라고 보내는 요청을 말해요.
- 보통 개발자들은 코드 합병, 충돌 방지 등의 이유로 PR을 해요. 코드를 중심으로 PR을 통해 소통하며 코드의 질을 더 나은 방향으로 이끌어갈 수 있어요.
- 소통을 위한 행위이기 때문에 요청받는 사람이 읽기 편하게 작성하는 게 좋습니다. 그래서 기업에선 PR 템플릿을 만들어두기도 해요.
트래픽(Traffic)
- 서버를 통해 일정 시간 동안 서비스 사용자에게 전송하는 데이터의 양이에요.
- 서비스 접속 사용자가 늘어나거나, 세션마다 담긴 데이터가 크면 트래픽이 증가해 서버 부하가 커질 수 있어요.
- 최대 트래픽의 상한선을 초과해 기능이 중단되지 않도록 서비스를 잘 관리해야 합니다.
쿼리(Query)
- 데이터베이스(DB)에 데이터를 요청할 때 보내는 문장이에요. 한국어로 ‘질의’라는 뜻이죠.
- DB에서 데이터를 조회, 입력, 수정, 삭제, 저장하기 위해서는 특정한 코드로 명령을 내려야 합니다.
- 이때 DB용 언어인 SQL로 이루어진 코드 문장(=쿼리)을 보내서 원하는 결과를 얻을 수 있어요.
GUI, CLI
- GUI (Graphical User Interface)는 입출력 등의 기능을 아이콘 같은 그래픽으로 나타낸 그래픽 사용자 인터페이스를 말해요. 클릭, 터치 등으로 쉽게 작업을 수행할 수 있어요.
- Windows, macOS 등 평소 많이 쓰는 운영체제 속 바탕화면 인터페이스가 대표적이에요.
- CLI (Command-line Interface)는 명령어를 문자열 형태로 입력해서 작업을 수행하는 명령 줄 인터페이스를 말해요. 명령어를 알고 있어야 작업을 수행할 수 있어요.
- 검은 화면에 명령어가 가득 써있는 명령 프롬프트 등이 대표적이에요.
[인프런 단어짱]을 계속 받아보고 싶다면?
매달 첫 번째 & 세 번째 화요일마다 찾아오는 인프런 뉴스레터,
[헬로 인프런]으로 가장 빨리 인프런 단어짱을 받아보세요!
헬로 인프런 구독하러 가기 💌
([인프런 소식 및 홍보]를 ON으로 바꿔주세요 😊)
댓글 5
댓글을 작성해보세요.
넘 좋아요~ 어렵지만 열심히 배우는중입니다 ^^~
감사해요~
감사합니다~
감사합니다!
굳