본문 바로가기
반응형

IT/Knowledge272

UUID란?(Universally Unique Identifier) 네트워크에서 고유성이 보장되는 id를 만들기 위한 규약이다. 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위해서는 각각의 고유한 이름이 필요하다. 이 이름은 고유성(유일성)이 매우 중요하다. 같은 이름을 갖는 개체가 존재한다면 구별이 불가능해 지기 때문이다. 고유성을 완벽하게 보장하려면 중앙관리시스템이 있어서 일련번호를 부여해 주면 간단하지만 동시다발적이고 독립적으로 개발되고 있는 시스템들의 경우 중앙관리시스템은 불가능하다. 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족할 수 있는 방법이 필요하다. 이를 위하여 탄생한 것이 범용고유식별자(UUID)이며 국제기구에서 표준으로 정하고 있다. 표준형식은 32개의 16진수로 표현이 되며 총 36개 문자로 된 5개 그룹 하이픈으로 구분하며 레이아웃.. 2023. 9. 1.
APM 이란?(Application Performance Management) 이전 포스팅에서 APM에 대해서 다룬적이 있었다. Apache + Php + Mysql 의 약자로 웹을 기동하기 위한 최소한 필요한 것들의 집합이고, 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅에서의 APM은 좀 다른 APM이다. 먼저 위키백과의 설명으로는 다음과 같다. 애플리케이션 성능 관리 (Application Performance Management): 응용 소프트웨어의 성능과 서비스 이용성을 감시하고 관리하는 데 초점을 둔 시스템 관리 원칙 이번 포스팅에서는 간단하게 추려서 용어 설명 정도만 기술할 것이다. 모니터링 시스템을 사용할 경우 자주 마주하게 되는 APM이다. 데브옵스들이나 엔지니어 들은 APM 툴을 이용해서 퍼포먼스를 쉽게 찾을수 있고 문제 해결을 신속하게 할수 있다... 2023. 8. 31.
의사코드(pseudocode)란? 의사코드라고도 하고 영어를 읽으면 발음이 슈도 코드 라고 하는데 이 슈도 코드란. 말 그대로 의사대로 코드를 적은 것이다. 나무 위키 정의는 다음과 같다. 알고리즘을 표현하는 방법 중 하나로, 일반적으로는 자연어[2]를 이용해 만든 문장을 프로그래밍 언어와 유사한 형식으로 배치한 코드를 뜻한다. 용도는 미술의 스케치와 같다. https://namu.wiki/w/%EC%9D%98%EC%82%AC%EC%BD%94%EB%93%9C 의사코드 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권 namu.wiki 실제 자바나 파이선 등에 맞는 문.. 2023. 8. 27.
Daemon의 방식 Daemon에 대해서는 예전에 Batch와 비교하는 글을 남겨둔 적이 있다. 자세한 내용은 참고 포스팅 참고 바란다. Daemom은 크게 두가지 방식이 있다. Standalone방식과 inetd방식이다. 둘의 차이에 대해서 다뤄볼 것이다. Standalone 방식 데몬 데몬이 OS 부팅과 동시에 실행이 되면서 항상 백그라운드에서 대기 하다가 해당 서비스 요청이 생기면 즉각 처리 하는것 inetd 방식 데몬 빠른처리가 필요는 없고, 빈번하게 호출이 되지 않는 서비스의 경우 sleep상태로 존재하고 클라이언트로부터 요청이 들어오면 슈퍼데몬인 xinetd 데몬에 의해 wake up 되어 서비스 수행후 다시 sleep 상태로 전환 xinetd(슈퍼데몬)이란. standalone 방식으로 존재하며 inetd 방식.. 2023. 8. 25.
Multi-thread 쓰레드에 대해서 사용을 할때 멀티 쓰레드에 대한 내용을 다뤄보려고 한다. Thread 에 대한 기본적인 내용은 아래 참고 포스팅 참고 바란다. 멀티 쓰레딩이란 아래 그림을 보면 이해가 쉬울 것이다. 왼쪽 싱글 스레드에 비해 오른쪽 여러개의 멀티 쓰레드는 병행 처리를 하면서 스레드의 부하를 줄여주기도 하고 경우에 따라서는 더 빠른 속도를 나타내기도 한다. 장점 응답성 프로그램의 일부분(스레드)이 중단되거나 긴 작업을 수행하더라도 프로그램의 수행이 계속 되어 사용자에 대한 응답성이 증가 ex) 멀티 스레드가 적용된 웹 브라우저 프로그램에서 하나의 스레드가 이미지 파일을 로드하고 있는 동안, 다른 스레드에서 사용자와 상호작용 가능 경제성 프로세스 내 자원들과 메모리를 공유하기 때문에 메모리 공간과 시스템 자원.. 2023. 8. 10.
CircuitBreaker 란? 서킷 브레이커는 해석을 그대로 하면 누전 차단기 라는 뜻이다. 누전 차단기의 역할은 과부하가 걸렸다면 차단을 해버리는데, 통신에서도 이와같이 특정 서비스로 쓰레드가 몰리게 되면 잠시 차단을 해두는 기능이다. A라는 서버 내에 MSA 로 묶여서 a-1(주문), a-2(정산), a-3(상품) 이라는 각각 다른 기능을 하는 서버가 있다고 가정하자. 여기서 a-2(정산) 라는 서버에 잠시 장애가 생기게 되면 a-1(주문) ,a-2(정산), a-3(상품) 서버는 서로 상호 작용을 하는데 a-2 에서 머무르다보니 서버 전체적으로 부하가 심해진다. 이럴경우 미리 설정해둔 서킷브레이커를 통해서 잠시 대기했다가 장애가 풀리게 되면 트랜잭션을 이어서 진행하는것이다. 구성은 다음과 같다. 1. 외부 API 통신 시도 2. .. 2023. 8. 8.
전자정부 프레임워크란? 자바 스프링을 사용하면서 표준이라고도 할수 있는 전자정부프레임워크라고 하는것에 대해 적어보려고 한다. 먼저 나무위키에서의 사전적의미는 다음과 같다. 행정안전부 산하 한국정보화진흥원에서 만든 웹 기반 어플리케이션 프레임워크로서 정부 및 공공기관, 공기업 등의 웹사이트에 자주 쓰이는 공통 기능들을 Java의 Spring 프레임워크와 유명 Java 라이브러리(MyBatis, Jackson, Apache Commons 등)를 가지고 미리 만들어 놓은 공통컴포넌트와 이를 개발하는 개발환경, 실행환경, 운영환경, 관리환경 등으로 구성되어 있다. 위키백과의 사이트는 아래와 같다. https://ko.wikipedia.org/wiki/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80_%ED%91%9C%.. 2023. 8. 5.
썬더볼트와 USB, 그리고 USB 4.0 선더볼트(Thunderbolt)와 USB(Universal Serial Bus)는 컴퓨터와 다양한 장치 간에 데이터 전송을 위해 사용되는 인터페이스 기술이다. 같은 용어인줄 알고 사용하는사람들도 있고, 사실 전문 분야가 아니라면 알수는 없지만 둘의 차이는 엄연히 존재한다. 전송속도 선더볼트는 높은 전송 속도를 제공 일반적으로 최신 버전의 선더볼트는 최대 40Gbps속도를 지원하며, 이는 데이터를 빠르게 전송하는 데 매우 유용하다. 반면, USB는 더 느린 전송 속도를 가진다. 지원되는 장치 선더볼트는 주로 고성능 데이터 전송이 필요한 프로페셔널 사용자들이나 비디오 편집 등의 작업을 위해 사용되는 장치들에서 주로 사용된다. 반면, USB는 거의 모든 종류의 장치에서 지원된다. 우리가 아는 키보드, 마우스,.. 2023. 8. 1.
Groovy 란? 위키 백과에서의 사전적 의미는 아래와 같다. 그루비(Groovy)는 자바에 파이썬, 루비, 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어이다. https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EA%B7%B8%EB%A3%A8%EB%B9%84 아파치 그루비 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 그루비(Groovy)는 자바에 파이썬, 루비, 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어이다. 자바 가상 머신에서 작동하는 동적 타이핑 프로그래밍 ko.wikipedia.org 해당 언어의 특징은 아래와 같다. 동적 타이핑: 변수의 타입 선언이 필요 없으며, 실행 시점에서 동적으로 타입이 결정됩니다. .. 2023. 7. 27.
반응형