728x90

PIP란

위키백과
pip는 파이썬(python)으로 작성된 패키지 소프트웨어를 설치 · 관리하는 패키지 관리 시스템입니다. Python Package Index (PyPI)에서 많은 파이썬 패키지를 볼 수 있습니다.

1. python 3용 pip 버전을 설치합니다.

sudo apt install python3-pip

2. 설치된 버전을 확인 합니다.

pip --version
728x90
반응형
728x90

잘 사용하지 않아 까먹기 쉬운 우분투(Linux) 버전 명령어를 정리합니다.

방법 1.

cat /etc/issue

# Result
Ubuntu 20.04.2 LTS \n \l

방법 2

lsb_release -a

# Result
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal
728x90
반응형
728x90

자주 쓰는 것들로만 정리하면서, 계속 업데이트 할 예정입니다.


헤더(headers)

제목은 <h1> 부터 <h6> 까지 표현가능합니다.

# h1
## h2
### h3
#### h4
##### h5
###### h6

구분선

내용을 명시적으로 구분하고 싶을 때 사용합니다.

---

강조

인라인(inline) 강조

글을 쓰는 도중에 코드를 삽입 시 `(Grave) 를 사용하여 글 중간에 코드를 삽입할 수 있습니다.

`hello mark down`
**double asterisks**

결과

hello mark down
double asterisks

인용

> 인용글 입력

결과

인용글 입니다.

이미지 정렬하기

가운데 정렬하기

<img> 태그로 이미지를 첨부하고, 이미지 태그를 p태그로 감쌉니다.

<p align="center"><img src="image_src"></p>

오른쪽 정렬하기, 왼쪽 정렬하기

왼쪽 정렬은 기본값이며, 오른쪽 정렬은 img 태그에 align 속성을 줍니다.

<img src="image_src" align="right">

이모지(Emoji)

window10 : 윈도우키 + 마침표(.)
mac : Command + Control + 스페이스바

728x90
반응형
728x90

AWS Lambda를 활용하여 함수를 배포하는 방법을 알아보도록 하겠습니다.

Lambda에 대한 자세한 내용은 아래 링크를 참고하여 주시기 바랍니다.

 

클라우드 컴퓨팅 PaaS | Amazon Web Services

AWS Lambda는 서버 프로비저닝 또는 관리, 워크로드 인식 확장 로직 생성, 이벤트 통합 유지, 또는 런타임 관리 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. Lambda에서는 사실상 모든

aws.amazon.com

Task1 : Lambda 콘솔로 이동

AWS 콘솔에서 Alt+S 입력하고 Lambda를 입력하여 Lambda 서비스로 이동합니다.

Task2 : 함수생성하기

1. AWS Lambda 콘솔에서 [함수 생성]을 선택합니다.

생성한 Lambda 함수가 없는 경우에만 콘솔에 이 페이지가 표시됩니다. 함수를 이미 생성했다면 [Lambda > 함수] 페이지가 표시됩니다. 목록 페이지에서 [함수 생성]을 선택하여 [함수 생성] 페이지로 이동합니다.

2. [새로 작성]을 선택하고, 함수 이름과 런타임을 입력합니다. 여기서는 Python을 런타임 환경으로 진행합니다.

  • 함수이름 : HelloWorld
  • 런타임 : Python 3.8

권한 설정 및 기본, 고급 설정은 그대로 두고 [함수 생성]을 선택합니다.

함수가 생성되면 기본적으로 lambda_handler 함수가 생성됩니다. lambda는 Handler 함수를 통해서 'event'로 매개변수 값들이 들어오게 됩니다.

Task3. Lambda 함수 호출 및 결과 확인

테스트 이벤트를 사용하여 함수를 호출하여 이벤트 결과를 확인합니다. 아래 내용을 입력 후 [변경 사항 저장] [테스트]를 선택합니다.

  • 템플릿 : hello-world
  • 이름 : HelloWorldTest

실제 Python 코드의 실행된 후 Return 결과를 확인할 수 있습니다.

Task4. 함수 삭제

생성한 함수를 삭제합니다. [작업] 탭에서 [함수 삭제]를 선택합니다.


Reference

1. https://aws.amazon.com/ko/getting-started/hands-on/run-serverless-code/

 

728x90
반응형
728x90
# create the nginx deployment with 2 replicas
kubectl apply -f ./my-nginx.yaml

1. EKS(Elastic Kubernetes Service)란

EKS(Elastic Kubernetes Service)는 AWS에서 Kubernetes를 실행하는 데 사용할 수 있는 Managed 서비스입니다.
EKS는 2가지 방법으로 클러스터를 생성할 때 사용할 수 있습니다.
eksctl : EKS에서 클러스터를 생성하고 관리하기위한 간단한 CLI 도구로 Weaveworks가 제공하는 공식 AWS CloudFormation 템플릿 기반으로 작동하여 단 하나의 명령으로 몇 분 만에 기본 클러스터를 만들 수 있습니다.
AWS 콘솔 및 AWS CLI : Amazon EKS 클러스터에 필요한 각 리소스를 수동으로 생성합니다.
eksctl을 활용하여 간단히 EKS 클러스터를 구성해보고, 애플리케이션을 배포해보도록 하겠습니다.

2. EKS 시작하기

Task1. 환경 구성하기
시작하기 앞서 eksctl을 사용하기 위해서는 다음과 같은 Tool을 설치하여 합니다.
해당 설치 트랙은 Linux기반으로 진행되오니 Window10 환경의 유저분들은 아래 링크를 참조하시어 Linux환경을 설치하시 바랍니다.  https://jjnomad.tistory.com/2
또는, Cloud9 AWS WEB IDE를 활용할 수도 있습니다. 콘솔에서 Cloud9 확인 할 수 있습니다.

3. EKS 클러스터 생성하기

클러스터 생성하기 전 인스턴스에 접근하기 위한 키를 생성합니다. 해당 키를 통해 향후 인스턴스 ssh접근 시 활용하게 됩니다.‌

퍼블릭 key생성을 위해 ssh-keygen을 입력하고, 파일이름을 eks-demo로 정하겠습니다. 그리고 enter를 두번 칩니다.

아래와 같이 결과가 나오는 것을 확인 할 수 있습니다.

ls 명령어로 생성된 파일을 확인 합니다. 그럼 .pub으로 끝나는 공개키와, 비밀키를 확인 할 수 있습니다.

이제 아래코드를 실행하면 EKS 클러스터가 생성해보도록 하겠습니다.

eksctl create cluster \
--name my-cluster \
--version 1.18 \
--region us-west-2 \
--nodegroup-name linux-nodes \
--nodes 1 \
--nodes-min 1 \
--nodes-max 1 \
--ssh-access \
--ssh-public-key eks-demo.pub \
--managed \
--node-type t3.medium

eksctl은 flags를 활용하여 옵션값을 지정할 수 있습니다. 지정된 옵션은 다음과 같습니다.‌

  • 클러스터이름 : my-cluster
  • 쿠버네티스버전 : 1.18
  • 리전 : us-west-2 미국서부(오레곤)
  • 노드그룹이름 : linux-nodes
  • node 개수 : 1
  • 최소개수 : 1, 최대개수 1
  • 노드타입 : t3.medium
  • ssh-public-key : 방금전 생성한 퍼블릭키를 사용합니다.

4. CloudFormation 살펴보기

eksctl을 사용하면 CloudFormation에서 클러스터 생성에 필요한 여러 자원들을 자동으로 설치하여 줍니다.

생성되는데는 약 15분정도 소요 됩니다.

생성결과를 확인해보면 .kube/config에 kubeconfig 정보가 있습니다. 이정보로 만들어진 클러스터에 kubectl cli로 명령어를 처리할 수 있습니다.

노드가 잘 생성되었는지 확인해보겠습니다. kubectl get nodes

5. EKS 살펴보기

콘솔을 통해 생성된 클러스터의 정보들을 확인해보겠습니다.

클러스터 정보 확인

노드 그룹 확인

노드그룹 상세정보에서 인스턴스 유형, Auto Scling그룹, 노드의 크기, 서브넷 구성 등을 확인할 수 있습니다.

6. Nginx 배포하기

웹 서버 배포로 구성된 인프라환경을 테스트 해보겠습니다.

Task1. 배포 Deployment 파일 만들기

Pod에 ngnix를 만들 수 있는 yaml을 생성합니다.

cat <<EoF > my-nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EoF

해당 파일은 기 생성된 EKS 클러스터에 배포합니다.

deployment.apps/my-nginx created 결과를 확인되면, 정상적으로 만들어진 상태입니다.

Task2. Pod 생성 결과 확인하기

kubectl get pods -o wide 입력하여 생성된 Pod의 결과를 확인 하겠습니다.

Task3. 서비스 외부 노출하기

현재 외부로 노출된 상태가 아니기 때문에 접근이 불가능 합니다. 이제 외부로 노출하는 작업을 수행하겠습니다.

kubectl expose deployment/my-nginx \
        --port=80 --target-port=80 \
        --name=my-nginx-service \
        --type=LoadBalancer

service/my-nginx-service exposed 결과가 확인되면 외부 노출이 된 상태입니다.

생성된 웹서버를 확인할 수 있습니다.

 

Task4. 클러스터 삭제하기

지금까지 만든 클러스터를 삭제합니다.

# 배포한 서비스를 삭제합니다.
kubectl delete svc my-nginx-service

# 생성한 클러스터를 삭제합니다.
eksctl delete cluster --name my-cluster -r us-west-2

CloudFormation에서 작업결과를 확인하실 수 있습니다.


Reference

  1. https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/getting-started.html
  2. https://www.eksworkshop.com/010_introduction/

 

728x90
반응형
728x90

Loomie Live 소개

Loomie Live는 아바타 생성하여 여러 화상회의 솔루션과 연동을 지원합니다.  PC화면에 보이는 사람의 표정과 동작을 인식하여 자연스러운 아바타를 연출하여 줍니다. 최근에는 Roblox에 인수되었습니다.

 

LoomieLive는 Zoom, Google Meet, MS Teams, Skype Desktop, Bluejeans, OBS, Webex(Mac용 브라우저만 해당), Amazon Chime(Windows만 해당) 및 브라우저에서 실행되는 회의용 솔루션과 연동 됩니다.

시스템 요구 사항

Loomie Live는 다음 플랫폼 및 하드웨어 조합을 지원합니다.

  • Windows x86: Windows 10, AVX 명령어 세트를 지원하는 4세대 이상 Intel CPU
  • 윈도우 ARM: 윈도우 10, 마이크로소프트 서피스 프로 X, 삼성 갤럭시 S
  • MacOS: Mojave 또는 Catalina, Mac 컴퓨터 2015 이상 권장
더보기

※ 크롬북, 태블릿 또는 훨씬 오래된 PC는 동작하지 않습니다.

LoomieLive와 함께 헤드셋이나 헤드폰을 사용하면 회의에 참석한 다른 사람들이 말할 때 립싱크를 발생시키지 않고 아바타가 음성으로 구동될 수 있습니다.

Task1. 아바타 생성하기

앱 스토어에서 Loomie 앱을 다운로드 받고, 아바타 생성을 합니다.

(사용자 지정 아바타를 바로 원하지 않으면 다음 단계로 건너뛰고 내장된 LoomieLive 아바타 중 하나를 사용하세요.)

Task2. Loomie Live에 로그인

PC용 Loomie Live 설치하기

PC 또는 Mac 설치 파일은 아래 링크를 통해 다운로드 받습니다.
Loomie Live 공식 페이지: https://www.loomielive.com/download

 

Download — LoomieLive

For the best experience, please grab your headset before your next video chat. Using a headset during video conferences helps your Loomie avatar stay synced only to your voice.

www.loomielive.com

로그인이 되면 앱에서 생성한 아바타를 확인할 수 있습니다.

 

Task3. 화상회의 연결하기(Google meet)

Meet에서 설정 패널을 엽니다.

LoomieLive 카메라선택합니다.

 

코로나로 인해 비대면 업무가 많아지고, 재택근무가 활성화됨에 따라 개인 정보 보호 문제, 피로 및 시선 보정과 같은 일반적인 화상 회의 시에 발생하는 문제를 해결하는 좋은 방법이 될 것으로 보입니다.


Reference

 

1. https://loom-ai.gitbook.io/loomielive/video-conferencing

2. https://www.loomielive.com/

728x90
반응형
728x90

Visual Studio Code 사용시 다음과 같은 오류가 발생합니다.

 

오류원인

Visual Studio Code의 새로운 프로그램 업데이트 시 사용자 권한이 없어서 발생하는 오류 입니다.

 

해결방법

설치되어 있는 폴더의 Window 로그인한 사용자의 권한을 변경하여 줍니다.

Reference

  1. https://github.com/microsoft/vscode/issues/75367
728x90
반응형
728x90

Window10에서 Linux 를 WSL (Windows Subsystem for Linux) 라는 방식으로 지원하고 있습니다.

기존 WSL 이후 WSL 2 가 발표되었습니다.

1. Linux용 Windows 하위 시스템 사용

먼저 "Linux용 Windows 하위 시스템" 옵션 기능을 사용하도록 설정합니다.

PowerShell을 관리자 권한으로 열어 실행합니다.

 

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

2. WSL 2 실행을 위한 요구 사항 확인

  • x64 시스템의 경우: 버전 1903 이상, 빌드 18362 이상
  • ARM64 시스템의 경우: 버전 2004 이상, 빌드 19041 이상
  • 18362보다 낮은 빌드는 WSL 2를 지원하지 않습니다. Windows Update Assistant를 사용하여 Windows 버전을 업데이트합니다.
  • Windows 로고 키 + R 을 선택하고, winver 를 입력하고, 확인을 선택합니다.

3. Virtual Machine 기능 사용

WSL 2를 설치하기 위해 Virtual Machine 플랫폼 옵션 기능을 사용하도록 설정해야 합니다.

1번과 같이 PoweShell에서 실행합니다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

4. Linux 커널 업데이트 패키지 다운로드

최신 패키지를 다운로드합니다.

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

4. Linux배포판 설치하기

재부팅을 하고 wsl을 실행하면 WSL을 설치하라는 안내 메시지가 나옵니다.

리눅스 배포판을 설치합니다. Windows에서 Linux실행하기

Ubuntu를 설치합니다.

설치가 완료되면 시작을 클릭합니다.

Ubuntu가 설치가 시작되고나서 리눅스 사용자 이름과 패스워드를 입력합니다.

wsl -l 로 실행하여 우분투 배포판이 설치된 것을 확인할 수 있습니다.

5. WSL 2를 기본 버전으로 설정

wsl -l -v 명령어를 실행해서 현재 적용된 WSL 버전을 확인해봅니다.

2로 버전을 변경합니다.

wsl --set-version Ubuntu 2

WSL 2를 기본 버전으로 설정합니다.

wsl --set-default-version 2

6. 최신 package 업데이트

  • 먼저 Package update는 root 권한이 필요하기 때문에 sudo -i 를 통해 root 권한으로 전환 후 작업을 시작합니다.
  • 현재 package repository 에 등록된 package list 를 가져 오기 위해 apt-get update 수행합니다.
  • package list 를 바탕으로 apt-get upgrade를 하면 최신 상태의 Ubuntu 를 유지합니다.

(선택) Hyper : 터미널 프로그램 꾸미기

Window에서도 MacOS와 같이 터미널을 Customizing해서 활용할 수 있습니다.

window cmd와 poweshell 벗어날 수 있는 좋은 방법입니다.

1. Hyper.is 설치하기

Hyper.is에 접속해서 설치파일을 다운로드받은 후 설치합니다.

 

Hyper™

A terminal built on web technologies

hyper.is

2. 환경변수 설정하기

plugin, 테마 설치를 위해 윈도우에 PATH가 설정하여 줍니다.

설치한 후 PC를 재시작 합니다.

3. 플러그인 및 테마 설치하기

설치명령은 아래와 같이 진행하면 됩니다.

hyper i <플러그인이름 혹은 테마이름>

🔧플러그인 : hypercwd

  • 새로운 탭을 열면 현재 디렉토리에서 탭을 열어줍니다.

🔧 플러그인: hyperborder

  • 터미널에 보더(border)에 나만의 색을 지정할 수 있습니다. Hyper 아이콘 처럼 색이 나타납니다.

🧩 테마: hyper-material-theme

  • 가장 많이 사용되고 있는 테마 입니다.

4. 터미널 초보 필수품 Oh My ZSH를 사용하기

Oh My Zsh는 zsh의 쉘의 환경설정을 다루는 프레임워크이며, 커뮤니티 활동이 매우 활발한 프레임워크입니다.

Oh My ZSH 설치하기

설치관련 추가 내용은 공식 홈페이지를 참고하시기 바랍니다.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

agnoster 테마로 변경하기

ZSH_THEME을 agnoster로 변경합니다.

vim ~/.zshrc
ZSH_THEME="agnoster"

실행될때 자동으로 적용되도록 환경변경

.bashrc파일 상단에 bash -c zsh 입력합니다.

vim ~/.bashrc
bash -c zsh

 

폰트 깨짐 발생 시 Powerline Fonts를 설치

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh

Ctrl + , 로 가면 hyper.js 설정파일이 열립니다.

fontFamily: 'DejaVu Sans Mono for Powerline', 로 교체하여 줍니다.

더보기

💡 해당 폰트로도 깨짐이 해결이 안되면 아래링크에 접속하여 터미널에 맞는 폰트를 교체하면서 확인하면 됩니다.  (Fonts 참고)

최종 완성은 아래와 같이 나옵니다.

(선택) Windows Terminal 설치

마이크로소프트 스토어에서 Terminal을 검색하고, 검색 결과에서 Windows Terminal을 사용할수도 있습니다.

Reference

728x90
반응형

+ Recent posts