728x90

전체 글 127

게임이 끊기고 흐릿한 이유 : 모니터 주사율(Hz)과 FPS의 차이

게임이 끊기고 흐릿한 이유 : 모니터 주사율(Hz)과 FPS의 차이게이밍 환경에서 최고의 몰입감과 성능을 경험하려면, 단순히 좋은 그래픽카드나 고성능 모니터만으로는 부족합니다. 바로 '주사율(Refresh Rate)'과 'FPS(Frames Per Second)'라는 두 가지 핵심 요소의 관계를 이해하고 최적화하는 것이 중요합니다. 이 두 가지가 게임 플레이에 어떤 영향을 미치는지 자세히 알아보겠습니다.1. 주사율(Hz)이란 무엇인가?주사율(재생빈도)이란 모니터가 1초에 화면을 몇 번 새로 그리는지를 나타내는 수치로, 단위는 *Hz(헤르츠)*입니다. 이는 모니터가 화면 내용을 얼마나 자주 '갱신'하는지를 의미합니다. 예를 들어,🔸60Hz 모니터는 1초에 화면을 60번 새로 그립니다. 🔸144Hz 모니..

4. IT이야기 2025.09.04

‘초이스 재킹’이 뭐길래? USB 충전으로 개인정보 유출되는 이유

‘초이스 재킹’이 뭐길래? USB 충전으로 개인정보 유출되는 이유해외 공항, 호텔, 카페 등에서 스마트폰 충전하려다 해킹된다면? 단지 USB 케이블 하나 연결했을 뿐인데 당신의 개인정보가 유출될 수 있습니다. 최근에는 '초이스 재킹(Choice Jacking)'이라는 진화된 해킹 수법까지 등장해 더 큰 주의가 필요합니다. 이 글에서는 주스 재킹, 초이스 재킹의 해킹 방식과 효과적인 예방법까지 자세히 정리해 보겠습니다.1. 공공장소 USB 충전이 스마트폰 해킹으로 이어지는 이유공항, 호텔, 지하철, 카페 등 많은 사람이 모이는 곳에는 무료 USB 충전 포트가 흔하게 설치되어 있습니다. 편리하지만 보안에는 큰 맹점이 있습니다.대부분의 USB 케이블은 전력 공급뿐 아니라 데이터 전송 기능도 함께 제공하는데, ..

4. IT이야기 2025.09.04

브라우저가 기억하는 3가지 방식 : 쿠키, 로컬스토리지, 세션스토리지

브라우저가 기억하는 3가지 방식 : 쿠키, 로컬스토리지, 세션스토리지웹사이트를 자주 사용하다 보면 "자동 로그인", "장바구니 유지", "화면 테마 유지" 같은 기능들을 경험하게 됩니다. 이런 기능들이 가능한 이유는 바로 브라우저 저장소 덕분입니다.이 글에서는 쿠키(Cookie), 로컬스토리지(LocalStorage), 세션스토리지(SessionStorage)라는 세 가지 브라우저 저장소의 개념과 차이점을 살펴보겠습니다. 1. 브라우저 저장소란 무엇인가요?우리가 인터넷에서 웹사이트를 사용할 때, 웹사이트는 때때로 우리의 정보를 "기억"해야 할 필요가 있습니다. 💡예를 들어 이런 경우를 생각해 보겠습니다:🔸로그인했더니 다음 날 다시 들어가도 자동으로 로그인이 되어 있음🔸화면 색상을 어두운 테마(다크모..

4. IT이야기 2025.09.03

9. MediaPipe 얼굴 감지(Face Detection)기능과 Python 예제

9. MediaPipe 얼굴 감지(Face Detection)기능과 Python 예제 목차 1. MediaPipe 얼굴 감지기란? 2. 얼굴 감지기 동작 방식 3. 구성 및 설정 옵션 4. 얼굴 감지기 테스트 코드 : Python 5. 테스트 결과 1. MediaPipe 얼굴 감지기란?MediaPipe 얼굴 감지기는 Google이 개발한 경량화된 머신러닝 기반 컴퓨터 비전 솔루션입니다.단일 이미지, 비디오 프레임, 실시간 스트림에서 얼굴을 빠르게 감지하며, 얼굴의 주요 랜드마크 좌표(눈, 코, 입 등)도 함께 제공합니다.📋 주요 특징6개의 얼굴 특징점 추출 (눈, 코, 입 등)경량 모델로 모바일 및 웹에 최적화실시간 카메라 스트림 지원다양한 플랫폼 (Python, Android, Web 등)에서 사용..

8.MediaPipe Hand Landmarker로 손 랜드마크 감지 : Python

MediaPipe Hand Landmarker를 사용하면 이미지나 동영상에서 손의 21개 주요 지점을 정밀하게 감지할 수 있습니다 MediaPipe Hand Landmarker로 손 랜드마크 감지 : Python 목차 1. MediaPipe Hand Landmarker란? 2. Hand Landmarker 동작방식 3. 설정 옵션 4. Hand Landmarker 테스트 코드 : Python 5. Hand Landmarker 테스트 결과 관련 글 링크 1. MediaPipe Hand Landmarker란?MediaPipe Hand Landmarker는 이미지 또는 실시간 영상 스트림에서 손의 위치를 식별하고 21개의 손가락 관절 포인트(랜드마크)를 추출하는 머신러닝 기반 솔루션입니다.손의 방향(왼손/..

[Docker]2.Ubuntu에 Docker 설치 및 sudo 없이 사용하기

Ubuntu에서 Docker를 설치하고, sudo 없이 편리하게 사용하는 방법까지 단계별로 안내합니다. 기존 패키지 제거, GPG 키 등록, 저장소 설정, 서비스 실행 등 핵심 과정을 모두 포함합니다. Ubuntu에 Docker 설치 및 sudo 없이 사용하기 목차 1. 기존 Docker 패키지 제거 2. Docker GPG 키 추가 3. Docker 저장소 추가 4. Docker 설치 및 테스트 5. Dokcer 서비스 활성화 6. sudo 없이 Docker 사용하기 7. Dokcer 업그레드 및 제거 관련 글 링크 1. 기존 Docker 패키지 제거기존 시스템에 설치된 구버전 Docker 관련 패키지를 제거합니다.for pkg in \ docker.io \ docker-doc \ docke..

18. Ubuntu apt update 오류 해결 – Hash Sum mismatch 문제

apt update 명령어 실행 시 "해시 합이 맞지 않습니다(Hash Sum mismatch)" 오류가 발생하는 경우가 있습니다. 이 글에서는 Ubuntu에서 해당 오류의 원인과 해결 방법을 설명합니다. Ubuntu apt update 오류 해결 – Hash Sum mismatch 문제 목차 1. 오류 발생 분석 2. 패키지 캐시 초기화 : 캐시가 손상되었거나 오래된 경우 3. 미러서버변경: 미러 서버의 동기화 문제로 최신 파일과 해시 정보가 맞지 않을 때 4. apt 강제 클리어 후 재시도 관련 글 링크 1. 오류 발생 분석아래는 실제 발생한 오류의 주요 메시지입니다:오류:15 http://kr.archive.ubuntu.com/ubuntu noble-updates/universe amd64 P..

7. Python 자료형 정리 : List, Tuple, Dictionary, Set, Sequence, Range

Python 자료형 정리 : List, Tuple, Dictionary, Set, Sequence, Range목차 1. 리스트(List) : 순서 있는 변경 가능한 컬렉션 2. 튜플(Tuple) : 불변의 순서 있는 컬렉션 3. 딕셔너리(Dictionary) : 키-값 쌍의 저장소 4. 집합(Set) : 중복 없는 데이터 모음 5. List vs Tuple vs Set vs Dictionary 비교 6. 시퀀스(Sequence) : 순서가 있는 자료형의 공통 기반 7. range 객체로 숫자 시퀀스 만들기 8. del 키워드로 항목 제거하기 관련 글 링크 1. 리스트(List) : 순서 있는 변경 가능한 컬렉션리스트는 여러 개의 값을 순서대로 저장할 수 있는 가변(mutable) 시퀀스 자료형입니다...

6. Python 병렬 처리 : GIL, threading, asyncio, multiprocessing

Python 병렬 처리 : GIL, threading, asyncio, multiprocessing 목차 1. 병렬처리란? 2. GIL(Global Interpreter Lock) 개념 3. Threading의 장단점 및 사용 예시 4. Asyncio의 장단점 및 사용 예시 5. Multiprocessing의 장단점 및 사용 예시 6. Threading vs Asyncio vs Multiprocessing 비교 관련 글 링크 1. 병렬처리란?병렬 처리(Parallel Processing)란 여러 작업을 동시에 실행시켜 전체 작업의 처리 속도를 높이는 기법입니다.현대 컴퓨터는 멀티코어 CPU와 고속 I/O 장치를 제공하기 때문에, 이 성능을 제대로 활용하려면 병렬 처리 구조가 필수적입니다.Python에..

5. Python 예외(Exception) 처리 : try-except-finally, with

예외 처리는 프로그램의 안정성과 복원력을 높이는 데 핵심적인 역할을 합니다. 하지만 try-except 구문을 잘못 사용하면 오히려 버그를 숨기거나 성능 저하를 유발할 수 있습니다. Python 예외(Exception) 처리 : try-except-finally, with목차 1. 기본구조: try-except-finally 2. 사용자 정의 예외(Custom Exception) 만들기 3. 잘못된 예외 처리 예시와 개선 방법 4. finally 사용법과 예시 5. with 사용법과 예시 : Context Manager 6. 사용자 정의 context manager(with) 만들기: __enter__, __exit__ 7. with vs try-finally 비교 관련 글 링크 1. 기본구조: ..

4. Python 함수구조, 함수인자, 람다함수, 클로저, 고차함수, 데코레이터

Python 함수구조, 함수인자, 람다함수, 클로저, 고차함수, 데코레이터 목차 1. 함수 구조 2. 함수의 인자(Arguments) 3. 전역변수와 지역변수 4. 람다함수(Lambda function) 5. 클로저(Closure) 6. 고차 함수(High-Order Function) 7. 함수 데코레이터(Decorator) 관련 글 링크 1. 함수 구조Python에서 함수는 입력값을 받아 로직을 수행하고, 출력값을 반환하는 코드 블록입니다.반복되는 코드를 줄이고, 코드를 모듈화하여 유지보수를 쉽게 해줍니다.▶ 함수 정의 문법def 함수이름(매개변수1, 매개변수2, ...): """선택적으로 함수 설명""" 실행할 코드 return 결과값 ▶ 함수 호출 방법함수이름(인자1, 인자2) ▶..

3. Python 클래스 정리: 클래스, 상속, 메서드, 접근제어

Python 클래스의 기본 구조부터 생성자, 메서드, 상속, 소멸자까지 핵심 개념을 정리했습니다.실무에 바로 적용 가능한 예제와 함께 __init__, self, __del__, __enter__, __exit__까지 전체 흐름을 이해할 수 있습니다. Python 클래스 정리: 클래스, 상속, 메서드, 접근제어 목차 1. Python 클래스 기본 구조 2. 생성자(__init__), 소멸자(__del__), self 이해하기 3. 인스턴스 변수 vs 클래스 변수 4. 메서드 종류(인스턴스, 클래스, 정적) 5. 상속과 메서드 오버라이딩 6. 캡슐화와 접근 제어(_와 __ 차이) 7. 특수 메서드(__str__, __repr__, __eq__, __lt__, __len__, __contains__) 8. ..

2. Python 변수 정리: 지역변수, 전역변수, global, 클래스 변수

Python 변수 정리: 지역변수, 전역변수, global, 클래스 변수 목차 1. 지역변수 vs 전역변수 2. global 키워드의 역할과 주의사항 3. nonlocal 키워드 4. 변수처럼 다루는 함수-일급객체로서의 함수 5. 클래스 변수 vs 인스턴스 변수 관련 글 링크 1. 지역변수 vs 전역변수Python에서 변수는 어디에서 선언되었는지에 따라 사용 가능한 범위(Scope)가 결정됩니다.이 범위에 따라 변수는 전역변수(Global Variable)와 지역변수(Local Variable)로 나뉘며, 각각 다음과 같은 특징이 있습니다. ◆ 전역변수(Global Variable)함수 외부에서 선언된 변수입니다.해당 모듈(파일) 전체에서 어디서든 접근할 수 있습니다.다른 함수나 블록에서도 읽기(re..

1. Python 모듈, 패키지, import 개념 정리: __init__.py

Python 프로젝트를 구조화하거나 규모가 커질수록 모듈, 패키지, 그리고 import에 대한 정확한 이해가 필수입니다. 이 글에서는 모듈과 패키지의 개념부터 __init__.py의 역할, import 에러가 발생하는 이유를 예제와 함께 정리합니다. 모듈, 패키지, import 개념 정리: __init__.py목차 1. 모듈(Module)과 패키지(Package)란? 2. __init__.py의 의미와 역할 3. import 대상 및 문법 정리 4. 디렉토리 import 구조 예시 관련 글 링크 1. 모듈(Module)과 패키지(Package)란?“모듈(Module)”과 “패키지(Package)” 개념은 Python 코드의 구조화와 재사용성 향상에 핵심적인 역할을 합니다◆ 모듈(Module)Python..

딥러닝 모델 양자화(Quantization)란? : 경량화

딥러닝 모델의 성능은 좋지만, 모델 크기와 연산량이 큰 것이 단점입니다.이를 해결하기 위해 양자화(Quantization) 기법이 널리 사용되며, 정확도 손실 없이 모델을 작고 빠르게 만들 수 있습니다. 딥러닝 모델 양자화(Quantization)란? : 경량화 목차 1. 양자화 개념 2. Post-Training Quantization(PTQ) 3. Quantization-Aware Training(QAT) 4. PTQ vs QAT 비교 관련 글 링크 1. 양자화 개념양자화(Quantization)는 딥러닝 모델에서 사용하는 실수(float32) 기반 가중치 및 연산을 정수(int8 등)로 근사하는 기법입니다.즉, 정밀도가 높은 값을 정밀도가 낮은 숫자로 표현하여 모델 크기를 줄이고 연산 속도를 ..

7.MediaPipe 손 동작 인식 (Gesture Recognition)

MediaPipe Gesture Recognizer는 손의 제스처를 실시간으로 인식하여 다양한 동작을 제어할 수 있는 강력한 비전 태스크입니다. MediaPipe 손 동작 인식 (Gesture Recognition) 목차 1. Gesture Recognizer란 ? 2. 작동 방식 - 입력과 출력 3. 설정 옵션 4. HandGestureClassifier 구조 분석 5. 사용자 정의 제스쳐 6. 제스쳐 인식 테스트 코드 7. 제스쳐 테스트 결과 관련 글 링크 1. Gesture Recognizer란?MediaPipe Gesture Recognizer는 손 제스처를 인식하는 머신러닝 태스크입니다.손의 위치와 형태를 실시간으로 추적하여 사전 정의된 제스처 또는 사용자 정의 제스처를 분류하고,이를 기반..

6.MediaPipe Interactive Image Segmenter 사용 : 코드 예시

MediaPipe의 인터랙티브 세분화 기능은 사용자가 이미지 내의 특정 지점을 클릭하면 해당 위치를 중심으로 객체의 경계를 추정하여 분할 마스크를 생성하는 기능입니다. 이 기능은 단일 이미지, 비디오 파일 또는 실시간 비디오 스트림에서 작동하며, 선택된 객체를 강조 표시하거나 배경을 흐리게 처리하는 등의 효과를 적용할 수 있습니다 MediaPipe Interactive Image Segmenter 사용 : 코드 예시 목차 1. Interactive Image Segmenter 개요 2. Interactive Image Segmenter 구조 3. MagicTouch 모델 4. 예시 코드 기본 구조 5. 예시 1 : 배경은 흐리게, 객체만 선명 6. 예시 2 : 객체를 잘라 배경에 붙여넣기 7. 예시..

5.MediaPipe Hair Segmenter로 머리카락 염색 효과 테스트

MediaPipe의 Hair Segmenter를 활용하면 이미지 속 머리카락을 감지하여 자연스러운 색상 변경 효과를 구현할 수 있습니다.이 글에서는 머리카락을 분리한 뒤 3가지 방식으로 염색 효과를 테스트하며, 가장 자연스럽고 실용적인 리컬러링 기법을 비교합니다. MediaPipe Hair Segmenter로 머리카락 염색 효과 테스트 목차 1. Hair Segmenter 개요 2. LUT란 무엇인가? 3. Hair Segmentation 설정 및 실행 4. 하드 마스크 기반 HSV 색상 변경 5. RGB 소프트 블렌딩(마스크 그대로 사용) 6. RGB 소프트 블렌딩 + 마스크 Blur 관련 글 링크 1. Hair Segmenter 개요머리카락 염색 효과를 시뮬레이션하려면, 먼저 머리카락 영역을 정확..

VSCode Remote - SSH로 Python 원격 개발하기

VSCode의 Remote - SSH 확장을 활용하여 Ubuntu 24.04 서버에 원격 접속하고 Python 개발 환경을 구성하는 방법을 소개합니다. VSCode Remote - SSH로 Python 원격 개발하기 목차 1. Remote - SSH란? 2. Ubuntu 24.04 서버 준비 3. VSCode에 Remote - SSH 확장설치 4. SSH 연결 설정 및 서버 접속 5. Python 프로젝트 생성 및 코드 실행 예제 6. .vscode-server 란? 관련 글 링크 1. Remote - SSH란?Remote - SSH는 Visual Studio Code(이하 VSCode)의 확장 기능입니다.로컬 컴퓨터에서 VSCode를 실행한 상태에서, 원격 Linux 서버에 SSH를 통해 연결하고 ..

Ubuntu 24.04 에서 여러 버전 Python 설치하기: Portable

Ubuntu 24.04에서 Python 포터블 버전 3개를 설치하고 사용하는 방법을 소개합니다.또한 apt를 이용한 설치 방법과 비교하여, 각 방식의 장단점도 함께 정리했습니다. Ubuntu 24.04 에서 여러 버전 Python 설치하기: Portable 목차 1. apt 설치 vs 포터블(Portable) 설치 비교 2. apt를 이용한 Python 설치 방법 3. Python 여러 버전 다운로드 및 설치 관련 글 링크 1. apt 설치 vs 포터블(Portable) 설치 비교포터블 Python은 시스템에 설치하지 않고, 압축 해제 또는 별도 디렉토리에 설치 후 바로 실행 가능한 Python입니다.시스템에 영향을 주지 않으며, 여러 버전을 병렬로 설치할 수 있다는 것이 큰 장점입니다.항목apt ..

728x90