분류 전체보기209 [StudyJam][#2]Kubernetes Engine: Qwik Start 본 포스팅은 구글 스터디 잼에 참가하여 유료 플랫폼인 '퀵랩'을 무료로 제공받아 학습한 내용을 정리한 글입니다. GKE는 Google 인프라를 사용하여 컨테이너식 애플리케이션을 배포, 관리 및 확장할 수 있다. 📚 오늘 공부할 내용 GKE를 사용하여 직접 컨테이너를 생성하고 애플리케이션을 배포 1. 컴퓨팅 리전 설정 ✔️ 컴퓨팅 영역: 리전 내에 대략적으로 클러스터와 리소스가 존재하는 위치 gcloud config set compute/zone us-central1-a 한국 리전을 사용할 때는 다음 리전을 사용할 수 있다. compute/zone asia-southeast1-c 2. GKE 클러스터 생성 - 클러스터: 1개 이상의 클러스터 마스터 머신과 노드라는 다수의 작업자 머신으로 구성 - 노드: 클.. 2022. 7. 20. [StudyJam][#1] Docker 소개 본 포스팅은 구글 스터디 잼에 참가하여 유료 플랫폼인 '퀵랩'을 무료로 제공받아 학습한 내용을 정리한 글입니다. Docker 컨테이너는 Kubernetes에서 직접 사용할 수 있으므로 Kubernetes Engine에서 쉽게 실행할 수 있다. 📚 오늘 공부할 내용 Docker 컨테이너를 빌드, 실행 및 디버그하는 방법. Docker Hub 및 Google Container Registry에서 Docker 이미지를 가져오는 방법. Docker 이미지를 Google Container Registry에 푸시하는 방법. 🐾 여기서 간단하게 설명하자면 (말하다보니 전혀 안간단함) Docker Hub와 Google Container Registry 모두 Docker image를 저장하는 저장소이다. 이 둘의 차이는.. 2022. 7. 20. [StudyJam][#0] '클라우드 스터디 잼 쿠버네티스 입문' 시작! 0. 개요 엘리스 1차 프로젝트 이후에 데브옵스 스터디를 하며 인프라에 대한 관심이 많아졌다. 그래서 쿠버네티스도 혼자 공부했지만 아직 이해가 부족해서 깊이 있게 공부하고 싶었다. 그러던 중 2022 Google Cloud Study Jam Kubernetes 입문반 수업을 알게 되었고 해당 내용을 공부하면서 내용을 보충하고 실습하면서 포스팅할 예정이다. 구글 클라우드 스터디 잼에 참여하면 유료 플랫폼 퀵랩을 무료로 제공받을 수 있다! 수강할 강의는 다음 강의이다. (공부하고 실습해서 포스팅 후 링크를 추가하겠다.) 📌 [Qwiklabs] Kubernetes in the Google Cloud [StudyJam][#1] Docker 소개 [StudyJam][#2]Kubernetes Engine: Qwik.. 2022. 7. 20. [Kubernetes] 쿠버네티스란? 1.쿠버네티스 시작하기 01. VM vs Container [서버 관리] 다른 버전의 node.js 를 같은 서버에서 써야한다. 등등 한 서버에서 여러가지 버전을 잘 돌리고 싶다. 그래서 등장! VM (가상머신) : 서버 하나에 가상머신 여러개. But 여러가지 클라우드 환경에서 (multi) 사용하기 어렵고, 느리다. Hypervisor 존재 그런데!! 뚜둥 Docker 등장 🐳 [도커 등장] 모든 실행환경을 컨테이너로 환경을 격리화 시키는 방법이다. VM과 비교해서 Guest OS가 없어서 OS 가상화 보다 오버헤드가 적고, 효율적으로 동작한다. 어플리케이션을 OS 환경에 종속적이지 않게 동작할 수 있다. [컨테이너 특징] - 가상머신과 비교하여 컨테이너 생성이 쉽고 효율적 - 컨테이너 이미지를 이용.. 2022. 7. 20. [Java] 비트연산자(bitwise operator) "& | ^ ~ << >>" 비트 연산자는 피연산자를 비트단위로 논리 연산한다. 비트 연산의 우선순위: 논리 연산 (쉬프트 연산자) ex) 7 > .. 2022. 7. 19. TypeScript + node.js에서 Jest로 단위테스트 하기 0. 개요 [ 내가 TDD를 하게 된 이유 ] 엘리스 2차 프로젝트의 개발 기간은 3주였다. 3주라는 시간 내에 기획과 개발, 배포, 발표 준비를 해야 한다는 부담감에 테스트 코드 작성을 우선순위에서 미루고 바로 비즈니스 로직을 구현했다. 하지만 점점 로직이 쌓이면서 새로운 기능 코드를 작성할 때 기존 코드에 영향을 주지 않고 작성을 해야 하는데 테스트 코드가 없어 내가 생각하지 못한 사이드 이펙트가 터졌다. '코드 작성 -> 사이드 이팩트 -> 코드 수정 -> 사이드 이팩트 -> 코드 수정' 과정이 반복되니 2가지 불편함이 생겼다. 코드 생산성 감소 코드에 대한 자신감 하락 내 코드에 대한 자신감이 떨어졌다. 프론트에서 문제가 생겼다고 물어볼 때 백엔드 API 기능의 문제가 없다는 것을 증명하기 어려웠.. 2022. 7. 17. Cloud Computing 0. 개요 주요 구성 요소 컴퓨팅 기능, 초고속 네트워크망, 가상화 기술 서버 가상화 기술 자유도의 차이 클라우드 응용 SW SaaS (Software as a Service) 클라우드 플랫폼 PaaS (Platform as a Service) 클라우드 인프라 IaaS (Infrastructure as a Service) Public/Private/Hybrid Private Cloud (OpenStack) 클라우드를 사용하기 원하는 기업에서 자체적으로 전용망을 이용하여 구축 하는 클라우드 Multi Cloud 멀티 클라우드는 2곳 이상의 클라우드 벤더가 제공하는 2개 이상의 퍼블릭 또는 프라이빗 클라우드로 구성된 클라우드 접근 방식 1. Cloud .. 2022. 7. 12. [💊Pill my rhythm] 21~25일 차 회고 📖 2022년 06월 28일 ~ 07월 02일 ✔️ 오늘 내가 한 일 연령대, 나이대 영양제 추천 테이블 생성 및 데이터 저장 마이페이지 영양제 추천 API ssl 인증서 적용 main 서비스 python server fix & refact 💡 TIL ( Today I Learned ) [ Docker를 깎는 장인 ] 도커 파일을 작성 -> 빌드실패 시 도커 파일 수정 -> 빌드성공 과정을 거치면서 서버를 배포한 후 생길 수 있는 서비스 장애를 미리 확인하여 수정할 수 있었다. 서버 코드화로 서버 제작이 견고해졌고 유연해졌다. 빌드 오류가 반복되면 원인을 찾기 힘들기 때문에 우선 서버 이미지 먼저 띄운 뒤 도커파일에 작성할 명령어를 먼저 실행해보는 것도 좋은 방법이다. [ 왜 계속 에러야~ 메인 서버야 .. 2022. 7. 10. [프로그래밍 언어] Java 이 게시글은 Java 알고리즘 풀이에 필요한 내용을 공부하며 계속 추가할 예정이다. 1. 입출력 ✔️ Scanner import java.util.Scanner; public class Ex1000 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); sc.close(); System.out.println(a+b); } } Scanner 클래스는 생성자의 입력으로 System.in, 즉 콘솔입력인 InputStream을 필요로 한다. in.next() : 문자열 입력시 공백 전 까지 in.nextLine() : 문자열 입력시 Enter 입.. 2022. 7. 9. React app build 해서 배포했는데 CSS 적용 안되는 에러 해결 방법 우선 build 후 css 적용이 안되는 것의 원인은 다양하다. 그 중 내가 겪은 에러와 해결 방법에 대해 포스팅하고자 한다. 1. 문제 상황 배포된 사이트에서 main.css를 확인해본 결과 build된 css는 모두 잘 적용이 되었고, 스케줄 페이지의 css가 빌드되지 않은 것을 확인했다. 이유를 알고 보니..! 2. 문제 원인 💡 front의 GlobalStyle.js의 코드 중에서 아래 코드가 있는 것이 문제였다. @import url('https://webfrontworld.github.io/SCoreDream/SCoreDream.css%27'); npm run build나 yarn build를 통한, 웹팩(WebPack)을 이용한 번들링을 통해 build 폴더를 만들게 된다. 이 과정에서 위 .. 2022. 7. 1. React build해서 배포할 때 sourcemap 제거 때는... React 프로젝트를 배포하기 위해 build 하던 중.. 힘차게 yarn build를 실행시키는 동시에 찝찝한 컴파일 warning 메세지를 보았다..! 콘솔에 뭐가 이렇게 찍히지?? 콘솔에 찍힌 source map 은 어떤 것일까?! 지금부터 알아보자! 😊 1. webpack CRA로 React 프로젝트를 구성하는 경우는 webpack에 의해 번들링 되어 난독화되고 압축된다. 이렇게 압축되면 디버깅하기가 힘들어진다. 그래서 source map이 필요하다. 2. source map 일반적으로 React App을 배포할 때는 배포를 위해서 Build를 하게 된다. 이때 source map은 빌드한 파일과 원본 파일을 연결시켜준다! Build 파일은 성능을 위해서 압축되어 있는데 이때 오류가 생.. 2022. 7. 1. [Flask] AttributeError: module 'jwt' has no attribute 'decode' 오류 해결 방법 🥺 문제 상황 local에서 테스트 한 다음 배포를 했을 때 로그인 후 서비스를 이용하면 500 에러가 나왔다. 아니!! 왜 안돼??? 침착하게 로그를 확인해보자. Docker로 배포했기 때문에 아래 명령어로 컨테이너 로그를 확인했다. $ docker logs 로그를 확인해보니 jwt 모듈 에러였다. 💡 문제 해결 JWT와 PyJWT가 모두 설치된 경우 문제가 발생한다. 나는 분명 PyJWT만 install 했는데 함께 설치된 것이다. 그래서 import 할 때 다른 라이브러리 JWT를 가져와서 생긴 문제이다. requirements.txt를 확인하면 두가지가 함께 설치된 것을 볼 수 있다. 기존에 설치된 패키지를 모두 삭제하고 다시 PyJWT를 설치하면 문제를 해결할 수 있다. $ pip uninsta.. 2022. 6. 30. [Docker] Flask로 NLP 모델 서빙하기 나는 현재 '💊 Pill my rhythm' 이라는 서비스 명을 가진 AI 웹서비스를 진행하고 있다. 우리 서비스의 메인 기능은 '자신의 증상을 문장으로 작성하면 영양제 추천을 해주는 서비스'이다. 나는 백엔드 포지션으로 프론트에서 인공지능 모델을 돌려 결과값을 반환받기 위해서 인공지능 모델을 서빙하려고 한다. 모델은 python 코드로 작성되어 python 서버를 위해서 Flask를 사용했다. 📌 [관련 포스팅] 파이썬 가상 환경(virtualenv)과 Flask 서버 구축 [AI] 자연어처리, konlpy 설치 1. 가상환경 우선 코드 작성에 앞서 파이썬 가상 환경을 구성해야한다. 가상 환경 구성에 대한 내 포스팅은 따로 확인해볼 수 있다. 👉 파이썬 가상 환경(virtualenv)과 Flask 서버.. 2022. 6. 25. [💊Pill my rhythm] 18~20일 차 회고 📖 2022년 06월 23일 ~ 6월 25일 ✔️ 오늘 내가 한 일 (23일) 북마크 삭제 API 구현 (23일) flask에 verifyToken 구현 (24일) bookmark delete params 수정 (24일) bookmark create 중복 방지 로직 추가 (24일) flask cors 에러 해결 (25일) Node+Redis APP Dockerfile build 완성 (25일) Fix: 회원 정보 수정 (25일) Python APP Dockerfile build 구현중 (25일) vm에 docker engine, docker-compose 설치 💡 TIL ( Today I Learned ) [ CORS ] ( 자세한 개념은 따로 포스팅을 작성하겠다! ) 👉 CORS 포스팅 보러가기 현재 .. 2022. 6. 25. [Docker] TypeScript + Node, Dockerfile 작성 및 build 우선 Docker Container를 run 하기 위해서는 Docker Image가 필요하다. Docker Image를 생성하는 방법은 두 가지가 있다. container를 대상으로 commit 명령어 실행 Dockerfile을 작성해서 build 명령어 실행 이때 나는 이미 사용하고 있는 container가 없기 때문에 Dockerfile을 이용해서 Image를 build 했다. 1. Image (이미지) ✔️ 도커 이미지는 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것이다. 다음과 같은 이미지 파일을 만들기 위해서 Dockerfile을 작성해보자. 2. Dockerfile FROM : 어떤 리눅스를 사용할 것인지에 대한 것 COPY : 파일 복사 현재 디렉토리 밑에 /app에 복사 (/.. 2022. 6. 25. 이전 1 ··· 4 5 6 7 8 9 10 ··· 14 다음 반응형