jjaegii의 등록된 링크

 jjaegii로 등록된 티스토리 포스트 수는 17건입니다.

쿠버네티스(Kubernetes)의 개요와 주요 개념 [내부링크]

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 플랫폼이다. 아래에서 쿠버네티스의 주요 개념과 아키텍처, 그리고 서비스 및 네트워킹에 대해 설명한다.쿠버네티스 API 개요쿠버네티스 API는 클러스터와 상호 작용할 수 있는 기본 인터페이스를 제공한다. 사용자는 쿠버네티스 객체를 생성, 업데이트, 삭제하거나 조회할 수 있다. 쿠버네티스의 모든 기능은 API를 통해 노출되며, 이를 통해 클러스터의 상태를 제어하고 원하는 상태로 유지할 수 있다.API는 RESTful 인터페이스를 제공하며, JSON 형식으로 요청과 응답을 처리한다. 또한, 쿠버네티스 API는 버전 관리가 되며, 안정적인 API를 유지하기 위해 여러 단계의 안정성 수준(알파, 베타, 안정)..

BusyBox [내부링크]

쿠버네티스 공부를 하던 도중, 예시 yaml에 busybox란 이미지가 등장하였음 이게 뭔데 예시에 자주 등장할까? BusyBox란? BusyBox는 하나의 실행 파일에 여러 유닉스 유틸리티를 제공하는 소프트웨어 제품군 https://en.wikipedia.org/wiki/BusyBox BusyBox: 임베디드 Linux의 스위스 아미 나이프 BusyBox는 많은 일반적인 UNIX 유틸리티의 작은 버전을 하나의 작은 실행 파일로 결합합니다. 일반적으로 GNU 파일 유틸리티, 셸 유틸리티 등에서 찾을 수 있는 대부분의 유틸리티를 대체할 수 있습니다. BusyBox의 유틸리티는 일반적으로 모든 기능을 갖춘 GNU 사촌보다 옵션 수가 적지만, 포함된 옵션은 예상되는 기능을 제공하며 GNU 유틸리티와 매우 유사..

프롬프트 엔지니어링 [내부링크]

프롬프트 엔지니어링 목차 프롬프트 엔지니어링이란? 프롬프트 엔지니어링 기본 원칙 멀티 턴 vs 싱글 턴 프롬프트 엔지니어링 기법 Few Shot 역할 지정 기법 마크다운 활용 기법 후카츠 프롬프트 기법 형식 지정 기법 슌스케 템플릿 기법 Q&A 기법 이어쓰기 기법 Chain of Thought(사고의 연쇄) 기법 멀티 페르소나 기법 할루시네이션 유도 기법 ReAct(리액트) 기법 자연스러운 한국어 문장 만들기 할루시네이션 줄이기 프롬프트 엔지니어링이란? 좋은 프롬프트를 설계하는 것 프롬프트 : 인공지능에게 전달하는 질문이나 지시 언어 모델은 앞서 제공되는 맥락으로부터 결과를 도출하려고 함(인컨텍스트 러닝) 프롬프트 엔지니어링 기본 원칙 1. 구체적 지시 -> 프랑스 스타일로 나무에 대한 시 X -> 형식..

Jetson nano(eMMC) USB 부팅 및 OpenCV, PyTorch, Torchvision 설치 [내부링크]

eMMC가 16GB라서 Jetpack 설치가 안되는 상황이 생겼다. 이것 저것 여러 방법들을 해보던 중 성공한 방법인 usb로 부팅하는 방법을 기록한다. 참고로 host pc의 os가 리눅스이어야 한다. 참고 기본 os 설치 : http://www.yahboom.net/study/jetson-nano usb 설정 : https://github.com/jetsonhacks/bootFromUSB, https://jetsonhacks.com/2021/03/10/jetson-nano-boot-from-usb/ 1. Jetson nano에 기본 OS 설치 1.1. SDK Manager 설치 및 실행 https://developer.nvidia.com/drive/sdk-manager에 접속하여 SDK Manager..

Jetson Xavier NX jtop, PyTorch 및 Torchvision 설치 [내부링크]

아래 단계를 완료한 후의 글이다. Jetson Download Center에서 해당되는 버전의 이미지를 다운받는다. (Jeson Xavier NX Devloper Kit SD Card Image (Jetpack 5.0.2)를 사용했다.) etcher나 rufus를 사용해 sd카드에 이미지를 쓰고 Jetson에 꽂고 부팅한다. 부팅이 되면 설치 및 설정을 완료한다. 1. jtop Jetson 시스템을 모니터링 하기위해 설치하는 패키지이다. 1.1. 설치 # 처음엔 pip가 설치되어있지 않다. $ sudo apt-get install pip # jtop은 설치할때 패키지 이름이 다르다. $ sudo -H pip install -U jetson-stats $ sudo reboot 1.2. 실행 $ jtop 시..

Windows11 wsl2 설치 및 nautilus(gui) 설치 [내부링크]

참고 : dreamhack.io, https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/gui-apps 1. WSL2 설치 1.1. Windows PowerShell 명령어 실행 Windows PowerShell을 열고 아래 명령어들을 실행한다. # Windows PowerShell $ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart $ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart $ wsl --set-default-version ..

[Ubuntu 20.04] Yolo mark 설치 [내부링크]

[Ubuntu 20.04] Yolo mark 설치 yolo mark를 설치 하기 전, opencv가 필요하다. 1. OpenCV 설치 1.1. 빌드 필수 패키지 설치 $ sudo apt-get install build-essential cmake pkg-config -y $ sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev ffmpeg libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev libv4l-dev v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev mesa-u..

SW개발보안 경진대회(소개딩 해커톤) [내부링크]

비대면 시험 응시 플랫폼 'Catch Cunning' 만든사람들 [Backend] 김두현 [Frontend] 원준영 [Backend, ML] 최재혁 special thanks to 김재현 1. 아이디어 소개 비대면 면접, 회의, 시험 등이 COVID-19 감염병으로 인해 사용이 많이 되었고, 아직까지도 그 편리함으로 인해 사용되고 있다. 그러나, 편리함의 이면에는 대면 시험과 달리 감독관이 부정행위를 탐지하고 여러 응시자의 화면을 지켜보는 것이 힘들다는 단점이 있다. 이러한 문제를 해결하기 위해 우리는 부정행위를 차단하고, 인공지능의 사용을 통해 감독관의 화면을 보조하여 시험 감독을 효율적으로 할 수 있는 비대면 시험 응시 플랫폼, ‘Catch Cunning’을 만들었다. 2. 기술 2.1..

[Nginx] HSTS(HTTP Strict Transport Security) 활성화 [내부링크]

1. 사용 이유 HTTPS를 강제하는 사이트의 경우 HTTP로 접속할 때, 302 Found(요청된 리소스가 임시적으로 이동 페이지로 이동)로 인해 리다이렉트되는 경우가 있다. 이로 인해 SSL Strip(중간자 공격 방법 중 일부) 공격에 취약해진다. 그렇기 때문에 HTTPS 요청만 사용하도록 설정해주는 HSTS를 사용해야한다. 참고 : https://webhack.dynu.net/?idx=20161112.001 2. HSTS 활성화 2.1. nginx 구성 파일 설정 $ vi /etc/nginx/sites-available/default > server { listen 80 default_server; listen [::]:80 deafult_server; etc ... } server { liste..

[Django] uWSGI-Nginx 연동, letsencrypt https 적용 [내부링크]

참고 : https://query.tistory.com/entry/Dj-장고-배포-④-uwsgi와-nginx-설치-및-연결 1. 가상환경(virtualenv) 1.1. virtualenv 설치 $ sudo apt-get install virtualenv 1.2. 가상환경 생성 # virtualenv -p python3 [가상환경이름] $ virtualenv -p python3 venv 1.3. 가상환경 실행 # source [가상환경이름폴더]/bin/activate $ source venv/bin/activate # 종료는 deactivate 2. uWSGI 2.1. uWSGI 설치 $ pip install uwsgi 2.2. uwsgi.ini 생성 $ vi uwsgi.ini > [uwsgi] chdir..

[Go] gin framework https [내부링크]

gin 프레임워크를 사용하여 웹서버 배포 연습을 하던 중, http가 아닌 https가 필요하게 되었다. 찾아보니 go 자체에서 http를 https로 변환하기 위한 TLS 인증서를 만드는 방법이 있었다. 1. Go 자체 서명 1.1. TLS 인증서 파일 생성 $ go run /usr/local/go/src/crypto/tls/generate_cert.go --rsa-bits=2048 --host=localhost 위 명렁어를 실행하면 cert.pem과 key.pem 두 개의 파일이 생성된다. 1.2. 테스트 // https.go package main import ( "github.com/gin-gonic/gin" "github.com/unrolled/secure" ) func main() { secu..

rtsp 웹 스트리밍 [내부링크]

rtsp는 현재 브라우저 보안정책 상 바로 띄울수 없다. 그래서 웹으로 rtsp 화면을 송출하려면 중간에 변환을 한 후 띄워야하는데, 그 중 찾은 방법이 https://github.com/mpromonet/webrtc-streamer의 golang으로 rtsp를 webRTC로 변환하여 gin 프레임워크로 웹서버를 실행해 송출하는 방법이다. 1. Go 1.18 설치 environment : ubuntu 20.04.4 LTS apt-get install golang으로 go를 설치 할 수 있지만 이것으로 설치하면 go 1.13 버전이라 요구사항인 go 1.17버전을 충족할 수 없다. 그러므로 직접 다운로드 받고 환경변수를 설정해주어야 한다. 1.1. go 1.18 패키지 다운로드 $ wget https:..

[Ubuntu 20.04] CUDA cuDNN tensorflow 설치 [내부링크]

설치 환경 OS - Ubuntu 20.04.4 LTS GPU - NVIDIA GeForce RTX 3080 python 3.8.10 tensorflow와 CUDA, cuDNN 호환 버전 확인 https://www.tensorflow.org/install/source#gpu → CUDA 11.2, cuDNN 8.1 설치 1. 그래픽 카드 드라이버 설치 # 설치 가능 드라이버 목록 확인 $ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002206sv000010DEsd00001455bc03sc00i00 vendor : NVIDIA Corporation driver :..

AWS EC2 CPU 부하 줄이기(swap 설정) [내부링크]

EC2 CPU 부하 VS코드로 ec2 서버에 들어가서 잠깐 작업했을 뿐인데 CPU가 100%를 찍어버리면서 ssh 접속이 멈추고 뻗어버렸다. 메모리가 1기가밖에 없어서 그런거 같아 스왑을 생성해주기로 했다. **swap 이란?** 리눅스에서 물리적 메모리(RAM)의 용량이 가득 차게될 경우 사용되는 여유 공간 swap 설정 # 2GB 스왑 파일 생성 $ sudo dd if=/dev/zero of=/swapfile bs=128M count=16 # 스왑 파일에 쓰기 권한 추가 $ sudo chmod +w /swapfile # 스왑 영역 설정 $ sudo sudo mkswap /swapfile # 스왑 공간에 swapfile을 추가 $ sudo swapon /swapfile # 스왑 공간에 swapfil..

ml5.js를 활용한 실시간 인간 행동 인식 [내부링크]

ML5_poseClassification_Core 이 프로젝트는 ml5.js의 NeuralNetwork, PoseNet(버전에 따라 ObjectDetector도 추가)을 활용한 실시간 인간 행동 인식 프로젝트이다. Versions Core → 이 프로젝트에 들어가는 인공지능 모델의 핵심 코드(p5js+ml5js - NeuralNetwork + PoseNet) webcam_version → 웹캠을 웹서버(node.js express)에 띄워보는 버전(p5js+ml5js - NeuralNetwork + PoseNet) rtsp_version → golang의 gin을 사용해 cctv 화면(rtsp)을 읽어와 여러 객체(사람)를 인식하나, 단일 객체(한 명의 사람)의 행동만 인식하는 버전(ml5js - Neu..

localtunnel로 AWS 리액트 서버 외부 접속하기 [내부링크]

리액트-익스프레스로 협업 프로젝트를 하던 도중, AWS 서버에 올려(리액트-3000번 포트, 익스프레스-5000번 포트) get post 요청을 테스트하려고 하는데 npm start 실행 후 외부에서 리액트 서버 페이지에 접속이 안되는 현상이 생겼다. 찾아보니 외부에서 localhost에 접속하게 해주는 ngrok과 localtunnel 있었다. 이 둘 중 하나를 사용하여 리액트 서버에 접속해보려고 한다. ngrok과 localtunnel ngrok이란? ngrok은 Secure tunnels to localhost로 외부에서 로컬에 접속 가능하게 하는 터널 프로그램이다. ngrok - Online in One Line → 다운로드, 회원가입 등 요구사항이 많아서 pass localtunnel이란? 내 ..

[Windows 10] CUDA cuDNN openCV-gpu 설치 및 환경 설정 [내부링크]

tensorflow openCV with GPU 설치 환경GPU - NVIDIA GeForce RTX 3060tensorflow 2.9.1 → 2.7.0 tensorflow-gpu 2.7.0 python 3.9.12 OS - windows10 x64 1. NVIDIA 그래픽 드라이버 설치 https://www.nvidia.co.kr/Download/index.aspx?lang=kr 설치 후 cmd 창에서 nvidia-smi해서 드라이버 선택됐는지 확인 2. CUDA Toolkit 설치 Cuda Toolkit 버전 확인 - Release Notes :: CUDA Toolkit Documentation Cuda Toolkit 아카이브 - CUDA Toolkit Archive → CUDA 11.2.0 다운로드..