Python5 Numpy의 뷰(View) : 데이터 슬라이싱의 숨은 비밀 데이터 분석과 머신러닝에서 Numpy는 필수적인 도구입니다.특히, 배열 데이터를 다룰 때 효율적으로 사용할 수 있는 기능이 많습니다.그중에서도 슬라이싱(Slicing)이 어떻게 동작하는지 이해하는 것은 매우 중요합니다.오늘은 Numpy에서 슬라이싱으로 생성되는 뷰(View)와 복사(Copy)의 차이를 쉽게 설명하고,이를 실제로 활용하는 방법을 공유하겠습니다.1. 뷰(View)란 무엇인가?Numpy에서 배열을 슬라이싱하면 새로운 배열을 생성하는 것이 아니라 원본 배열의 일부를 참조하는 뷰가 반환됩니다.뷰(View) : 원본 배열의 데이터를 공유하며, 수정하면 원본 배열에도 영향을 미칩니다.복사(Copy) : 원본 배열의 데이터를 복제하여 새로운 배열을 생성합니다. 복사본을 수정해도 원본 배열에는 영향을.. 2025. 4. 25. requirements.txt로 파이썬 라이브러리 한 번에 관리하기 요즘 다양한 파이썬 프로젝트를 진행하면서 이런 고민 한 번쯤 해보셨을 거예요. "이 프로젝트에는 무슨 라이브러리를 썼더라?", "같은 코드를 다른 컴퓨터에서 실행했는데 에러가 나요!", "협업하는데 환경이 다 달라서 실행이 안 돼요!" 등등. 실제로 코드를 작성하는 것만큼이나 중요한 것이 바로 프로젝트 환경을 관리하는 일이죠. 그중에서도 외부 라이브러리(패키지) 관리는 프로젝트의 안정성과 재현성을 확보하기 위해 필수적인 요소입니다. 이럴 때 등장하는 히든카드가 바로 requirements.txt입니다. 이 파일 하나로 내가 설치한 모든 라이브러리를 한 번에 정리하고, 설치할 수 있어요. 실제 현업 개발자들도 깃허브에 프로젝트를 공유할 때 가장 먼저 포함시키는 파일 중 하나입니다. 이번 글에서는 requi.. 2025. 4. 11. python-dotenv 사용법 정리 — 안전하고 유연한 환경 변수 관리법 Python 프로젝트를 하다 보면 API 키나 DB 접속 정보 같은 민감한 정보를 다루게 되는 순간이 있습니다.이런 정보를 코드에 하드코딩하면 보안상 큰 문제가 될 수 있고, 개발·테스트·운영 환경마다 설정을 바꿔야 할 때도 번거롭죠.이럴 때 사용하는 라이브러리가 바로 python-dotenv입니다.오늘은 python-dotenv의 개념부터 설치, 사용 방법까지 상세하게 정리해 드릴게요.✅ python-dotenv란?python-dotenv는 .env 파일에 저장된 환경 변수(Environment Variable)를 Python 코드에서 쉽게 불러올 수 있게 도와주는 도구입니다.Flask, Django, FastAPI 등 웹 프레임워크에서도 자주 사용되는 필수 라이브러리 중 하나입니다.✅ 왜 써야 할까?.. 2025. 4. 10. 파이썬 실행파일 만들기(.exe) 1. PyInstaller 설치 pip install pyinstaller 2. 파이썬 스크립트를 실행 파일로 변환하기 pyinstaller --onefile your_script.py- onefile 옵션은 단일 실행 파일 생성하도록 * 아이콘 추가pyinstaller --onefile --icon=your_icon.ico your_script.py * 콘솔 창 숨기기 (Windows에서 GUI 프로그램 만들 때 유용)pyinstaller --onefile --windowed your_script.py * 라이브러리 포함'PyInstaller'는 스크립트를 분석하여 필요한 모든 종속성을 자동으로 포함하려고 하지만,일부 라이브러리나 모듈은 동적으로 임포트되기 때문에 분석 과정에서 누락될 수 있음.이런 .. 2024. 6. 19. 소켓통신 에코 프로그램 예제 클라이언트가 보낸 메시지를 서버가 다시 전송하는 예제 서버를 먼저 실행시킨 후, 클라이언트를 실행. 1. 클라이언트가 접속하면 서버에서 접속한 클라이언트의 정보를 보여줌. 2. 클라이언트가 문자열 전송하면 서버가 수신한 문자열 출력하고 다시 에코. 3. 클라이언트에서 수신받은 문자열을 출력 import socket # 접속할 서버 주소입니다. 여기에서는 루프백(loopback) 인터페이스 주소 즉 localhost를 사용합니다. HOST = '192.168.0.2' # 클라이언트 접속을 대기하는 포트 번호입니다. PORT = 9400 # 소켓 객체를 생성합니다. # 주소 체계(address family)로 IPv4, 소켓 타입으로 TCP 사용합니다. server_socket = socket.socket(.. 2023. 1. 9. 이전 1 다음