본문 바로가기

전체 글141

AWS CLI에 익숙해지기 (1) aws configure 설정 1. API Key 등록하기 AWS의 CLI를 이용하게 되는 경우, 일반적으로 사용자의 정보를 aws configure를 통해 지정한다. 이때, 그냥 aws configure 명령어를 사용하면, default라는 이름으로 정보가 저장된다. 여러 계정을 하나의 기기에서 사용하는 경우가 발생한다. 이때는 aws configure --profile 을 이용한다. 개별 프로필을 생성하여 사용시 혼선을 방지하자. 작성한 정보는 여기에 파일 형태로 저장된다. 매 API 실행 마다 설정하지 않고, default 설정을 이용하게 되므로, CLI를 사용할 땐 항상 주의를 하자. 특정 profile을 지우고 싶다면 이 파일 내에 작성되어 있는 항목을 지우면 된다. 2. API Key 지정하여 사용하기 매 명령어마다 --p.. 2020. 1. 8.
2020 고려대학교 해커톤 (고카톤) 후기글 1월 4일 - 5일 간 진행한 고려대학교 해커톤 고카톤에 대한 리뷰 글입니다. 첫 시작 (팀 빌딩) 페이스북에 해커톤 공지글이 올라오고, 아 이런게 있구나 싶어서 일단 애들 있는 카톡방에 보냈다. 참 놀라운건 아무도 거부감 없이 후다닥 참여했다는 점이다 ㅋㅋ 지금 생각해도 놀랍다. 넷이서 할 수 있는데, 사이드 프로젝트로 리액트를 하던 동생을 끌어 모아 5인 팟을 만들었다. 정말 놀라운 점은 이렇게 모인 5명 중에 본과가 컴퓨터학과인 학생이 아무도 없었다는 점이다. 팀 이름은 저런 어이없는 제목으로 가려다가, 고대생 4명에 한양대생 1명이여서 고고한고고로 이름 지었다. (흡족) 주제 정하기 주제는 의논을 한 결과 2가지로 수렴되었다. 하나는 우정 관리 서비스이고 하나는 OTT 팟 구하기 서비스이다. 사실.. 2020. 1. 6.
2019년 하반기를 돌아보며 (부스트캠프 후기) 2019년 하반기는 네이버 커넥트 재단의 부스트캠프에 참여하였다. 사실 인턴 떨어지고 친구들과 알고리즘 스터디 하는것도 무산되고, 혼자서 알고리즘 공부만 하기엔 좀 제자리걸음을 걷는것 같아서 무언가 활동을 하고 싶었다. 뭘 만들든 만들기만 하면 되겠지 하는 막연한 생각을 갖고 있었는데, 개발에 대한 교육을 한다고 해서 참여했던 것이다. http://boostcamp.connect.or.kr/ 부스트캠프 강도 높은 문제 해결과 반복되는 협업 경험을 통해 지속가능한 개발자로 성장합니다 boostcamp.connect.or.kr 4기 웹 풀스택 과정으로 참여했는데, 처음에 알고리즘 테스트에 통과하고 챌린지 과정을 진행하였다. 첫 2달 챌린지 과정은 매일 특정 과제를 수행한 후 제한된 시간 내에 제출하는 방식으.. 2020. 1. 4.
2019 상반기를 돌아보며 2019년 1-4월 아산병원 아산병원 영상의학과 MI2RL 연구실에서 4달간 연구원으로 활동하였다. Chest X-ray 데이터를 이용하여 이전에 개발된 CAD 모델에 새로운 병변이 탐지되도록 학습시키는 연구 Follow-up 데이터를 이용하여 환자의 병이 발전하였는지 아닌지를 판단하는 모델에 대한 연구를 진행하였다. 첫 1-2월은 매우 즐거웠다. 서버 환경이 필요한 상황이 없었기 때문에, 아주 기본적인 SSH 연결조차 모르는 상황이였고 모든 것이 새로웠다. 모르는 만큼 긴장도 했고, 새로운 사람들과 좋은 관계를 형성하기 위해 많은 노력을 했었다. 매 주 배우는 것들을 기록하였고, 발전해가는 과정이 즐거웠다. 초반엔 적응 기간이였기 때문에 여러 미팅들과 스터디에 참여하지 않았고, 그러다보니 내 혼자서 고.. 2019. 12. 31.
[1] 2020년 꼭 이루어야 할 목표 1. 백엔드 개발자로 커리어를 시작하기. 아직 개발 영역에 대해선 완전 초짜고, 만들어보아야 할 것들이 많다. 지금 잘 할수 있고, 잘 하고 싶은 쪽으로 진로를 택하고 싶어서 백엔드 개발자를 선택하였다. 2. 음악 및 음성 데이터, 시계열 데이터에 대해 공부하기. 한이음 프로젝트가 완전히 잘 되지는 못했지만, 과정에서 배우고 싶은 것들이 보였다. 이 분야를 선택한다면 공부하는 즐거움과 의미를 모두 얻을 수 있을 것 같다. 3. 악보 10개 만들기. - 그대라는 시 (태연) - 내 맘을 볼 수 있나요 (호텔델루나) 4. 클래식 4곡 완주하기. - 즉흥환상곡 5. 운동 1주일에 2번씩 땀흘리게 하기. 1주일에 3번 이상은 너무 큰 목표같고, 2번도 안하면 좀 너무한 듯 싶어서 2번으로 정했다. 6. 음악을 .. 2019. 12. 26.
[컨테이너 개발 실전 입문] #2 도커 컨테이너 배포 위 내용은 모두 여기에 작성하였습니다. 2019. 11. 28.
[컨테이너 개발 실전 입문] #1 도커의 기초 01. 도커란 무엇인가. 정의 도커는 컨테이너형 가상화를 구현해주는 상주 애플리케이션 (도커 데몬) 과 이 어플리케이션을 조작하기 위한 도커 CIL로 구성된 Product이다. 넓은 의미로는 도커 허브 및 클라우드를 비롯한 생태계를 포함한다. 이점 - 기존 가상화 소프트웨어 보다 가볍다 (게스트 OS 없이 호스트 운영체제에서 작동) - 개발 후 운영 환경에 대한 배포나 어플리케이션 플랫폼으로 작용할 수 있다. - 조작이 간편하여 로컬 머신의 개발 환경 구축에 사용된다. 적합하지 않은 경우 - 도커 컨테이너는 운영체제의 동작을 완전히 재현하지는 못한다. 엄밀한 리눅스 계열 운영 체제의 동작이 요구되면 가상화 소프트웨어를 사용하는 것이 낫다. - 비리눅스 환경이 필요한 경우엔 도커가 적합하지 않다. 기본 개.. 2019. 11. 27.
2019.11.15 부스트캠프 기술공유 PPT는 여기에 있습니다. Fact Lerna와 Husky를 이용하여 멀티 레포에서 Pre-commit 시 Lint를 적용하는 방법에 대해서 발표 Mobile First 전략을 어떻게 적용했는지에 대해서 발표 Feeling 처음엔 긴장되서 말을 막 하게 되더라 중간엔 발표망했다~ 하고 그냥 생각나는대로 작성된 대로 이야기 Finding 말을 하면서 긴장이 풀렸다. 질문은 또 잘 주고받고 했다. Future action 연습 부족이라 생각하고, 다음엔 미리 준비하고 연습을 확실히 해볼 계획 발표를 최소 화요일부터 준비해야겠다. 다른 사람이 질문을 하면 그 질문을 다시 정제해서 이야기 해야 한다. Feedback 권혁우 : 당황해서 같은 내용을 반복했음. 목소리는 괜찮았음. 김동환 당황해서 같은말을 반복 화.. 2019. 11. 15.
AWS EC2 인스턴스 띄우고 사용하기 여기에서부터 시작합니다. 프리티어가 가기 전에 인스턴스 쓰면서 공부해보자는 차원에서 쓰는거기도 하고, Fargate에서 Deploy 해야하는데 무료가 아니라서 EC2에서 일단 해보려고 한다. 메인에서 EC2 시작하기를 눌러보자. 인스턴스 시작을 눌러보자. 프리티어 우분투 서버를 선택하자. 프리티어 사용 가능한 2번쨰를 클릭하자. 새로 뜨는 창에서 시작하기를 눌러보자. SSH 접속을 위해 키 페어를 생성하라고 한다. 생성하고, key는 꼭 확인할 수 있는 곳에 보관하자. 우측 아래의 인스턴스 보기 버튼을 눌러보자. 인스턴스를 확인할 수 있다. 실행된 상태이므로 접속해서 root 계정을 활성화시켜주자. ssh -i ubuntu@ 접속하면 이와 같이 뜬다. sudo passwd root 를 통해 root 계정.. 2019. 11. 10.
[Travis] Travis 내 도커 사용시 에러 로그 Encrypt - global env로 encrypt한 비밀번호 주입하기 if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin ; fi env 사용시 일단 잘 안되서 USERID는 그대로 넣었음. 2019. 11. 7.
[Travis] 자주 쓰는 명령어 모음 .yml 에서 사용하는 명령어 cli에서 사용하는 명령어 - travis encrypt ="" --add --com --add는 .yml 파일에 바로 입력하겠다는 뜻임. --com은 커맨드라인에서 한다는 뜻. 분명 pr 날렸는데 아무 일도 안일어날 떄 : request를 보자. yaml 문법이 틀렸다는데 이유를 모르겠다? https://yaml-online-parser.appspot.com/ 여길 접속해서 yaml 파일을 파싱해서 문법을 확인하자. 2019. 11. 7.
[Travis] Travis Ci 튜토리얼 도전기 #2 슬랙 연동하기 1. Travis와 깃헙을 연동하기. 여기 가입해서 원하는 레포지토리를 등록한다. 2. Slack에서 travis app을 추가해준다. 3. 레포지토리에 .travis.yml 파일을 추가해주고 내용을 작성해준다. language: node_js node_js: - 10 slack : ~~~ 4. push 하면 travis에서 돌아가고 결과를 확인할 수 있다. 하긴 했는데 문서화가 좀 제대로 안된듯 나중에 처음부터 다시 쭉 해보아야 겠음. Slack workspace key 암호화하기 - 암호화하기 위해서 ruby gem을 설치한다. 여기서 제일 최신판 받자. - gem install travis 로 travis cli를 설치한다. - Travis를 적용할 repo로 이동한다. - travis encryp.. 2019. 11. 7.
[Travis] Travis Ci 튜토리얼 도전기 #1 Core && Build 여기를 정리했습니다. What is Continuous Integration 한꺼번에 완성된 걸 툭하고 뱉는게 아니고 코드상의 작은 변화를 자주 merge 하는거임. 목표는 조금씩 조금씩 개발하고 테스트해서 발전시키는것. CI Builds and Automation: Building, Testing, Deploying 빌드하면 Travis CI는 가상환경에 Github Branch를 clone 해서 빌드하고 테스트 시킴. Task 중 하나가 fail하면 빌드는 실패한것으로 간주됨. 빌드가 성공하면 Deploy 됨. Builds, Jobs, Stages and Phases Phase - Job의 연속적인 step Job - 레포를 가상환경에 옮겨 컴파일, 테스트 하는 자동화된 프로세스. script pha.. 2019. 11. 6.
[Kubernetes] 자주 쓰는 명령어 모음 pods - 현재 작동중인 pods 확인 : kubectl get pods --show-labels - file 내 정의된 pods 삭제 : kubectl delete -f deployments - 현재 작동중인 deployments 확인 : kubectl get deployments 2019. 11. 6.
[Docker] 도커 관련 자주쓰는 명령어 모음 - 빌드 docker build -t /: . docker run -it --detach - 삭제 빌드하다가 오류난 이미지 지우기 docker rmi -f $(docker images --filter “dangling=true” -q --no-trunc) - 디버깅 분명 빌드가 됬는데 run 했을 때 컨테이너가 없는 경우 로그를 찍어보자. - 포트포워딩 도커 내에서 3000으로 주는데 나는 3500으로 띄우고 싶을 때 docker run -it --detach -p 3500:3000 - 도커 Webhook 에러가 난 경우 혹시 Post로 들어오는걸 설정을 했는지 확인해보자. 2019. 11. 5.
[Docker] 리눅스 환경에서 도커 설치하기 사실 이 글은 메모용이다. 그냥 여기 나온대로만 하면 설치가 너무 간단하게 되기 때문에.. 딱히 설명도 할 게 없다. sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # sudo apt-key fingerprint 0EBFCD88 >> 애는 그냥 fingerprint 확인하는거임. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com.. 2019. 11. 5.
[Docker] 공식문서 도전기 #5 Kubernetes deploy 여기입니다. 이제 컨테이너에서 앱을 돌아가게끔 만들었으니, 쿠버네티스를 이용해 컨테이너를 다루어보자. 쿠버네티스는 컨테이너화된 어플리케이션을 scaling 하고 네트워킹하고 뭐 여러가지 컨테이너 이상의 기능을 해주는 무언가다. Using Kubernetes YAML 모든 쿠버네티스의 컨테이너는 리소스를 공유하는 pods로서 스케줄링 된다. 그렇다고 우리가 pods를 독립적으로 구성할건 아니고, 대부분 pods를 독립적으로 구성하는 deployment 들로 작업이 이루어질 것이다. 모든 쿠버네틱스 오브젝트는 Kubernetes YAML 파일에 명시가 되어있다. 이 yaml 파일은 쿠버네틱스의 컴포넌트와 configuration을 지정하고, 쿠버네틱스 앱을 만들거나 없애는 작업을 해준다. 예시를 보자. --.. 2019. 11. 5.
[Docker] 공식문서 도전기 #4 Containerize 이 과정에서는 단계가 3단계로 이루어져있다. 1. 도커 이미지를 통해 컨테이너를 만들고 작동시켜보자. 2. 컨테이너들을 한데 모아 쿠버네티스 yaml 파일로 조립해보자. 3. 컨테이너화한 어플리케이션을 테스트, 공유, 디플로이 해보자. 먼저 예시 프로젝트를 클론해보자. 클론된 폴더의 bulletin board app 이 우리가 컨테이너화 할 앱이다. package.json이 있는 위치에 Dockerfile이 있다. 안에는 이렇게 적혀있다. 도커파일로 컨테이너화를 할건데, 파일시스템을 어떻게 통합할건지, 어떤 이미지를 기반으로 작동시킬건지 등을 입력해준다. 위에서부터 해석해보자. FROM node:6.11.5 - nodejs 6.11.5 -> nodejs 이미지를 사용하겠다. WORKDIR /usr/src.. 2019. 11. 4.
[Docker] 공식문서 도전기 #3 setup 여기서는 도커 환경설정을 해 볼 것이다. 컨테이너는 도커 daemon에서 실행되는 running process인 것이고, namespace를 통해 호스트와 다른 컨테이너들로부터 분리되어 있다. 컨테이너 분리의 가장 중요한 부분중 하나는 각각의 컨테이너가 도커 이미지로부터 제공된 독립적인 filesystem에 의존한다는 점이다. Kubernetes 설정 도커는 이미 #1에서 설치했기 때문에, Kubernetes 실행 설정만 해주자. Setting에 Kubernetes 들어가서 Enable Kubernetes 해주고 좀 기다리면 쿠버네티스 설정이 완료된 것을 확인할 수 있다. 좌하단에 Kubernetes is running 을 확인할 수 있다. 제대로 작동하는지 확인하기 위해서 pod.yaml 파일에 아래와.. 2019. 11. 4.
[Docker] 공식문서 도전기 #2 Overview 여기랑 여기 내용을 담습니다. 도커는 어플리케이션을 개발하고, 옮기고, 배포하는 플랫폼이다. 어플리케이션을 개발 인프라와 분리하기 때문에 배포가 매우 간단해진다. 컨테이너 내에서 개발하고, 또 컨테이너 단위로 배포 및 테스트를 거친다. 도커를 어디에 쓸까? : CI / CD 도구 도커는 로컬 컨테이너라는 정형화된 환경을 제공하기 때문에, 지속적인 통합/발전 시스템을 구축하기 매우 적합하다. 개발한 코드를 도커 컨테이너를 통해 공유할 수 있고, 어플리케이션을 테스트 할 수 있고, 테스트가 오류가 나면 개발환경에서 고친다음에 테스트 환경에 쉽게 통합할 수 있고, 테스트가 완료되면 업데이트된 이미지를 배포하기만 하면 된다. Docker architecture 도커의 구조를 설명하는 모식도이다. 백그라운드 프로.. 2019. 11. 4.
[Docker] 공식문서 도전기 #1 첫 시작 우선 docker.com 에 접속하여, 여기에 들어가서 Download Desktop and Take a tutorial 을 눌렀다. Get Started with Docker Desktop을 누르면 나오는 화면이다. 윈도우 다운로드 하고 설치를 진행해보자. 설치파일을 클릭고 설치를 완료했다. 원하는 로컬에 clone을 한다. 내용물은 대충 이렇다. docker build 명령어는 폴더 내 Dockerfile을 이용하여 로컬 도커 Repository에 도커 이미지를 생성해준다. 생성된 도커 이미지는 docker image ls 를 통해 확인할 수 있다. 이제 만들어진 이미지를 실행하여 컨테이너를 작동시켜보자. docker run -it --rm riverandeye/cheers2019 --rm은 생성된 .. 2019. 11. 4.