최근 포스트

SSH 통신 시 네고시에이션(협상)

SSH(Secure Shell)는 네트워크를 통해 안전한 통신을 가능하게 하는 프로토콜로, 원격 로그인 및 명령어 실행, 파일 전송 등 다양한 작업에 활용됩니다. 이러한 SSH 통신은 클라이언트와 서버 간의 협상(negotation) 과정을 거쳐 암호화 방식과 인증 방법을 결정하는...

Redis 데이터의 영속성 (Redis Persistence)

Redis는 인메모리 데이터베이스로서 빠른 속도를 자랑하지만, 메모리에 저장된 데이터를 디스크에 저장하는 영속성(Persistence) 기능도 제공합니다. 이 기능 덕분에 서버가 재시작되더라도 데이터 유실 없이 복구할 수 있습니다. 그러나 이 기능이 잘못 사용되면 장애의 원인이 되...

WebLogic에서 ORA-12516 오류 원인 및 해결 방법

서론 WebLogic 서버에서 데이터베이스에 연결을 시도하는 과정에서 발생할 수 있는 일반적인 오류 중 하나는 ORA-12516 오류입니다. 이 오류는 JDBC 연결 시 발생하며, 오류 메시지로는 “TNS:listener could not find available handler ...

허깅페이스에서 모델을 로컬로 다운로드하는 방법

서론 허깅페이스(Hugging Face)는 다양한 자연어 처리(NLP) 모델을 제공하는 플랫폼으로, 많은 연구자와 개발자들이 이를 사용하고 있습니다. 때로는 인터넷 연결이 불안정하거나, 보안상의 이유로 모델을 로컬에 다운로드하여 사용하는 것이 필요할 수 있습니다. 이 글에서는 허깅...

컴퓨터에서 원격 데스크톱의 수신 대기 포트 변경

원격 데스크톱 프로토콜(RDP)은 원격으로 컴퓨터에 접속하여 작업을 수행할 수 있게 해주는 유용한 기능입니다. 기본적으로 RDP는 포트 3389를 사용하여 통신합니다. 그러나 보안 또는 네트워크 구성상의 이유로 이 포트를 변경해야 할 때가 있습니다. 이 글에서는 Windows 시스...

리눅스에서 Python 모듈의 기본 설치 경로

리눅스에서 Python 모듈의 기본 설치 경로는 Python 버전과 설치 방법에 따라 다를 수 있습니다. 여기서는 시스템 전역, 사용자별, 가상 환경에 설치된 Python 패키지의 경로와 이를 확인하는 다양한 방법을 소개합니다.

Docker 디스크 공간 최적화 가이드

Docker는 개발자와 시스템 관리자에게 애플리케이션을 빠르게 구축, 테스트 및 배포할 수 있는 강력한 도구를 제공합니다. 그러나 시간이 지남에 따라 Docker 환경은 사용하지 않는 컨테이너, 이미지, 볼륨 등으로 인해 디스크 공간을 과도하게 차지할 수 있습니다. 이 글에서는 D...

Docker 컨테이너 이미지의 용량 축소 전략

Docker 이미지의 크기를 줄이기 위해 다양한 전략을 사용할 수 있습니다. 여기서는 불필요한 파일 제거, 패키지 캐시 정리, 로그 파일 및 임시 파일 정리, 멀티 스테이지 빌드와 같은 방법들을 구체적으로 설명하고, 경량 베이스 이미지 사용, .dockerignore 파일 활용 등...

Streamlit 하위 페이지 만들기

서론 Streamlit을 사용하다 보면 데모 페이지가 하나로 끝나지 않고 여러 페이지로 나누어야 할 때가 있습니다. 특히 사이드 네비게이션바를 추가하여 다양한 하위 페이지로 이동할 수 있는 구조를 구현하고자 할 때, 간단한 방식으로 이를 구현할 수 있습니다. 오늘은 Streamli...