AOC55

Backend, Devops, Cloud, kubernetes

전체 글 32

쿠버네티스 :: GCP(VM)에 kubernetes Cluster 직접 구축하기 - 2 (23.01 수정)

목표 구글에서 제공하는 GKE를 활용하는 것이 아니라, GCP의 Compute Engine을 통해서 VM을 생성한 뒤 Master Node, Worker Node를 직접 생성한 뒤, Docker Engine 설치 및 Kubeadm을 통해 Kubernetes Cluster를 직접 구현해보겠습니다. 이전편 보기 https://aoc55.tistory.com/51 이번편 주요내용 도커 런타임 설치 도커 cgroup driver 설정 방화벽 및 네트워크 설정 작업준비 앞편에서 작업했던 VM 4개(master 1, worker3)에 대해 모두 앞편의 설정했던 대로 SSH 로 로그인 합니다. 본인은 작업하기 편하게 아래와 같이 터미널 창을 띄어 놓고 했습니다. 반복되는 명령어가 많아서 창을 동시에 띄어놓고 복붙으로..

쿠버네티스 :: GCP(VM)에 kubernetes Cluster 직접 구축하기 - 1

Why (잡담)? kubernetes를 업무에 사용하게 되면서 공부용으로 나만의 클러스터가 필요하게 되었는데 지금 가지고 있는 노트북은 VM을 3개이상 띄울경우 힘들어하고, Docker Desktop에 있는 k8s이나 minikube 같은 경우 node가 1개뿐이라 실질적인 클러스터 환경으로 진행하기 어려웠습니다. 그래서 클라우드 서비스를 이용하기로 했고, GKE 같은 경우 이미 다 구축되어 있는 상태에서 제공해주는 서비스이기에 공부용이라는 목표랑은 안어울려서 (그리고 비쌉...) 결국 직접 GCP에 VM을 찍고 클러스터를 구축하게 되었습니다. 목표 구글에서 제공하는 GKE를 활용하는 것이 아니라, GCP의 Compute Engine을 통해서 VM을 직접 생성한 뒤 Master Node, Worker N..

데이터 :: 경사하강법의 종류와 개념(배치, 확률적, 미니배치) - BGD, SGD, MSGD

공부하는 입장에서 작성한 내용이라, 틀린 부분이 있을 수 있습니다. 발견 시 지적해주시면 감사하겠습니다. Batch Gradient Descent (BGD) 먼저 알고리즘 명의 Batch의 개념은 Total Trainning Dataset 을 의미한다. (데이터를 분할 시 사용했던 batch 의미의 용어는 여기서 mini-batch로 통용) 전체 데이터 셋에 대해 에러를 구한 뒤 ⇒ 기울기를 한번만 계산하여 모델의 파라미터를 업데이트 하는 방식이다. 특징 전체 데이터에 대해서 업데이트가 한번에 이루어지므로 업데이트 횟수 자체는 적다. 그러나 한번의 업데이트에 모든 Trainning Data Set을 사용하므로 계산 자체는 오래 걸린다. 전체 데이터에 대해 Error Gradient 계산하므로 Optima..

IT/Data & AI 2021.02.04

자격증 :: SQLD (SQL 개발자) 취득후기

2020년 말 취득 기준으로 작성됨. SQLD SQL(주로 Oracle, MS SQL Sever) 활용능력에 대해 평가하는 시험입니다. (물론 취지는...) 오프라인 시험으로 시험지를 본 후, OMR 마킹하는 전형적인 방식입니다. 총 50문제 및 100점으로 주관식도(10문제 안팎) 포함되어 있습니다. 과목은 아래 두 과목으로 이루어져 있습니다. 1과목: 데이터 모델링의 이해 (10문제) 2과목: SQL 기본 및 활용 (40문제) 평균 60점 이상이면 합격이나, 한 과목이라도 40점 미만이면 과락으로 총합 상관없이 불합격이다. (특히 1과목이 과락 발생하지 않도록 주의!) 공부방법 전반적으로 자격증이 DB 및 SQL에 대해 얕고 폭 넓게 다루고 있으므로, DB에 대해서 어느 정도 알고(ex 기초적인 쿼리..

IT/자격증 2020.12.29

자격증 :: PSM 1 (스크럼마스터 자격증) 취득후기

2020년 말 취득시점 기준으로 작성됨 PSM (Professional Scrum Master) https://www.scrum.org/ 위 스크럼 (공식?)단체 에서 주관하는 스크럼 마스터 자격증이다. 회사에서 스크럼의 중요성을 어필하면서 자격증 취득을 권장해서 취득하였다. (PSM 중에서도 Level 1~3까지 있는 데, 본인이취득한 것은 가장 낮은 단계인 Level1이다.) 다만 아직까지 국내에서는 생소한 자격증인 것 같다. (구글링했을때 국내 자료는 거의 못본 것 같다) 시험 주요내용 시험의 주요내용은 아래와 같다. Scrum Project 개념 프로젝트 내 역할별 Role (P.O, Scrum Master, Developer) Scrum Project 진행방법 Scrum Project의 주요 산..

IT/자격증 2020.12.23

자격증 :: Google Tensorflow Developer Certificate 취득후기

2020년 12월 기준으로 작성됨 Google에서 주관하는 Tensorflow Developer 자격증을 취득하여 (정확히는 Level 1) 간단히 후기를 남겨보고자 합니다. Google Tensorflow Developer Certificate 시험시간은 5시간입니다. (온라인 시험으로 언제든지 응시가능) 유효기간은 3년입니다. 준비물로 여권사본과 웹캠(이 지원되는 노트북)이 있어야합니다. IDE는 Pycharm 을 활용하여 보게 됩니다. 응시료는 100$입니다. 시험은 총 5문제이며 기본적인 회귀, 이미지 분류(CNN 등), 텍**스트 분석** 등으로 구성되어 있습니다. 내 PC에 GPU가 없다면? ⇒ 코랩과 PyCharm을 동시에 사용하면 됩니다! 자격증 대비 강의수강 본인은 회사에서 기업교육을 온..

IT/자격증 2020.12.21

데이터 :: [케라스 및 딥러닝] 머신러닝의 기본요소-2

아래 내용은 '케라스 창시자에게 배우는 딥러닝' 서적의 내용을 정리한 내용임 보편적인 머신러닝/딥러닝의 작업 흐름 1) 문제 정의와 데이터 셋 수집 - 입력데이터는 무엇이고, 어떤 것을 예측할 것인지? - 가용가능한 훈련데이터는 무엇이고 충분한지? - 어떤 종류의 문제인지? ex) 이진분류/다중분류/회귀/다중레이블다중분류/ 군집/강화학습 등? 문제 유형을 식별하게 되면, 모델 구조와 손실함수 선택에 도움이 된다 - 가설 주어진 입력으로, 출력을 예측 할 수 있다 가용한 데이터에 입력과 출력 사이의 관계를 학습하는 데 충분한 정보가 있다 -> 실제 모델이 작동하기 전 까지는, 이는 가설에 불과 2) 성공지표 선택 -정확도, 정밀도, 재현율, 고객 재방문율 등 -결정한 성공의 지표가 모델이 최적화할 손실함수..

IT/Data & AI 2020.08.28

데이터 :: [케라스 및 딥러닝] 머신러닝의 기본요소-1

아래 내용은 '케라스 창시자에게 배우는 딥러닝' 서적의 내용을 정리한 내용임 머신러닝 4가지 분류 지도학습 비지도학습 ex) 차원 축소, 군집 등 지도학습 풀기전 데이터셋 이해를 위해 필수로 거침 자기지도학습 사람이 만든 레이블 사용하지 않고, 학습과정에 사람이 개입하지 않는 지도학습, ex) 오토인코더 강화학습 환경에 대한 정보를 받아 보상을 최대화 하는 행동을 선택하도록 학습 머신러닝 모델의 평가 훈련 / 검증 / 테스트 데이터 세트 정보누설 방지 모델은 간접적으로라도 테스트 세트에 대한 정보 얻으면 안됨 검증방법 단순 홀드아웃 검증 K-겹 교차검증 셔플링을 사용한 반복 k-겹 교차검증 유념사항 - 대표성 있는 데이터: 레이블 분포 등을 확인하여, 셔플 등을 진행 - 시간의 방향: 과거로부터 미래를 ..

IT/Data & AI 2020.08.28

데이터 :: [캐글 Kaggle] Competitions 카테고리 타입

캐글 입문 하는 중에, Competitions 중에서도 카테고리 타입이 여러개 있어서, 차이점을 보던중 정리한 글이다. 일반적인 유형 Featured - 캐글의 가장 잘 알려진 대표적인 타입 - Full-scale의 머신러닝 과제들, 다소 어렵고 실제 상업적인 목적을 가진 과제들에 대한 예측 - 과제에 대한 상금도 있고, 그에 따라 전문가들도 많이 참여해서 참여시 스킬/테크닉 들을 배울 수 있을 것 같다 Research - 주로 실험적인 주제 들에 대한 Competitions - 실험적인 주제인 만큼, 상금이나 포인트 등이 주어지지는 않는 것 같다. - 실험적인 주제인 만큼 깔끔하거나 쉬운 솔루션이 없을 수 있음! Getting Started - 가장 쉽고, 접근하기 좋은 주제들 (New User를 위한..

IT/Data & AI 2020.08.04

IT :: 개발 시 보안 관련하여 주의해야할 사항2 (시큐어코딩/Secure Coding)

사내 교육 시, 교육 받았던 내용에 대해서 간단히 정리한 내용임. > 주의사항 1편 접근 제어 및 권한 관리 부적절한 인증/인가 정의/원인 - 인증(신원 식별)과 인가(자원 권한 확인)가 제대로 진행되지 않아 발생하는 취약점 - 접근 불가능한 시스템 자원, 권한 없는 메뉴, 결제 금액 변조 등 수행 가능 대응방안 - ACL(Access Control List)을 이용하여 권한에 따라 적절한 기능 사용 - 서버측에서 권한 체크 - 파라미터 최소화 및 세션 활용 - 중요 정보는 암호화 - 최종 단계에서 인증 및 권한 체크 -(결제 금액 등은 클라이언트 사용된 값이 아닌 서버측 값을 사용, 클라이언트 값 사용하려면 서버측에서 크로즈 검증) 쿠키 및 세션 관리 정의/원인 - 세션ID를 탈취하여, 공격자가 해당 ..