표시기로 작업하기

마지막 업데이트: 2022년 5월 17일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
피킹 통로를 작업자 1인이 대차를 끌고 이동하면서 DPS 표시기가 지시하는 Order에 대한 피킹 작업을 합니다.

Speaking UNIX: 파이프로 연결하기

파이프 연산자는 명령행에서 직접 하나의 UNIX 명령을 다른 명령에 연결하여 임시 프로그램을 작성합니다. 하지만 파이프는 한 유틸리티에서 다음 유틸리티로의 데이터 흐름이 차단되어 있는 일종의 블랙 박스입니다. Pipe Viewer를 사용하면 파이프라인의 내부를 들여다 볼 수 있습니다. 이 기사에서는 이 도구를 일상 작업에 사용하는 방법에 대해 설명합니다.

UNIX에서 가장 강력하고 뛰어난 혁신 기술 중 하나는 쉘이다. GUI보다 효율적인 쉘에서는 스크립트를 작성하여 여러 작업을 자동화할 수 있다. 게다가 pipe 연산자를 사용하면 명령행에서 직접 임시 프로그램을 작성할 수 있다. 파이프 연산자는 명령을 차례로 연결하며, 이 경우 선행 명령의 출력이 후속 명령의 입력이 된다.
하지만 파이프에는 한 가지 큰 단점이 있다. 그것은 바로 파이프가 일종의 블랙 박스와 같다는 것이다. 여러 명령을 순차적으로 연결한 경우 일련의 명령 중 마지막 명령의 출력을 통해서만 진행 상태를 확인할 수 있다. 물론 명령 시퀀스 중간에 tee를 표시기로 작업하기 끼워 넣을 수도 있고 tail을 사용하여 출력 파일을 확인할 수도 있지만 이러한 방법은 일회성 해결책에 불과하며 여러 단계의 표준 출력(stdout)과 표준 오류(stderr)가 뒤섞이지 않도록 주의해야 한다. 게다가 두 해결책 모두 단순한 표시기에 불과하기 때문에 각 단계에 얼마나 많은 계산이 필요한지 제대로 파악할 수 없다.
물론 복잡한 시퀀스를 단계별로 중간 출력 파일이 있는 여러 개별 단계로 나눠서 다시 작성할 수 있다. 그리고 실제로도 간격별로 결과를 확인하려는 경우에는 분할하는 방법이 이상적이다. 이 방법은 스크립트를 작성하고, 단계별로 하나의 데이터 파일을 생성하며, 각 단계 쌍 간에 데이터 파일을 입력으로 사용하고, 최종 파일을 최종 결과로 수집한다. 하지만 이 방법을 사용하면 명령행의 특징 중 하나인 즉흥성을 살릴 수가 없다.

우리에게 필요한 것은 명령행에 포함시켜서 처리량을 측정할 수 있는 진행 상태 측정기이다. 이 측정기가 반복해서 각 단계를 벤치 마크할 수 있고 Linux, Mac OS X 등의 여러 UNIX 계열 시스템에도 이식할 수 있는 오픈 소스 도구라면 매우 이상적일 것이다.

이러한 요구를 완전히 충족시키는 이상적인 도구가 바로 Pipe Viewer(pv)이다. 이 도구는 지난 4년 동안 시스템 관리자인 Andrew Wood가 작성하고 다른 여러 개발자가 향상시키는 과정을 거쳐 개발되었으며 명령행 "연결"을 확인할 수 있는 기능을 제공한다. 해당 프로젝트 페이지에 언급된 대로 pv는 "두 프로세스 사이의 파이프라인에 삽입하여 데이터의 진행 상태, 경과된 시간 및 남은 시간을 시각적으로 표시할 수 있다." 또한 동일한 명령행에 여러 pv 인스턴스를 삽입하여 상대적인 처리량을 표시할 수도 있다.
이 기사에서는 UNIX 시스템에서 pv를 빌드한 후 단순 및 복합 명령행 조합에 적용하는 방법을 보여 준다. 먼저, 파이프를 이용해서 프로세스를 연결하는 방법부터 살펴보자.

그림 1에서는 두 개의 개별 프로세스를 연결하는 파이프를 작성하는 단계를 보여 준다.

먼저 1단계에서는 최초 프로세스가 표준 입력 stdin으로부터 입력을 읽고, stdout에 출력을 쓰고, stderr에 오류를 표시한다. 각각의 stdin, stdout 및 stderr는 파일 디스크립터이거나 파일에 대한 핸들이다. 파일 핸들에 대한 각 작업(예: open, read, write, rewind, truncate 및 close)은 파일의 상태에 영향을 미친다.

그런 다음 2단계에서는 최초 프로세스에서 파이프를 작성한다. 파이프는 하나의 큐와 두 개의 파일 디스크립터로 구성되며, 파일 디스크립터 중 하나는 데이터를 큐에 넣고 다른 하나는 데이터를 큐에서 삭제한다. 파이프는 선입선출(FIFO) 데이터 구조이다.

파이프 자체만으로는 거의 사용할 데가 없지만 파이프는 주로 생성자 프로세스를 사용자 프로세스에 연결하는 데 사용된다. 이제 3단계에서는 최초 프로세스가 포크하거나 두 번째 프로세스를 작성하며, 이 두 번째 프로세스는 상대 프로세스의 역할을 수행한다.

4단계(새 프로세스가 사용자 프로세스라고 가정)에서는 원래 프로세스가 stdout을 파이프의 생성자 종단으로 바꾼 후 파이프의 사용자 종단과 stdin을 처리할 새로 포크된 프로세스를 다시 연결한다. 이러한 조정 이후 원래 프로세스(현재는 생성자)의 각 write는 큐에 입력되며 그런 다음 새 프로세스(현재는 사용자)가 큐에 입력된 데이터를 읽는다.

1 - 4단계는 쉘에서 명령행 파이프 연산자(|)를 사용하여 한 유틸리티를 다른 유틸리티에 연결하는 프로세스를 보여 준다. 하지만 이 경우 쉘은 각 유틸리티에 대한 새 프로세스를 생성하며 쉘 자체에는 영향을 주지 않고 작업을 제어한다.

예를 들어, 그림 2에서는 파이프를 통해 find, grep 및 wc 명령을 연결하여 소문자 a로 시작하는 모든 파일을 찾아서 그 수를 계산하는 방법을 보여 준다. 쉘은 독립적으로 유지되며, find는 생성자이고, grep은 find에 대한 사용자와 wc에 대한 생성자 역할을 수행한다. wc 또한 생성자와 사용자 역할을 수행한다. 즉, grep을 사용하고 stdout에 대한 출력을 생성한다. 일반적으로 쉘은 stdout을 단말기에 연결하지만 리디렉션을 통해 출력을 파일로 리라우트할 수 있다.

두 UNIX 프로세스를 연결하려면 파이프 두 개를 작성한 후 두 프로세스 모두 생성자 및 사용자 역할을 수행하도록 각 프로세스의 파일 디스크립터를 다시 연결한다. 그림 3에서는 두 프로세스의 stdin과 stdout을 모두 재정의하는 인터프로세스 교환을 보여 준다.

지금까지 간략하게 검토해 보았으므로 이제 Pipe Viewer에 대해 살펴보자.

Pipe Viewer는 오픈 소스 애플리케이션이다. 소스 코드를 다운로드하여 애플리케이션을 처음부터 빌드할 수 있으며, 가능한 경우, UNIX 배포판의 저장소에서 기존 바이너리를 가져와서 사용할 수 있다.

처음부터 빌드하려면 Pipe Viewer 프로젝트 페이지(http://www.ivarch.com/programs/pv.shtml에서 최신 소스 tar 파일을 다운로드한다. 2009년 9월 중순을 기준으로 이 코드의 최신 버전은 1.1.4이다. Tar 파일의 압축을 풀고 새로 작성한 디렉토리로 이동한 후 ./configure, make 및 sudo make install을 차례로 입력한다. 기본적으로 빌드 프로세스가 완료되면 /usr/local/bin에 pv라는 실행 파일이 설치된다. (./configure --help를 입력하면 구성 옵션 목록을 표시기로 작업하기 볼 수 있다.) Listing 1에서는 설치 코드를 보여 준다.

091208_sl1.jpg

저장소에 있는 pv 바이너리를 가져오려면 사용 중인 배포판의 패키지 관리 프로그램을 사용하여 pv 또는 pipe viewer를 검색한다. 예를 들어, Ubuntu 버전 9의 APT 패키지 관리 프로그램을 사용하여 검색을 수행하면 다음과 같은 결과를 얻을 수 있다.

091208_sl1_1.jpg

계속해서 표시기로 작업하기 패키지 관리 프로그램을 사용하여 패키지를 다운로드하고 설치한다. Ubuntu의 경우 다음과 같이 apt-get install 명령을 사용한다.

091208_sl1_2.jpg

설치가 완료되었으면 pv를 사용해 보자. 가장 쉽게 사용할 수 있는 방법으로는 일반적인 cat 유틸리티 대신 pv를 사용하여 바이트를 다른 프로그램에 제공한 후 전체 처리량을 측정하는 방법이 있다. 예를 들어, 다음과 같이 pv를 사용하여 시간이 오래 걸리는 압축 작업을 모니터링할 수 있다.

091208_sl1_3.jpg

명령이 실행되면 pv는 진행 표시줄을 표시한 후 지속적으로 게이지를 갱신하여 진행률을 표시한다. 일반적인 pv 화면에는 지금까지 처리된 데이터의 용량, 경과 시간, 처리 속도(MB/초), 작업 완료율에 대한 시각적 및 숫자 표현, 예상하는 남은 시간이 왼쪽부터 차례대로 표시된다. 위 화면을 보면 109MB 중 96.1MB가 처리되었으며 파일의 약 13%가 남아 있고 앞으로 9초 후에 완료될 예정이라는 것을 알 수 있다.

기본적으로 pv는 값을 계산할 수 있는 모든 상태 표시기를 표시한다. 예를 들어, pv에 대한 입력이 파일이 아니고 특정 크기를 수동으로 지정하지 않은 경우 진행 표시줄은 왼쪽에서 오른쪽으로 진행되면서 활동을 보여 주지만 기준이 없기 때문에 완료율을 측정하지 못한다. 다음은 이러한 경우를 보여 주는 예제이다.

091208_sl1_4.jpg

이 예제에서는 원격 시스템에서 tar를 실행한 후 원격 명령의 출력을 로컬 시스템에 보내서 projectx.tar를 작성한다. pv는 전송에 예상하는 총 바이트를 계산할 수 없기 때문에 현재까지 처리된 용량, 경과 시간 및 활동을 반영하는 특수 표시기만 보여 준다. 이 경우에는 데이터가 처리되는 동안 작은 "자동차"()가 왼쪽에서 오른쪽으로 이동하는 모습이 계속 표시된다.

--wait 옵션을 사용하면 첫 번째 바이트가 실제로 수신될 때까지 진행 표시줄의 표시가 지연된다. 이 예제의 경우 ssh 명령이 암호를 요청하므로 --wait 옵션을 유용하게 사용할 수 있다.

원하는 경우 고유한 플래그를 사용하여 개별 표시기를 활성화할 수 있다.

091208_sl1_5.jpg

다음 명령은 --bytes를 사용하여 실행 중인 바이트 수를 계산한다. 기타 옵션으로는 --progress, --timer, --eta, --rate 및 --numeric 등이 있다. 하나 이상의 표시 옵션을 지정한 경우에는 이름 지정되지 않는 나머지 모든 표시기가 자동으로 비활성화된다.

또한 pv에 --rate-limit 옵션을 사용하여 처리 속도를 제한할 수 있다. 이 옵션의 인수로는 하나의 숫자와 하나의 접미어(예: MB/초를 나타내는 m)가 있다.

091208_sl1_6.jpg

이전 명령은 모든 표시기를 숨기고(--quiet) 처리 속도를 1MB/s로 제한한다.

Pipe Viewer의 고급 사용법

지금까지는 단일 인스턴스의 Pipe Viewer를 명령 쌍의 생성자나 사용자로 사용하는 예제만을 살펴보았다. 하지만 더 복잡한 조합도 사용할 수 있다. 동일한 명령행에서 pv를 여러 번 사용할 수 있으며, 이를 위해서는 약간의 조건을 충족해야 한다. 즉, --name을 사용하여 각 pv 인스턴스에 이름을 지정하고 --cursor를 사용하여 멀티라인 모드를 활성화해야 한다. 이렇게 두 옵션을 함께 사용하면 레이블이 지정된 일련의 표시기가 작성된다. 이 경우 이름 지정된 인스턴스 하나당 하나의 표시기가 작성된다.

예를 들어, 데이터 전송과 데이터 압축의 진행 상태를 개별적으로 동시에 모니터링하려는 경우 다음과 같이 pv 인스턴스 하나를 전송 작업에 할당하고 또 하나의 인스턴스를 압축 작업에 할당할 수 있다.

091208_sl1_7.jpg

암호를 입력하면 다음과 같이 두 줄로 된 진행 상태 측정기가 생성된다.

091208_sl1_8.jpg

ssh라는 레이블이 지정된 첫 번째 행은 전송 작업의 진행 상태를 보여 주며, gzip이라는 레이블이 지정된 두 번째 행은 압축 작업의 진행 상태를 보여 준다. 각 명령이 해당 작업의 바이트 수를 파악할 수 없기 때문에 누적 총계 및 활동 표시줄이 각 행에 표시된다.

한 작업의 바이트 수를 대략적으로 알 수 있거나 계산할 수 있다면 --size 옵션을 사용한다. 이 옵션을 추가하면 진행 표시줄에서 진행 상태를 세분해서 표시할 수 있다.

예를 들어, 중요한 아카이브 작업의 진행 상태를 모니터링하려는 경우 다른 UNIX 유틸리티를 사용하여 원래 파일의 대략적인 전체 크기를 계산할 수 있다. df 유틸리티는 전체 파일 시스템에 대한 통계를 표시할 수 있는 반면 du는 임의 깊이의 계층 구조의 크기를 계산할 수 있다.

091208_sl1_9.jpg

여기서, 서브쉘 명령 du -sh work | cut -f1이 work 디렉토리의 전체 크기를 pv와 호환되는 형식으로 생성한다. 즉, du -h는 사람이 읽을 수 있는 형식(예: 17MB의 경우 17M)으로 표현하므로 pv와 함께 사용하기에 적합하다. (ls 및 df 명령도 사람이 읽을 수 있는 형식을 제공하기 위해 -h 옵션을 지원한다.) 이제 pv는 파이프를 통해 전송할 바이트의 특정 수를 예상하고 있으므로 정상적인 진행 표시줄을 표시할 수 있다.

091208_sl1_10.jpg

마지막으로 한 가지 더 유용한 기술이 있다. 바이트 계산 외에도 Pipe Viewer에서는 행 수를 계산하여 진행 상태를 시각화할 수 있다. 한정자 --line-mode를 지정한 경우 pv는 줄 바꾸기가 나타날 때마다 진행 상태 측정기를 진행시킨다. --size를 제공할 수도 있으며 해당 숫자는 예상 행 수로 해석된다.

이제 예제를 살펴보자. 때때로 find는 모래 사장에서 바늘을 찾을 때 유용하게 사용할 수 있다. 예를 들어, 대용량의 애플리케이션 코드 본문에 사용된 특정 시스템 호출을 모두 찾는 작업을 효과적으로 수행할 수 있다. 그러한 환경에서 다음과 같은 명령을 실행할 수 있다.

091208_sl1_11.jpg

이 코드는 모든 C 소스 파일을 검색하여 파일 내에 문자열 fopen이 포함된 파일의 이름을 출력한다. 그리고 출력은 results라는 이름의 파일에 수집된다. 활동 상태를 표시하기 위해 다음과 같이 pv를 위 코드에 추가한다.

091208_sl1_12.jpg

find와 같은 많은 UNIX 명령은 파일의 컨텐츠가 아닌 파일의 메타데이터에 대해 작동하므로 행 모드의 경우 빠른 성능을 제공한다. 특히, 행 모드는 대용량의 파일 콜렉션을 복사하거나 압축하는 시스템 관리 스크립트에 이상적이다.

일반적으로 Pipe Viewer는 속도를 측정할 수 있는 모든 명령행 및 스크립트에 삽입할 수 있지만 창의적인 아이디어가 필요한 경우도 있다. 예를 들어, 디렉토리의 복사 속도를 측정하기 위해 cp -pr를 tar로 바꿀 수 있다.

091208_sl1_13.jpg

또한 행 모드는 wget, curl, scp 등의 네트워킹 유틸리티와 함께 사용할 수 있다. 예를 들어, pv를 사용하여 대용량 업로드의 진행 상태를 측정할 수 있다. 그리고 많은 네트워킹 도구는 파일을 입력으로 받기 때문에 파일의 길이를 --size에 표시기로 작업하기 대한 인수로 사용할 수 있다.

Pipe Viewer는 잘 알려져 있지는 않지만 한번 발견하고 나면 절대 떼어놓을 수 없는 보물과 같다. pv는 일상적인 명령행 작업에서도 활용할 수 있지만 대부분의 경우에는 자동화 스크립트에서 주로 사용하게 된다. 지금까지는 깜박이는 커서만을 바라보면서 작업 완료를 나타내는 표시를 기다릴 수 밖에 없었지만 이제는 탐지기를 삽입하여 실시간 피드백을 확인할 수 있다. Pipe Viewer를 사용하면 시스템의 실시간 상황을 역동적으로 보여 준다.

Martin Streicher는 프리랜서 Ruby on Rails 개발자이며 Linux Magazine의 편집장을 역임했다. Purdue University에서 컴퓨터 과학 석사 학위를 받았으며 1986년부터 UNIX 계열 시스템을 프로그래밍하고 있다. 그리고 예술 작품과 장난감 수집을 좋아한다.

표시기로 작업하기

작업지시서를 직접 보며 피킹 작업을 하는 것은 작업시간의 효율성이 낮고 작업자의 정확도가 떨어집니다. 피킹을 하는 시간도 오래걸리고 작업 지시서를 보고 피킹할 상품의 숫자를 세기에는 작업량이 너무 많습니다.
DPS시스템은 컴퓨터에 입력된 작업 데이터를 Digital Indicator(디지털 표시기)에 표시를 해줌으로써 적은 인원으로 빠르고 정확한 피킹 작업을 가능하게 합니다. 작업자는 디지털 표시기의 숫자와 점등하는 버튼만 보고 작업 하기 때문에 직관적이고 빠른 작업이 가능합니다.
아세테크의 20년 Know-how를 녹인 다양한 DPS 운영을 통하여 피킹 작업의 효율화를 이루겠습니다.

dps
한손작업
dps
전표잘못읽기
dps
상품찾기
dps
필요없는이동
DPS/DAS 도입으로 작업효율 강화
양손을 사용하며 작업가능 품목별 디지털 수량표시 피킹위치를 램프로 표시 동선에 따라 한번 작업으로 OK!

- DPS는 피킹의 작업시간 단축과 정확성을 위해 Hardware 및 Software를 이용한 물류센터의 필수적인 Solution 입니다.
- 물류센터의 작업효율향상을 통한 생산성 증대, 품목 증가, Layout 변경 및 작업자의 교체에 따른 소요시간을 최소화 할 수 있습니다.
품목 Digital Indicator(표시기)를 통해 작업 내역을 인식하여 Order순으로 Picking함
Order(고객)수가 증가해도 유연한 대응이 가능하며, 먼저 완료된 Order부터 출하가 가능함
센터에서 재고를 보유하고 있는 재고형 물류센터(Distribution Center)에 적합

기본 운영 Process (릴레이 방식)

고객의 Needs에 맞춘 DPS Engineering

고객사의 주문 형태, 상품 SKU수, 물류센터의 Lay-Out 특성에 따라 운영 방식을 바꾸어 더 높은 효율을 줄수 있습니다.
출고 Data를 활용하여 분석후 고객님들의 최적의 DPS 시스템 설계를 제공해 드립니다.
대표적인 운영방식인 릴레이 방식, 대차방식, Island방식 등이 있습니다.

dps

피킹 통로를 작업자 1인이 대차를 끌고 이동하면서 DPS 표시기가 지시하는 Order에 대한 피킹 작업을 합니다.

1.작업자 수에 따른 작업 구역을 분할하여 구역단위 기기를 설치함
2. 재고가 있는 선반 혹은 피킹 선반 구간에 표시기를 설치함.
3. U턴하여 스타트위치에 돌아 올 수있는 레이아웃이 이상적
4. 기본적으로 추월이 불가능 함으로 피킹 통로 폭을 약(1~1.3 m)를 확보 할 필요가 있음

1. 각 블록에 보틀넥 현상이 일어나지 않도록, 상품 배치나 블럭구성, Hit율에 따른 균형 있는 배치가 필요
2. 스타트 구역과 끝 블록에 DPS와 연동한 점포 라벨을 발행 할 수 있는 기능 설치
3. 한점포의 박스수보다 많은 대차를 선정하고 피킹중 대차 적제수를 오버 하지 않도록 함.

dps

각각의 Picking Zone을 디지털 표시기를 부착하여 구성하고, 작업자를 각 Zone별로 배치하여 컨베이어 상의 주문 박스의 주문에 대한 상품 피킹을 합니다.

1. 매장 코드의 라벨이 출력됨과 동시에 ITEM별 표시기가 점등되고 피킹 수량을 표시
2. 작업자는 미리 준비된 매장 코드별 박스에 라벨을 부착하고 해당 표시기에 표시된 수량만큼 상품을 피킹 후 확인 버튼을 누름
3. 한 개의 Picking Zone이 완료 되면 Zone 표시기가 점등 되고 확인 버튼을 누르면 해당 Zone의 작업이 완료
4. 해당 주문의 작업이 완료된 경우 다음 주문에 해당하는 상품을 피킹
5. 위와 같은 방법으로 모든 Picking Zone을 순회하여 마지막 Zone까지 주문 박스가 이동시

1. 일반적으로 DC형 물류 센터에 적합
2. 다른 Picking 방식과 비교하여 동선이 집약적이기 때문에 작업자 이동이 없슴
3. 스타트 Zone에서 투입한 주문 정보를 가진 BOX가 모든 피킹존을 컨베이어를 통하여 이동
4. 피킹 한 상품과 DPS를 연동하는 고정 스캐너를 이용 하여 스캔 검수를 하며 피킹이 가능
5. 릴레이 방식으로 작업이 진행 되기 때문에 각 Picking Zone별 Hit 수가 차이가 많이 날 경우 병목 현상이 발생할 가능성이 있슴
6. 4번을 해결하기 위하여 릴레이 방식을 응용한 다양한 설계가 가능

dps

컨베이어를 구역별로 고정 스캐너를 달아 각 Picking Zone에 피킹 할 상품이 있는 경우에만 주문 Box를 넣습니다. 출고 완료된 주문 박스는 By Pass 컨베이어 라인에 의하여 검수 및 포장 Zone으로 이동 합니다.

1. 발행된 라벨을 출고 Box에 부착 합니다.
2. 출고 Box가 피킹 할 상품이 있는 Picking Zone으로 이동
3. 해당 Zone에 도착 한 경우 Stopper가 작동 되어 Box를 정지 시킨 후, Island로 구성된 Picking Zone으로 들어감
4. 작업자는 해당 주문 Box에 필요한 상품을 피킹 하고 확인 버튼을 누름
5. 주문 Box는 다음 Picking 할 상품이 있는 Zone으로 이동
6. 주문이 끝난 상품은 By Pass라인을 통하여 검수 및 포장 라인으로 이동

1. 다른 Picking 방식과 비교하여 동선이 집약적이기 때문에 작업자 이동이 없슴
2. 주문 Box가 피킹이 필요한 Picking Zone에만 들어 감으로 피킹 생산성이 증가
3. 피킹 한 상품과 표시기로 작업하기 DPS를 연동하는 고정 스캐너를 이용 하여 스캔 검수를 하며 피킹이 가능
4. 주문작업이 진행하고 있는 경우에도 앞 오더를 추월 가능 하기때문에 병목 현상을 최소화

표시기로 작업하기

삼성전기에서 분사한 솔루엠이 전자가격표시기(ESL)시장에서 구독사업을 추진한다.

전성호 솔루엠 대표이사는 하드웨어 판매방식으로 전자가격표시기사업을 해왔는데 사물인터넷(IoT) 데이터 솔루션을 앞세워 사업모델을 구독방식으로 확장하는 데 표시기로 작업하기 힘을 쏟고 있다.

▲ 전성호 솔루엠 대표이사.

6일 솔루엠에 따르면 서비스형 소프트웨어(Software as a Service) 모델을 적용한 전자가격표시기 구독사업을 이르면 올해 말부터 진행하겠다는 계획을 세웠다.

솔루엠 관계자는 “클라우드 플랫폼과 연계해 전자가격표시기를 빅데이터로 수집하고 활용하는 내용을 포함한 구독사업 준비를 하고 있다”고 말했다.

솔루엠은 전자가격표시기를 비롯해 정보통신기술(표시기로 작업하기 표시기로 작업하기 ICT)기기와 부품 등을 만드는 코스피 상장업체다. 삼성전기의 한 사업부였는데 전자가격표시기를 신성장동력으로 삼아 2015년 분사했고 올해 2월 상장했다.

전자가격표시기는 전자종이(E-paper)나 액정표시장치(LCD) 등에 진열된 상품정보를 실시간으로 알려주는 기기다. 중앙서버에서 무선으로 정보를 받은 뒤 화면을 통해 가격과 유통기한 등 상품정보를 보여준다.

기업들은 전자가격표시기를 통해 판매기한이 만료된 제품 판매를 막을 수 있고 제품 할인기간도 실시간으로 바꿀 수 있다. 교체할 품목의 화면이 깜빡이는 기능을 통해 직원들은 제품관리 작업시간도 줄일 수 있다.

전성호 대표는 전자가격표시기사업에 구독서비스모델을 추가해 기업들의 편의성을 충족하는 방식으로 솔루엠의 사업모델을 제조업에서 넓히는 전략을 추진하는 것으로 풀이된다.

전자가격표시기를 바로 판매하는 것보다는 소프트웨어와 함께 구독사업 형태로 전개하면 기업들이 전자가격표시기를 더욱 쉽게 이용할 수 있다. 전자가격표시기를 이용하기 위한 소프트웨어 설치, 구성과 업데이트 등 시스템을 구축할 때 필요한 시간과 비용도 아낄 수 있다.

전 대표는 구독사업을 확대하기 위해 솔루엠의 전자가격표시기 관련 기술 경쟁력을 앞세울 것으로 보인다. 솔루엠은 높은 기술경쟁력을 앞세워 전자가격표시기업계에서 유일하게 주문자상표부착생산(OEM)을 하지 않는다.

솔루엠 관계자는 “솔루엠 전자가격표시기 배터리는 저전력 특성을 구현해 제품수명이 10년이다”며 “경쟁사 제품의 배터리 수명이 5년인 점을 생각해볼 때 하드웨어 경쟁력부터 높다”고 말했다.

전자가격표시기와 관련한 무선통신기술을 보유하고 있다는 점도 솔루엠의 강점으로 꼽힌다.

솔루엠은 삼성전기 시절부터 키워 온 무선고주파(RF)기술을 활용해 전자가격표시기용 통신규약(Communication protocol) 기술을 갖고 있다.

전자가격표시기는 단순히 유통매장에서 가격을 표시하는 데만 쓰이는 기기가 아니다.

여러 산업군에서 디지털전환이 진행되면서 스마트공장(스마트팩토리) 건설이 늘고 있는데 전자가격표시기는 스마트공장에서 창고에 저장된 물자의 수량을 표시하는 등 자원관리를 효율적으로 수행할 수 있는 기기로도 각광받고 있다.

전자가격표시기가 자원관리 역할을 수행하기 위해서는 사업운영 자동화 관리시스템인 전사적자원관리(ERP)나 판매시점정보관리(POS) 소프트웨어 등과 연계할 때 통신오류가 없어야 한다.

솔루엠은 독자적 통신규약 기술을 통해 통신오류를 최소화할 수 있는 역량을 보유하고 있어 소프트웨어를 앞세운 구독사업에도 강점을 지니고 있다고 볼 수 있다.

전 대표가 솔루엠의 전자가격표시기에 구독서비스모델을 순조롭게 적용할 수 있다면 업계에서 솔루션의 입지가 더욱 단단해질 것으로 예상된다.

고의영 하이투자증권 연구원이 시장 조사기관 모더인텔리전스를 인용해 분석한 자료에 따르면 현재 솔루엠을 포함한 상위 3개 회사가 글로벌 전자가격표시기시장의 80%를 차지하고 있다. 이런 과점구도에서 솔루엠은 점유율 15.8%의 3위다.

시장 점유율 1위인 프랑스 SES이마고태그(SES-Imagotag)는 솔루엠보다 먼저 구독서비스형 소프트웨어 솔루션 사업을 적용하고 있다.

고 연구원은 “구독서비스모델은 매출이 곧 영업이익이라는 말이 나올 정도로 수익성도 좋다”며 “앞으로 솔루엠이 비중을 확대해야 할 사업영역이다”고 바라봤다.

전 대표가 준비하는 전자가격표시기 구독서비스모델은 사업성이 검증된 사업방식으로 볼 수 있는 셈이다.

전성호 대표는 1959년 7월17일 태어나 홍익대학교 전자공학과를 나왔다. 1983년 삼성전자에 입사해 제품개발, 품질관리, 마케팅, 영업 등 다양한 직무를 거쳐 부사장까지 올랐고 삼성전기에서도 디지털모듈(DM)사업부 부사장을 지냈다.

전 대표는 표시기로 작업하기 솔루엠 지분 18%를 지닌 최대주주이기도 하다. 그는 지난 1월 서울 여의도에서 가진 기업공개(IPO) 기자간담회에서 “솔루엠은 최근 3년 동안 가파른 성장세를 보여주고 있다”며 “세계 3위인 전자가격표시기시장에서 3년 안으로 1위를 차지하겠다”는 포부를 밝혔다.

증권업계에서는 전 대표의 도전을 긍정적으로 보는 시선이 많다.

솔루엠은 2022년 연결기준 매출 1조6988억 원, 영업이익 1318억 원 거둘 것으로 전망된다. 2021년 실적예상치보다 매출은 32.6%, 영업이익은 77.8% 늘어나는 것이다.

조은애 이베스트증권 연구원은 “솔루엠은 전체 사업에서 25%인 전자가격표시기사업 매출비중이 확대된다면 이익 전망치를 높여 잡는 것도 가능하다”고 말했다. [비즈니스포스트 구광선 기자]

Apple 식별자

Cover image for: Apple 식별자

Apple은 제품에 다양한 식별자를 사용합니다. 아래 표는 가장 중요한 코드 간의 차이점을 보여줍니다.

이름 모양 라고도 함 대표하다
모델 MC605FD/A MPN (마케팅 부품 번호)
부품 번호
주문 번호
스토리지, 구성, 배포 및 판매 유형 정보를 포함한 특정 모델. 범위는 비슷하지만 구성 코드 (CC) 또는 구성된 주문 코드 (CTO) 코드와 다릅니다.
가족 번호 A1784
M8493
모델 번호,
"A"번호
특정 지역에서 판매되는 모델 제품군으로 Apple의 주문 시스템을 위해 코딩되었습니다.
내부 이름 N92AP 보드 ID,
하드웨어 모델
장치가 구축 된 기본 하드웨어 플랫폼. 선택적 하드웨어 개정판이있는 내부 이름 클래스로 표현됩니다. 소프트웨어 및 펌웨어를 대상으로하는 데 종종 사용됩니다.
식별자 iPhone9,3 모델 식별자 Apple 장치의 고급 클래스입니다.
일련 번호 C8QH6T96DPNG 개별 Apple 장치. 3 가지 형식, 그 중 하나는 가변 길이입니다. 2 가지 형식을 가진 MLB 시리얼과는 다릅니다.

API는 다른 많은 Apple 식별자를 지원하며, 대부분은 아래에 설명되어 있습니다.

일부 클라이언트의 경우 Apple GSX 서비스 데이터 를 노출 할 수 있습니다.

Apple의 식별자 용어 충돌

Apple이 사용하는 다수의 식별자 이름은 다른 컨텍스트에서 다시 사용됩니다. 예를 들어, Apple 제품 상자에 MC922LL/A 라는 모델이있을 수 있지만 Apple의 " iPhone 모델 식별 "페이지는 A1865 형식의 식별자 만 참조합니다. 이들은 완전히 다른 ID입니다. 마찬가지로 iTunes를 사용하여 장치에 대해 알게되면 "모델 식별자"를 iPhone10,6 로 iPhone10,6 .이 모델은 아직 세 번째 유형의 식별자입니다.

이름 Apple이 이름에 "모델"을 사용하는 방법
식별자 모델 식별자
가족 번호 모델 번호
내부 이름 하드웨어 모델
모델 부품 번호 모델

그것이 혼란스럽지 않은 것처럼, Apple의 내부 이름은 Apple과 Open Source 커뮤니티에 의해 "Board ID"라고 불립니다. 그러나 이는 Mac이 사용하는 BOaRD ID 또는 로직 보드 ID와 Mac-F4208DC8 (예 : Mac-F4208DC8 ). 따라서 API는 세 번 정의 된 "보드 ID"대신 "내부 이름"을 준수합니다.

및 WWDCs의 시리즈를 통해 많은 애플 엔지니어 및 관리자 - - 애플 천재의 많은 수의 말 데이 "애플 모델 코드"무엇을 의미하는지에 애플에서 모호함이 있다고 분명하다. 우리의 목적을 위해, 이는 리셀러 나 서비스를 통해 구매하는 컨텍스트 또는 Apple에서 직접 새로운 제품을 주문할 때 가족 번호 인 경우 일반적으로 진정한 모델 / MPN을 의미합니다.

Apple 일련 번호

무작위 일련 번호

2021년 초에 출시된 제품을 시작으로 Apple은 구조화된 일련 번호 형식을 포기하고 완전히 무작위화된 형식을 선호합니다. 즉, 더 이상 일련 번호만으로는 정보를 얻을 수 없습니다.

API는 세 가지 Apple의 구조화된 일련 번호 형식( legacy , 2000 및 2010 )을 모두 지원합니다. 예:

  • F4412SAM0001 은 legacy 형식의 시리얼 (128k Mac 초기)
  • 84021NCV3NP 는 2000 형식 직렬입니다.
  • C8QH6T96DPNG 는 2010 C8QH6T96DPNG 시리얼 형식입니다.

최신 형식 2021 은 임의의 문자 선택으로 구성되므로 장치에 대한 추가 정보를 도출하는 데 사용할 수 없습니다.

Apple MLB 일련 번호

이 API는 Apple의 MLB (주 논리 보드) 직렬 형식을 지원하며 13 및 17 자리 코드 모두에 사용됩니다.

Apple 모델 번호 (MPN)

다른 이름 : 마케팅 파트 번호 (MPN)

Apple 모델 번호는 Apple 제품의 특정 하드웨어 구성을 나타냅니다. Apple 모델 번호는 지역 또는 판매 유형 인코딩의 유무에 관계없이 제공 될 수 있습니다. 마케팅 부품 번호 또는 MPN이라고도합니다. MPN은 모델 번호가 실제로 숫자가 아니라는 점에서 잘못된 이름입니다.

모델 번호는 항상 판매 코드 (자주는 아니지만 반드시로 시작하는 M ), 보통 편지와 몇 가지 숫자에 따릅니다. 그들은 가변 길이의 선택적 판매 지역 표시기로 끝납니다.

Apple 모델 번호로 인코딩 된 항목은 무엇입니까?

Apple 모델 코드는 장치의 판매 지역뿐만 아니라 소매점에서 판매 되었든 리퍼브되거나 맞춤형으로 판매되었는지, 그리고 다음 데이터를 제공 할 수 있습니다.

  • Apple 내부 이름 클래스. 이를 내부 이름의 범위로 좁히는 데 사용할 수 있습니다.
  • Apple 식별자 .
  • 판매 지역. 장치가 판매 될 예정인 광역. 번호의 선택적 부분으로 저장됩니다.
  • 모델 사양. MPN은 iPhone, iPad, Apple Watches 및 컴퓨터의 케이스 크기, 색상, 재질 및 저장 공간을 나타내는 데 신뢰할 수 있습니다.
  • OEM 운송 업체. 일반적으로 MPN은 불연속적인 캐리어 범위에서 사용할 수 있으며, 캐리어 범위는이를 조사하여 식별 할 수 있습니다.
  • 판매 유형. 즉. 단위가 소매로 판매 되든, 리퍼 비시 되든, 대체 되든, 또는 개인화 되든 상관 없습니다.

모델 번호의 예

번호 노트
MC605FD/A iPhone 4, 검정, 32GB, 오스트리아, 리히텐슈타인, 스위스 용
MC605LL/A iPhone 4, 검정색, 32GB, 미국산
NN572LL/A 미국을 위해 만들어진 iPhone 7 Plus
MKHQ2 iPad 6th, 핑크, 32GB, 판매 지역 없음
MD298AE iPhone 5, 검정, 16GB, 사우디 아라비아 용

Apple 모델 번호로 작업하기

  • Apple 모델 직접 API 요청 예 : MC605FD / A
  • Apple 모델 클라이언트 라이브러리 요청의 예 :

Apple 식별자

Apple 식별자는 iPhone9,3 와 같은 핵심 최상위 모델 식별자입니다.

애플 내부 이름

내부 이름은 N90AP 과 같은 Apple의 내부 모델 번호입니다. BoardConfig 라고도하며, HardwareModel 이라고도합니다.

Apple IDFA / IDFV

identifierForAdvertiser (IDFA) and 표시기로 작업하기 identifierForVendor (IDFV) values replaced the UDID after iOS 5. They are set per application, or per vendor.

Apple은 IDFA의 이것을 다음과 같이 말합니다.

iOS 6에는 광고 네트워크가 광고주가 추적 방법을 사용할 수있는 능력을 더 효과적으로 제어 할 수 있도록 비 영구적 인 비 개인 기기 식별자 인 광고 식별자가 도입되었습니다. 광고 추적을 제한하기로 선택한 경우 광고 식별자를 사용하는 광고 네트워크는 더 이상 타겟 광고를 게재하기위한 정보를 수집하지 않을 수 있습니다. 미래에는 모든 광고 네트워크가 광고 식별자를 사용해야합니다. 그러나 광고 네트워크가 광고 식별자를 사용하기 전까지는 다른 네트워크의 타겟 광고를 계속받을 수 있습니다.

앱의 공급 업체에게 기기를 고유하게 식별하는 영숫자 문자열입니다. (읽기 전용)

이 속성의 값은 동일한 기기에서 실행되는 동일한 공급 업체에서 온 앱의 경우와 동일합니다. 다른 공급 업체에서 온 동일한 기기의 앱과 공급 업체와 관계없이 다른 기기의 앱에 대해 서로 다른 값이 반환됩니다.

Ole Begemann은 UDID에서 마이그레이션에 대한 자세한 내용 을 작성했습니다 .

Apple 고유 장치 식별자 (UDID)

UDID에는 두 가지 형식이 있습니다.

2007 :이 형식은 첫 번째 iPhone에서 도입되었으며 2018 년까지 출시 된 장치에서 사용되었습니다. IMEI, ECID 및 MAC 값으로 구축 된 되돌릴 수없는 복합 식별자입니다. 40 자의 소문자 16 진수 값으로 표시됩니다.

2018 :이 새로운 형식은 2018 년 이후에 제조 된 장치 모델 (예 : iPhone XS, XS Max, XR 및 Apple Watch Series 4)을 위해 도입되었습니다. 00000000-0000000000000000 형식의 대시 ( - )로 16 자의 대문자 16 진수 값에 결합 된 대문자 8 자의 16 진수 값입니다.

Apple은 일반적으로이 ID를 사용하여 기기를 iCloud ID와 연결합니다. 또한 나의 iPhone 찾기 활성화 상태가 유지됩니다. UDID는 iOS 5를 도입하여 iOS 응용 프로그램에서 사용하기 위해 더 이상 사용되지 않지만 여전히 다른 용도로 사용됩니다.

2화면 · 디지털 압력 센서[기체용] DP-100 Ver.2

더 보기 쉽게
디지털 표시부 시인성 향상

디지털 표시부 개량을 통해 시야각이 넓어지고 뚜렷해져 보기 편해졌습니다.
또한 표시 압력 범위 및 표시기로 작업하기 설정 압력 범위가 넓어졌습니다.

디지털 표시부의 시인성 향상

아날로그 출력의 장거리 전송
고기능 타입에 아날로그 전류 출력 추가

전압 출력뿐만 아니라 전류 출력도 아날로그 출력이 가능해져 용도에 맞게 선택할 수 있습니다.

환경 부하 절감
소비 전력 14% 절감(통상 시)

저소비 전력인 DP-100 시리즈가 회로 재검토를 통해 통상 시 소비 전력을 14% 더 절감했습니다.
ECO・FULL 시에는 표시부를 소등해 통상 시 대비 최대 50% 절감, ECO・STD 시에는 표시부의 휘도를 낮춰 통상 시 대비 최대 30%를 절감했습니다.

소비 전력 14% 절감(통상 시)

보다 강화된 출력 회로
트랜지스터 출력 회로에 역연결 보호 회로 장착

배선 오류로 인한 고장을 방지합니다.

2화면 표시로 설정값의 다이렉트 설정 가능

□30mm의 소형 사이즈에 2화면을 탑재. 현재값과 설정값을 동시에 확인할 수 있으므로 화면 모드를 변환하지 않고도 원활하게 설정값을 확인, 설정할 수 있습니다. 설정값 설정 중에도 ON/OFF가 작동되므로 볼륨식 센서와 동일한 감각으로 설정할 수 있습니다. 물론, 키 잠금 기능도 장착되어 있습니다.

3색 표시(적색 · 녹색 · 주황색)

메인 표시부는 출력 ON/OFF 동작에 연동해 색이 바뀌는 것은 물론, 설정 중에도 색이 바뀝니다. 센서의 상황 파악이 용이해져 조작 오류가 줄어듭니다.

판독이 용이한 디지털 표시

12개의 세그먼트를 사용하는 영숫자 표시를 채택.
영숫자의 시인성이 향상되었습니다.

공수 · 인적 오류를 줄이는 복사 기능

마스터가 되는 센서에 센서를 1대씩 연결하면 마스터 센서의 설정 내용을 데이터 통신을 통해 복사할 수 있습니다. 여러 개를 동일하게 설정하는 경우에 설정 오류로 인한 트러블을 사전에 방지하고, 장비 설계 변경 시에도 작업 지시서의 변경 횟수가 줄어듭니다.

장점1:생산 리드 타임 단축! 센서의 설정 시간을 대폭 단축!

장점2:작업 실수 및 작업 손실 방지!

  • 자동 복사이므로 설정 오류나 누락으로 인한 트러블을 방지!
  • 장치의 설계 변경 시에도 작업 지시서의 수정이 간단!

센서 설정 조작 모드는 사용 빈도에 맞춘 3층 구조

일상적인 조작 설정은 "RUN 모드", 기본 설정은 "메뉴 설정 모드", 높은 수준의 기능은 "PRO 모드"로 설정 내용의 레벨에 따라 명확하게 구별했습니다. 설정 조작이 이해하기 쉽고 간단합니다.

설정 중에는 주황색 표시

RUN 상태에서는 표시부가 녹색/적색으로 표시되지만, 설정 중에는 항상 주황색으로 표시되어 센서의 상태를 한눈에 파악할 수 있습니다.

RUN 상태
[RUN 모드]

설정 중
[메뉴 설정 모드][PRO 모드]

사용하기 편한 초기 설정

압력 센서의 사용 빈도가 높은 용도에서 사용하기 편하도록 초기 설정되어 있습니다. 저압 타입은 흡착 확인 용도에, 고압 타입은 원압 확인 용도에 최적인 상태로 설정되어 센서 설정 작업을 줄여 줍니다.

클릭감이 좋은 버튼

딸깍거리는 감촉이 좋은 버튼으로 원활하게 설정할 수 있습니다.

만일의 경우에 사용하는 리셋 기능

센서 설정이 어려운 경우 초기 상태로 되돌릴 수 있습니다.

전 기종을 연성압 타입으로 라인업

정압 · 부압으로 센서를 선정할 필요가 없으므로 등록 품번을 줄일 수 있습니다.

고정밀도 센싱 실현 [저압 타입]

저압 타입은 분해능 1/2,000에서 0.1kPa 단위 표시, 응답 시간 2.5ms(5,000ms까지 가변), 온도 특성 ±0.5%F.S., 반복 정밀도 ±0.1%F.S.의 고정밀도 검출을 실현했습니다.

독립 2출력 장착 [표준 타입]

2개의 독립된 비교 출력을 장착해 각각 별개의 센싱 모드를 선택할 수 있습니다. 비교 출력이 2개 있으므로 1개를 경보 출력으로 사용할 수도 있습니다.
또한 사용하지 않는 출력은 무효화할 수 있습니다.

흡착 확인 용도의 경우 진공 파괴도 확인 가능!

원압 확인 용도의 경우 원압 경보 출력 가능!

3가지 출력 모드로 폭넓은 어플리케이션에 대응

[1] EASY 모드
비교 출력의 ON/OFF를 제어하는 모드입니다.

[2] 히스테리시스 모드
비교 출력의 응차(히스테리시스)를 임의로 설정하여 ON/OFF를 제어하는 모드입니다.

[3] 윈도 콤퍼레이터 모드
설정 범위 내의 압력으로 비교 출력을 ON 또는 OFF하는 모드입니다.

아날로그 출력과 외부 입력 변환 가능 [고기능 타입]

아날로그 출력(전압/전류) 또는 외부 입력(오토 레퍼런스 / 리모트 제로점 조정)을 선택할 수 있는 고기능 타입을 준비. 다양화되는 어플리케이션에 대응합니다.

오토 레퍼런스 / 리모트 제로점 조정 기능 장착[고기능 타입]
최소한의 수고로 더 정밀한 압력 관리 가능

장치 원압이 변동된 경우에 외부 입력을 통해 비교 출력의 판정 레벨을 원압이 변동된 만큼 이동시켜 보정하는 오토 레퍼런스 기능과 표시값을 제로로 보정할 수 있는 리모트 제로점 보정 기능을 구분해 사용할 수 있습니다.
원압 변동이 심한 곳, 미세한 설정이 요구되는 곳에서 사용할 때 매우 효과적입니다.

서브 표시부 커스터마이즈

서브 표시부에 설정값 이외의 임의의 값 · 문자를 표시할 수 있습니다. 정상 압력값 등을 라벨로 장치에 붙일 필요가 없습니다.

설정 내용을 한눈에 확인 가능

DP-100 시리즈의 설정 내용을 디지털 표시로 알려줍니다.
수치로 간단하게 내용을 파악할 수 있으므로 전화를 통한 유지보수 대응 시 등에 편리합니다.

피크 · 보텀 홀드 기능

변동하는 압력의 피크값 및 보텀값을 2화면을 사용해 표시합니다.

에너지 절약 설계! ECO 모드 장착

표시부의 휘도를 낮춰 소비 전력을 약 30% 절감합니다.
또한 표시부 소등을 통해 최대 약 50%를 절감할 수 있습니다.

응답 시간 변경 가능

응답 시간을 2.5ms에서 5,000ms까지 10단계로 변경할 수 있습니다.
급격한 압력 변화 등에 의한 채터링 및 오작동을 방지합니다.

표시 갱신 주기 변경 가능

디지털 표시의 표시 갱신 주기를 250ms, 500ms, 1,000ms의 3단계로 변경할 수 있습니다. 표시 갱신 주기를 길게 하면 표시가 깜빡거리는 현상을 줄일 수 있습니다.

패널에 밀착 설치 가능

패널 두께 1~6mm에 대응한 전용 설치 도구를 준비했습니다.

밀착 설치를 지원하는 전용 브래킷을 준비
센서 설치 브래킷 사용 시에도 공간 절약을 도모할 수 있습니다.

원터치 연결 케이블

부속 커넥터 부착 케이블(2m)은 원터치로 간단하게 연결할 수 있습니다.

커넥터 부착 케이블이 포함되지 않은 타입을 준비 [DP-10□-J]
시판되는 커넥터로도 배선할 수 있습니다. 필요한 만큼만 케이블을 사용하므로 폐기되는 불필요한 케이블을 줄일 수 있습니다.

쇼트 포트 타입은 경량 & 공간 절약

안길이 30mm의 소형화를 실현해 좁은 공간에 쉽게 설치할 수 있습니다.
또한 표준 타입보다 약 10g 경량화되어 로봇 암 등의 가동부에 가해지는 부담이 줄었습니다.

Rc1/8 변환 부시를 준비.
기존 기종과의 호환성 향상 [쇼트 포트 타입용]

DP-10□-M(-P)에 장착하면 압력 포트를 M5 암나사에서 Rc1/8 암나사로 변경할 수 있습니다. 기존 기종 DP2/DP3 시리즈(수주 종료품)와 동일한 구경입니다.

Rc1/8 변환 부시를 준비. 기존 기종과의 호환성 향상 [쇼트 포트 타입용]

압력 포트의 방향 전환과 벽면에 평평하게 설치 가능 [쇼트 포트 타입용]

플랫 어태치먼트를 DP-10□-M(-P)에 설치하여 압력 포트와 케이블을 아래 방향 및 좌우 방향으로 인출할 수 있으므로 벽면 등에 평평하게 설치할 수 있습니다.


0 개 댓글

답장을 남겨주세요