Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 5.1 KB

dev-terminology.md

File metadata and controls

56 lines (40 loc) · 5.1 KB

개발하며 헷갈리거나 모르는 용어 정리

Java

  • 멤버 변수 : 메소드 밖에서 선언된 변수를 말한다.

    메소드 안에 선언된 변수는 지역(local) 변수라고 한다.

  • VO : Value Object의 약자로 값 오브젝트이다. 값 오브젝트는 말 그대로 값을 위해 쓰는 것이다. 자바는 값타입을 표현하기 위해 불변클래스(readOnly)를 만들어 사용한다. 이러한 클래스는 중간에 값을 바꿀 수 없고 새로 만들어야 한다.

    DTO, VO?
    DTO도 VO도 결론적으로는, 직접 데이터를 넣어주기 보다는 넣어진 데이터를 getter를 통해 사용하므로 주 목적은 같다. 하지만 DTO는 불변 클래스 성격과는 거리가 멀다. 또한, DTO는 인스턴스 개념이고 VO는 리터럴 값 개념이다. (엄연히 말해서 리터럴을 흉내낸 것)

Network

  • 패킷(packet) : 패킷은 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다.
    패킷은 제어 정보와 사용자 데이터로 이루어지며 이는 페이로드 라고 하며 패킷을 지원하지 않는 컴퓨터 통신연결은 단순히 바이트, 문자열, 비트를 독립적으로 연속하여 데이터를 전송한다.

    데이터가 패킷으로 형식이 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신뢰성있게 보낼 수 있다.

Devops

  • deploy : 프로그램 등을 서버와 같은 기기에 설치하여 작동 가능하도록 만드는 일

etc.

  • parsing : 구문 분석이라고 한다. 문장이 이루고 있는 구성 성분을 분해하고 분해된 성분의 위계관계를 분석하여 구조를 결정하는 것.

    데이터를 분해 분석하여 원하는 형태로 조립하고 다시 빼내는 프로그램

  • 후킹(hooking) : 소프트웨어 공학 용어로, 운영체제나 응용 소프트웨어 등의 가종 컴퓨터 프로그램에서 소프트웨어 구성요서 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명려으 방법, 기술이나 행위를 말한다.

  • 리터럴(Literal) : 데이터(값) 그 자체를 뜻한다. 즉, 변수에 넣는 변하지 않는 데이터를 의미하는 것.

    const a = 1;
    여기서 a는 상수이고, 1은 리터럴이다.

  • 기아상태 : 프로세스가 끊임 없이 필요한 컴퓨터 자원을 가져오지 못하는 상황으로, 이러한 자원없이는 처리를 끝낼 수 없는 병행 컴퓨팅에서 마주치는 문제이다.

  • 오버헤드 : 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간, 메모리 등을 말한다.

    예를 들어 A라는 처리를 단순하게 실행한다면 10초가 걸리는데, 안정성을 고려하고 부가적인 B라는 처리를 추가한 겨로가 시간 처리시간이 15초가 걸렸다면, 오버헤드는 5초가 된다.

  • 어셈블리어 : 어셈블리어(영어: assembly language) 또는 어셈블러 언어(assembler language)는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.

  • 어셈블러 : 어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램을 말한다.

    어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환시키는 프로그램이다.
    몇몇 사람들은 이러한 명령어들을 어셈블러 언어라고 부르며, 어셈블리 언어라고 부르는 사람들도 있다.

  • 기계어 : CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어를 통틀어 일컫는다. 기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다.

    기계어는 어셈블리어와 1 : 1로 쓰일 수 있다. 다시 말해 컴퓨터 프로그래밍에서 기계어는 대부분 어셈블리어를 거쳐 짜여지게 된다.
    어셈블리어가 아직 만들어지기 전에는 기계어를 직접 입력하여 프로그램을 작성하기도 했으며, 오늘날에도 흔치는 않지만 그렇게 하는 사람이 있다.
    기계어는 CPU의 종류에 따라서 서로 다른 코드를 갖게 된다.

  • 트러블슈팅 : 시스템이나 장치 등에서 발생한 장애를 각종 수법을 써서(그 발생 개소나 발생 원인을) 추구하고, 찾아내는 것.

    IT업계의 용어로 시스템에서 발생하는 복잡한 문제들을 종합적으로 진단해 처리한다는 뜻이다.

  • 바인딩 : 프로그램에 사용된 구성요소의 실제 값 또는 프로퍼티를 결정짓는 행위를 의미

    예를 들어 함수를 호출하는 부분에서 실제 함수가 위치한 메모리를 연결하는 것도 바인딩이다.

  • 트레이드오프 : 다른 측면에서 이득을 얻으면서 집합 또는 디자인의 품질, 양, 속성을 없애버리거나 잃어버리는 일이 수반되는 상황적 결정

    즉, 하나가 증가하면 다른 하나는 무조거너 감소한다는 것을 뜻한다.