글
라벨이 Nginx 서버 셋업인 게시물 표시
[7] Nginx 서버 셋업 - Drogon 서버 OpenCV를 활용한 Text Detection API 구축
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
RHEL 환경에서 Text Detection을 Drogon 서버에 연동하여 API 형태로 추출 및 Client에 보여지는 기능 개발 주의. OCR(Optical Character Recognition, 광학 문자 인식)이 아닌 Text Detection이 목적 Detection 이후 OCR은 추후에 연동 해보는걸로.. 0. Text Detection 프레임 워크 서치 | 프레임워크 | 언어 | 장점 | 단점 | |---------------------|-----------------|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------| | Tesseract OCR | C++ (Python 등) | 오픈 소스, 다국어 지원, 커스터마이징 가능 | 전처리 없이는 성능 저하 가능, 텍스트 감지 기능이 따로 없으므로 OpenCV 등과 함께 사용 필요 | | OpenCV + EAST 모델 | C++, Python | 빠른 텍스트 감지, CPU 및 GPU 모두 지원, OpenCV와의 통합 용이 | 텍스트 감지만 지원하므로 OC...
[6] Nginx 서버 셋업 - Up/Down 구현 + 간단한 업로드 client
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
리스팅 까지 진행됫고, 업/다운을 Drogon을 통해 구현한다 1. 서버 기능 구현 1-1. Drogon Contoller 구현 Drogon Contoller 등록 진행을 한다 ( 아래 작업을 해야 빌드시 인식이 됨 ) ``` cd /root/drogon2/drogon/build/drogon_ctl drogon_ctl create controller FileController ``` 1-2. 업/다운 구현 소스 위치할 경로 ( /root/drogon2/drogon/build/drogon_ctl/testAPI/controllers ) FileController.h #pragma once #include using namespace drogon; class FileController : public HttpController { public: std:: string _storagePath = "/root/storage/"; METHOD_LIST_BEGIN // "/upload" 경로의 POST 요청 처리 ADD_METHOD_TO(FileController::handleUpload, "/upload", Post); // "/download/{filename}" 경로의 GET 요청 처리 ADD_METHOD_TO(FileController::handleDownload, "/download/{1}", Get); METHOD_LIST_END // 메서드 선언 void handleUpload(const HttpRequestPtr& req, std::function && callback); void handleDownload(const HttpRequestPtr& req, std::function && callback, const std::string& filename); }; FileController.c...
[5] Nginx 서버 셋업 - Web에서 서버 폴더 리스팅
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
업/다운로드를 구현 하기 전 우선 장비 local 저장소를 만들고 해당 저장소를 web에서 볼수있게 먼저 정의한다 1. 저장소 생성 및 권한 부여 - 저장소 생성 ``` mkdir /root/storage cd /root/storage vi test.txt ( 적당히 아무값 넣고 저장 종료 ) ``` - nginx가 뜬 user권한을 폴더에 부여 ``` ps aux | grep nginx # 제 경우는 nobody 이므로 해당 폴더 소유주 변환 [root@vbox build] (master) $ ps aux | grep nginx root 52636 0.0 0.0 4544 2412 ? Ss 01:26 0:00 nginx: master process ./nginx root 59772 0.0 0.1 13064 9600 pts/1 T 06:04 0:00 /usr/bin/vim nginx.conf nobody 60676 0.0 0.0 13168 5484 ? S 06:23 0:00 nginx: worker process nobody 60677 0.0 0.0 13168 5612 ? S 06:23 0:00 nginx: worker process # 권한 및 소유주 변환 sudo chmod -R 755 /root/storage sudo chown -R nobody:nobody /root/storage # SELinux 보안 컨텍스트 수정 sudo chcon -R -t httpd_sys_content_t /root/storage ``` 위 작업들을 수행하지 않으면, 403 Fobbiden을 맞게된다 2. Nginx 설정 적용 - alias 통해, list api 가 들어오면 /root/storage의 경로를 보여준다 ``` user nobody; worker_processes 10; events { wor...
[4] Nginx 서버 셋업 - Drogon 테스트 API 작성
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
API를 만들어보자 Drogon 으로 만들거고, 관련 해서 특정 값을 리턴하는 정도로 진행한다 1. Drogon Test Project 설정 - drogon_ctl 이 설치된 곳에서 아래 명령어를 입력한다 ``` drogon_ctl create project testAPI cd testAPI ``` 2. 빌드 - 전체 경로의 경우 /root/drogon2/drogon/build/drogon_ctl/testAPI/build 가 된다 ``` mkdir build cd build cmake .. make ``` 만약 아래 에러 발생 시 환경변수 선언하고 drogon 재설치하는게 마음편하니 재설치하자 ``` CMake Error at /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package): By not providing "FindJsoncpp.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Jsoncpp", but CMake did not find one. Could not find a package configuration file provided by "Jsoncpp" with any of the following names: JsoncppConfig.cmake jsoncpp-config.cmake Add the installation prefix of "Jsoncpp" to CMAKE_PREFIX_PATH or set "Jsoncpp_DIR" to a directory containing one of the above files. If "Jsoncpp" provides a separate development pac...
[3] Nginx 서버 셋업 - C++ 웹 프레임워크 연결
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
C++ 서버로 만들어 보는게 목표이기에 프레임워크 서치를 우선 진행 0. C++ 웹 프레임워크 조사 | 프레임워크 | 장점 | 단점 | |------------|------|------| | Drogon | - 최신 C++14/17 지원 - 비동기 프로그래밍 및 다중 스레드 지원 - HTTP2, WebSocket 지원 - 높은 성능 및 사용자 친화적 API - 활발한 커뮤니티 및 지원 | - 초기 설정이 복잡할 수 있음 | | Pistache | - 경량 설계로 빠른 웹 서버 구현 - RESTful API 개발에 적합 - 간단한 코드와 쉬운 학습 | - 개발 및 업데이트 속도가 느림 - 제한된 기능성 | | Crow | - Flask와 유사한 직관적인 사용법 - JSON 지원 및 라우팅 기능 포함 - 경량 설계 | - 기능이 제한적이며 대규모 애플리케이션에는 부적합 - 유지보수가 부족할 수 있음 | | CppCMS | - 고성능 웹 애플리케이션 구축 가능 - 세션 관리 및 국제화 지원 | - 설정이 복잡하고 높은 학습 곡선 - 문서가 부족하고 사용법이 어렵다 | | Restbed | - RESTful API 개발에 적합 - 비동기 및 확장 가능한 설계 | - 제한된 기능으로 대규모 프로젝트에는 부적합 - 커뮤니티 지원이 활발하지 않음 | - GPT 피셜 인기 좋은 Drogon으로 우선 진행해보기로한다. 1. 프레임워크 의존성 설치 ``` sudo yum install -y git cmake gcc-c++ libuuid-devel openssl-devel zlib-devel brotli-devel jsoncpp-devel libuuid libuuid-devel ``` jsoncpp-devel 없다면 별개 설치필요 jsoncpp는 별개 설치 ``` # jsoncpp 소스 코드 다운로드 git clone https://github.com/open-source-parsers/jsoncpp.git cd jsoncpp # 빌드 디렉터리 생성...
[2] Nginx 서버 셋업 - 특정버전 nginx 다운로드하여 셋업
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
시스템 경로에 셋업하여 실행하는 법이 있지만, 다운로드 및 빌드하여 셋업하는 방법으로 진행하겠습니다. 구축환경 - Red Hat Enterprise Linux release 9.4 (Plow) 1. NGINX 다운로드 및 압축 해제 ``` wget http://nginx.org/download/nginx-1.21.6.tar.gz tar -xvf nginx-1.21.6.tar.gz ``` 2. 필요 Library 설치 ``` sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` - gcc: C 컴파일러로, NGINX 소스 코드를 컴파일하여 실행 가능한 프로그램으로 만드는데 필요합니다. - pcre: Perl Compatible Regular Expressions 라이브러리로, NGINX에서 정규 표현식을 처리할 수 있도록 지원합니다. - pcre-devel: PCRE 라이브러리의 개발 헤더 파일을 포함하며, NGINX를 컴파일할 때 필요합니다. - zlib: 데이터 압축을 위한 라이브러리로, NGINX의 Gzip 압축 기능을 사용하기 위해 필요합니다. - zlib-devel: zlib의 개발 파일을 포함하며, 소스 컴파일 시 필요한 헤더 파일과 라이브러리를 제공합니다. - openssl: SSL/TLS 암호화를 위한 라이브러리로, HTTPS 및 보안 연결을 처리하기 위해 NGINX에 필요합니다. - openssl-devel: OpenSSL 라이브러리의 개발 헤더 파일을 포함하며, NGINX의 SSL/TLS 지원을 컴파일할 때 필요합니다. 만약 설치시 아래 에러가 발생한다면 ``` Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs) 0.0 B/s | 0 B 00:00 E...
[1] Nginx 서버 셋업 - Virtualbox 설치 및 Putty 연결
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
테스트용 Linux 셋업을 위해 가상환경 설치 진행 VMWare를 쓸려햇는데 가입이 귀찮게 되어있어 VirtualBox로 선회 셋업 환경 - window10 설치 1. VirtualBox - Download - https://www.virtualbox.org/wiki/Downloads - 위 경로에서 다운로드 진행 ( OS에 맞게 설치, widnows hosts 로 진행 ) - 다운로드 이후 설치 진행 2. RHEL(RedHat Enterprise Linux) OS 다운로드 CentOS를 주로썼지만 EOL (End of Line) 으로 이제는 RHEL쓰기를 권장 - https://developers.redhat.com/products/rhel/download (24.11.02 기준 9.4 version) - RHEL을 무료로 사용하려면 Individual Developer Subscription에 등록해야 하고 등록 비용은 발생하지 않는다. 3. VirtualBox - RHEL 가상머신 만들기 1. 머신 > 새로 만들기 ㄴ 저장소 경로 설정 2. VM 비밀번호 셋업 3. 가상머신 리소스 할당 ㄴ 사용 컴퓨터에 따라 동적으로 변함. 저는 4core / 8GB 할당함 (20GB) 4. 소프트웨어 확인 (GUI 시스템은 필요없어서 제거) 5. 접속 확인 4. Putty 연결 아래 사항 확인 4-1.VM 설정에서 확인 사항 ``` 1. VirtualBox를 실행하고 연결할 가상 머신을 선택한 후 설정 2. 네트워크 탭 이동 > 어댑터 1을 NAT로 설정한 후 고급 옵션 3. 포트 포워딩 규칙 설정 이름: 원하는 이름 입력 (예: SSH) 호스트 포트: 9999 (또는 사용하지 않는 포트) 게스트 포트: 22 (기본 SSH 포트, 고정) ex) putty -(9999 port)> VM -(22 port)> Linux ``` 4-2. VM 내부에서 필요한 설정 수정 - ssh...
이 블로그의 인기 게시물
[로스트아크] 제작 효율 최적화 위한 영지 세팅
1. 대성공 확률 증가 vs. 제작 수수료 절감 - 대성공 확률 증가 : 대성공 확률이 2% 증가해도 실제 효과는 크지 않습니다. 예를 들어, 기본 대성공 확률 5%에 2% 증가를 적용해도 실질적인 효과는 0.1% 증가에 불과합니다. - 제작 수수료 절감 : 제작 수수료를 2% 절감할 경우, 제작할 때마다 발생하는 골드 비용을 직접적으로 줄일 수 있어 비용 절약 효과가 훨씬 큽니다. - 결과적으로, 제작 수수료 절감이 대성공 확률 증가보다 약 10배 더 많은 이득을 제공합니다. 따라서 대성공 확률보다는 수수료 절감에 집중하는 것이 권장됩니다. 2. 효율적인 영지 세팅을 위한 이득 극대화 세팅 - 영지 내 필수 세팅 아이템으로 "곡예사의 대기실," "찬란한 소원 나무," "여신의 가호"가 추천됩니다. - 곡예사의 대기실 : 마리샵에서 블루 크리스탈로 구매할 수 있으며, 기본적인 제작 효율을 높이는 데 필수 아이템입니다. - 찬란한 소원 나무 : 수수료 절감을 제공하여 제작 비용을 절감하는 효과가 있어 이득 극대화에 도움이 됩니다. - 여신의 가호 : 미술품 42개를 모아 획득할 수 있으며, 추가적인 제작 효율을 제공합니다. 여유가 있다면 필수로 장착하는 것이 좋습니다. - 여신의 가호 대신, 곡예사의 무기 진열대 를 구매해 사용할 수도 있으며, 경제적인 선택지로 활용할 수 있습니다. 3. 의상 세팅 (선택적 적용) - 특정 의상을 착용하면 제작 효율이 약간 증가하지만, 최적의 의상 옵션은 없기 때문에 필수는 아닙니다. 크리스탈 비용이 부담스러울 경우 생략 가능하며, 다른 세팅을 우선적으로 강화하는 것이 좋습니다. - 드레스룸 이용 : 크리스탈을 사용하여 드레스룸에서 특정 NPC와의 호감도로 얻을 수 있는 의상을 구매할 수 있습니다. - 추천 의상 : 페일린, 실리안, 엘리제로나운 의상이 추천되며, 각각 350 크리스탈로 구매할 수 있습니다. - 비용 절약 방법 : 크리스탈이 부족하거나 가성비...
[로스트아크] 로스트아크 생활 도구 옵션
생활 도구 옵션 및 확률 | 옵션 | 고급 | 희귀 | 영웅 | 전설 | 유물 | |-------------------------|-------------|------------|-------------|-------------|-------------| | 기본 보상 추가 획득률 | 5~10% | 10~20% | 15~30% | 20~40% | 25~50% | | 희귀 재료 획득률 | 5~10% | 10~20% | 15~30% | 20~40% | 25~50% | | 특수 획득 확률 | 0.5~1% | 1~2% | 1.5~3% | 2~4% | 2.5~5% | | 내구도 미차감 확률 | 2.5~5% | 5~10% | 7.5~15% | 10~20% | 12.5~25% | | 채집속도 | 1.25~2.5% | 2.5~5% | 3.75~7.5% | 5~10% | 6.25~12.5% | | 미니게임 난이도 하락 | 1 | 1~2 | 1~2 | 2~3 | 2~3 | | 미니게임 보상 획득 확률 | 5~10% | 10~20% | 15~30% | 20~40% | 25~50% | | 낚시 캐스팅 등급 | 1~2 | 2~4 | 4~6 | 6~8 | 8~10 | 생활 키트 옵션 정리 - 영웅 등급 생활 도구가 제작 비용면에서 효율 좋음 | 생활 유형 | 필수 옵션 (빨간색) ...
작은 거인 심권호: 한국 레슬링의 전설과 그의 성공 전략
# 심권호 프로필 및 수상 경력 심권호 는 대한민국을 대표하는 레슬링 선수로, 작은 체구에도 불구하고 강력한 체력과 기술로 세계적인 성과를 거둔 인물입니다. 그는 두 체급에서 올림픽과 세계 선수권 대회를 제패하며 한국 레슬링 역사상 가장 성공적인 선수로 기록되었습니다. 주요 수상 경력 - 1992년 : 아시아 주니어 선수권 - 금메달 - 1993년 : 아시아 선수권 - 금메달 - 1994년 : 히로시마 아시안 게임 - 금메달 (48kg급) - 1995년 : 세계 선수권 (체코 프라하) - 금메달 (48kg급) - 1996년 : 애틀랜타 올림픽 - 금메달 (48kg급) - 1998년 : 방콕 아시안 게임 - 금메달 (54kg급) - 1999년 : 세계 선수권 (그리스) - 금메달 (54kg급) - 2000년 : 시드니 올림픽 - 금메달 (54kg급) 그랜드슬램 달성 - 1996년 : 애틀랜타 올림픽 금메달을 획득하며, 아시아 선수권, 아시안 게임, 세계 선수권, 올림픽 금메달로 레슬링 그랜드슬램 달성 훈련 및 주요 기술 훈련 방법 - 체력 훈련 : 매일 장시간 러닝과 인터벌 트레이닝을 통해 지구력 강화. - 근력 강화 : 체중 대비 높은 힘 발휘를 위해 하체와 상체 근력 훈련 집중. - 기술 연습 : 실전에서 사용하는 기술을 반복 연습해 정확성과 속도 향상. - 유연성 훈련 : 스트레칭과 요가로 유연성 강화, 부상 방지에 주력. 자주 사용한 기술 - 들어 던지기 : 상대방을 들어 던져 균형을 무너뜨리는 기술. - 굴리기 및 뒤집기 : 상대를 회전시키며 포지션을 바꾸는 기술. - 후크 및 잠금 기술 : 상대의 다리나 팔을 걸어 잠금으로 고정. 식단 관리 - 단백질 중심 식단 : 닭가슴살, 생선, 두부, 계란 등을 통해 근육 회복과 유지. - 저지방, 저탄수화물 식단 : 체중 조절을 위해 저지방 식단 유지. - 수분 조절 : 경기 전후 수분 조절로 체중 관리 및 경기력 유지. - 비타민과 미네랄 보충 : 과일과 야채를 통한 비타민 ...