<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>투케이2K</title>
    <link>https://kkh0977.tistory.com/</link>
    <description>[투케이2K] 
 
- 투케이2K의 개발블로그입니다. 
 
- 프로그램 개발관련 지식을 함께 공유하기 위한 블로그입니다. 
 
- 소통은 언제나 환영합니다. 
 
- 새로오신 분들 모두 반갑습니다. 좋은 하루 보내세요</description>
    <language>ko</language>
    <pubDate>Thu, 14 May 2026 16:25:45 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>투케이2K</managingEditor>
    <image>
      <title>투케이2K</title>
      <url>https://tistory1.daumcdn.net/tistory/4418760/attach/ba07d3f16bfc4b40b3b41f79c1119abf</url>
      <link>https://kkh0977.tistory.com</link>
    </image>
    <item>
      <title>187. (TWOK/LOGIC) [Aws] AWS Kvs HLS 사용해 실시간 비디오 스트리밍 재생 및 앱 입장에서 S3 녹화 영상 업로드 로직 정리</title>
      <link>https://kkh0977.tistory.com/8819</link>
      <description>&lt;div id=&quot;SE-3c4dfd3a-6f23-4683-a4ae-290e5a07b508&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-49248cd1-84a7-47fc-94a9-a38a1239ce5b&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[로직 정리]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-42d4504c-6de8-42cd-9abb-18043f9058c5&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-2e0a34ba-e1ea-4a32-9faf-26b43d12c1c8&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;정리 로직 : AWS / Kvs / HLS&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-c21b545b-f1d3-454a-a51c-b9bc6c7f799d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a14a5a4d-64a4-4d91-b0a1-39fe23b8cfb9&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제 목 : [Aws] AWS Kvs HLS 사용해 실시간 비디오 스트리밍 재생 및 앱 입장에서 S3 녹화 영상 업로드 로직 정리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-ff9979fc-cb46-4df2-bb5d-a27f14574b91&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-1b2d3ccd-196b-470b-8f69-50188fcf8be2&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HQtDp/dJMcabxo3er/BYghQ5uXECFndBPYbgRJX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HQtDp/dJMcabxo3er/BYghQ5uXECFndBPYbgRJX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HQtDp/dJMcabxo3er/BYghQ5uXECFndBPYbgRJX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHQtDp%2FdJMcabxo3er%2FBYghQ5uXECFndBPYbgRJX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;222&quot; height=&quot;223&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;223&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2a3d0353-f55b-4377-86ae-5ef7361425c3&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-1442df65-0a81-4ac2-bb38-c27bfa4691b3&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-14028ef5-e9e0-494b-949b-9372e1336682&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[설 명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-d9006321-0e88-454c-8cef-e3da59a31b59&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778672314766&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

1. 제 목 : [Aws] AWS Kvs HLS 사용해 실시간 비디오 스트리밍 재생 및 앱 입장에서 S3 녹화 영상 업로드 로직 정리


2. 테스트 환경 : Aws / Kvs / HLS / S3


3. 사전)   비디오 스트림 간략 설명 정리 : 

  &amp;gt;&amp;gt; 비디오 스트림은 라이브 비디오 및 기타 시간이 인코딩된 데이터를 캡처하고, 선택적으로 저장하고, 실시간, 배치 혹은 애드혹 형식으로 데이터의 소비를 가능하게 할 수 있도록 해 주는 리소스입니다

  &amp;gt;&amp;gt; 일반적인 구성에서는 Kinesis 비디오 스트림은 데이터를 푸시해 주는 생산자가 하나만 있습니다 (실시간 스트리밍 데이터를 밀어 넣어주는 하드웨어 기기)


4. 사전)   HLS 개념 설명 : 

  &amp;gt;&amp;gt; HTTP 라이브 스트리밍으로 인터넷을 통해 소비자에게 미디어 콘텐츠를 제공하는 데 사용되는 스트리밍 프로토콜입니다

  &amp;gt;&amp;gt; HLS 는 Apple 장치에서 지원하는 유일한 형식입니다

  &amp;gt;&amp;gt; 미디어는 h.264 또는 h.265 인코딩된 비디오를 포함해야 하며 AAC 인코딩된 오디오는 선택 사항입니다

  &amp;gt;&amp;gt; 미디어 타입 유효한 값의 예로는 &quot;video/h264&quot; 및 &quot;video/h264,audio/aac&quot; 가 있습니다

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

✅ 사전) 실시간 영상 재생 시 사용 되는 WebRTC 와 HLS 비교 설명 정리

--------------------------------------------------------------
구분          |     WebRTC         |      HLS
--------------------------------------------------------------
핵심 목적     |  초저지연 실시간     | 안정적 스트리밍 &amp;amp; 재생
--------------------------------------------------------------
지연          |     0.3~1초        | 5~30초
--------------------------------------------------------------
대상          | 실시간 상호작용     | 다수 시청, 기록, 재생
--------------------------------------------------------------
네트워크      |    P2P / UDP       | HTTP / CDN
--------------------------------------------------------------
확장성        | 낮음 (연결 수 제한) | ✅ 매우 높음
--------------------------------------------------------------
녹화/보관     |    ❌ 직접 불가    | ✅ 자연스럽게 연계
--------------------------------------------------------------



✅ 흐름 정리) 디바이스 기기 HLS 라이브 스트리밍 재생 및 앱에서 영상 시청 및 녹화 동작 흐름 정리

1. 기기: PutMedia : 스트리밍 데이터 전송 수행

2. 앱: HLS 재생 (보기만)

3. 앱: &amp;ldquo;녹화 시작&amp;rdquo; 버튼

4. Backend: 서버 타임스탬프 기록

5. 앱: &amp;ldquo;녹화 종료&amp;rdquo;

6. Backend:
   - 시간 범위 계산
   - ListFragments
   - GetMediaForFragmentList / GetClip
   - S3 저장



✅ 세부 정리) 각 흐름 단계에서 세부 사항 정리

1. 기기: PutMedia : 스트리밍 데이터 전송 수행

  &amp;gt;&amp;gt; 기기는 영상 원본을 KVS로 지속적으로 푸시

  &amp;gt;&amp;gt; Stream retention 반드시 &amp;gt; 0 : 최소 1시간 (실무에선 24h~72h 흔함)

  &amp;gt;&amp;gt; Fragment duration : 보통 2~6초 : 나중에 &amp;ldquo;구간 자르기&amp;rdquo; 정확도에 영향

2. 앱: HLS 재생 (보기만)

  &amp;gt;&amp;gt; 사용자는 실시간 또는 약간 지연된 영상 시청

  &amp;gt;&amp;gt; 앱은 GetHLSStreamingSessionURL로 m3u8 URL 획득

  &amp;gt;&amp;gt; 실제 영상은 KVS 내부 fragment를 읽어서 제공

3. 앱: &amp;ldquo;녹화 시작&amp;rdquo; 버튼

  &amp;gt;&amp;gt; 백엔드에 API 호출 : 이 시점부터의 시간을 기록해라

4. Backend: 서버 타임스탬프 기록

  &amp;gt;&amp;gt; 백엔드는 녹화 요청이 들어온 타임 스탬프 값 시간을 저장

5. 앱: &amp;ldquo;녹화 종료&amp;rdquo;

  &amp;gt;&amp;gt; 백엔드에 API 호출 : 녹화 영상 종료 시간을 기록해라

6-1. Backend: 시간 범위 계산

  &amp;gt;&amp;gt; 녹화 시작 타임스탬프, 녹화 종료 타임스탬프 확인

6-2. GetClip vs GetMediaForFragmentList 선택

  &amp;gt;&amp;gt;   GetClip (가장 간단)

    - 쓰임 : 사용자 버튼 녹화 , 수 초 ~ 수 분 , &amp;ldquo;파일 하나면 충분&amp;rdquo;

        $ 안정적으로 쓰이는 범위 : 수 초 ~ 수 분 , 일반적으로 1~5분 , 길어도 10분 전후

    - 동작 : 

      TimestampRange
        &amp;rarr; KVS가 자동으로 fragment 선택
        &amp;rarr; MP4 파일 생성
        &amp;rarr; 스트리밍 응답

    - 장점 : 구현 쉬움 , 추가 처리 거의 없음

    - 단점 : 대용량 부적합 , 세밀한 제어 불가

  &amp;gt;&amp;gt;   ListFragments + GetMediaForFragmentList (정석)

    - 쓰임 : 자동 녹화 , 장시간 , 분석 / 후처리 필요 , 대규모 시스템

    - 동작 : 

      TimestampRange
        &amp;rarr; ListFragments (fragment 번호 목록)
        &amp;rarr; GetMediaForFragmentList (MKV payload)
        &amp;rarr; (필요시 변환)
        &amp;rarr; S3

    - 장점 : 제어력 100% , 확장성 좋음

    - 단점 : 구현 복잡 , 후처리 필요

6-3. S3 저장

  &amp;gt;&amp;gt; 저장 형태 : 
  
    - GetClip &amp;rarr; MP4 바로 업로드
    - Fragment 방식 &amp;rarr; 변환 후 MP4 / 그대로 MKV

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ 143. (TWOK/LOGIC) [android] Aws Kvs HLS PutMedia 스트리밍 동영상 업로드 로직 정리 - DataEndpoint, MKV , AWS4Signer

https://kkh0977.tistory.com/8013

https://blog.naver.com/kkh0977/223875616765?trackingCode=blog_bloghome_searchlist


▶️ 145. (TWOK/LOGIC) [Aws] Aws Kvs HLS 디바이스 카메라 라이브 스트리밍 정보 PutMedia 업로드 방법 로직 정리

https://kkh0977.tistory.com/8086

https://blog.naver.com/kkh0977/223911555706?trackingCode=blog_bloghome_searchlist


▶️ 146. (TWOK/LOGIC) [Aws] Kvs HLS 라이브 스트리밍 로컬 PC에서 업로드 하기 위한 프로세스 로직 정리 - aws , ffmpeg , gstreamer 사용

https://kkh0977.tistory.com/8099

https://blog.naver.com/kkh0977/223918332596?trackingCode=blog_bloghome_searchlist


▶️ 147. (TWOK/LOGIC) [android] 안드로이드 휴대폰 실시간 카메라 스트림 영상을 마스터 역할로 Aws Kvs HLS 라이브 스트리밍 업로드 로직 정리

https://kkh0977.tistory.com/8250

https://blog.naver.com/kkh0977/223996783911?trackingCode=blog_bloghome_searchlist


▶️ 153. (TWOK/LOGIC) [Aws] 자바스크립트 Aws Kvs HLS 비디오 라이브 스트리밍 뷰어 Viewer 영상 재생 방법 정리

https://kkh0977.tistory.com/8405

https://blog.naver.com/kkh0977/224079078341?trackingCode=blog_bloghome_searchlist


▶️ AWS : ListFragments 설명

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html


▶️ AWS : GetMediaForFragmentList 설명

https://docs.aws.amazon.com/ko_kr/kinesisvideostreams/latest/dg/API_reader_GetMediaForFragmentList.html


▶️ AWS : GetClip 설명

https://docs.aws.amazon.com/ko_kr/kinesisvideostreams/latest/dg/API_reader_GetClip.html

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-024d077d-f9fd-4062-b24f-117ca773ba43&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-cc1b0ea3-b905-4392-9291-566494ab3dc3&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-dbb45d30-77da-40d6-afa4-5a4146cc8a44&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5e7dbdbd-2ff6-4835-b18f-2c1ef4d27a40&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-96ddec53-f3d3-497c-9231-cc1bd141bded&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8013&quot;&gt;https://kkh0977.tistory.com/8013&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778672319686&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;143. (TWOK/LOGIC) [android] Aws Kvs HLS PutMedia 스트리밍 동영상 업로드 로직 정리 - DataEndpoint, MKV , AWS4Signer&quot; data-og-description=&quot;[로직 정리]​정리 로직 : Mobile​상태 : [android] Aws Kvs HLS PutMedia 스트리밍 동영상 업로드 로직 정리 - DataEndpoint, MKV , AWS4Signer [설 명]​// ------------------------------------------------------------------------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/8013&quot; data-og-url=&quot;https://kkh0977.tistory.com/8013&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/p8aOt/dJMb887dG96/f8P1KUb8kKjHQ6RXms68vk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tdMzT/dJMb83kxQnb/KYxoVMCwDbW4sLJ1TTAKCK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zCoDY/dJMb81fXwnn/7CWbB7Zo4JNwzAb7N8OBKK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8013&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/8013&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/p8aOt/dJMb887dG96/f8P1KUb8kKjHQ6RXms68vk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tdMzT/dJMb83kxQnb/KYxoVMCwDbW4sLJ1TTAKCK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zCoDY/dJMb81fXwnn/7CWbB7Zo4JNwzAb7N8OBKK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;143. (TWOK/LOGIC) [android] Aws Kvs HLS PutMedia 스트리밍 동영상 업로드 로직 정리 - DataEndpoint, MKV , AWS4Signer&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[로직 정리]​정리 로직 : Mobile​상태 : [android] Aws Kvs HLS PutMedia 스트리밍 동영상 업로드 로직 정리 - DataEndpoint, MKV , AWS4Signer [설 명]​// ------------------------------------------------------------------------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>투케이2K 로직정리</category>
      <category>2K</category>
      <category>aws</category>
      <category>hls</category>
      <category>It</category>
      <category>kvs</category>
      <category>s3</category>
      <category>로직</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8819</guid>
      <comments>https://kkh0977.tistory.com/8819#entry8819comment</comments>
      <pubDate>Wed, 13 May 2026 20:39:13 +0900</pubDate>
    </item>
    <item>
      <title>1054. (Android/Java) [개념 정리] 안드로이드 build.gradle signingConfigs ' 앱 서명 하기 위한 키 정보 정의 영역 ' 설명 정리</title>
      <link>https://kkh0977.tistory.com/8818</link>
      <description>&lt;div id=&quot;SE-b51ef220-0dee-4d29-9395-458fce6af997&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-e26940f9-4dd1-464d-aecd-6f5ebf743d7f&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[개발 환경 설정]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f593fa56-29cc-4f50-9096-7e0344f0d217&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7d53844a-f3f0-4858-ad91-c889f31890b0&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 툴 : AndroidStudio&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-78be76a0-82be-4540-9b75-da7448c49144&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0de01079-b086-415e-ad14-e3c91041fdfe&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 언어 : Java / Kotlin&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-027d8532-9481-4989-b6dc-1e8af8e964e1&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2c6c353b-ffd1-4215-b351-24c74fd83040&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bABwFi/dJMcaciKTqq/cBPl2Me5GXZQlCrjXzxOP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bABwFi/dJMcaciKTqq/cBPl2Me5GXZQlCrjXzxOP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bABwFi/dJMcaciKTqq/cBPl2Me5GXZQlCrjXzxOP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbABwFi%2FdJMcaciKTqq%2FcBPl2Me5GXZQlCrjXzxOP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;220&quot; height=&quot;220&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a5e268b3-9b51-441d-825f-8d62956347be&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a1db3d20-bdaa-4495-8180-48f2e707da24&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-80064fd4-2312-4c57-8bd4-26a0b8799527&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[소스 코드]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-8ce3d889-881f-4d03-86e0-0c68a9866698&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778671920760&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin


- 개발 툴 : AndroidStudio


- 기술 구분 : Android / build.gradle / signingConfigs


- 사전)   APK (Android Application Package) 파일 간략 설명

  &amp;gt;&amp;gt; APK 는 안드로이드 앱을 설치하기 위한 배포 파일 형식입니다.

    - PC 에서의 .exe, iOS의 .ipa와 같은 역할을 합니다.

  &amp;gt;&amp;gt; APK 파일 하나에 앱 실행에 필요한 모든 것이 포함되어 있습니다.

    - 앱 코드 (Java / Kotlin &amp;rarr; DEX)
    - UI 리소스 (XML, 이미지, 문자열)
    - 앱 설정 (AndroidManifest.xml)
    - 서명 정보 (인증서)

  &amp;gt;&amp;gt; APK 내부 구조 (중요) : APK 는 사실상 ZIP 파일입니다. (확장자만 .apk)

    app.apk
    ├─ AndroidManifest.xml : 앱의 기본 정보 (패키지명, 권한, Activity 등)
    ├─ classes.dex : 앱 실행 코드 (Dalvik/ART용 바이트코드)
    ├─ resources.arsc 
    ├─ res/ : 레이아웃, 아이콘, 문자열
    ├─ assets/ : 그대로 사용하는 리소스
    ├─ lib/ : 네이티브 라이브러리 (.so)
    └─ META-INF/ : 서명정보 (매우 중요)

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. ✅ 안드로이드 build.gradle signingConfigs 는 앱을 서명 (Signing) 하기 위한 키 정보들을 정의하는 영역입니다.

  &amp;gt;&amp;gt;   안드로이드 앱은 반드시 서명되어야만 설치&amp;middot;배포가 가능하며, signingConfigs는 그 서명에 필요한 keystore와 키 설정을 미리 선언하는 역할을 합니다.


2. 안드로이드 signingConfigs 가 필요한 이유 : 

  &amp;gt;&amp;gt; 디바이스에 설치할 때

  &amp;gt;&amp;gt; Google Play에 배포할 때

  &amp;gt;&amp;gt; 업데이트(같은 키로 서명해야 함)

  &amp;gt;&amp;gt;   서명 키가 바뀌면 기존 앱을 업데이트할 수 없기 때문에, 서명 정보는 매우 중요하며 build 설정에 명확히 정의해야 합니다.


3. 안드로이드 signingConfigs 선언 위치 : 보통 모듈 레벨(app/build.gradle)의 android {} 블록 안에 위치합니다.

  &amp;gt;&amp;gt;   간단 영역 축약 표시

    android {
        signingConfigs {
            ...
        }
    }

  &amp;gt;&amp;gt;   전체 영역 확장 표시

    android {
        namespace &quot;com.twok.app&quot;
        compileSdk 35

        defaultConfig {
            applicationId &quot;com.twok.app&quot;
            minSdkVersion 26
            targetSdk 35

            // 코틀린 이슈[minSdkVersion 20 이하 &quot;AndroidX를 사용하지 않는&quot; 경우]
            multiDexEnabled true

            // ----------------------------------------
            // TODO 앱 업데이트 시 해당 값 중요
            // ----------------------------------------
            versionCode = 38 // 해당 값 중요 &amp;gt; 앱 업데이트 판단
            versionName = &quot;2.5.2&quot;
            // ----------------------------------------
        }

        // ✅ 키스토어 설정 정보
        signingConfigs {
            release {
                storeFile file(&quot;signature/keystore&quot;) // TODO Project &amp;gt;&amp;gt; app &amp;gt;&amp;gt; signature 폴더 &amp;gt;&amp;gt; keystore 파일 첨부 시 경로
                storePassword &quot;twok1234&quot;
                keyAlias &quot;twok2k&quot;
                keyPassword &quot;twok1234&quot;
            }
            debug {
                storeFile file('../keystore') // TODO Project &amp;gt;&amp;gt; keystore 파일 첨부 시 경로
                storePassword &quot;twok1234&quot;
                keyAlias &quot;twok2k&quot;
                keyPassword &quot;twok1234&quot;
            }
        }

    }


4. 안드로이드 signingConfigs 내에 선언 되는 각 항목 의미 설명 : 

  &amp;gt;&amp;gt; storeFile : keystore 파일 경로 (.jks 또는 .keystore)

  &amp;gt;&amp;gt; storePassword : keystore 비밀번호

  &amp;gt;&amp;gt; keyAlias : keystore 안의 키 별칭

  &amp;gt;&amp;gt; keyPassword : 해당 키의 비밀번호


5. 안드로이드 signingConfigs 내에 debug 서명과 release 서명의 차이

  &amp;gt;&amp;gt; debug 서명 : 

    - Android Studio 가 자동 생성
    - 개발 &amp;amp; 테스트용

  &amp;gt;&amp;gt; release 서명 : 

    - 직접 생성한 keystore 사용
    - 앱 스토어 배포용


6. ✅ signingConfigs 와 buildTypes 의 연결 예시 

  &amp;gt;&amp;gt;   signingConfigs는 정의만 하는 영역이고, 실제로 어떤 빌드에 사용할지는 buildTypes에서 지정합니다.
  
    android {
        signingConfigs {
            release {
                storeFile file(&quot;release.jks&quot;)
                storePassword &quot;password&quot;
                keyAlias &quot;release&quot;
                keyPassword &quot;password&quot;
            }
        }

        buildTypes {
            release {
                signingConfig signingConfigs.release
                minifyEnabled true
            }
        }
    }

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive

https://kkh0977.tistory.com/4842

https://blog.naver.com/kkh0977/223258123850?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 키툴 (Keytool) 사용해 apk 실행 파일 앱 서명 정보 확인 방법]

https://kkh0977.tistory.com/6834

https://blog.naver.com/kkh0977/223550265510?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 apksigner 사용해 특정 apk 파일 jks , keystore 서명 인증 수행]

https://kkh0977.tistory.com/6973

https://blog.naver.com/kkh0977/223582075557?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 apksigner 사용해 특정 apk 파일 서명 인증 타입 확인 수행 (v1 , v2)]

https://kkh0977.tistory.com/6972

https://blog.naver.com/kkh0977/223582072292?trackingCode=blog_bloghome_searchlist


▶️ [업무 이슈] 안드로이드 apk 파일 빌드 시 필요한 jks 파일 alias 명칭 초기화 및 잊어 버림 이슈

https://kkh0977.tistory.com/7197

https://blog.naver.com/kkh0977/223626175927?trackingCode=blog_bloghome_searchlist


▶️ [업무 이슈] 삼성 갤럭 시 스마트폰 apk 파일 설치 시 보이스 피싱 의심 앱 설치 불가 문의 - 무시하고 설치 버튼 미표시

https://kkh0977.tistory.com/7974

https://blog.naver.com/kkh0977/223828837077?trackingCode=blog_bloghome_searchlist


▶️ [IT 정보] 구글 플레이 프로텍트 (Google Play Protect) 사용 해제 및 apk 파일 무시하고 설치 방법 (알 수 없는 앱 설치)

https://kkh0977.tistory.com/6333

https://blog.naver.com/kkh0977/223469956481?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-149581fa-ba53-429d-a43b-16bd92644931&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-5958486e-e5e8-48c7-be68-0e99801c4e93&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-fc9af70c-43fb-4b87-bd45-5bc1e6b85d81&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f5a7f240-5f6e-464f-9238-fdf42169a3ac&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-dbd8eca6-62ef-4c6e-aa1e-1c79d76c6b91&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/4842&quot;&gt;https://kkh0977.tistory.com/4842&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778671891191&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;36. (TWOK/LOGIC) [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 &quot; data-og-description=&quot;[로직 정리] ​ 정리 로직 : Android ​ 상태 : [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive [설 명] [1] : 알수 없는 앱 설치 권한 부여 상&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/4842&quot; data-og-url=&quot;https://kkh0977.tistory.com/4842&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b09c6U/dJMb81G2f5a/JQpeZg62CThqUmkGnu6atk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b5g4gD/dJMb83SnOKt/wC1zuTuzUcdKG8dsiDDPmK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cpNU52/dJMb86O6CLX/jCgublFAAaEFzaYCYIG0tK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/4842&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/4842&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b09c6U/dJMb81G2f5a/JQpeZg62CThqUmkGnu6atk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b5g4gD/dJMb83SnOKt/wC1zuTuzUcdKG8dsiDDPmK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cpNU52/dJMb86O6CLX/jCgublFAAaEFzaYCYIG0tK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;36. (TWOK/LOGIC) [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[로직 정리] ​ 정리 로직 : Android ​ 상태 : [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive [설 명] [1] : 알수 없는 앱 설치 권한 부여 상&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>Android</category>
      <category>2K</category>
      <category>build</category>
      <category>It</category>
      <category>jks</category>
      <category>signingconfigs</category>
      <category>안드로이드</category>
      <category>컴퓨터</category>
      <category>키스토어</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8818</guid>
      <comments>https://kkh0977.tistory.com/8818#entry8818comment</comments>
      <pubDate>Wed, 13 May 2026 20:32:40 +0900</pubDate>
    </item>
    <item>
      <title>329. [IT 용어] ThingPlug ( 씽플러그 ) ' IoT 디바이스를 네트워크에 연결하고 데이터를 수집&amp;middot;관리&amp;middot;분석할 수 있도록 해주는 클라우드 기반 서비스 ' 용어 설명</title>
      <link>https://kkh0977.tistory.com/8817</link>
      <description>&lt;div id=&quot;SE-7ead0849-05d5-4bc4-ad66-4793e407f783&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-5e2cdd72-a0dc-4c25-b59d-83b273a3bc57&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[타이틀]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-62fb0f49-05ba-4c2c-9348-064a7222c53d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-6ebf3245-8ae1-468b-bda1-637ab225ad4d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;주제 : [IT 용어]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-65579b10-d567-40dd-9a64-646c3ac81ed8&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-1d13e28c-1188-4abf-903c-032c2808534d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제목 : [IT 용어] ThingPlug ( 씽플러그 ) ' IoT 디바이스를 네트워크에 연결하고 데이터를 수집&amp;middot;관리&amp;middot;분석할 수 있도록 해주는 클라우드 기반 서비스 ' 용어 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-69d9fa1e-c551-449d-a4d8-3cf253ba8459&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-6c0f9022-fdcc-42d0-a8ad-277687303032&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/do73zf/dJMcafGA0Ud/vBUPlIcZ9EkfhZLFLi8X81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/do73zf/dJMcafGA0Ud/vBUPlIcZ9EkfhZLFLi8X81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/do73zf/dJMcafGA0Ud/vBUPlIcZ9EkfhZLFLi8X81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdo73zf%2FdJMcafGA0Ud%2FvBUPlIcZ9EkfhZLFLi8X81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;219&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2471e8a6-17a2-4f36-9329-52061722f804&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-e7f46dbe-715f-4ad9-8d50-694dfcdd1a67&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-70d32e26-96df-4a9f-b8e1-68c150bff65d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[설 명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-61c8ac74-f5fc-44ab-b625-c9575165c07e&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778583184892&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[IT 정보 및 환경]
// --------------------------------------------------------------------------------------

구분 : IT 용어 설명


제목 : [IT 용어] ThingPlug ( 씽플러그 ) ' IoT 디바이스를 네트워크에 연결하고 데이터를 수집&amp;middot;관리&amp;middot;분석할 수 있도록 해주는 클라우드 기반 서비스 ' 용어 설명


기술 : IT 용어 / ThingPlug / 씽플러그


사전)   IoT 장비 간략 설명 : 

  &amp;gt;&amp;gt; IoT 장비 (사물인터넷, Internet of Things Device) 는 인터넷에 연결되어 데이터를 수집&amp;middot;전송&amp;middot;처리하고, 다른 시스템이나 사람과 상호작용하는 물리적 장치를 말합니다.

  &amp;gt;&amp;gt; IoT 장비의 기본 구성요소 : 

    - 센서 (Sensor) : 온도, 습도, 조도, 가속도, 압력, 위치(GPS) 등 주변 환경이나 상태를 측정
    - 액추에이터 (Actuator) : 명령에 따라 물리적 동작 수행
    - 프로세서 / MCU : 센서 데이터 처리 및 로직 수행
    - 통신 모듈 : 데이터를 외부로 전송하거나 명령을 수신
    - 전원 : 배터리, 어댑터, 태양광 등

  &amp;gt;&amp;gt; IoT 장비 주요 특징 : 

    - 실시간 데이터 수집
    - 원격 모니터링 및 제어
    - 자동화 및 지능화
    - 24/7 지속적 운영
    - 대규모 확장 가능성(수천~수백만 대)

  &amp;gt;&amp;gt; IoT 장비의 동작 흐름 예시 : 

    - 센서 &amp;rarr; IoT 장비 &amp;rarr; 네트워크 &amp;rarr; 서버/클라우드 &amp;rarr; 분석/저장 &amp;rarr; 사용자 앱

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------

1. ✅ ThingPlug (씽플러그) 는 IoT(사물인터넷) 플랫폼으로, 다양한 IoT 디바이스를 네트워크에 연결하고 데이터를 수집&amp;middot;관리&amp;middot;분석할 수 있도록 해주는 클라우드 기반 서비스입니다.

  &amp;gt;&amp;gt;   기업(B2B) 및 공공, 산업용 IoT 구축에 주로 활용됩니다.


2. ThingPlug (씽플러그) 는 디바이스&amp;ndash;네트워크&amp;ndash;플랫폼&amp;ndash;애플리케이션을 하나로 연결해 주는 IoT 중간 플랫폼 (Middleware) 역할을 수행합니다.

  &amp;gt;&amp;gt;   개발자는 통신, 인증, 메시지 처리 같은 복잡한 부분을 직접 구현하지 않고도 IoT 서비스를 빠르게 만들 수 있습니다.


3. ✅ ThingPlug (씽플러그) 주요 기능 : 

  &amp;gt;&amp;gt; 디바이스 관리 : 

    - 센서, 게이트웨이, 단말 등록/삭제
    - 디바이스 상태 모니터링
    - 원격 제어 및 펌웨어 업데이트(OTA)

  &amp;gt;&amp;gt; 통신 및 연결 : 

    - LTE-M, NB-IoT, 5G 등 SKT 이동통신망 연동
    - MQTT, HTTP, CoAP 같은 IoT 표준 프로토콜 지원
    - 대규모 디바이스 동시 연결 처리

  &amp;gt;&amp;gt; 데이터 수집&amp;middot;처리 : 

    - 실시간 데이터 수집
    - 규칙(Rule) 엔진 및 이벤트 처리
    - 외부 시스템(서버, 클라우드, 빅데이터 플랫폼) 연동 API 제공

  &amp;gt;&amp;gt; 보안 : 
  
    - 디바이스 인증 및 접근 제어
    - 암호화 통신
    - 플랫폼 단 보안 정책 관리

  &amp;gt;&amp;gt; 서비스 개발 지원 : 

    - REST API 제공
    - 대시보드 및 모니터링 기능
    - 다양한 산업에 적용 가능한 레퍼런스 아키텍처


4. ThingPlug (씽플러그) 적용 분야 : 

  &amp;gt;&amp;gt; 스마트 시티 : 가로등, 주차, 환경센서

  &amp;gt;&amp;gt; 스마트 팩토리 : 설비 모니터링, 예지보전

  &amp;gt;&amp;gt; 물류/유통 : 자산 추적, 콜드체인

  &amp;gt;&amp;gt; 에너지 : 스마트 미터링, 전력 관리

  &amp;gt;&amp;gt; 헬스케어 : 웨어러블, 원격 모니터링

  &amp;gt;&amp;gt; 보안/안전 : CCTV 연동, 재난 감지


5. ✅ ThingPlug (씽플러그) 장점 : 

  &amp;gt;&amp;gt; 통신사 플랫폼 : SKT 네트워크와의 강력한 연계

  &amp;gt;&amp;gt; 대규모 확장성 : 수만~수백만 디바이스 관리 가능

  &amp;gt;&amp;gt; 빠른 서비스 출시 : IoT 공통 기능을 이미 제공

  &amp;gt;&amp;gt; 국내 환경 최적화 : 국내 통신&amp;middot;규제&amp;middot;산업 환경에 적합

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [IT 용어] 프리뷰 ( Preview ) ' 콘텐츠를 열기 전에 일부 내용을 미리 보여주는 기능이나 화면 ' 용어 설명

https://kkh0977.tistory.com/8808

https://blog.naver.com/kkh0977/224279251903


▶️ [IT 용어] 패스키 ( Passkey ) ' 비밀번호 입력 대체 로그인 인증 방식 ' 용어 설명

https://kkh0977.tistory.com/8804

https://blog.naver.com/kkh0977/224276890259


▶️ [IT 용어] 프라이버시 마스킹 ( Privacy Masking ) ' 개인정보 를 그대로 노출하지 않고 일부를 가리거나 변형해서 보호하는 기술 ' 용어 설명 정리

https://kkh0977.tistory.com/8802

https://blog.naver.com/kkh0977/224274896785


▶️ [IT 용어] SID ( Security Identifier ) ' 보안 식별자 ' 용어 설명 정리

https://kkh0977.tistory.com/8791

https://blog.naver.com/kkh0977/224268449117


▶️ [IT 용어] PbD 개인정보보호 중심 설계 설명

https://kkh0977.tistory.com/5491

https://blog.naver.com/kkh0977/223359791382?trackingCode=blog_bloghome_searchlist


▶️ [CI , DI 용어 설명 - 개인 식별 정보]

https://kkh0977.tistory.com/5246

https://blog.naver.com/kkh0977/223334171115?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-24651f68-5eba-411f-a8c0-963669b70517&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-50262a75-88ef-4bf6-a517-d5736052e8a1&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-64b82c6f-c205-444a-aedc-f1a1da444f29&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-90f0e1de-7718-4d15-a978-629341e2e808&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5a6e0192-d472-43ae-968b-0f418a82ec34&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8808&quot;&gt;https://kkh0977.tistory.com/8808&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778583160119&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;328. [IT 용어] 프리뷰 ( Preview ) ' 콘텐츠를 열기 전에 일부 내용을 미리 보여주는 기능이나 화면 ' &quot; data-og-description=&quot;[타이틀]​주제 : [IT 용어]​제목 : [IT 용어] 프리뷰 ( Preview ) ' 콘텐츠를 열기 전에 일부 내용을 미리 보여주는 기능이나 화면 ' 용어 설명​ [설 명]​// --------------------------------------------------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/8808&quot; data-og-url=&quot;https://kkh0977.tistory.com/8808&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/I7TuM/dJMb9hC5Xdi/SraVnq6QagTFLVkk2BlVMk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cacRWu/dJMb9bv6X3K/dY3Sw2dZ1Y0kImNY1WV5dk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/W9pP6/dJMb9fZz11h/ll0BtvwaE1OKatdQK0bzx1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8808&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/8808&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/I7TuM/dJMb9hC5Xdi/SraVnq6QagTFLVkk2BlVMk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cacRWu/dJMb9bv6X3K/dY3Sw2dZ1Y0kImNY1WV5dk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/W9pP6/dJMb9fZz11h/ll0BtvwaE1OKatdQK0bzx1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;328. [IT 용어] 프리뷰 ( Preview ) ' 콘텐츠를 열기 전에 일부 내용을 미리 보여주는 기능이나 화면 '&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[타이틀]​주제 : [IT 용어]​제목 : [IT 용어] 프리뷰 ( Preview ) ' 콘텐츠를 열기 전에 일부 내용을 미리 보여주는 기능이나 화면 ' 용어 설명​ [설 명]​// --------------------------------------------------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>IT기술 &amp;amp; IT용어</category>
      <category>2K</category>
      <category>It</category>
      <category>ThingPlug</category>
      <category>기술</category>
      <category>씽플러그</category>
      <category>용어</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8817</guid>
      <comments>https://kkh0977.tistory.com/8817#entry8817comment</comments>
      <pubDate>Tue, 12 May 2026 19:54:03 +0900</pubDate>
    </item>
    <item>
      <title>54. (ADB/Command) adb package 와 dumpsys 명령어 사용해 내 휴대폰에 설치 된 특정 앱 패키지 명칭 및 앱 정보 확인 수행</title>
      <link>https://kkh0977.tistory.com/8816</link>
      <description>&lt;div id=&quot;SE-bfee5fe4-7b9a-4a42-a190-4daf3241b399&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-b7ce0968-7e3b-4ff2-8e1c-91ddc7bb2413&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[환경 구성 및 요약 설명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-b0d38db3-dd8a-4d65-8086-051d99221338&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-558d2b4e-9308-4f54-9ab1-453e7c417542&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 환경 : Mobile / Android / ADB Shell&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4173373a-6d9c-4491-a76a-89139eeb6051&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a5ed8128-236a-492b-87da-8ef9d4288042&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제목 및 설명 : adb package 와 dumpsys 명령어 사용해 내 휴대폰에 설치 된 특정 앱 패키지 명칭 및 앱 정보 확인 수행&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-2b385734-d326-4ebd-8cdf-3acbe1f440ae&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-92be7866-25bd-4e96-b64f-17187dece975&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/de9WGW/dJMcagZKYnN/Dslq7WulNypPCcr5IDq2s0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/de9WGW/dJMcagZKYnN/Dslq7WulNypPCcr5IDq2s0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/de9WGW/dJMcagZKYnN/Dslq7WulNypPCcr5IDq2s0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fde9WGW%2FdJMcagZKYnN%2FDslq7WulNypPCcr5IDq2s0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;219&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-bdb75b2d-096e-4f36-af8e-15628046c4f3&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-8e5f5f89-f347-4182-9529-bfa7ebcf5293&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-28108eca-e54f-4a0e-876d-8865ddf5a2b4&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[설 명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4a92ff1c-60ee-49ab-8d64-c20a78cea05a&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778582815216&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 개발 툴 : ADB Shell


- 환 경 : 안드로이드 (Android) / 모바일 (Mobile)


- 사전)   ADB 간략 설명 정리 : 

  &amp;gt;&amp;gt; ADB 는 PC에서 안드로이드 기기를 제어&amp;middot;디버깅&amp;middot;관리하기 위한 공식 도구입니다.

  &amp;gt;&amp;gt; ADB 는 Android SDK (플랫폼 도구) 에 포함되어 있으며, USB 또는 Wi‑Fi로 기기와 연결해 다양한 명령을 실행할 수 있습니다.


- 사전)   ADB 사용 참고 사항 : 

  &amp;gt;&amp;gt; ADB 설치 후 휴대폰 개발자 모드 활성 및 USB 디버깅 허용이 필요합니다

  &amp;gt;&amp;gt; GitBash 또는 CMD 명령 프롬프트에서 간편히 ADB 명령어를 사용하기 위해서는 환경 변수 추가 설정이 필요합니다.

  &amp;gt;&amp;gt; 필요 시 USB 드라이브 별도 설치 진행이 필요합니다

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[내용 정리]
// --------------------------------------------------------------------------------------

1. 설 명 : adb package 와 dumpsys 명령어 사용해 내 휴대폰에 설치 된 특정 앱 패키지 명칭 및 앱 정보를 확인할 수 있습니다.


2. ✅ 문 법 : 패키지 명칭 확인

  &amp;gt;&amp;gt; 전체 패키지 리스트 출력 : $ adb shell pm list package
  
  &amp;gt;&amp;gt; 특정 패키지 명칭 단어 알고 있는 경우 (twokapp) : $ adb shell pm list package | findstr twokapp

  &amp;gt;&amp;gt; 결과 출력 : package:com.test.twokapp


3. ✅ 문 법 : 특정 앱 파일 정보 확인 (패키지 명칭 필요)

  &amp;gt;&amp;gt; 전체 정보 출력 : $ adb shell dumpsys package package:com.test.twokapp

  &amp;gt;&amp;gt; 인증서 정보 확인 : $ adb shell dumpsys package package:com.test.twokapp | findstr Sign

  &amp;gt;&amp;gt; 결과 출력 : 

      Signatures: [8A:31:...:8B:7B]
      Signing KeySets: 218
    apkSigningVersion=2
    signatures=PackageSignatures{7d700ac version:2, signatures:[..], past signatures:[]}


4. ✅ 참고 사항 : 

  &amp;gt;&amp;gt; 특정 앱 정보를 확인하기 위해서는 휴대폰에 특정 앱이 설치되어 있어야합니다.

// -----------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [Android Debug Bridge 안드로이드 디버그 브리지 설치 방법 참고 사이트]

https://kkh0977.tistory.com/5315

https://blog.naver.com/kkh0977/223341714062


▶️ [Window] 윈도우 안드로이드 adb 설치 확인 및 환경 변수 설정 , adb version 버전 확인 실시

https://kkh0977.tistory.com/3344

https://blog.naver.com/kkh0977/222940534941?trackingCode=blog_bloghome_searchlist


▶️ [설치된 ADB 버전 확인 수행]

https://kkh0977.tistory.com/5369

https://blog.naver.com/kkh0977/223345012805


▶️ [현재 디버깅 연결 된 안드로이드 기기 확인 방법]

https://kkh0977.tistory.com/5370

https://blog.naver.com/kkh0977/223345015247

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-341c2c90-ab7d-42e1-9419-141c7a323fa2&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2d3b5c9d-2e4b-4999-812b-eb312e3cbd12&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-f98f896a-94e7-44b6-9e00-26a841a5aab9&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-3de150d3-1a27-4cc9-9251-8aafc1c371c4&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-fce8c7d3-fc49-4e49-bb6f-b926cb84aced&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/5315&quot;&gt;https://kkh0977.tistory.com/5315&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778582796980&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;1. (ADB) Android Debug Bridge 안드로이드 디버그 브리지 설치 방법 참고 사이트&quot; data-og-description=&quot;[환경 구성 및 요약 설명] ​ Mobile : Android ​ 설 명 : Android Debug Bridge 안드로이드 디버그 브리지 설치 방법 참고 사이트 [설 명] -----------------------------------------------------------------------------------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/5315&quot; data-og-url=&quot;https://kkh0977.tistory.com/5315&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/d7oMNg/dJMb8PGASKs/imDBqZQ4V45bicOshwvat0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/03UR7/dJMb8QMgMjc/7MxAj33c7v3dKR0diBNzAK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bOV1ZU/dJMb9g5fOt2/IhTXMRipvlEZMMMFGPoTi0/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/5315&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/5315&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/d7oMNg/dJMb8PGASKs/imDBqZQ4V45bicOshwvat0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/03UR7/dJMb8QMgMjc/7MxAj33c7v3dKR0diBNzAK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bOV1ZU/dJMb9g5fOt2/IhTXMRipvlEZMMMFGPoTi0/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1. (ADB) Android Debug Bridge 안드로이드 디버그 브리지 설치 방법 참고 사이트&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[환경 구성 및 요약 설명] ​ Mobile : Android ​ 설 명 : Android Debug Bridge 안드로이드 디버그 브리지 설치 방법 참고 사이트 [설 명] -----------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>ADB (cmd)</category>
      <category>2K</category>
      <category>adb</category>
      <category>dumpsys</category>
      <category>It</category>
      <category>package</category>
      <category>Shell</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8816</guid>
      <comments>https://kkh0977.tistory.com/8816#entry8816comment</comments>
      <pubDate>Tue, 12 May 2026 19:48:07 +0900</pubDate>
    </item>
    <item>
      <title>212. (TWOK/WORK) [업무 이슈] 안드로이드 apk 앱 설치 파일 설치 수행 시 ' 패키지가 충돌했습니다. ' , ' 앱이 설치되지 않았습니다 ' 메시지 표시 이슈</title>
      <link>https://kkh0977.tistory.com/8815</link>
      <description>&lt;div id=&quot;SE-f630ba43-afe9-43ef-9ee4-888440f5fe95&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-6d2d20df-c443-45cc-920e-12a6101e02f0&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[제 목]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-95ca3d2c-8c50-4721-a0f6-67fc62549e19&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-128e0998-f3fb-4ba3-a798-3abec7575338&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;주제 : 투케이2K 업무 정리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4881f789-c715-4de8-9b82-04e8c14880e3&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4b386e1a-e9b2-47d6-9526-a10a7b60f556&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;타이틀 : 투케이 / 2k / 업무 정리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-197dbbb5-7c03-4f99-b67d-1722eb552695&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7e57a5c6-3ecc-498c-a1ca-e26cad608a3a&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제목 : [업무 이슈] 안드로이드 apk 앱 설치 파일 설치 수행 시 ' 패키지가 충돌했습니다. ' , ' 앱이 설치되지 않았습니다 ' 메시지 표시 이슈&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-96377f38-c7b8-43fb-acfe-cb07c1fd9b38&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-2984fcf0-7499-4f43-8426-f432399aec65&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGWS81/dJMcafT75wD/LFLs92UYHx3KnXUBwwUmP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGWS81/dJMcafT75wD/LFLs92UYHx3KnXUBwwUmP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGWS81/dJMcafT75wD/LFLs92UYHx3KnXUBwwUmP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGWS81%2FdJMcafT75wD%2FLFLs92UYHx3KnXUBwwUmP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;222&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;222&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-9f82d9f8-aabd-4069-890a-2cbc8cc210bd&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-66ac9ee6-afcf-4f6c-81e5-82189971d7d9&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-4dcc9a59-70bc-4bf7-887c-06fcd5adda1d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[내 용]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4438a189-5113-478a-8e5c-6ac5f7884ef0&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778582360622&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;------------------------------------------------------------------------------
[개발 및 테스트 환경]
------------------------------------------------------------------------------

- 제 목 : [업무 이슈] 안드로이드 apk 앱 설치 파일 설치 수행 시 ' 패키지가 충돌했습니다. ' , ' 앱이 설치되지 않았습니다 ' 메시지 표시 이슈


- 테스트 환경 : Mobile / Android / APK


- 사전)   APK (Android Application Package) 파일 간략 설명

  &amp;gt;&amp;gt; APK 는 안드로이드 앱을 설치하기 위한 배포 파일 형식입니다.

    - PC 에서의 .exe, iOS의 .ipa와 같은 역할을 합니다.

  &amp;gt;&amp;gt; APK 파일 하나에 앱 실행에 필요한 모든 것이 포함되어 있습니다.

    - 앱 코드 (Java / Kotlin &amp;rarr; DEX)
    - UI 리소스 (XML, 이미지, 문자열)
    - 앱 설정 (AndroidManifest.xml)
    - 서명 정보 (인증서)

  &amp;gt;&amp;gt; APK 내부 구조 (중요) : APK 는 사실상 ZIP 파일입니다. (확장자만 .apk)

    app.apk
    ├─ AndroidManifest.xml : 앱의 기본 정보 (패키지명, 권한, Activity 등)
    ├─ classes.dex : 앱 실행 코드 (Dalvik/ART용 바이트코드)
    ├─ resources.arsc 
    ├─ res/ : 레이아웃, 아이콘, 문자열
    ├─ assets/ : 그대로 사용하는 리소스
    ├─ lib/ : 네이티브 라이브러리 (.so)
    └─ META-INF/ : 서명정보 (매우 중요)

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. 안드로이드 특정 앱에서 ' 출처를 알 수 없는 앱 설치 ' 권한 부여 후 APK 파일 설치 및 업데이트 진행 시 

  ❌ ' 패키지가 충돌했습니다. ' 

  ❌ ' 앱이 설치되지 않았습니다 ' 
  
  메시지가 표시 이슈 문의


2. 사전 앱 조건 설명)

  &amp;gt;&amp;gt; 앱에는 출처를 알 수 없는 앱 설치 권한 부여 된 상태

  &amp;gt;&amp;gt; 기존 APK 파일에서 새로운 버전 앱 파일 업데이트 수행 시 위와 같은 에러 메시지가 표시 되는 이슈

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 기존 앱 배포 사이트에 올라가져 있는 APK 파일 다운로드 수행


2. 휴대폰에 APK 파일 설치 진행


3. 앱 배포 사이트에 새로운 신규 버전 앱 파일 업로드 수행


4. 특정 앱 실행 후 자동으로 앱 업데이트 알림 팝업창이 표시 되는 것 확인


5. 앱 업데이트 진행 버튼 클릭


6. 앱 설치 진행 중에 ❌ ' 패키지가 충돌했습니다. '  , ❌ ' 앱이 설치되지 않았습니다 ' 메시지가 표시 되는 것 확인


7. ✅ 변경 된 사항 확인 시 Git 에 업로드 된 소스 코드는 동일하지만 build.gradle 파일에서 release , debug 에 사용 되는 signingConfigs 값이 기존과 다른 것 확인

  &amp;gt;&amp;gt; 기존 앱 파일과 사인 된 값이 달라서 위와 같은 에러 메시지가 표시 되는 것 확인

  &amp;gt;&amp;gt; ✔️ 안드로이드 키툴 (Keytool) 사용해 apk 파일 앱 서명 정보 확인 시 기존 설치 된 APK 파일과 신규로 설치하려는 APK 파일 인증서 지문 정보가 다른 것 확인

------------------------------------------------------------------------------






------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. build.gradle 파일에서 앱 빌드 시 사용 된 jks 및 keystore 정보를 기존 앱과 동일하게 설정 수행

  android {
      namespace &quot;com.twok.app&quot;
      compileSdk 35

      defaultConfig {
          applicationId &quot;com.twok.app&quot;
          minSdkVersion 26
          targetSdk 35

          // 코틀린 이슈[minSdkVersion 20 이하 &quot;AndroidX를 사용하지 않는&quot; 경우]
          multiDexEnabled true

          // ----------------------------------------
          // TODO 앱 업데이트 시 해당 값 중요
          // ----------------------------------------
          versionCode = 38 // 해당 값 중요 &amp;gt; 앱 업데이트 판단
          versionName = &quot;2.5.2&quot;
          // ----------------------------------------
      }

      // ✅ 키스토어 설정 정보
      signingConfigs {
          release {
              storeFile file(&quot;signature/keystore&quot;) // TODO Project &amp;gt;&amp;gt; app &amp;gt;&amp;gt; signature 폴더 &amp;gt;&amp;gt; keystore 파일 첨부 시 경로
              storePassword &quot;twok1234&quot;
              keyAlias &quot;twok2k&quot;
              keyPassword &quot;twok1234&quot;
          }
          debug {
              storeFile file('../keystore') // TODO Project &amp;gt;&amp;gt; keystore 파일 첨부 시 경로
              storePassword &quot;twok1234&quot;
              keyAlias &quot;twok2k&quot;
              keyPassword &quot;twok1234&quot;
          }
      }

  }


2. 앱 프로젝트 build.gradle sync 동기화 수행 후 다시 앱 재빌드 수행 실시


3. 재빌드 된 APK 앱 파일 다시 설치 진행 시 정상적으로 앱이 신규 버전으로 업데이트 되는 것 확인


4. ✅ 추가) ❌ ' 패키지가 충돌했습니다. '  , ❌ ' 앱이 설치되지 않았습니다 ' 메시지가 표시 될 수 있는 추가 상황 정리

  &amp;gt;&amp;gt; ✔️ 이미 기기에 설치된 앱과 지금 설치하려는 APK 서명키가 다른 경우 문제 발생

    - Android 보안 정책상 서명이 다르면 &amp;ldquo;업데이트&amp;rdquo; 불가 &amp;gt;&amp;gt; 그래서 &amp;ldquo;패키지 충돌&amp;rdquo; 발생

  &amp;gt;&amp;gt; ✔️ Play Store 에 설치된 앱이 있는데, 로컬 APK 설치 시 문제 발생

    - Play Store 앱 &amp;rarr; Google App Signing 키 / 개발 PC APK &amp;rarr; 로컬 keystore   키가 다르므로 충돌 발생 가능

  &amp;gt;&amp;gt; ✔️ OS 제조사 커스텀 APK 

    - 시스템 앱으로 사전 설치됨 &amp;gt;&amp;gt; 동일 패키지명 앱 설치 시 충돌

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive

https://kkh0977.tistory.com/4842

https://blog.naver.com/kkh0977/223258123850?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 키툴 (Keytool) 사용해 apk 실행 파일 앱 서명 정보 확인 방법]

https://kkh0977.tistory.com/6834

https://blog.naver.com/kkh0977/223550265510?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 apksigner 사용해 특정 apk 파일 jks , keystore 서명 인증 수행]

https://kkh0977.tistory.com/6973

https://blog.naver.com/kkh0977/223582075557?trackingCode=blog_bloghome_searchlist


▶️ [안드로이드 apksigner 사용해 특정 apk 파일 서명 인증 타입 확인 수행 (v1 , v2)]

https://kkh0977.tistory.com/6972

https://blog.naver.com/kkh0977/223582072292?trackingCode=blog_bloghome_searchlist


▶️ [업무 이슈] 안드로이드 apk 파일 빌드 시 필요한 jks 파일 alias 명칭 초기화 및 잊어 버림 이슈

https://kkh0977.tistory.com/7197

https://blog.naver.com/kkh0977/223626175927?trackingCode=blog_bloghome_searchlist


▶️ [업무 이슈] 삼성 갤럭 시 스마트폰 apk 파일 설치 시 보이스 피싱 의심 앱 설치 불가 문의 - 무시하고 설치 버튼 미표시

https://kkh0977.tistory.com/7974

https://blog.naver.com/kkh0977/223828837077?trackingCode=blog_bloghome_searchlist


▶️ [IT 정보] 구글 플레이 프로텍트 (Google Play Protect) 사용 해제 및 apk 파일 무시하고 설치 방법 (알 수 없는 앱 설치)

https://kkh0977.tistory.com/6333

https://blog.naver.com/kkh0977/223469956481?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-8010643c-c678-41ce-a0fc-a15651766217&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-6f4fa792-7143-44c4-9aa0-76ddb44afa34&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-b4530ebf-0cd4-4728-8444-cde330a458ce&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-64facc92-be1f-4e0c-9b57-9d311f1524c7&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-84e2aedc-1167-40b4-ad47-20dc23fb4a73&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/4842&quot;&gt;https://kkh0977.tistory.com/4842&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778582340981&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;36. (TWOK/LOGIC) [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 &quot; data-og-description=&quot;[로직 정리] ​ 정리 로직 : Android ​ 상태 : [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive [설 명] [1] : 알수 없는 앱 설치 권한 부여 상&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/4842&quot; data-og-url=&quot;https://kkh0977.tistory.com/4842&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dmDlIz/dJMb8WMullF/rEPelBkJVyWcMtNSw4gKD0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bQ3jSv/dJMb8Z3v5L7/pAhZHdkGy5Bx5q7AXoGIkK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bPFApL/dJMb8U8YlST/qUzxrihyjK2UmQUzaFEGnK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/4842&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/4842&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dmDlIz/dJMb8WMullF/rEPelBkJVyWcMtNSw4gKD0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bQ3jSv/dJMb8Z3v5L7/pAhZHdkGy5Bx5q7AXoGIkK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bPFApL/dJMb8U8YlST/qUzxrihyjK2UmQUzaFEGnK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;36. (TWOK/LOGIC) [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[로직 정리] ​ 정리 로직 : Android ​ 상태 : [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive [설 명] [1] : 알수 없는 앱 설치 권한 부여 상&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>투케이2K 업무정리</category>
      <category>2K</category>
      <category>apk</category>
      <category>It</category>
      <category>안드로이드</category>
      <category>앱설치</category>
      <category>업무</category>
      <category>이슈</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8815</guid>
      <comments>https://kkh0977.tistory.com/8815#entry8815comment</comments>
      <pubDate>Tue, 12 May 2026 19:39:56 +0900</pubDate>
    </item>
    <item>
      <title>37. (cmd/명령어) Window Cmd 명령 프롬프트 nslookup 도메인에서 IP 주소 변환 시 문제가 발생하는 경우 확인 방법 정리</title>
      <link>https://kkh0977.tistory.com/8814</link>
      <description>&lt;div id=&quot;SE-c6c78200-0034-47c2-bebf-b1a8d2dcd0da&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-b0f2e48b-e4dc-4534-bfc5-829b9c37be4e&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[환경 구성 및 요약 설명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7cbe4121-67da-4107-bad7-31f8a7402727&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-347ffdb8-85f6-4ff7-8052-5974241ee6de&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 환경 : Window / Cmd / 터미널&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-bd5e0cae-df73-4258-9665-79bdf0422851&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a9f9b69e-8f6d-41df-b879-404a4d033667&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;설 명 : Window Cmd 명령 프롬프트 nslookup 도메인에서 IP 주소 변환 시 문제가 발생하는 경우 확인 방법 정리&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-c6185027-f095-4354-888c-b8e553950b77&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-555af522-c6cc-4ef7-a3ed-3a6c12346f57&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zJXAm/dJMcabREmjM/cIUCjUux5dYwaQ7kOeqQck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zJXAm/dJMcabREmjM/cIUCjUux5dYwaQ7kOeqQck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zJXAm/dJMcabREmjM/cIUCjUux5dYwaQ7kOeqQck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzJXAm%2FdJMcabREmjM%2FcIUCjUux5dYwaQ7kOeqQck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;220&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-234c7b0c-9e7b-45eb-b530-5b4189937723&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-6b9a41a9-be0c-4ed1-a6ee-e0c34ff25a12&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-1285f188-a3c5-4cf4-b1e5-df1606501cc7&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[소스 코드]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-205ebd31-3717-4f34-82d6-44b87baec671&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778496725672&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;------------------------------------------------------------------------------
[테스트 사항 및 환경]
------------------------------------------------------------------------------

환 경 : 로컬 Window PC / Cmd / 명령 프롬프트


제 목 : Window Cmd 명령 프롬프트 네트워크 상태 확인 명령어 종류 정리 - 기본연결 , 포트 및 연결 , DNS 이름해석 , 로컬 네트워크


사전)   cd (change directory) 명령어 간략 설명 : 

  &amp;gt;&amp;gt; cd 는 Change Directory의 약자로, CMD(명령 프롬프트)에서 현재 작업 중인 디렉터리(폴더)를 변경할 때 사용하는 명령어입니다.

  &amp;gt;&amp;gt; cd 는 '어떤 경로로 이동할 것인가' 를 지정하는 명령어입니다.

  &amp;gt;&amp;gt; 기본 사용 방법 : 

    - 문법 : cd 경로
    - 예시 : cd C:\Wind

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[설 명]
------------------------------------------------------------------------------

-------------------------------------------------
✅ DNS / 이름 해석 확인
-------------------------------------------------

✔️ nslookup : 도메인 &amp;rarr; IP 주소 변환 확인 (DNS 확인) / DNS 서버 문제 분석에 필수

  &amp;gt;&amp;gt; nslookup www.naver.com

-------------------------------------------------



-------------------------------------------------
✅ nslookup 호출 시 문제가 발생한 경우 확인 사항 정리
-------------------------------------------------

✔️ DNS 문제인지 먼저 판별 

  &amp;gt;&amp;gt; *** www.google.com을(를) 찾을 수 없습니다: Non-existent domain
     DNS request timed out.
     Server: UnKnown

  &amp;gt;&amp;gt; ping 8.8.8.8 &amp;rarr;   성공
     ping www.google.com &amp;rarr; ❌ 실패

     IP 통신은 되는데 도메인만 안 됨 = DNS 문제 확정


✔️ DNS 캐시 초기화 (가장 먼저 해볼 것)

  &amp;gt;&amp;gt; 로컬에 깨진 DNS 캐시가 남아 있는 경우 이 한 번으로 해결되는 경우 많음

  &amp;gt;&amp;gt; ipconfig /flushdns  


✔️ DNS 서버 설정 확인 및 변경

  &amp;gt;&amp;gt; DNS Servers 항목 , 비정상 / 사내 내부 DNS만 설정되어 있는지 확인

  &amp;gt;&amp;gt; ipconfig /all


✔️ 임시로 공용 DNS로 변경 (테스트용)

  &amp;gt;&amp;gt; CMD (관리자) 에서 해당 명령 수행하고, 정상되면 회사 DNS 서버 장애 확정

  &amp;gt;&amp;gt; netsh interface ip set dns &quot;이더넷&quot; static 8.8.8.8


✔️ 라우터/게이트웨이 DNS 중계 문제 확인

  &amp;gt;&amp;gt; nslookup www.google.com 게이트웨이IP

  &amp;gt;&amp;gt; nslookup www.google.com 192.168.0.1

  ❌ 실패 : 공유기 DNS 포워딩 문제
  
    성공 : PC DNS 설정 문제


✔️ 방화벽 / 보안 솔루션 확인 (회사 환경 중요)

  &amp;gt;&amp;gt; DNS 는 UDP/TCP 53번 포트 사용

  &amp;gt;&amp;gt; 사내 방화벽 정책 확인

  &amp;gt;&amp;gt; NAC / VPN 접속 상태 확인

  &amp;gt;&amp;gt; 보안 에이전트 설치 후 발생 여부 확인

  &amp;gt;&amp;gt; netsh advfirewall set allprofiles state off 

    -   테스트 후 반드시 다시 ON


✔️ 네트워크 리셋 (최후 수단) : 재부팅 필요

  &amp;gt;&amp;gt; netsh int ip reset

  &amp;gt;&amp;gt; netsh winsock reset

-------------------------------------------------



-------------------------------------------------
✅ 상황별 원인 &amp;rarr; 조치 요약표
-------------------------------------------------
    상황      |      원인     |       조치
-------------------------------------------------
IP ping OK 
/ 도메인 X    |  DNS 서버 장애 |   공용 DNS 사용
-------------------------------------------------
nslookup
8.8.8.8 OK   | 사내 DNS 장애  | DNS 서버팀 문의
-------------------------------------------------
모든 nslookup 
    실패      | 방화벽/NAC    | 보안 정책 확인
-------------------------------------------------
간헐적 실패   | DNS 캐시 오류  | flushdns
-------------------------------------------------
공유기만 실패 | 라우터 설정    | 재부팅 / 설정 수정
-------------------------------------------------

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [cmd prompt 명령창 (프롬프트) 실행하는 방법 설명]

https://kkh0977.tistory.com/370

https://blog.naver.com/kkh0977/222239942533


▶️ [업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 DNS 서버 , hosts 호스트 파일 직접 수정

https://kkh0977.tistory.com/7990

https://blog.naver.com/kkh0977/223865679439?trackingCode=blog_bloghome_searchlist


▶️ [업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리

https://kkh0977.tistory.com/7683

https://blog.naver.com/kkh0977/223746470801?trackingCode=blog_bloghome_searchlist


▶️ [업무 정리] [외부 연결 테스트] Window Cmd ping , telnet 사용해 외부 Connection 연결 테스트 방법

https://kkh0977.tistory.com/7594

https://blog.naver.com/kkh0977/223725875714?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-ddbec8b2-de1b-4432-a246-f123384137ce&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-e791bd8b-6230-45fb-9e0e-a9c5b3b8148a&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-5e47da69-6db1-48ba-8088-72ee8ef4a497&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0b5eba2a-a5af-45bb-8fcc-aea341654ebc&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0449677a-845b-4ceb-9b60-847c45a92374&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7683&quot;&gt;https://kkh0977.tistory.com/7683&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778496690683&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;135. (TWOK/WORK) [업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리&quot; data-og-description=&quot;[제 목]​[업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리&amp;nbsp;[내 용]​------------------------------------------------------------------------------[테스트 사항 및 환경]-------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/7683&quot; data-og-url=&quot;https://kkh0977.tistory.com/7683&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bf4nob/dJMb8YXQbyO/E58DydwBdPGmS78cOozV4K/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qW0c6/dJMb86n2blI/m44LNEMNZp1gLtTNARBJdk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/2qKyL/dJMb9iaVIyV/oAimCZKLusir340x0tFqe1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7683&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/7683&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bf4nob/dJMb8YXQbyO/E58DydwBdPGmS78cOozV4K/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qW0c6/dJMb86n2blI/m44LNEMNZp1gLtTNARBJdk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/2qKyL/dJMb9iaVIyV/oAimCZKLusir340x0tFqe1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;135. (TWOK/WORK) [업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[제 목]​[업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리&amp;nbsp;[내 용]​------------------------------------------------------------------------------[테스트 사항 및 환경]-------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>Window (cmd)</category>
      <category>2K</category>
      <category>cmd</category>
      <category>It</category>
      <category>nslookup</category>
      <category>윈도우</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8814</guid>
      <comments>https://kkh0977.tistory.com/8814#entry8814comment</comments>
      <pubDate>Mon, 11 May 2026 19:52:30 +0900</pubDate>
    </item>
    <item>
      <title>36. (cmd/명령어) Window Cmd 명령 프롬프트 네트워크 상태 확인 명령어 종류 정리 - 기본연결 , 포트 및 연결 , DNS 이름해석 , 로컬 네트워크</title>
      <link>https://kkh0977.tistory.com/8813</link>
      <description>&lt;div id=&quot;SE-6dd05722-d5fb-4356-a56d-ff68fc92682c&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-228c3dbc-e832-4801-ad6f-128c21a9d1ca&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[환경 구성 및 요약 설명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5dfc982c-8320-41b8-b729-84a62ec17153&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-87a1afe1-033e-4b1c-b2a9-38adda2dac36&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 환경 : Window / Cmd / 터미널&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f55ade9f-b712-458a-a4aa-3e4d22e7b98a&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-9ed11ae1-828d-4249-9de2-354dce8a39b9&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;설 명 : Window Cmd 명령 프롬프트 네트워크 상태 확인 명령어 종류 정리 - 기본연결 , 포트 및 연결 , DNS 이름해석 , 로컬 네트워크&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-61f2042b-120f-4b48-9358-bbdec5a65e7d&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-78886602-9424-40c1-aaa1-ac55c3476469&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kG2OI/dJMcahxCY4U/ix5rnfXt8CU3B44vkLqKak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kG2OI/dJMcahxCY4U/ix5rnfXt8CU3B44vkLqKak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kG2OI/dJMcahxCY4U/ix5rnfXt8CU3B44vkLqKak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkG2OI%2FdJMcahxCY4U%2Fix5rnfXt8CU3B44vkLqKak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;220&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-b3c917a9-b1f0-4d5f-b74b-046d4d45be9a&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-50e2231c-0197-478b-8390-f567434521ca&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-096740f8-f9fe-4c01-a361-24a6a6620929&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[소스 코드]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-fe186c70-ce3b-4954-9063-15e3446f5fd6&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778496226025&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;------------------------------------------------------------------------------
[테스트 사항 및 환경]
------------------------------------------------------------------------------

환 경 : 로컬 Window PC / Cmd / 명령 프롬프트


제 목 : Window Cmd 명령 프롬프트 네트워크 상태 확인 명령어 종류 정리 - 기본연결 , 포트 및 연결 , DNS 이름해석 , 로컬 네트워크


사전)   cd (change directory) 명령어 간략 설명 : 

  &amp;gt;&amp;gt; cd 는 Change Directory의 약자로, CMD(명령 프롬프트)에서 현재 작업 중인 디렉터리(폴더)를 변경할 때 사용하는 명령어입니다.

  &amp;gt;&amp;gt; cd 는 '어떤 경로로 이동할 것인가' 를 지정하는 명령어입니다.

  &amp;gt;&amp;gt; 기본 사용 방법 : 

    - 문법 : cd 경로
    - 예시 : cd C:\Wind

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[설 명]
------------------------------------------------------------------------------

-------------------------------------------------
✅ 기본 연결 상태 확인
-------------------------------------------------

✔️ ipconfig : 내 PC의 IP 주소, 게이트웨이, DNS 정보 확인

  &amp;gt;&amp;gt; ipconfig

  &amp;gt;&amp;gt; ipconfig /all

  &amp;gt;&amp;gt; /all : MAC 주소, DHCP 상태 등 상세 정보


✔️ ping : 대상 서버와의 연결 가능 여부 및 지연 시간 확인 / 패킷 손실, 응답 시간(ms) 확인 가능

  &amp;gt;&amp;gt; ping 8.8.8.8

  &amp;gt;&amp;gt; ping google.com


✔️ tracert : 목적지까지의 경로(라우터 경유 정보) 확인 / 네트워크가 어디서 막히는지 분석할 때 유용

  &amp;gt;&amp;gt; tracert google.com


✔️ pathping : ping + tracert 결합 느낌 (지연&amp;middot;손실 분석) / 시간이 조금 오래 걸리지만 상세함

  &amp;gt;&amp;gt; pathping google.com

-------------------------------------------------



-------------------------------------------------
✅ 포트&amp;middot;연결 상태 확인
-------------------------------------------------

✔️ netstat : 현재 열려 있는 포트와 네트워크 연결 상태

  &amp;gt;&amp;gt; netstat -an

  &amp;gt;&amp;gt; netstat -ano

  &amp;gt;&amp;gt; -a : 모든 연결

  &amp;gt;&amp;gt; -n : IP/포트 숫자로 표시

  &amp;gt;&amp;gt; -o : PID 표시 (프로세스 추적 가능)


✔️ tasklist + netstat : PID 기반으로 어떤 프로세스가 포트를 쓰는지 확인

  &amp;gt;&amp;gt; tasklist | find &quot;PID&quot;

-------------------------------------------------



-------------------------------------------------
✅ DNS / 이름 해석 확인
-------------------------------------------------

✔️ nslookup : 도메인 &amp;rarr; IP 주소 변환 확인 (DNS 확인) / DNS 서버 문제 분석에 필수

  &amp;gt;&amp;gt; nslookup naver.com

-------------------------------------------------



-------------------------------------------------
✅ 로컬 네트워크 확인
-------------------------------------------------

✔️ arp : 같은 네트워크에 있는 장비들의 IP &amp;harr; MAC 정보

  &amp;gt;&amp;gt; arp -a


✔️ getmac : 내 PC 또는 네트워크 인터페이스의 MAC 주소

  &amp;gt;&amp;gt; getmac


✔️ route : 라우팅 테이블 확인 / VPN, 복수 NIC 환경에서 중요

  &amp;gt;&amp;gt; route print

-------------------------------------------------



-------------------------------------------------
✅ 빠른 점검 예시
-------------------------------------------------

cmd 명령 프롬프트 실행

ipconfig

ping 게이트웨이IP

  &amp;gt;&amp;gt; 게이트웨이 IP 자체가 응답이 없으면, 문제는 거의 항상 내 PC &amp;harr; 공유기(또는 스위치) 구간에 있습니다.

  &amp;gt;&amp;gt; 외부 인터넷 문제가 아니라 내부 네트워크 문제입니다. (랜선 / Wi‑Fi / 네트워크 어댑터 / IP 설정 / 공유기 상태)

nslookup www.google.com

  &amp;gt;&amp;gt;   게이트웨이 OK / 외부 IP OK / 도메인 X &amp;rarr; DNS 문제 가능성 높음

-------------------------------------------------

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

▶️ [cmd prompt 명령창 (프롬프트) 실행하는 방법 설명]

https://kkh0977.tistory.com/370

https://blog.naver.com/kkh0977/222239942533


▶️ [업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 DNS 서버 , hosts 호스트 파일 직접 수정

https://kkh0977.tistory.com/7990

https://blog.naver.com/kkh0977/223865679439?trackingCode=blog_bloghome_searchlist


▶️ [업무 정리] 웹브라우저 접속 실패 및 지연 시 nslookup , ping , tracert 테스트 방법 정리

https://kkh0977.tistory.com/7683

https://blog.naver.com/kkh0977/223746470801?trackingCode=blog_bloghome_searchlist


▶️ [업무 정리] [외부 연결 테스트] Window Cmd ping , telnet 사용해 외부 Connection 연결 테스트 방법

https://kkh0977.tistory.com/7594

https://blog.naver.com/kkh0977/223725875714?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-5f7aeebd-dbec-4a8a-a5bc-02c0371092f2&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-d40ee936-4a50-431a-a632-f95e0bcb8629&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-b8cd028c-a71e-425b-bf4a-dcb84b607078&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-abe65a13-7a09-496d-afe4-ca7e1a867b90&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a7e31f03-605d-4545-8eee-a7714a0788de&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7990&quot;&gt;https://kkh0977.tistory.com/7990&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778496203138&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;158. (TWOK/WORK) [업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 D&quot; data-og-description=&quot;[제 목]​[업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 DNS 서버 , hosts 호스트 파일 직접 수정 [내 용]​------------------------------------------------------------------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/7990&quot; data-og-url=&quot;https://kkh0977.tistory.com/7990&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bfhrca/dJMb9gxp0l1/1witNxkAcUW5FbocNUVAK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/6D06w/dJMb9eTUboq/UXgrAzQlzA9e0GOo1u7WZ1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/NBJAp/dJMb9bv6PvS/rEk8FHz2sNoZdc0LD6iqiK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7990&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/7990&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bfhrca/dJMb9gxp0l1/1witNxkAcUW5FbocNUVAK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/6D06w/dJMb9eTUboq/UXgrAzQlzA9e0GOo1u7WZ1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/NBJAp/dJMb9bv6PvS/rEk8FHz2sNoZdc0LD6iqiK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;158. (TWOK/WORK) [업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 D&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[제 목]​[업무 이슈] 윈도우 Window PC 환경에서 특정 도메인 접속 불가능 이슈 - 잘못 구성 된 DNS 서버 , hosts 호스트 파일 직접 수정 [내 용]​------------------------------------------------------------------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>Window (cmd)</category>
      <category>2K</category>
      <category>cmd</category>
      <category>DNS</category>
      <category>It</category>
      <category>네트워크</category>
      <category>윈도우</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <category>프롬프트</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8813</guid>
      <comments>https://kkh0977.tistory.com/8813#entry8813comment</comments>
      <pubDate>Mon, 11 May 2026 19:44:20 +0900</pubDate>
    </item>
    <item>
      <title>111. (Web/FrontEnd) [간단 소스] translate 와 meta 메타 태그 사용해 브라우저 자동 번역 기능 차단 설정 방법</title>
      <link>https://kkh0977.tistory.com/8812</link>
      <description>&lt;div id=&quot;SE-13d51555-4391-414a-9f34-dd50c069057c&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-ebbc36f2-fbe9-4389-9e20-9a0d5626fd98&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[개발 환경 설정]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-96aa0da7-21ed-4bc4-b56b-87e7b64abaf5&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7b3f1a6f-f750-4c52-b9d6-fcb3447e8726&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 툴 : Edit++ / Vscode&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f731c9cb-e6f3-41d4-a2c6-40f559f21511&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-309a5b76-1aad-4d12-a5ba-e6d7731a690e&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;개발 언어 : html, css, js, jquery&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-41a8942b-e5d8-4cc9-9f2a-7383958c53d4&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a2c01fd9-425b-47a7-921d-847cd60e7a77&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PiaMc/dJMcag6xEI8/CM6K4gP7zq1AqJOoOQz8N0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PiaMc/dJMcag6xEI8/CM6K4gP7zq1AqJOoOQz8N0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PiaMc/dJMcag6xEI8/CM6K4gP7zq1AqJOoOQz8N0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPiaMc%2FdJMcag6xEI8%2FCM6K4gP7zq1AqJOoOQz8N0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;220&quot; height=&quot;224&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-39c73f5a-d462-4805-bf2e-02f03a990533&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-d8c46d3a-20b3-4ce5-9081-610bcad8c995&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-d867427e-db27-433f-b58c-cb1facd39617&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[소스 코드]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-ded4f0fb-5c40-4481-8ce9-572968dc9d2e&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778495709465&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 개발 환경 : Web


- 개발 툴 : Edit++ / Vscode


- 개발 기술 : FrontEnd / translate / meta


- 사전)   브라우저 인코딩이 깨지거나 변경 되는 이유 간략 정리 : 

  &amp;gt;&amp;gt; Chrome 자동 번역이 끼어드는 경우 : 새 창이 외국어 페이지 (또는 언어 불명) 으로 인식되면 Chrome 이 자동 번역 &amp;rarr; 한글이 깨져 보이는 현상이 발생

  &amp;gt;&amp;gt; HTML은 UTF‑8인데 전달 방식에 charset이 없음 : meta charset은 있지만 실제 문서는 UTF‑8로 열리지 않음

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

---------------------------------------------------------
[주요 옵션 설명]
---------------------------------------------------------

✅ &amp;lt;html lang=&quot;ko&quot; translate=&quot;no&quot;&amp;gt; : 브라우저 번역 요청 방지

✅ &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt; : UTF‑8 전달 방식 (Blob 등) , 글자 깨짐 근본 해결

✅ &amp;lt;meta name=&quot;google&quot; content=&quot;notranslate&quot;&amp;gt; : Chrome 자동 번역 확실히 차단


---------------------------------------------------------
[예시 코드]
---------------------------------------------------------
&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang=&quot;ko&quot; translate=&quot;no&quot;&amp;gt;

&amp;lt;head&amp;gt;
  &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
  &amp;lt;meta name=&quot;google&quot; content=&quot;notranslate&quot;&amp;gt;

  &amp;lt;title&amp;gt;Twok2K&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
  &amp;lt;h3&amp;gt;자동 번역 방지 기능 입니다.&amp;lt;/h3&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [HTML meta tag 메타 태그 mobile-web-app-capable 사용해 웹앱 URL 주소창 제거 및 전체 화면 설정]

https://kkh0977.tistory.com/7003

https://blog.naver.com/kkh0977/223589024673?trackingCode=blog_bloghome_searchlist


▶️ [간단 소스] HTML meta tag refresh 메타 태그 사용해 특정 URL 주소 이동 수행

https://kkh0977.tistory.com/7294

https://blog.naver.com/kkh0977/223656217865?trackingCode=blog_bloghome_searchlist


▶️ [meta 태그 http-equiv 속성 refresh 사용해 특정 페이지로 리다이렉트(redirect) 수행 실시]

https://kkh0977.tistory.com/2364

https://blog.naver.com/kkh0977/222852455258?trackingCode=blog_bloghome_searchlist


▶️ [HTML meta tag 메타 태그 viewport 뷰포트 사용해 모바일 웹 zoom 줌 확대 , 축소 , 사이즈 고정]

https://kkh0977.tistory.com/6465

https://blog.naver.com/kkh0977/223492312522?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-e87ee2ec-c2ee-4c42-8ce7-ea5cfb319dc6&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-fcb98ed7-da0a-46c6-9475-aa17d32539cb&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-bcd561d6-3cbc-4da3-97ee-2c7c6366d2dd&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-10027a64-05de-43c1-aae4-5fa4cc5b7534&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-733e9055-5342-4488-ae91-5444793ac56b&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7003&quot;&gt;https://kkh0977.tistory.com/7003&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778495695920&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;108. (Web/FrontEnd) HTML meta tag 메타 태그 mobile-web-app-capable 사용해 웹앱 URL 주소창 제거 및 전체 화면 &quot; data-og-description=&quot;[개발 환경 설정]​개발 툴 : Edit++개발 언어 : html, css, js, jquery​&amp;nbsp;[소스 코드]&amp;nbsp;[사전 설명]1. mobile-web-app-capable 메타 태그를 사용해 모바일에서 외부 링크 브라우저 표시 수행 시 URL 주소창 제거 및&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/7003&quot; data-og-url=&quot;https://kkh0977.tistory.com/7003&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/KKhDM/dJMb9frJ0mi/Yihg1KRLvBSe2tYbSQcUCk/img.png?width=227&amp;amp;height=233&amp;amp;face=0_0_227_233,https://scrap.kakaocdn.net/dn/WTrXB/dJMb9lMf3cm/RtMBihfduMcktdafPLYK91/img.png?width=227&amp;amp;height=233&amp;amp;face=0_0_227_233,https://scrap.kakaocdn.net/dn/vkvd3/dJMb82MHH3b/BS9KiWxUgypFtZk9W7LnB1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/7003&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/7003&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/KKhDM/dJMb9frJ0mi/Yihg1KRLvBSe2tYbSQcUCk/img.png?width=227&amp;amp;height=233&amp;amp;face=0_0_227_233,https://scrap.kakaocdn.net/dn/WTrXB/dJMb9lMf3cm/RtMBihfduMcktdafPLYK91/img.png?width=227&amp;amp;height=233&amp;amp;face=0_0_227_233,https://scrap.kakaocdn.net/dn/vkvd3/dJMb82MHH3b/BS9KiWxUgypFtZk9W7LnB1/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;108. (Web/FrontEnd) HTML meta tag 메타 태그 mobile-web-app-capable 사용해 웹앱 URL 주소창 제거 및 전체 화면&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[개발 환경 설정]​개발 툴 : Edit++개발 언어 : html, css, js, jquery​&amp;nbsp;[소스 코드]&amp;nbsp;[사전 설명]1. mobile-web-app-capable 메타 태그를 사용해 모바일에서 외부 링크 브라우저 표시 수행 시 URL 주소창 제거 및&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>FrontEnd</category>
      <category>2K</category>
      <category>frontend</category>
      <category>HTML</category>
      <category>It</category>
      <category>meta</category>
      <category>translate</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <category>프론트</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8812</guid>
      <comments>https://kkh0977.tistory.com/8812#entry8812comment</comments>
      <pubDate>Mon, 11 May 2026 19:35:45 +0900</pubDate>
    </item>
    <item>
      <title>186. (TWOK/LOGIC) [Aws] WebRTC 기기 입장에서 peerConnection 이벤트 감지를 통해 뷰어 실시간 영상 재생 동시 접속 제한 수 관리 로직</title>
      <link>https://kkh0977.tistory.com/8811</link>
      <description>&lt;div id=&quot;SE-aebc284f-8203-4c4e-95c0-25d94f97abea&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-122fba70-a1f1-4177-9050-90216e856bf2&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[로직 정리]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-abd2e48d-ca63-4980-be17-4d27c70b09c1&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-fdf51ad8-f99c-4dfc-ada4-8689ae08f02a&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;정리 로직 : AWS / WebRTC / peerConnection&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-befd3cd7-3a96-443a-b2ff-db07a7137695&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-e3aeebf8-d131-43c2-8f19-d9267363bfc3&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제 목 : [Aws] WebRTC 기기 입장에서 peerConnection 이벤트 감지를 통해 뷰어 실시간 영상 재생 동시 접속 제한 수 관리 로직&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-78634c6d-3d38-461a-beae-085f4df3f336&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-440dfbda-6da2-4213-b95c-df06e17fbd21&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmRQHt/dJMcaaZwDlq/dZMcalXiYql8iwKodtyASK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmRQHt/dJMcaaZwDlq/dZMcalXiYql8iwKodtyASK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmRQHt/dJMcaaZwDlq/dZMcalXiYql8iwKodtyASK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmRQHt%2FdJMcaaZwDlq%2FdZMcalXiYql8iwKodtyASK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;222&quot; height=&quot;223&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;223&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-5b56717b-7a32-46fa-bb45-7ea6e7edbfc4&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-94bbcdf3-1e63-44af-a4ad-30ed067834d2&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-662796bd-f289-4184-8bf5-5ba724a9e9ee&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[설 명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-45508654-4d74-4586-8075-9a582bf4db85&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778324215189&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

1. 제 목 : [Aws] WebRTC 기기 입장에서 peerConnection 이벤트 감지를 통해 뷰어 실시간 영상 재생 동시 접속 제한 수 관리 로직


2. 테스트 환경 : Aws / Kvs / WebRTC


3. 사전)   AWS KVS WebRTC 설명 : 

  &amp;gt;&amp;gt; WebRTC 란 웹, 애플리케이션, 디바이스 간 중간자 없이 오디오나 영상 미디어를 포착하고 실시간 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술입니다

  &amp;gt;&amp;gt; WebRTC 는 간단한 API 를 통해 웹 브라우저, 모바일 애플리케이션 및 커넥티드 디바이스 간에 실시간 통신을 활성화할 수 있습니다

  &amp;gt;&amp;gt; WebRTC 주요 용어 : 

    - SDP (Session Description Protocol) : 오디오/비디오 코덱, 해상도, 포트 등 스트리밍 정보를 담은 텍스트 포맷
    - Offer / Answer	: 통신 연결을 협상하기 위한 SDP 메시지 (초기 연결 설정)
    - ICE (Interactive Connectivity Establishment) : NAT/P2P 환경에서도 연결 가능한 경로(IP, 포트 등)를 찾기 위한 기술
    - Candidate : 가능한 연결 경로 (IP + Port 조합)

  &amp;gt;&amp;gt; WebRTC [ICE] 연결 형태 : 

    - Relayed Address : TURN 서버가 패킷 릴레이를 위해 할당하는 주소
    - Server Reflexive Address : NAT 가 매핑한 클라이언트의 공인망 (Public IP, Port)
    - Local Address : 클라이언트의 사설주소 (Private IP, Port)

  &amp;gt;&amp;gt; WebRTC STUN 및 TURN 서버 설명 : 

    - (같은 와이파이 망) STUN 서버는 HOST 를 거쳐 &amp;gt;&amp;gt; Server Reflexive Address 만을 응답하지만,
      (릴레이서버 사용) TURN 서버는 Relayed Address와 Server Reflexive Address 를 모두 응답한다
    - STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 &amp;gt;&amp;gt; RTCPeerConnection Remote 연결 수행

  &amp;gt;&amp;gt; WebRTC SDP 오퍼 생성 (뷰어) 및 응답 (마스터) 스트리밍 플로우 : 

    [Viewer &amp;rarr; Signaling Server] -- SDP Offer --&amp;gt; [Master] : 뷰어는 마스터로 스트리밍 오퍼 신호 보낸다
    [Master] -- SDP Answer --&amp;gt; [Viewer] : 마스터는 특정 뷰어의 오퍼 신호 확인 후 응답을 보낸다

    [Viewer] -- ICE Candidate --&amp;gt; [Master] : 스트리밍을 할 수 있는 경로 확인
    [Master] -- ICE Candidate --&amp;gt; [Viewer] : 스트리밍을 할 수 있는 경로 확인

    P2P 연결 성립 &amp;rarr; 스트리밍 시작


4. 사전)   자바스크립트 AWS Kvs WebRTC 사용 라이브러리 의존성 부여 코드 첨부 :

  &amp;lt;script src=&quot;https://code.jquery.com/jquery-latest.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;--&amp;gt;

  &amp;lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/spin.js/2.3.2/spin.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&quot;https://unpkg.com/sweetalert/dist/sweetalert.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;

  &amp;lt;script src=&quot;https://unpkg.com/amazon-kinesis-video-streams-webrtc/dist/kvs-webrtc.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&quot;https://sdk.amazonaws.com/js/aws-sdk-2.1416.0.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. ✅ (중요) WebRTC peerConnection.connectionState 상태 간략 정리 : 

  &amp;gt;&amp;gt; peerConnection.connectionState 란 WebRTC 연결 전체 상태 (통합 상태 머신) 감지 콜백 리스너 입니다.

  &amp;gt;&amp;gt; peerConnection.connectionState 는 마스터 입장에서 뷰어의 연결 완료 여부 판단용으로 가장 적합하게 사용할 수 있습니다.

  &amp;gt;&amp;gt; peerConnection.connectionState 주요 상태 : 

    - new 상태 : PeerConnection이 생성됨 / Viewer 가 아직 접속 안 함 상태
    - connecting 상태 : 연결을 구성 중 상태 (ICE candidate 교환, ICE 후보 체크, DTLS Handshake, SRTP 세션 준비)
    - connected 상태 : Viewer 가 연결이 완료되었으며, Video/Audio 전송 시작 및 Viewer가 실제로 화면을 보기 시작
    - disconnected 상태 : 일시적으로 네트워크가 끊김 상태 (재연결 가능성 있음) / disconnected 가 발생 후 연결 된 뷰어가 종료 될 수도 있지만, 잠시 기다리면 다시 connected 로 돌아올 수 있는 상태
    - failed 상태 : 복구 불가한 연결 실패 상태 / Viewer 세션 실패 상태로 PeerConnection 재생성 필요
    - closed 상태 : PeerConnection 이 명시적으로 닫힘 상태 ( ex : pc.close(); ) / Viewer 종료 처리 완료 상태


2. 디바이스 기기는 WebRTC 객체 생성 완료 및 Viewer 의 접속 대기 준비 중 상태


3. 디바이스 기기는 signalingClient.on('sdpOffer') 이벤트 처리 부분에서 peerConnection 이벤트 감지 리스너 생성 및 실제 WebRTC 에 연결 요청 온 뷰어 접속 관리 수행

  // ✅ Viewer 연결 객체 관리를 위한 전역 변수 선언
  const peerConnections = new Map();
  const MAC_CONN_USER = 2; // 뷰어 최대 접속 가능한 사용자 수 정의


  // ✅ [Viewer 의 SDP Offer 수신 대기]

  signalingClient.on('sdpOffer', async (offer, remoteClientId) =&amp;gt; {

    // [RTCPeerConnection 만들기]
    const peerConnection = new RTCPeerConnection(config); 

    // [미디어 스트림 추가]
    localStream.getTracks().forEach(track =&amp;gt; peerConnection.addTrack(track, localStream)); // [카메라 스트림 트랙에 추가]

    // [peerConnection remoteClientId 지정]
    peerConnection.onicecandidate = event =&amp;gt; {
        if (event.candidate) {
            signalingClient.sendIceCandidate(event.candidate, remoteClientId);
        }
    };
              
    // [상대방 오퍼를 내 Remote 에 추가]
    await peerConnection.setRemoteDescription(offer);

    // [Answer 옵션 지정 및 생성]
    const answer = await peerConnection.createAnswer();

    // [Answer 를 내 local 로 저장]
    await peerConnection.setLocalDescription(answer);


    // --------------------------------------------
    // ✅ [RTCPeerConnection 해제 상태 감지를 위한 이벤트 리스너 등록]
    // --------------------------------------------
    // [클로저로 remoteClientId 캡처] : 다중 뷰어 상태 동시 감지
    // --------------------------------------------
    (function(id) {

        peerConnection.onconnectionstatechange = () =&amp;gt; {
            console.log(`peerConnection.connectionState 뷰어 Client ID : ${id}`);

            if (peerConnection.connectionState === 'connected') { // 연결 완료 된 상태                
                console.log('[peerConnection Connection Viewer] : [connected]');

                if (peerConnections.size &amp;gt;= MAC_CONN_USER){ // 최대 사용자 인 경우
                                    
                  peerConnections.delete(id); // ✅ 뷰어 삭제 수행

                  peerConnection.close(); // 뷰어 연결 종료 처리

                }
                else {
                  peerConnections.set(id, peerConnection); // ✅ 뷰어 추가 수행

                  // ✅ [SDP Answer 응답 전송]              
                  signalingClient.sendSdpAnswer(peerConnection.localDescription, remoteClientId); // [접속 시도한 기기 아이디를 지정해 줘야함]
                }                
            }


            if (peerConnection == null
                || peerConnection.connectionState === 'disconnected'
                || peerConnection.connectionState === 'failed'
                || peerConnection.connectionState === 'closed') { // 피어 연결 해제 상태 감지

                console.log('[peerConnection Connection Viewer] : [disconnected]');

                // [여기서 리소스 정리 및 UI 업데이트]
                try {
                    peerConnections.delete(id); // ✅ 뷰어 삭제 수행
                }
                catch (error) {
                    console.error(&quot;[peerConnection.onconnectionstatechange] : [Exception] : &quot;, error.message);
                }

            }

        };

    })(remoteClientId)

  });

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [업무 이슈] AWS Kvs WebRTC 뷰어 실시간 영상 재생 시 동시 접속 제한 수 초과로 시청자가 접속 가능한 이슈 문의

https://kkh0977.tistory.com/8799

https://blog.naver.com/kkh0977/224274834112


▶️ [Aws Kinesis Video Streams] WebRTC peerConnection.connectionState 뷰어 연결 상태 감지 설명

https://kkh0977.tistory.com/8782

https://blog.naver.com/kkh0977/224260331927


▶️ [android] 안드로이드 AWS KVS WebRTC 실시간 비디오 재생 뷰어 로직 정리 - google-webrtc

https://kkh0977.tistory.com/8771

https://blog.naver.com/kkh0977/224254825523


▶️ [Aws Kinesis Video Streams] IceServer ICE 서버 리스트 와 ICE_CANDIDATE ICE 캔디 데이트 설명 정리

https://kkh0977.tistory.com/8772

https://blog.naver.com/kkh0977/224254833429


▶️ [Aws Kinesis Video Streams] WebRTC onSignalingChange PeerConnection 내부의 SDP 상태 설명

https://kkh0977.tistory.com/8781

https://blog.naver.com/kkh0977/224260325153


▶️ [기능 개선] 자바스크립트 aws kvs webRtc 디바이스 마스터 영상 송출 시 뷰어 다중 접속 설정 - Multi PeerConnection

https://kkh0977.tistory.com/8057

https://blog.naver.com/kkh0977/223898870074?trackingCode=blog_bloghome_searchlist


▶️ [Web/JavaScript] AWS Kvs WebRtc 마스터 비디오 스트림 다중 뷰어 영상 송출

https://kkh0977.tistory.com/8058

https://blog.naver.com/kkh0977/223899701921?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-ded50170-0b9d-4133-8efd-0ae0a2df9e6d&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-8b4dd6b9-ce23-4d2e-831e-bcfbc68039ab&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-12617c07-dedc-445f-9cd4-5214db9abd66&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5f60b58e-445c-41c0-a117-50223316b42f&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f6bb9c80-330a-4896-9249-8e8921e31979&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8799&quot;&gt;https://kkh0977.tistory.com/8799&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778324145988&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;210. (TWOK/WORK) [업무 이슈] AWS Kvs WebRTC 뷰어 실시간 영상 재생 시 동시 접속 제한 수 초과로 시청자&quot; data-og-description=&quot;[제 목]​주제 : 투케이2K 업무 정리​타이틀 : 투케이 / 2k / 업무 정리​제목 : [업무 이슈] AWS Kvs WebRTC 뷰어 실시간 영상 재생 시 동시 접속 제한 수 초과로 시청자가 접속 가능한 이슈 문의​ [내 &quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/8799&quot; data-og-url=&quot;https://kkh0977.tistory.com/8799&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dCNwcE/dJMb9bv6Bo0/zKweMoW2UANDrnhPHQWjBK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bPquo8/dJMb82MHtb6/ZXb7QO3YG99rh0lKvbbEN0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/kVqBs/dJMb87gaQD2/63zESldGZKzue1cGa2UutK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8799&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/8799&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dCNwcE/dJMb9bv6Bo0/zKweMoW2UANDrnhPHQWjBK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bPquo8/dJMb82MHtb6/ZXb7QO3YG99rh0lKvbbEN0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/kVqBs/dJMb87gaQD2/63zESldGZKzue1cGa2UutK/img.png?width=559&amp;amp;height=415&amp;amp;face=0_0_559_415');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;210. (TWOK/WORK) [업무 이슈] AWS Kvs WebRTC 뷰어 실시간 영상 재생 시 동시 접속 제한 수 초과로 시청자&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[제 목]​주제 : 투케이2K 업무 정리​타이틀 : 투케이 / 2k / 업무 정리​제목 : [업무 이슈] AWS Kvs WebRTC 뷰어 실시간 영상 재생 시 동시 접속 제한 수 초과로 시청자가 접속 가능한 이슈 문의​ [내&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>투케이2K 로직정리</category>
      <category>2K</category>
      <category>aws</category>
      <category>It</category>
      <category>kvs</category>
      <category>peerConnection</category>
      <category>webRTC</category>
      <category>로직</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8811</guid>
      <comments>https://kkh0977.tistory.com/8811#entry8811comment</comments>
      <pubDate>Sat, 9 May 2026 19:57:33 +0900</pubDate>
    </item>
    <item>
      <title>347. [IT 정보] 삼성 갤럭시 스마트폰, 보청기 지원 기능 설정 방법 설명</title>
      <link>https://kkh0977.tistory.com/8810</link>
      <description>&lt;div id=&quot;SE-6555bfd3-6746-4961-9c56-4368b12dbd47&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-1ec2ea91-5445-4848-90f4-82da5821df10&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[설 명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0b022db9-db4a-49fd-9a51-024c9c21a2f2&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a004e1e7-f664-4bf3-889b-7d4158b99d4a&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;주제 : IT 정보&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-99f449a4-7b09-4fbe-a446-192355cb49af&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7ecc5702-245c-4579-9a5b-b14fbfce6750&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;제목 : [IT 정보] 삼성 갤럭시 스마트폰, 보청기 지원 기능 설정 방법 설명&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-bb662217-38b1-4f02-b085-0cf9bea48146&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-56a36c2d-70aa-4a50-8ea7-d5420ac7643a&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;221&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3zIq0/dJMcacC4APw/KRyy8JZAQ8IVSHHNBwwBXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3zIq0/dJMcacC4APw/KRyy8JZAQ8IVSHHNBwwBXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3zIq0/dJMcacC4APw/KRyy8JZAQ8IVSHHNBwwBXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3zIq0%2FdJMcacC4APw%2FKRyy8JZAQ8IVSHHNBwwBXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;221&quot; height=&quot;223&quot; data-origin-width=&quot;221&quot; data-origin-height=&quot;223&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-80e2c18e-3511-46a6-a7c2-8b4d1e176f39&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-8560b3e2-9ad3-4fa2-93be-daecf3497a3e&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-e099d0aa-b573-4a1a-9527-fd42120caed8&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[화면 설명]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div id=&quot;ssp-adcontent-1&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-52be614e-13b4-468a-9ebc-326059c91c29&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;1082&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFY4kK/dJMcadaOYyq/3fw8L3EEJ1YCaTVJ8sGjD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFY4kK/dJMcadaOYyq/3fw8L3EEJ1YCaTVJ8sGjD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFY4kK/dJMcadaOYyq/3fw8L3EEJ1YCaTVJ8sGjD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFY4kK%2FdJMcadaOYyq%2F3fw8L3EEJ1YCaTVJ8sGjD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;927&quot; height=&quot;1082&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;1082&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-a5dba469-af6f-4764-9117-4dac0d06b902&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-901ae52f-fa3d-4393-8e54-909db616ef85&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-94010f38-5523-443b-9276-ecfb6d194754&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[내 용]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-dc31d6f6-6783-42dc-b9b7-877d111db75e&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778305188156&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 제목 : [IT 정보] 삼성 갤럭시 스마트폰, 보청기 지원 기능 설정 방법 설명


- 테스트 환경 : 삼성 갤럭시 / 스마트폰 / 보청기


- 사전)   스마트폰 간략 설명 : 

  &amp;gt;&amp;gt; 스마트폰 (Smartphone) 은 전화 기능 + 컴퓨터 기능을 동시에 갖춘 휴대용 디지털 기기입니다.

  &amp;gt;&amp;gt; 스마트폰 (Smartphone) 은 단순히 통화만 하던 휴대폰과 달리, 인터넷&amp;middot;앱&amp;middot;카메라&amp;middot;멀티미디어 등 다양한 기능을 하나로 통합한 것이 핵심입니다.

  &amp;gt;&amp;gt; 주요 운영체제 (OS) : 스마트폰의 두뇌 역할을 하는 소프트웨어입니다.

    - Android &amp;rarr; 삼성, LG 등 대부분 제조사
    - iOS &amp;rarr; 애플 아이폰 전용

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[방법 설명]
// --------------------------------------------------------------------------------------

1. 설정을 열고 접근성을 선택합니다.


2. 청각 보조에 진입하여 보청기 지원을 선택하세요.


3. 새 보청기 연결선택하여 보청기를 연결해 보세요.


4. ✅ 참고 사항 : 설명된 기능 또는 서비스의 명칭과 진입 경로, 화면 구성은 모델 및 적용된 소프트웨어, 앱 버전 등에 따라 다를 수 있습니다.

  &amp;gt;&amp;gt; 새 보청기 연결 기능은 제조사에서 보청기로 등록한 기기에서만 지원됩니다.

  &amp;gt;&amp;gt; 휴대전화와 보청기 모두 오디오 스트리밍 기능(ASHA)을 지원해야 연결할 수 있습니다.

  &amp;gt;&amp;gt; 보청기의 오디오 스트리밍 기능 (ASHA) 지원 관련 문의 사항은 보청기 제조사에 문의해주세요.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [삼성 공식 사이트]

https://www.samsungsvc.co.kr/solution/2459877


▶️ [IT 정보] Windows 11 ( 윈도우 11 ) 에서 Bluetooth 블루투스 장치 추가 방법 설명

https://kkh0977.tistory.com/8803

https://blog.naver.com/kkh0977/224275679415


▶️ [IT 정보] 삼성 스마트폰 갤럭시 Galaxy AI 글쓰기 어시스트 설정 방법

https://kkh0977.tistory.com/8778

https://blog.naver.com/kkh0977/224256938252


▶️ [IT 정보] 삼성 스마트폰 갤럭시 무음이나 진동 모드일 때 알람 소리 끄기 설정 방법

https://kkh0977.tistory.com/8748

https://blog.naver.com/kkh0977/224241499813


▶️ [IT 정보] 삼성 스마트폰 갤럭시 Z 플립7 플립수트 케이스의 LED 동작 켜기/끄기 설정하는 방법

https://kkh0977.tistory.com/8744

https://blog.naver.com/kkh0977/224240620599


▶️ [IT 정보] 삼성 스마트폰 갤럭시 S26 가족 기기 공유 - 가족 기기 공유 기능 사용 방법

https://kkh0977.tistory.com/8737

https://blog.naver.com/kkh0977/224238617870

// --------------------------------------------------------------------------------------&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-52864d89-db67-4cfd-b3d8-ae3dcfeb74ef&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;SE-3f264ee4-35ab-4c0a-a085-72a2b3da1a77&quot; style=&quot;background-color: #ffffff; color: #557a74; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p id=&quot;SE-209c3b9b-db13-4381-a75f-5f7b7e021148&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffef34; color: #000000;&quot;&gt;&lt;b&gt;[참고 사이트]&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-fa84cd00-4862-45a8-a063-8c69c6557a96&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;​&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-46145655-d589-4212-983e-51d4fb0a3807&quot; style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8803&quot;&gt;https://kkh0977.tistory.com/8803&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1778305172793&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;346. [IT 정보] Windows 11 ( 윈도우 11 ) 에서 Bluetooth 블루투스 장치 추가 방법 설명&quot; data-og-description=&quot;[설 명]​주제 : IT 정보​제목 : [IT 정보] Windows 11 ( 윈도우 11 ) 에서 Bluetooth 블루투스 장치 추가 방법 설명​ [화면 설명] [내 용]​// ----------------------------------------------------------------------------------&quot; data-og-host=&quot;kkh0977.tistory.com&quot; data-og-source-url=&quot;https://kkh0977.tistory.com/8803&quot; data-og-url=&quot;https://kkh0977.tistory.com/8803&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FAmii/dJMb9frJKy6/qxsJnO4QTzKQmlpQufbLd1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/eBIWQ/dJMb9g5fqzm/JNhj0kPqhFLyheuAFkz2z0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bfUhNm/dJMb9kT7hw3/zyTDH6kYLo1zH89KRuTJhK/img.png?width=628&amp;amp;height=1013&amp;amp;face=0_0_628_1013&quot;&gt;&lt;a href=&quot;https://kkh0977.tistory.com/8803&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://kkh0977.tistory.com/8803&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FAmii/dJMb9frJKy6/qxsJnO4QTzKQmlpQufbLd1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/eBIWQ/dJMb9g5fqzm/JNhj0kPqhFLyheuAFkz2z0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bfUhNm/dJMb9kT7hw3/zyTDH6kYLo1zH89KRuTJhK/img.png?width=628&amp;amp;height=1013&amp;amp;face=0_0_628_1013');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;346. [IT 정보] Windows 11 ( 윈도우 11 ) 에서 Bluetooth 블루투스 장치 추가 방법 설명&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[설 명]​주제 : IT 정보​제목 : [IT 정보] Windows 11 ( 윈도우 11 ) 에서 Bluetooth 블루투스 장치 추가 방법 설명​ [화면 설명] [내 용]​// ----------------------------------------------------------------------------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;kkh0977.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>IT정보 &amp;amp; IT소식</category>
      <category>2K</category>
      <category>It</category>
      <category>갤럭시</category>
      <category>보청기</category>
      <category>삼성</category>
      <category>스마트폰</category>
      <category>정보</category>
      <category>컴퓨터</category>
      <category>투케이</category>
      <category>투케이2k</category>
      <author>투케이2K</author>
      <guid isPermaLink="true">https://kkh0977.tistory.com/8810</guid>
      <comments>https://kkh0977.tistory.com/8810#entry8810comment</comments>
      <pubDate>Sat, 9 May 2026 14:40:11 +0900</pubDate>
    </item>
  </channel>
</rss>