🍪 Study
-
Flask와 Nginx, Gunicorn을 함께 사용하는 이유는 주로 성능, 안정성, 보안 등의 측면에서 애플리케이션을 더 효율적으로 운영하기 위해서이다. 각각의 역할을 이해하면, 왜 이 조합이 자주 사용되는지 명확해진다. FlaskPython으로 작성된 마이크로 웹 프레임워크역할: 애플리케이션의 비즈니스 로직과 API 엔드포인트 처리.제한 사항Flask의 내장 개발 서버는 단일 스레드로 동작하며, 고부하 상황에서 성능이 제한적.다중 클라이언트 요청을 효율적으로 처리하지 못함.프로덕션 환경에서의 고성능 처리를 위해 설계되지는 않음. GunicornWSGI(Web Server Gateway Interface) 서버역할Flask와 같은 WSGI 애플리케이션을 효율적으로 운영하기 위해 사용.다중 워커를 사용하..
Nginx - Flask 프록시 방법 (Feat. Gunicorn)Flask와 Nginx, Gunicorn을 함께 사용하는 이유는 주로 성능, 안정성, 보안 등의 측면에서 애플리케이션을 더 효율적으로 운영하기 위해서이다. 각각의 역할을 이해하면, 왜 이 조합이 자주 사용되는지 명확해진다. FlaskPython으로 작성된 마이크로 웹 프레임워크역할: 애플리케이션의 비즈니스 로직과 API 엔드포인트 처리.제한 사항Flask의 내장 개발 서버는 단일 스레드로 동작하며, 고부하 상황에서 성능이 제한적.다중 클라이언트 요청을 효율적으로 처리하지 못함.프로덕션 환경에서의 고성능 처리를 위해 설계되지는 않음. GunicornWSGI(Web Server Gateway Interface) 서버역할Flask와 같은 WSGI 애플리케이션을 효율적으로 운영하기 위해 사용.다중 워커를 사용하..
2024.09.24 -
1. Batch란?Batch는 인공지능(특히 딥러닝)에서 데이터를 처리하는 단위를 의미한다. 신경망을 학습할 때 전체 데이터를 한꺼번에 처리하지 않고, 여러 개의 작은 묶음(즉, 배치)으로 나누어 처리한다. 이는 메모리 사용량을 줄이고, 병렬 처리의 효율성을 높이며, 학습 과정에서의 안전성을 높이는 등의 이점이 있다. 2. Batch의 종류1. 배치 학습 (Batch Learning): 전체 데이터를 한 번에 학습하는 방식. 일반적으로 메모리가 많이 소모되며 큰 데이터셋에서는 비효율적이다.2. 미니배치 학습 (Mini-Batch Learning): 전체 데이터를 작은 묶음으로 나누어 학습하는 방식. 일반적으로 많이 사용된다.3. 확률적 경사 하강법 (Stochastic Gradient Descent, S..
Batch 배치1. Batch란?Batch는 인공지능(특히 딥러닝)에서 데이터를 처리하는 단위를 의미한다. 신경망을 학습할 때 전체 데이터를 한꺼번에 처리하지 않고, 여러 개의 작은 묶음(즉, 배치)으로 나누어 처리한다. 이는 메모리 사용량을 줄이고, 병렬 처리의 효율성을 높이며, 학습 과정에서의 안전성을 높이는 등의 이점이 있다. 2. Batch의 종류1. 배치 학습 (Batch Learning): 전체 데이터를 한 번에 학습하는 방식. 일반적으로 메모리가 많이 소모되며 큰 데이터셋에서는 비효율적이다.2. 미니배치 학습 (Mini-Batch Learning): 전체 데이터를 작은 묶음으로 나누어 학습하는 방식. 일반적으로 많이 사용된다.3. 확률적 경사 하강법 (Stochastic Gradient Descent, S..
2024.09.24 -
Streamlit과 Nginx 각각에서의 설정을 해줘야 하다. Streamlit아무것도 설정할 필요 없다. 기본값으로 8501번 포트에서 streamlit app이 실행된다.만약 port 등을 설정하고 싶다면, 프로젝트 디렉토리 내 .streamlit/config.toml 에서 설정할 수 있다.# 예시[server]port=8000 Nginx/etc/nginx/nginx.conf 에서 nginx가 지켜볼 port와 이 port로 들어오는 요청을 전달할 주소, 즉, streamlit이 실행되고 있는 주소를 연결해줘야 한다. http.server 설정을 아래와 같이 해준다.proxy_pass에는 streamlit app이 실행되고 있는 주소를 넣어줘야 한다.따로 설정해준 게 없다면, http://localh..
Nginx - Streamlit 프록시 설정 방법Streamlit과 Nginx 각각에서의 설정을 해줘야 하다. Streamlit아무것도 설정할 필요 없다. 기본값으로 8501번 포트에서 streamlit app이 실행된다.만약 port 등을 설정하고 싶다면, 프로젝트 디렉토리 내 .streamlit/config.toml 에서 설정할 수 있다.# 예시[server]port=8000 Nginx/etc/nginx/nginx.conf 에서 nginx가 지켜볼 port와 이 port로 들어오는 요청을 전달할 주소, 즉, streamlit이 실행되고 있는 주소를 연결해줘야 한다. http.server 설정을 아래와 같이 해준다.proxy_pass에는 streamlit app이 실행되고 있는 주소를 넣어줘야 한다.따로 설정해준 게 없다면, http://localh..
2024.08.30 -
발생한 오류도커로 MySQL 데이터베이스와 연결된 Node.js 서버 컨테이너를 밤새 실행해둔 채로 퇴근 후, 다음날 출근해서 보니 아래와 같은 오류가 발생했다.Error: Can't add new command when connection is in closed stateError: This socket has been ended by the other party Error: Can't add new command when connection is in closed state데이터베이스 연결이 이미 닫혔음에도 새로운 쿼리나 명령을 실행하려고 할 때 발생하는 오류이다. 연결이 예기치 않게 닫힌 경우 또는 장시간 연결로 연결이 닫혔을 때 발생할 수 있다. 네트워크 문제, 데이터베이스 서버 설정, 또는 연결..
[Node.js] MySQL2 모듈 장기간 연결 문제 해결발생한 오류도커로 MySQL 데이터베이스와 연결된 Node.js 서버 컨테이너를 밤새 실행해둔 채로 퇴근 후, 다음날 출근해서 보니 아래와 같은 오류가 발생했다.Error: Can't add new command when connection is in closed stateError: This socket has been ended by the other party Error: Can't add new command when connection is in closed state데이터베이스 연결이 이미 닫혔음에도 새로운 쿼리나 명령을 실행하려고 할 때 발생하는 오류이다. 연결이 예기치 않게 닫힌 경우 또는 장시간 연결로 연결이 닫혔을 때 발생할 수 있다. 네트워크 문제, 데이터베이스 서버 설정, 또는 연결..
2024.07.02 -
Container 컨테이너# 특정 컨테이너 중지docker container stop [컨테이너ID]# 특정 컨테이너 삭제docker container rm [컨테이너ID]# 특정 컨테이너 여러 개 중지docker container stop [컨테이너ID] [컨테이너ID] [컨테이너ID] ...# 특정 컨테이너 여러 개 삭제docker container rm [컨테이너ID] [컨테이너ID] [컨테이너ID] ...# 모든 컨테이너 중지docker stop $(docker ps -a)#모든 컨테이너 삭제docker rm $(docker ps -a) Image 이미지# 이미지 삭제docker rmi [이미지ID]# 모든 이미지 삭제docker rmi $(docker images -q) Volume 볼륨컴퓨터와..
Docker 사용법: 기본 커맨드Container 컨테이너# 특정 컨테이너 중지docker container stop [컨테이너ID]# 특정 컨테이너 삭제docker container rm [컨테이너ID]# 특정 컨테이너 여러 개 중지docker container stop [컨테이너ID] [컨테이너ID] [컨테이너ID] ...# 특정 컨테이너 여러 개 삭제docker container rm [컨테이너ID] [컨테이너ID] [컨테이너ID] ...# 모든 컨테이너 중지docker stop $(docker ps -a)#모든 컨테이너 삭제docker rm $(docker ps -a) Image 이미지# 이미지 삭제docker rmi [이미지ID]# 모든 이미지 삭제docker rmi $(docker images -q) Volume 볼륨컴퓨터와..
2024.06.28 -
WARNING in [eslint]src/components/views/MainPage/index.js Line 241:24: Array.prototype.map() expects a return value from arrow function.The error you're seeing, Array.prototype.map() expects a return value from arrow function, occurs because the map function is used incorrectly. The map function expects a return value from the arrow function used within it. If you don't need to transform the ..
[React] map() vs forEach(): Array.prototype.map() expects a return value from arrow function.WARNING in [eslint]src/components/views/MainPage/index.js Line 241:24: Array.prototype.map() expects a return value from arrow function.The error you're seeing, Array.prototype.map() expects a return value from arrow function, occurs because the map function is used incorrectly. The map function expects a return value from the arrow function used within it. If you don't need to transform the ..
2024.06.27 -
Error response from daemon: Mounts denied: The path /mnt/ssd2/docker-test/db/conf.d is not shared from the host and is not known to Docker.You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing. 이 에러는 docker desktop을 통해 아주 간단하게 해결할 수 있다. 1. docker desktop 우측 상단의 톱니바퀴 아이콘을 눌러 설정(Setting)으로 이동한다.2. 목록에서 Resources > File sharing을 눌러 이동한다.3. Virtual file shares에 공유..
[Error] The path {path} is not shared from the host and is not known to Docker.Error response from daemon: Mounts denied: The path /mnt/ssd2/docker-test/db/conf.d is not shared from the host and is not known to Docker.You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing. 이 에러는 docker desktop을 통해 아주 간단하게 해결할 수 있다. 1. docker desktop 우측 상단의 톱니바퀴 아이콘을 눌러 설정(Setting)으로 이동한다.2. 목록에서 Resources > File sharing을 눌러 이동한다.3. Virtual file shares에 공유..
2024.06.25 -
Linear Layer는 딥러닝의 가장 기본적인 구성요소 중 하나이다. 딥러닝을 시작하는 단계라면, Linear Layer의 동작 원리와 역할을 이해하는 것이 중요하다. 1. Linear Layer란?Linear Layer는 인공 신경망의 기본 구성 요소로, 입력 벡터를 선형 변환(Linear Transformation)해서 출력 벡터를 만든다. 이는 다음과 같은 수식으로 표현될 수 있다.\[ y=Wx+b\]여기서:\(y\)는 출력 벡터\(W\)는 가중치 행렬 (wegihts)\(x\)는 입력 벡터\(b\)는 편향 벡터 (bias)이 수식을 통해 입력 데이터를 가중치와 편향을 사용해 선형 변환한 결과를 얻는다. 2. Linear Layer의 역할Linear Layer는 다음과 같은 중요한 역할을 한다.특..
Linear LayerLinear Layer는 딥러닝의 가장 기본적인 구성요소 중 하나이다. 딥러닝을 시작하는 단계라면, Linear Layer의 동작 원리와 역할을 이해하는 것이 중요하다. 1. Linear Layer란?Linear Layer는 인공 신경망의 기본 구성 요소로, 입력 벡터를 선형 변환(Linear Transformation)해서 출력 벡터를 만든다. 이는 다음과 같은 수식으로 표현될 수 있다.\[ y=Wx+b\]여기서:\(y\)는 출력 벡터\(W\)는 가중치 행렬 (wegihts)\(x\)는 입력 벡터\(b\)는 편향 벡터 (bias)이 수식을 통해 입력 데이터를 가중치와 편향을 사용해 선형 변환한 결과를 얻는다. 2. Linear Layer의 역할Linear Layer는 다음과 같은 중요한 역할을 한다.특..
2024.06.20