반응형

Activate & Deactivate

    source /home/itrainl/.venv/bin/activate

    deactivate

 

백그라운드로 실행 

nohup /home/itrainl/.venv/bin/python -u /home/itrainl/share/CoinTrader/main.py > /home/itrainl/share/CoinTrader/logs/20242017.log &

 

실행중인 프로세스 확인
ps -ef | grep main.py

 

■ 종료
kill [process id]

  ex) kill 2796

 

 

모듈 설치
pip install PyJWT

반응형
반응형

 

1. 라즈비안 OS 설치

https://codedosa.com/364#:~:text=%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4%203%20B%2B%EC%97%90%20OS%EB%A5%BC%20%EA%B0%80%EC%9E%A5%20%EC%86%90%EC%89%BD%EA%B2%8C%20%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94%20%EB%B2%95,B%2B%EC%97%90%20%EB%81%BC%EC%9A%B4%ED%9B%84%20%EB%B6%80%ED%8C%85%20%ED%95%B4%20%EB%B3%B4%EA%B8%B0%20...%20%EA%B8%B0%ED%83%80%20%ED%95%AD%EB%AA%A9


2. 파일서버 설정 - 삼바설치
https://www.delftstack.com/ko/howto/raspberry-pi/raspberry-pi-file-server/

3. 원격 코딩 - VSCode

https://m.blog.naver.com/elepartsblog/221733804381

 

4. Python 개발 환경 설정

Visual Studio Code 설치 및 사용법 완벽 정리(feat. 파이썬 연동) (tistory.com)

 

5. 센서 제어
라즈베리 파이 파이썬 프로그램을 이용한 센서 제어, 첫번째. IoT를 배우자!!
https://www.youtube.com/watch?v=oqtTeyEx53Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

1. 브랜치 관리

git branch: 현재 저장소의 모든 로컬 브랜치 나열
git branch -av: 모든 브랜치(로컬 및 원격)와 그들의 마지막 커밋 나열
git branch -d [branch name]: 지정된 브랜치 삭제 (변경사항이 머지되지 않은 경우 방지)
git branch -D [branch name]: 머지되지 않은 변경사항이 있어도 지정된 브랜치 강제 삭제
git checkout -b [branch name]: 새 브랜치 생성 및 해당 브랜치로 전환

 

2. 파일 및 커밋 관리

git checkout HEAD -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림
git checkout -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림 (HEAD는 선택적)
git add [file name]: 지정된 파일을 스테이징 영역에 추가하여 커밋 준비
git commit -m [commit message]: 스테이징된 변경사항을 제공된 커밋 메시지와 함께 커밋
git commit --amend -m [new commit message]: 가장 최근의 커밋 수정, 새로운 커밋 메시지 적용 또는 스테이징된 변경 사항 커밋에 추가

 

3. 커밋 이력 조회 및 검색

git log: 현재 브랜치의 커밋 기록 표시
git log --oneline: 커밋 ID와 제목만 포함하는 간략한 형태로 커밋 기록 표시
git log --oneline --graph: 커밋 기록의 왼쪽에 텍스트로 된 그래프 표시
git log -p: 각 커밋에 대한 패치 표시
git log --stat: 각 커밋에서 수정된 파일에 대한 통계 표시
git log --author="userid": 특정 사용자가 만든 커밋 표시
git log --grep="bug fix": 커밋 메시지에서 지정된 텍스트 검색

 

4. 리셋 및 복구

git reset: 스테이징 영역을 가장 최근 커밋과 일치하도록 재설정, 작업 디렉토리는 변경하지 않음
git reset --soft [commit]: HEAD를 지정된 커밋으로 이동, 스테이징된 변경사항 유지
git reset --mixed [commit]: 스테이징 영역을 지정된 커밋과 일치하도록 재설정, 작업 디렉토리 변경하지 않음 (기본 모드)
git reset --hard [commit]: 스테이징 영역과 작업 디렉토리를 모두 지정된 커밋과 일치하도록 재설정, 이 커밋 이후에 추적된 파일에서 발생한 모든 변경사항 버림
git reset --hard HEAD~1: 마지막 커밋 취소, 작업 디렉토리의 모든 변경사항 잃음

 

5. 원격 저장소 및 태그 관리

git clone https://github.com/id/project.git : 지정된 URL의 Git 저장소를 현재 디렉토리로 복제 (원격 저장소의 모든 파일, 브랜치, 태그 등을 로컬 시스템에 복사)
git tag 0.0.1: 현재 커밋에 새 태그 생성
git tag -d 0.0.1: 지정된 태그 삭제
git push origin 0.0.1: 지정된 태그(여기서는 0.0.1)를 원격 저장소로 푸시
git push -f origin master: 원격 저장소의 master 브랜치로 강제 푸시 (원격 저장소의 변경 사항 덮어쓸 수 있으므로 주의)

반응형
반응형

 

 

 

플랫폼 버전별 API 레벨 및 버전코드

https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ko 

 

Android 개발자  |  Android Developers

하나 이상의 Android 플랫폼 버전과의 애플리케이션 호환성을 API 수준 정수로 표시할 수 있습니다. 애플리케이션에 표시된 API 수준은 해당 Android 시스템의 API 수준과 비교합니다.

developer.android.com

 

 

안드로이드 버전 역사

https://ko.wikipedia.org/wiki/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC

 

안드로이드 버전 역사 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 2019년 5월 7일까지 수집된 전세계 안드로이드 버전 점유율 안드로이드 버전 역사는 2007년 11월 5일 안드로이드 베타 버전부터 시작한다. 안드로이드는 구글과 오

ko.wikipedia.org

 

갤럭시S 기준 안드로이드 버전 정리

https://niltok.oopy.io/982f92b7-91bc-4499-8e23-d8f07f1ec8b3

 

갤럭시S 기준 안드로이드 버전 정리

갤럭시 S10 부터는 운영체제 지원을 3개 버전(3년) 까지 업데이트 지원해줄 예정

niltok.oopy.io

 

반응형
반응형

□ 허깅페이스 https://huggingface.co/models?pipeline_tag=image-to-text&sort=trending 


□ PATH
C:\Program Files (x86)\Tesseract-OCR\tesseract.exe

□ OCR 엔진을 활용한 글자 인식 / 텍스트로 인식된 영역의 위치 bounding box로 표시
  https://velog.io/@rlagksql219/python-Tesseract-OCR-%EA%B8%80%EC%9E%90-%EC%9D%B8%EC%8B%9D-qcsivues

□ Path 설정 문제
 여기서 다운하여 설치 - 기존 설치 파일 제거됨
  https://github.com/UB-Mannheim/tesseract/wiki
 tesseract-ocr-w64-setup-5.3.1.20230401 파일 다운로드 했음

□ pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

  download binary fromhttps://github.com/UB-  Mannheim/tesseract/wiki.then add pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-  OCR\tesseract.exe' to your script.

□ 두 경로에 설치됨
  # C:\Program Files (x86)\Tesseract-OCR -> 에러발생
  # C:\Program Files\Tesseract-OCR -> 동작함
  환경 변수의 path가 x86으로 설절되어 

□ 한글 문제 한글파일 다운받아서 아래 폴더에 추가하여 해결
  한글 파일 : kor.traineddata
  경로 : C:\Program Files\Tesseract-OCR\tessdata

 

□ 샘플코드

import pytesseract
from PIL import Image

# image_path = './images/이야기가 있는 숲.jpg'
# image_path = './images/지금무료체험시작하기.png'
# image_path = './images/문자인식.jpg'
image_path = './images/Acrobat.png'
# image_path = './images/educba.png'

image = Image.open(image_path)

# C:\Program Files (x86)\Tesseract-OCR -> 에러발생
# C:\Program Files\Tesseract-OCR

pytesseract.pytesseract.tesseract_cmd = r'C:/Program Files/Tesseract-OCR/tesseract.exe'
config = ' -l eng --oem 3 --psm 11 --tessdata-dir "C:/Program Files/Tesseract-OCR/tessdata"'   # kor+eng / kor / eng
extracted_text = pytesseract.image_to_string(image, config=config)

print(extracted_text)
반응형
반응형

1. 문장 부호 및 따옴표
❝ ❞ ❛ ❜ ‘ ’ ‛ ‚ “ ” „ ‟ « » ‹ › Ꞌ "


2. 수학 및 기호
+ - × ÷ = < > ± ∞ √ ∑ ∏ ∆ ∇ ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ≠ ≈ ≡ ≤ ≥ ≪ ≫
∂ ∅ ∈ ∉ ⊂ ⊃ ⊆ ⊇ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ∀ ∃ ∄ ∴ ∵ ∶ ∷ ∸ ∹ ∺ ∻
⁄ | ‖ ‗ † ‡ • ‣ ․ ‥ … ⁖ ⁘ ⁙ ⁏ ⁐ ⁓ ⁑ ⁒ ⁔ ⁕ ⁗ ⁘ ⁙ ⁚ ⁛ ⁜ ⁝ ⁞


3. 화살표 및 방향 표시
← → ↑ ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↚ ↛ ↜ ↝ ↞ ↟ ↠ ↡ ↢ ↣ ↤ ↦ ↥ ↧ ↨ ↫ ↬ ↭ ↮ ↯
↰ ↱ ↲ ↳ ↴ ↵ ↶ ↷ ↸ ↹ ↺ ↻ ↼ ↽ ↾ ↿ ⇀ ⇁ ⇂ ⇃ ⇄ ⇅ ⇆ ⇇ ⇈ ⇉ ⇊ ⇋ ⇌ ⇍ ⇏ ⇎ ⇐ ⇒ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙ ⇚ ⇛ ⇜ ⇝ ⇞ ⇟ ⇠ ⇡ ⇢ ⇣ ⇤ ⇥ ⇦ ⇧ ⇨ ⇩ ⇪
⟲ ⟳ ⟴ ⟵ ⟶ ⟷ ⟸ ⟹ ⟺ ⟻ ⟼ ⟿


4. 기하학적 형태 및 기호
▲ ▼ ◀ ▶ ◢ ◣ ◥ ◤ △ ▽ ◿ ◺ ◹ ◸ ▴ ▾ ◂ ▸ ▵ ▿ ◃ ▹ ◁ ▷ ◅ ▻ ◬ ⟁ ⧋ ⧊ ⊿
○ ◌ ◍ ◎ ◯ ❍ ◉ ⦾ ⊙ ⦿ ⊜ ⊖ ⊘ ⊚ ⊛ ⊝ ● ⚫ ⦁ ◐ ◑ ◒ ◓ ◔ ◕ ⦶ ⦸ ◵ ◴ ◶ ◷
□ ■ ▰ ▪ ◼ ▮ ◾ ▗ ▖ ▫ ▭ ▱ ◽ ◻ ▢ ⊞ ⊡ ⊟ ⊠ ▣ ▤ ▤ ▥ ▦ ⬚ ▧ ▨ ▩ ⬓ ◧ ⬒ ◨ ◩ ◪ ⬔ ⬕
◇ ◆ ◈ ⬖ ⬗ ⬘ ⬙ ⬠ ⬡ ⎔ ⋄ ◊ ⧫ ⬢ ⬣


5. 숫자 및 서클 숫자
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⓪
❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿ ➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴
¹ ² ³ ↉ ½ ⅓ ¼ ⅕ ⅙ ⅐ ⅛ ⅑ ⅒ ⅔ ⅖ ¾ ⅗ ⅜ ⅘ ⅚ ⅝ ⅞


6. 기타 기호
✿ ☺ ☻ ☹ ☼ ☂ ☃ ⌇ ⚛ ⌨ ✆ ☎  ⌘ ⌥ ⇧ ↩ ✞ ✡ ☭
✔ ★ ☆ ♺ ⚑ ⚐ ✉ ✄ ⌲ ✈ ♦ ♣ ♠ ♥ ❤ ♡ ♪ ♩ ♫ ♬ ♯ ♀ ♂ ⚢ ⚣
❑ ❒ ◈ ◐ ◑ ✖ ✚ ✜ ⧓ ⧗ ⧑ ⧒ ⧖ _ ⚊ ╴ ╼ ╾ ‐ ⁃ ‑ ‒ - – ⎯ — ― ╶ ╺ ╸
© ® ™ ℠ ℻ ℅ ℁ ⅍ ℄ ¶ ⁋ ❡ ⁌ ⁍ ⸖ ⸗ ⸚ ⸓ § ₿ ⚽ ⚾ ⛳ ⛸ ⛹ ⛷ ⛰ ⛵ ⛴ ⛔ ⛩ ⛪ ⛲ ⛺ ⛽ ⛾ ⛿
☕ ☘ ❦ ❧ ☙ ❢ ❣ ✁ ✂ ✃ ✄ ✍ 

반응형
반응형
  1. 아키텍팅 기본 사항
    가용영역(Available Zone, AZ)
    재해발생 이중화 필요 - 데이터를 다른 AZ에 백업 또는 이중으로 구성
    리전 기반 서비스, 글로벌 서비스는 내부적으로 여러 리전을 사용
    리전 - 주요도시별 구성
    서울리전, 도쿄리전
    선택시 고려사항AWS Local Zones
    로컬 데이터 처리
    엣지 로케이션 : CDN 사용, 글로벌 서비스에 제공,
    캐싱
  2. 거버넌스 : 데이터의 소유권이 어디냐?, 글로벌 법적이슈, 금용데이터는 어디내 저장 지연시간 : 사용자의 위치에서 가까워야 빠름 서비스 가용성 : 서울리전에 SMS 미지원 비용 : 미국 버지니아가 저렴, 상파울로 가장 비쌈(전기료), 나라별 인프라 비용이 다름
  3. 계정 보안
    IAM : 글로벌 리전 서비스, 무료
    페더레이션 - 로그인 연동
    권한 부어 : 보안주체에 권한 적용하여 제어
    그룹, 역할을 만들어 쉽게 관리쟈격증명 기반 : 사용자 중심으로 정책 부여
    리소스 기반 : 리소스 중심으로 정책 부여
    권한 경계( Permission Boundary) : 부관리자 IAM관리가 가진 경우, 본인에게 임의 권한 부여 막음
    Organizations 사용 : 다중 계정 관리
    IAM center
    AWS organizations
    OU, 계정 을 트리 구조 형태로 권한(Organizations SCP) 부여
    IAM 자격 증명과 같이 허용 되어야 사용 가능
  4. 그룹 역할 : 권한 묶음, ex) IAM역할 역할을 만들어 그룹, 사용자에게 적용할 수 있음
  5. 네트워킹
    VPC : IP를 할당해서 사용해야 하는 서비스 사용시 사용. ex) EC2
    사설 ip : 10.x.x.x, 172.31.x.x, 192.168.x.x
    CIDR( Classless Inter-Domain Routing ) : x.x.x.x/16 -> 네트웍식별비트(8)/호스트비트(8)
    리전기반 서비스, 논리적 네트웍 대역 부여
    서브넷 : 가용영역 기반 서비스라우팅 테이블 : 서브넷당 하나씩 독립적 설정, ip -> igw로 연결해야 외부로 연결됨
    인터넷 게이트웨이 : 인터넷통신을 위한 관문EC2에 탄력적 ip 부여 -> 고정 ip, 다른 EC2로 할당시 장애복구 효과, 리전당 5개로 제한, 서포트팀에 요청시 늘려줌
    탄력적 네트워크 인터페이스 -> EC2 바꿔 붙임, MAC 어드레스를 넘겨야 하는 경우NAT 게이트웨이 -> Network address translationACL( NACL, 네트워크 엑세스 제어 목록 ) : 서브넷에 대한 룰보안그룹( SG, Security Group )
  6. in, out bount 별로 룰 설정 인스턴스별로 보안 설정 EC2, DB 디폴트 : 인바운드 차단, 아웃바운드 허용 아웃바운드의 대상에 SG ID를 설정 : 보안그룹연결, 체인으로 연결시 상태 저장 : 인바운드 저장시 아웃바운드 체크 없음, 나이트 입장 규칙 순서 없음 체인화, 포트 허용
  7. in, out bount 별로 룰 설정 ip, port 설정 서브넷 단위로 방화벽을 설정할 때 사용 상태 비저장 : 인, 아웃 똑같이 체크, 입출국 여권 확인 규칙번호가 낮아야 우선 순위 놈음 디폴트 : 모두 오픈 특정 ip 차단
  8. private지만, out bound에 대해서만 인터넷 사용시 사용 private 라우팅 테이블에 0.0.0.0/0 -> nat로 연결
  9. Network interfaces, EC2 생성시 몇개 설정 할 수 있음
  10. 역할1 : VPC 라우팅 테이블에서 인터넷 바운드 트래픽에 대한 대상 제공 역할2 : 내부적 NAT( 네트워크 주소 변환 )
  11. 권장 사항 가용영역 2개 사용 권장 public / private로 분리 권장 로드벨런서 사용하여 2개 이상 AZ 사용 권장
  12. 컴퓨팅
    EC2Amazon EBS인스턴스 스토어 볼륨요금제
  13. 온디맨드 : 초당, 시간당 사용, 사용한 만큼 지불 Savings Plans : 약정 Compute Savings Plan : 최대 66% 할인 EC2 Instance Savings Plans : 일부 패밀리에서 온디맨드요금 72% 할인 스팟 인스턴스 가동률 높이기 위해 할인 해 줌 : 최대 90% 할인 언제 중단 될지 모름 일시적으로 사용할 경우 저렴한 비용으로 사용 빅데이터 분석 등
  14. 인스턴스 중지 시 데이터 없어짐 일시적으로 고속으로 사용하는 경우
  15. Provisioned 를 설정하면 용량외 IOPS 를 설정함
  16. 태크 : key-value 형태, 최대 50개, 특정 태그로 제거, 사용량 확인 AMI : 운영체제가 설치된 미리 구성된 이미지, 직접 설치해서 AMI 생성 후 사용 가능 인스턴스 유형 : c6g.xlarge = 인스턴스패밀리/세대/추가속성.크기 키 페어 : SSH, 원격접속(RDP) 사용하여 EC2로 접속 시 사용 SSH는 키를 통해 접속할 수 있다. EC2 는 public 키룰 가지고 local 은 private 키를 가지고 접속 Session Manager를 사용하면 생상할 필요 없음 윈도우는 Admin 패스를 변경시 필요 테넌시 : 공유 테넌시 : 공용 하드웨어 사용 전용 인스턴스 : 전용 하드웨어 사용, 하드웨어 격리 전용 호스트 : 하드웨어 미리 할당받아 점유 배치그룹 : 데이터센터의 Rack과 Rack 간의 Tor스위치가 있고, HUB로 연결되어 있음 EC2가 같은 Rack 에 있으면 통신속도가 더 빠름 클러스트 : EC2 인접 배치 분산형 : 파티션 : 사용자 데이터 : 인스턴스 시작 후 바로 실행 리눅스 bash shell 윈도우 powershell 인스턴스 메타데이터 instance-id

실습2
VPC 생성 - CIDR 설정
DHCP 자동ip할당 설정
DNS 도메인 이름 설정
서브넷 생성 - VPC와 연결, 가용영역 설정, CIDR 설정
public subnet
되려면 IGW 연결, route table 설정, public ip
인터넷 게이트웨이 생성 - VPC와 연결( attach )
라우팅 테이블( Public ) 생성 - VPC와 연결
route 추가 : destination( 0.0.0.0/0 ) - IGW와 연결
Public 서브넷과 연결( association )
private subnet
보안 그룹( Public ) 생성 - VPC와 연결, 인바운드 룰에 HTTP -> Anywhere-IPv4 설정
EC2 생성 - VPC 선택, Public 서브넷과 연결, SG 연결
외부에서 접속 가능, 인스턴스에서 외부로 접속 가능 확인
ec2 role 부여하면 session manager 사용 가능
NAT 게이트웨이 생성 - Public 서브넷 연결, elastic ip 할당
라우팅 테이블(Private) 생성 - VPC와 연결
route 추가 : destination( 0.0.0.0/0 ) - NGW와 연결
Private 서브넷과 연결
보안 그룹(Private) 생성 - VPC와 연결, 인바운드 룰에 HTTP -> Public SG로 설정
EC2 생성 - VPC 선택, Private 서브넷과 연결, SG 연결
인스턴스에서 외부로 접속 가능 확인

AWS Lambda
    서버리스 컴퓨팅
    최대 15분 실행
    주로 이벤트를 처리
    img를 업로드 하면 thumbnail 생성
  1. 스토리지
    종류Amazon S3 - 객체 스토리지
  2. http 웹기반, 인터넷으로 연결 리전 기반 서비스 : 데이터가 3개의 가용영역에 6개 복제 됨 폴더가 아니라 이름으로 디렉토리 처럼 보이도록 처리 내구성 우수 암호화 자동 설정 SSE-S3 알아서 암호화 SSE-KMS 암호키를 관리 해야 함 SSE-C 고객이 키 제공 버킷정책 퍼블릭 엑세스 차단 필요 스토리지 클래스 S3 Standard : 비용 높음, 자주 엑세스 할때 사용 S3 StandardIA S3 One Zone IA : 가용영역 1곳 S3 Glacier Instant Retrieval 복원 필요 S3 Glacier : 복원 3시간 S3 Glacier : 복원 12시간 이상 어느 정도 사용할지 모를때, intelligence S3 버전 관리 -> 비용 높음 복제 멀티파트 업로드 Transfer Acceleration 원거리에 데이터 전송 시 유용 파일 -> 엣지로케이션 -> Amazon network -> S3 버킷 Transfer acceleration -> enabled, 추가 비용, endpoint 다름 이벤트 알림 ex) 버킷에 이벤트 발생 시 -> Lambda 함수 비용 스토리지 유형 요청 및 검색 : 월 몇건 데이터 전송 : 리전 밖으로 나갈때만 전송 비용 발생 버전관리 : 카피본이 생기므로 복제 : 분석 : Storage lens 등 분석 비용 Amazon EFS 운영체제의 mount 기법을 사용, VPC 내부 Amazon FSx 윈도우 파일 서버 SMB 프로토콜 Storage Gateway File Gateway : NAS Tape Gateway : VTL Volume Gateway DataSync 온프레미스에 설치 후 마운트 -> 리전의 DataSync가 처리 Snow 패밀리 Snowcron, Snowball
  3. 블록스토리지 : EBS 파일스토리지 : 디렉토리 db 사용, path가 길어지면 느려짐, type이 많으면 느려짐 EFS : NFS FSx : SMB ( windwos ???? ) 객체스토리지 : 디렉토리 없이 저장 S3
  4. 데이터 베이스 서비스
    읽기 전용 복제본 -> 시스템에 영향을 안주고, 데이터 분석 할때 등. 업무의 오퍼로드 분리
    암호화 : 암호화 선택 해야함
    AWS Aurora( 관계형 )AWS Dynamo( 비관계형 )데이터베이스 캐싱AWS DMS( Database Migration Service )
  5. 동기종간 : 인터넷 및 snowball 로 이동 이기종간 : 스키마가 다르면 AWS SCT( Schema Conversion Tool ) 사용
  6. 라이트 스루 : DB에 쓰면서 캐쉬에도 쓰기 레이지 로딩 : 캐시 관리 TTL 값 사용 Amazon ElastiCache 데이터베이스에 캐시가 필요한 경우 Memchached Redis 완전 관리형 Amazon DynamoDB Accelerator(DAX 클러스터) 1/10로 속도 향상
  7. 완전관리형 key-value 용량관리 온디멘드 : 예측 안될때 프로비저닝 : 최소, 최대 RCU 설정 RCU 데이터 읽는 단위( 4KB ) 40KB -> 10 RCU 3개의 AZ에 분산되는 리전 기반 서비스 일관성 옵션 복제시 시간 걸림, 1초 이내 - 최종적으로 일관된 일기 : 쓰고 바로 읽으면 쓰기전 데이터 읽을 수 있음, 0.5 RCU 사용 - 강력한 읽기 일관성 : 데이터 싱크됨, 1 RCU 사용 글로벌 테이블 : 리전간 복제를 자동화
  8. MySQL, PostgreSQL 호환 최대 128T, 오로라가 아닌것은 64T 3개의 가용 영역에 2개씩 저장 서버리스 가능

실습3
Load Balancer : 여러 instance에 대해 단일 DNS, ip 를 지원, 장애시 우회
트래픽 분산을 위해 상태 확인 및 장애 탐지
ALB layer 7
NLB layer 4
GLB layer 3
리스너와 타겟
Aurora
클러스터 개념으로 동작, 클러스터 구분하는 이름 설정
DB pass 설정
Enable Enhanced monitoring : SQL로그를 Cloud Watch로 보냄

  1. 모니터링 및 크기 조정
    운영상태
    Cloud Watch자동 크기 조정 -> 고가용성
  2. AWS Auto Scaling : 확장 가능한 리소스를 늘려줌 Load Balancer -> Amazon EC2 Auto Scaling EC2 수요에 따라 확장, Load balancer에 트래픽 증가하면 확장 구성요소 : 최소, 최대, 원하는 용량, 정책 설정 정책 : Cloud Watch로 지표로 경보 발생 -> EC2 추가 생성
  3. 로그 수집 지표 : 사용량 Cloud Trail : 사용자 활동, API 사용량 Alarms 경보 이벤트 -> 지표의 임계값을 초과 -> EventBridge or Lambda -> Amazon SNS -> 이메일 전송 EventBridge : 다양한 이벤트 수집, 이벤트 라우팅
  4. 자동화 : 인프라를 간단하게 구축하는 방법
    Cloud FormationAWS Elastic Beanstalk 빈스톡System Manager
  5. EC2 + 웹서버 인프라 고민없이 코드만 넣어서 사용
  6. 템플릿이용, 템플릿을 가지고 스택을 생성 IaC : yaml 파일, 코드 관리, 파일명에 버전 추가 yaml 파일내의 순서 없이 실행 실패하면 롤백 AWS CDK Cloud Formation 에서 순서, 조건등의 코드처럼 사용 AWS Solutions Library 템플릿을 다운받아 Cloud Foramtion에서 사용
  7. 컨테이네
    AWS Fargate : EC2의 서버리스 서비스라고 보면됨, EC2의 대체EKS
  8. control 서버 구축
  9. EC2 같은 호스트를 가상으로 제공 서버리스, OS관리 필요 없음
  10. 네트워킹 2
    VPC 엔드포인트VPC 피어링VPN : 인터넷 사용하지만, 사설 네트웍을 이용AWS Direct Connect : 물리적 연결
    AWS Transit Gateway
  11. VPN : 온프레미스 - VPN - Transit Gateway - 여러 VPC VPC 허브 -> 메시처럼 안해도 됨 라우팅 조정 가능 : 특정 VPC와만 통신하도록 설정 가능
  12. Site-to-Site VPN : 온프레미스와 AWS VPC 연결 암호화 사설 네트웍 : 사이트간 통신 네트웍 고가용성을 위해 엔드포인트 2개
  13. VPC A, B의 대상을 같은 VPC 피어링으로 설정 리전 내 및 리전 간 지원 교차 계정 지원
  14. 인터넷 통하지 않고 AWS 서비스를 사용하는 기술, 보안을 위해 사용 1. 게이트웨이 엔드포인트 -> S3, DynamoDB 라우터처럼 존재, 라우팅 개념 사용, 라우터에 등록 필요 2. 인터페이스 엔드포인트 ENI카드, 네트웍 카드 만들고 ip를 할당
  15. 서버리스
    API GatewayAmazon SQSAmazon SNSAmazon KinesisStep Functions
  16. workflow를 만들어 lambda function 호출
  17. Data stream : 저장 Firehore : 버터에 연결, 일정 시간 마다 S3 이동 ??? Video Stream 분석
  18. 메시지 전달 게시자 -> 주제 -> 병렬로 메시지 -> 여러 구독자 256KB
  19. 완전관리형 메시지 대기열 서비스 느슨한 결합 비동기식 가시성 제한 시간( 30초 ), 대기열에서 가져갈때 대기열에 락을 걸어 동시에 못 가져가게 함 폴링 유형 짧은 폴링 : api 호출많아 비용 높아짐 긴 폴링 : 천천히 가져옴 256KB
  20. 단일 endpont 제공 어떤 서비스인지 path로 연결 Lmbda EC2 ... DDos 보호 및 제한 기능 백엔드에 대한 요청을 인증 및 권한 부여 API 사용을 조절, 속도 조절 -> 수익화
  21. 엣지서비스
    전 세계 리전 외 별도의 엣지 로케이션이 있음엣지서비스 몇개13 백업 및 목구
    HA High Availablity - 고가용성 99.999% 1년의 5분 정도 downn time
    FT Fault Tollerance 내결함성 : 중복성
    백업
    재해복구 - 재해 발생 후 복구
    가용영역의 서비스는 다른 가용 영역에 이중화 해야 함
    RPO 복구시점목표 - 원하는 시점으로 복구
    RTO 복구시간목표 - 최소
    복구 전략 - RPO, RTO, 비용 고려하여 최적화된 복구 전략 수립
  22. AWS Backup : 파일럿 라이트 : 웜 스탠바이 : 다중 사이트 액티비-액티비 :
  23. Amazon Route 53 -> dns 서버 포트 번호 100% SLA => 안죽음, 동시에 200여개 엣지에서 동작 도메인 네임 서비스 : ip <-> 도메인 이름, 도메인 등록, 관리 ip를 던져주는 역할, 라우팅 장애 조치 라우팅 리지 근접 라우팅 지연 시간 기반 라우팅 다중 응답 라우팅 가중치 기반 라우팅 Cloud Front : 내부적으로 캐싱이라고 보면 됨 CDN( Content Delevery Network ) 250여개의 엣지에다가 데이터를 복사해서 캐시해 둠 사용법 : destribution 에다가 Origin을 S3로 연결 DDoS 보호 OSI layer 별 공격 방법이 다양 AWS Shield Standard 무료 AWS Shield Advanced 구독 EC2가 public으로 오픈되면 DDoS 공격 들어옴 AWS WAF( Web Application Firewall ) Http 상위 수준의 공격에 대한 방어 방어 가능한 서비스 CloudFront ALB ... AWS Firewall Manager 많은 계정 및 리소스를 한 곳에서 방어 룰을 중앙에서 관리 AWS WAF VPC 보안 그룹 AWS Shield Advanced AWS Network Firewall AWS Outposts Outposts 랙 Outposts 서버
  24. 리전 : 주요 도시에 배치 AWS Outposts 랙장비, 고객사에 연결 snow ball 데이터 이동
반응형
반응형

검색

# Word 검색

grep -r 'word' ./

grep -r 'word' ./*/src/main -- include '*.java' | wc -l

grep apple fruitlist.txt
grep -i apple fruitlist.txt ignore
grep -w apple fruitlist.txt word

 

# 파일 검색

find [검색경로] -name [파일명]

find -name test.jar

find ./ -name 'file1'
find ./ -name "*.jpg"

find ./ -name "*.jpg" -exec rm {} \; : 확장자가 .jpg인 파일만 찾아서 바로 삭제
find ./ -type d
find ./ -type f
find ./ -type f | wc -l : 특정 디렉토리에 find 조건에 맞는 결과 값이 몇개 존재
find ./ -name "*.txt" -exec sed -i 's/hi/hello/g' {} \; : 확장자가 .txt인 파일만 찾아내고, txt 파일 안에 있는 ‘hi’ 라는 문자열을 ‘hello’로 변경

 

파일 및 디렉토리

mv [original.txt] [rename.txt] : 파일명 변경

mkdir [directory] : 폴더 생성
rm -rf [file or directory] : 파일 및 폴더 삭제

 

pwd(print working directory) :현재 경로 확인

 

# 파일 결합

cat [file1]
1
cat [file2]
2
cat [file1] [file2] > [file3]
cat [file3]
1
2
cat [file1] >> [file2]
cat [file2]
2
1

 

프로세서 종료

killall [process name]

df -h // storage usage
du -sh [directory] // directory storage usage

 

코드 라인 측정

 wc -l find . -name '*.java'

 

Password 설정

sudo passwd root

 

파일 내용 확인

head -n 50 test.log : 파일 앞 부분 n 라인 출력

tail -n 50 test.log : 파일 마지막 부분 n 라인 출력

   

파일/폴더 확인

df -m : 디스크 용량 확인

du : 폴더 용량 확인

 

파일 권한 변경

chmod 777 [file] : 모든 사용자에 모든 권한 부여

chmod 000 [file] : 모든 사용자에 모든 권한 제거

 

실행 파일 위치 확인

whereis

which

 

Shell 환경 설정 파일

/etc/profile : 시스템 전역 쉘 변수

/etc/bashrc : 쉘 함수, alias 시스템 전역 변수 정의

~/.bash_profile : 유저 개인의 환경 설정

~/.bashrc : 유저 개인의 alias 및 변수 설정

~/.bash_logout : 로그아웃 설정파일

 

Java Path 설정

whereis, which로 java 경로 확인

bashrc 파일에 path 설정

source ~/.bachrc : bashrc 설정 파일 적용

 

 

 

 

 

반응형

+ Recent posts