[PostgreSQL] UPDATE FROM 서브쿼리로 집계값 반영하기 (SUM + JOIN 업데이트)

PostgreSQL에서 다른 테이블의 값을 이용해 UPDATE를 해야 할 때가 많다.
특히 집계(SUM) 결과를 반영하는 UPDATE는 처음 보면 헷갈린다.

이 글에서는 실제 쿼리 예제를 기준으로
UPDATE FROM + 서브쿼리 + 집계 패턴을 정리한다.


기본 구조: UPDATE FROM JOIN

PostgreSQL에서는 UPDATE ... FROM 구문을 사용하면
다른 테이블과 JOIN해서 값을 업데이트할 수 있다.

기본 예제

UPDATE 테이블A AS t1
SET amt = amt - t2.tot_amt
FROM 테이블B AS t2
WHERE t1.key_seq = t2.key_seq
AND t1.company_code = t2.company_code;

핵심 포인트

  • FROM으로 다른 테이블 참조 가능
  • WHERE에서 JOIN 조건 작성
  • SET에서 다른 테이블 컬럼 사용 가능

👉 즉, UPDATE + JOIN을 동시에 처리


문제 상황: 집계 데이터를 반영해야 하는 경우

단순 JOIN이 아니라 이런 케이스:

  • 결제 데이터 여러 건 존재
  • 해당 금액을 SUM으로 합산
  • 그 결과를 기준 테이블에서 차감

👉 이럴 때는 서브쿼리 + GROUP BY가 필요


실무 쿼리

UPDATE 테이블A AS t1
SET amt = amt - t2.tot_amt
FROM (
SELECT
cap.key_seq,
user.company_code,
SUM(cap.amt) AS tot_amt
FROM 결제테이블 cap
JOIN 유저테이블 "user"
ON cap.user_key = "user".user_key
WHERE cap.trk_no IN (운송장번호)
GROUP BY cap.key_seq, user.company_code
) AS t2
WHERE t1.key_seq = t2.key_seq
AND t1.company_code = t2.company_code;

언제 쓰는 패턴인가

이 쿼리는 이런 상황에서 사용된다:

  • 정산 데이터 차감
  • 포인트 차감
  • 재고 감소 처리
  • 집계 기반 업데이트

👉 “여러 건 → 합산 → 1건 반영”


한 줄 정리

👉 PostgreSQL에서 집계값으로 UPDATE하려면
UPDATE + FROM + GROUP BY 서브쿼리 조합을 사용하면 된다.

[DBeaver] CSV 데이터 가져오기 시 한글 깨짐 해결 방법 (UTF-8 인코딩 설정)

DBeaver에서 CSV 파일을 Import 할 때
한글이 깨져서 ???, ��� 이런 식으로 보이는 경우가 많다.

이 문제는 거의 100% 인코딩(Encoding) 설정 문제다.
이 글에서는 CSV 한글 깨짐을 해결하는 방법을 정확하게 정리한다.


문제 상황

CSV 파일을 DBeaver로 Import 하면:

  • 한글이 깨짐 (???, ��)
  • 데이터 정상인데 문자만 깨짐
  • DB에는 이미 깨진 상태로 들어감

즉, Import 과정에서 인코딩이 틀린 것


원인 (핵심)

CSV 파일 인코딩과 DBeaver 인코딩이 다르기 때문

대표적인 케이스:

CSV 파일DBeaver 설정결과
EUC-KRUTF-8깨짐
UTF-8EUC-KR깨짐

해결 방법: Import 시 Encoding 설정 변경

적용 방법

  1. DBeaver에서 테이블 우클릭
  2. Import Data 선택
  3. CSV 선택 후 Next 진행
  4. 아래 옵션 확인
Encoding: EUC-KR


적용 후 결과

👉 이렇게 수정하면 한글 깨짐 없음

이클립스 JRebel 대체: Spring Loaded 적용 방법 (설치부터 설정까지)

개발하다 보면 코드 수정 후 서버 재시작이 반복되면서 생산성이 크게 떨어진다.
대표적인 해결책이 JRebel이지만, 유료라는 점이 부담이다.

그래서 무료 대안으로 사용할 수 있는 것이 Spring Loaded다.
이 글에서는 Eclipse 환경에서 Spring Loaded를 적용하는 방법을 정리한다.


Spring Loaded란?

Spring Loaded는 JVM 재시작 없이 클래스 변경을 반영해주는 도구다.

특징

  • 코드 수정 후 서버 재시작 없이 반영
  • 무료 (오픈소스)
  • Spring 기반 프로젝트에 최적화

단점도 있다:

  • 최신 Spring Boot에서는 일부 제약 존재
  • JRebel보다 안정성/지원 범위는 제한적

적용 전 체크사항

먼저 아래 조건을 확인한다.

  • Java 8 ~ 11 환경 권장
  • Spring Boot 2.x 이하에서 안정적
  • Eclipse 사용 중

1. Spring Loaded 다운로드

GitHub 또는 Maven Repository에서 JAR 파일을 다운로드한다.

파일 예시: springloaded-1.2.8.RELEASE.jar

적당한 경로에 저장: C:\springloaded\


2. JVM 옵션 설정 (핵심)

Eclipse에서 실행 설정을 수정한다.

Run Configuration → VM arguments

아래 옵션 추가:

-javaagent:C:/springloaded/springloaded-1.2.8.RELEASE.jar
-noverify

👉 중요 포인트

  • 경로는 반드시 본인 환경에 맞게 수정
  • -noverify 없으면 동작 안 되는 경우 있음

3. Eclipse 자동 빌드 설정

자동 반영을 위해 아래 설정을 켠다.

설정 경로

Project → Build Automatically 체크

또는

Window → Preferences → General → Workspace
→ Build automatically 체크

4. 코드 변경 테스트

이제 실제로 동작하는지 확인한다.

테스트 방법

  1. 서버 실행
  2. Controller 또는 Service 코드 수정
  3. 저장 (Ctrl + S)

👉 정상이라면

  • 서버 재시작 없이 바로 반영됨

5. 적용이 안 될 때 해결 방법

1) 변경이 반영 안 됨

  • Clean → Build 다시 실행
  • Eclipse 재시작

2) 일부 클래스만 반영됨

  • 메서드 변경은 OK
  • 클래스 구조 변경(필드 추가 등)은 제한 있음

3) Spring Boot 최신 버전

Spring Loaded 대신 추천: JRebel (유료), Spring DevTools (추천)


Spring Loaded 대신 추천 옵션 (현실적인 선택)

요즘은 사실 Spring Loaded보다 아래가 더 많이 쓰인다.

Spring Boot DevTools

  • 자동 재시작 지원
  • 설정 간단
  • 공식 지원
developmentOnly 'org.springframework.boot:spring-boot-devtools'

👉 체감상 이게 더 편한 경우 많다.


정리

  • JRebel 없이도 개발 생산성 개선 가능
  • Spring Loaded로 빠른 코드 반영 환경 구축
  • 다만 최신 환경에서는 DevTools가 더 현실적인 선택

JavaScript 정규식 모음 (아이디, 비밀번호, 이메일, URL 검증)

웹 개발을 하다 보면 입력값 검증은 필수입니다.
특히 회원가입, 로그인, 폼 입력 등에서 정규식(Regex)을 활용하면 간단하게 유효성 체크를 처리할 수 있습니다.

이번 글에서는 기본 사용법실무에서 바로 사용할 수 있는 정규식 패턴을 정리했습니다.


기본 사용법

// reg 값을 원하는 검증 정규식으로 넣어서 사용
const reg = /^[A-Za-z0-9]+$/;

// 검증할 값
const value = "user123";

if (reg.test(value)) {
console.log("유효한 값입니다.");
} else {
console.log("형식이 올바르지 않습니다.");
}


1. 아이디 검증 (영문 + 숫자)

/^[A-Za-z0-9]+$/
  • 영문 + 숫자만 허용
  • 공백 및 특수문자 불가

2. 비밀번호 검증

/^(?=.*\d)(?=.*[~`!@#$%^&*()\-+=])(?=.*[A-Za-z].*[A-Za-z]).{8,50}$/

조건:

  • 숫자 1개 이상
  • 특수문자 1개 이상
  • 영문 2개 이상
  • 8~50자

3. 이메일 형식 검증

/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/
  • 대부분의 이메일 형식 대응
  • 실무에서 가장 많이 사용하는 패턴

4. 같은 문자 반복 제한

/(.)\1{3}/
  • 같은 문자 4번 이상 반복 체크
  • 비밀번호 보안 강화에 사용

5. 전화번호 검증

/^\d{3}-\d{3,4}-\d{4}$/

예: 010-1234-5678, 010-123-4567


    6. URL 검증

    /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/
    • http / https / ftp 지원
    • 기본적인 URL 형식 체크

    7. 도메인 검증

    /^((https?:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,}(\:[0-9]+)?(\/\S*)?$/
    • http/https 포함 여부 선택 가능
    • 포트 및 경로 포함 가능

    8. 숫자만 입력

    /^[0-9]+$/

    9. 한글만 입력

    /^[가-힣]+$/

    마무리

    정규식은 강력하지만, 과하게 복잡하게 만들면 유지보수가 어려워집니다.
    실무에서는 “완벽한 정규식”보다 “적당히 안전한 정규식”이 더 중요합니다.

    필요한 만큼만 검증하고, 나머지는 서버에서 한 번 더 체크하는 구조를 추천합니다.

    키텐실 전자레인지 샌드위치메이커, 실제 후기 (장점, 단점)

    제품은 내돈내산, 직접 구매했습니다. 😊

    아침마다 토스트를 만들기 위해 불 앞에 서 있는 건 부담스러운 일이에요.
    하지만 키텐실 샌드위치메이커는 전자레인지만 있으면 간단히 토스트를 만들 수 있습니다.

    전자레인지로 토스트를 만든다고 했을 때 솔직히 “눅눅하지 않을까?”라는 의구심이 가장 컸는데, 직접 써보며 느낀 장단점을 가감 없이 정리해 보려고 합니다.

    💝제품 구매하러 가기 → https://naver.me/FRodhovW


    🥪 기름 없이 바삭하게, 키텐실 사용 후기

    ✅ 이런 점은 정말 기대 이상이었어요!

    • 기름 없이 구현되는 ‘겉바속촉’

    보통 토스트를 하려면 프라이팬에 버터를 두르거나 기름을 써야 하는데, 키텐실은 기름 한 방울 없이 전자레인지에 돌리기만 해도 빵 표면이 바삭합니다. 건강하게 먹고 싶은 아침이나 다이어트 중일 때 죄책감 없이 토스트를 즐길 수 있다는 게 가장 큰 매력입니다.

    • 의외의 꿀기능, 계란말이

    토스트 전용인 줄 알았는데 계란말이도 가능하더라고요. 팬 앞에서 불 조절하며 뒤집을 필요 없이, 달걀물 부어서 렌지에 돌리면 깔끔한 모양으로 완성됩니다. 시간 단축용으로 이만한 게 없어요.

    • 분리 세척이 가능

    조리하며 음식물이 많이 묻더라도 모든 구조를 분리해서 세척할 수 있습니다.

    💝제품 구매하러 가기 → https://naver.me/FRodhovW


    ⚠️ 아쉬웠던 점 (구매 전 꼭 체크하세요)

    • 뚱토스트’는 욕심

    길거리 토스트처럼 양배추를 쌓아서 넣고 싶은 분들은 마음을 비우셔야 해요. 내용물을 많이 넣기가 어렵습니다. 욕심내서 재료를 꽉 채우면 일단 기기를 닫는 것부터 난관이 시작됩니다.

    많이 넣으면 전부 분리해서 세척해야 하는 점에서, 간편하려고 샀지만 불편해지는 것 같아요.

    💡 총평 및 팁

    가벼운 아침 식사나 간단한 간식용으로는 최고, 하지만 욕심은 금물!

    재료를 얇게 레이어링해서 넣는다면 이보다 편한 도구는 없을 것 같아요. 특히 설거지 귀찮으신 분들은 소스가 넘치지 않게 주의해서 사용하시길 추천합니다. 바삭한 식감을 선호하지만 기름진 건 싫어하는 분들이라면 충분히 만족하실 만한 아이템입니다!

    💝제품 구매하러 가기 → https://naver.me/FRodhovW

    JSTL 데이터 마스킹 처리하는 방법 (substring, fn 사용)

    JSP에서 개인정보를 출력할 때 이름, 전화번호, 이메일 등을 그대로 노출하면 보안상 문제가 될 수 있습니다.

    이번 글에서는 JSTL을 사용하여 문자열 일부를 숨기는 데이터 마스킹 방법을 정리합니다.


    화면에 사용자 정보를 출력할 때 아래와 같은 요구사항이 있습니다.

    • 이름: 홍길동 → 홍*동
    • 전화번호: 010-1234-5678 → 010-****-5678
    • 이메일: test@example.com → te***@example.com

    JSTL만으로 처리하려고 하면 substring 처리에서 막히는 경우가 많습니다.

    해결 방법

    상단에 아래 코드를 작성해 JSTL 기본 설정을 해 줍니다.

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    • 이름 마스킹
    ${fn:substring(name, 0, 1)}*${fn:substring(name, fn:length(name)-1, fn:length(name))}

    출력 결과: 홍길동 → 홍*동

    • 전화번호 마스킹
    <c:set var="p1" value="${fn:substringBefore(phone, '-')}" />
    <c:set var="rest" value="${fn:substringAfter(phone, '-')}" />
    <c:set var="p2" value="${fn:substringBefore(rest, '-')}" />
    <c:set var="p3" value="${fn:substringAfter(rest, '-')}" />

    ${p1}-****-${p3}

    출력 결과: 010-1234-5678 → 010-****-5678

    • 이메일 마스킹
    <c:set var="emailId" value="${fn:substringBefore(email, '@')}" />
    <c:set var="domain" value="${fn:substringAfter(email, '@')}" />

    ${fn:substring(emailId, 0, 2)}***@${domain}

    출력 결과: test@example.com → te***@example.com

    정리

    JSTL의 fn:substring, fn:length 함수를 활용하면 별도의 Java 코드 없이도 간단하게 데이터 마스킹 처리가 가능합니다.

    특히 이름, 전화번호, 이메일과 같은 개인정보는 반드시 마스킹 처리 후 출력하는 것이 좋습니다.

    직장인 다이어트 냉동 밀프랩 5개 만들기 | 돼지고기 등심 도시락

    바쁜 직장인이라면 식단을 챙기는 게 쉽지 않다.
    다이어트 도시락을 사 먹자니 왠지 돈이 아까웠다.

    다이어트 도시락과 비슷하게 구성으로
    주말마다 냉동 밀프랩 5개를 준비하기로 했다.

    ✔ 시간 절약
    ✔ 식비 절약
    ✔ 식단 유지

    이 세 가지를 동시에 잡을 수 있는 방법이다.


    🥗 준비 재료 (5개 분량)

    🍚 저속노화밥(렌틸콩4, 현미2, 귀리2, 백미2 비율) 130~140g * 5개
    🥓 돼지고기 등심 600g
    🍄 느타리버섯 150g
    🥦 냉동 브로콜리 한 줌

    👉 포인트
    단백질 + 식이섬유 중심 구성
    냉동 후에도 식감 유지되는 재료 위주

    🫙 밀프랩 용기는 다이소 말랑핏 510ml 버터옐로우 (품번: 1059964)


    🔪 조리 과정

    1️⃣ 밥 소분

    밀프랩 용기에 밥을 담는다.

    2️⃣ 돼지고기 등심 굽기

    돈까스용 돼지고기인데 기름이 적은 부위라 구입했다.
    구울 때 소금, 후추 솔솔 뿌려 주기 🧂

    600g인데 굽고 나니 400g 정도 되어, 80g씩 나누어 담아 주었다.
    (다음에는 익히기 전 150g을 정량으로 잡으면 좋을 것 같다.)

    3️⃣ 느타리버섯 볶기

    마트 판매 상품 중 저렴한 버섯으로 구매했다.
    올리브오일에 버섯을 넣고, 후추를 뿌려서 볶는다.

    4️⃣ 브로콜리 데치기

    마트에 냉동 브로콜리를 팔아서, 반찬으로 쓰기 좋은 재료!
    끓는 물에 데쳐서 익힌 후 담아 준다.

    5️⃣ 라벨링 후 냉동 보관

    만든 직후에는 똑바로 눕혀서 넣어 놓고,
    하루 뒤에 똑바로 세워 주면 라벨링이 잘 보인다.


    🧠 한 줄 정리

    다이어트는 의지가 아니라 환경이라는 말이 있다.

    사실 의지도 많이 중요하긴 한 것 같지만…
    하지만 환경 또한 만들면 도움이 되지 않을까?

    모든 직장인들, 파이팅이다.

    아이폰 애플페이 K-PASS 이용하기, 티머니 (2026.03)

    유튜브를 보다가 대중교통비를 돌려받을 수 있는 K-PASS 사업을 알게 되었다.

    💡K-PASS란 무엇인가?

    K-PASS는 대중교통 이용 금액의 일부를 환급해주는 정부 지원 제도다.

    • 대상: 대한민국 국민, 대중교통 이용자
    • 혜택: 일정 비율 환급

    💰 K-PASS 환급 기준

    나이나, 자녀 등 상황에 따라 아래 그룹 기준이 부여된다.

    • 일반: 만 35세 이상 65세 미만
    • 청년: 만 19세~34세
    • 어르신: 만 65세 이상
    • 다자녀2: 미성년자 자녀를 포함한 2자녀 부모
    • 다자녀3: 미성년자 자녀를 포함한 3자녀 이상 부모
    • 저소득: 기초생활수급자 및 차상위계층

    ※ 출처: https://korea-pass.kr/info/intro.do

    그리고 월별 이용금액을 취합해
    3가지 환급 방식 중 환급금이 가장 큰 환급 정책으로 자동 계산되어 환급된다.

    1. 기본형: 전체 이용금액 x 환급률 (일반 20%, 청년 30%, 어르신 30%, 다자녀2 30%, 다자녀3 50%, 저소득 53.3%)
    2. 모두의 카드 일반형: (전체 이용금액 – 3,000원 이상 이용금액) – 지역/그룹별 일반형 기준 금액
    3. 모두의 카드 플러스형: 모두의 카드 플러스형 환급금 = 전체이용금액 – 지역/그룹별 플러스형 기준 금액

    ※ 출처: https://korea-pass.kr/info/use_accm.do

    💰 환급 방법

    적립금은 월 15회 카드를 이용해야 지급되며, 카드사별로 지급 방식이 상이하다.
    7~10영업일 이내 지급하거나, 정해진 날짜에 지급하거나, 내 결제일이 실제 지급일인 경우로 나뉜다.

    티머니는 익월 16일에 T 마일리지로 지급하는데, 이 마일리지로 다시 교통카드를 충전할 수 있다.

    그 외 카드사별 지급 방식은 아래 링크에서 확인 가능하다.
    https://korea-pass.kr/info/kpass_pay.do

    💳 아이폰 애플페이 티머니로 K-PASS 신청 방법

    간략하게 요약하자면 아래와 같다.

    1. 애플페이에 티머니 카드 발급 👉 여기까지만 해도 아이폰으로 교통카드 이용 가능
    2. K-PASS 회원가입 진행하며 티머니 카드 등록
    3. 교통카드 이용
    4. 티머니 기준 익월 16일 T마일리지로 환급
    5. T마일리지로 다시 티머니를 충전해서 사용


    1️⃣ 아이폰 ‘지갑’ 앱에 티머니 카드 발급

    초기에 애플페이 나왔을 때 발급했던 거라 발급 과정 스크린샷이 없다.
    일단 ‘지갑’ 앱에 티머니 카드를 발급하면, 그 과정 중에 ‘모바일티머니’ 앱이 설치될 것이다.

    👉 여기까지만 해도 아이폰으로 교통카드 이용 가능

    2️⃣ K-PASS 회원가입 진행하며 티머니 카드 등록

    K-PASS 홈페이지에 접속해 회원가입 단계를 진행한다.

    ① 본인인증

    ② 카드번호 등록 및 검증

    티머니 카드번호를 입력해 주면 된다.

    ③ 비대면 자격조회 (내 인적사항 및 주소지 입력 후 검증)

    ④ 회원정보입력

    K-PASS 홈페이지에서 쓸 아이디, 비밀번호를 입력하고 가입을 완료한다.

    3️⃣ 교통카드 이용

    등록한 교통카드를 이용한다.

    4️⃣ 티머니 기준 익월 16일 T마일리지로 환급

    자동으로 계산되어 마일리지가 환급된다.

    5️⃣ T마일리지로 다시 티머니를 충전해서 사용

    ‘모바일티머니’ 앱에서 아래 캡처 순서대로 진행하면 T마일리지로 충전이 가능하다.


    🎯 결론

    K-PASS는 복잡해 보이지만 핵심은 단순하다.

    카드 만들고 → 등록하고 → 대중교통 이용하면 알아서 환급

    이 3단계만 제대로 하면
    매달 교통비를 돌려받을 수 있다.

    Apple 폴더 용량 줄이기

    작성일:  2021. 8. 18

    윈도우를 사용하다 보면 어느 순간 C드라이브 용량이 급격히 줄어드는 경우가 있다.
    특히 사용자 폴더의 용량이 43.3GB, 그 중에 Apple 폴더가 24.3GB나 차지했다.

    이 글에서는 Apple 폴더 용량이 커지는 이유와 안전하게 삭제하는 방법을 정리한다.


    C:\Users\[사용자 이름] 이 폴더는 비어 있습니다

    원인이 되는 폴더를 확인해 보니 용량은 큰데, 폴더가 비어 있었다.

    ‘숨긴 항목’을 확인해 보니, ‘MobileSync’ 폴더가 생겼다.


    MobileSync 폴더 정체

    Apple Computer > MobileSync > Backup

    이 경로에는 다음 데이터가 저장된다.

    • 아이폰 전체 백업 데이터
    • 초기화 대비 백업 파일
    • 과거 기기 백업 기록

    👉 한 번 백업하면 수 GB ~ 수십 GB까지 증가할 수 있다.


    Apple 폴더 삭제 시 주의사항

    무작정 폴더를 삭제하는 것은 권장하지 않는다.

    • iTunes / Apple 서비스 오류 발생 가능
    • 일부 백업 파일 손실

    특히 숨김 폴더인 이유는 시스템 연동 때문이라서
    프로그램을 통해 삭제하는 것이 안전하다.


    아이튠즈로 백업 삭제하는 방법

    1. iTunes 실행
    2. 상단 메뉴 → 편집 → 기본 설정
    3. 기기 탭 선택
    4. 기존 백업 목록 확인
    5. 불필요한 백업 선택 후 삭제

    추가 설정: 자동 동기화 방지 옵션 체크 추천

    나도 위와 같은 방법으로 삭제했는데,
    아이튠즈에는 뜨지 않는 MobileSync 폴더 내 백업 파일이 남아 있었다.


    백업이 일부만 보이는 이유

    다음 상황에서 일부 백업만 표시될 수 있다.

    • iTunes 재설치 이력 존재
    • 다른 버전에서 생성된 백업
    • 사용자 계정 경로 변경

    아마 이전 아이튠즈 설치 때 남은 백업 파일인 것 같았고,
    이 파일은 직접 삭제했다.


    추가 용량 확보 방법 (1)

    다음 경로를 확인해보면 이것 또한 용량이 꽤 크다는 것이 확인된다.

    C:\Users\[사용자명]\AppData\Roaming\Apple Computer

    이 폴더도 직접 삭제해 준다.


    추가 용량 확보 방법 (2)

    아래 내용도 추가로 정리하면 효과가 크다.

    • Downloads 폴더 정리
    • 바탕화면 불필요 파일 삭제
    • 휴지통 비우기
    • 디스크 정리 실행 후 재부팅

    👉 실제로 수십 GB 확보도 가능


    정리

    • Apple 폴더 용량 증가의 핵심 원인은 아이폰 백업
    • MobileSync 폴더가 대부분의 공간 차지
    • 삭제는 iTunes를 통한 정식 방법 사용 권장
    • 이후 불필요 파일 정리까지 하면 효과 극대화

    아이폰 (라이트닝 모델) 외장하드 연결하기 | 씨게이트 연결 실패

    실제 작성일: 2024. 02. 25

    제 핸드폰은 아이폰 13 Mini입니다.

    USB-C타입을 사용한다면 유튜브 채널 “방구석 리뷰룸” 채널 영상을 참고해 주세요.


    📌 한눈에 정리

    • 대상: 아이폰 라이트닝 모델 (아이폰 13 Mini 기준)
    • 파일 시스템: exFAT 필수
    • 필수 장비: 라이트닝 USB 3 카메라 어댑터
    • 핵심 문제: 전력 부족 → 외장하드 인식 실패
    • 결론: 라이트닝 모델은 외장하드 대신 USB 추천

    🧰 준비물

    • 라이트닝 USB 3 카메라 어댑터
    • 외장하드 또는 USB 메모리

    👉 중요한 포인트 무조건 이 제품이어야 합니다. (추가로 충전기를 꽂을 수 있어야 함)


    🔧 아이폰 외장하드 연결 방법

    1️⃣ 외장하드 포맷 (필수)

    • 파일 시스템: exFAT
    • 기존 데이터는 백업 후 진행

    2️⃣ 어댑터 + 외장하드 연결

    • 외장하드를 어댑터에 연결
    • 아이폰에 꽂기

    3️⃣ 전원 공급 추가

    • “전력이 부족합니다” 메시지 뜨면 👉 어댑터에 충전기 또는 보조배터리 연결

    4️⃣ 파일 앱 확인

    • 아이폰 기본 파일 앱 실행
    • “HEE 512GB”가 연결됨

    👉 안 뜨면? 연결 실패한 것


    5️⃣ 폴더 생성 (권장)

    • 예: 동영상 옮기기
    • 정리 안 하면 나중에 찾기 어렵다

    6️⃣ 사진/영상 이동

    • 사진 앱 → 파일 선택
    • 공유 버튼 → 파일에 저장

    🔚 정리

    • 라이트닝 아이폰 + 외장하드 = 성공 확률 낮음
    • 가장 큰 원인은 전력 부족
    • 빠르게 해결하려면 USB 사용
    • 외장하드는 USB-C 아이폰에서 다시 시도

    찾아오신 분들에게 도움이 되었기를 바랍니다.