목록Etc/Study (34)
불친절한 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cnXpb2/btqXwcaU30N/oqh3RpUHQJk4fon9wlRPIk/img.png)
프로젝트를 받을 위치를 정해서 폴더에서 오른쪽 버튼을 누른 뒤 'Git Bash Here'를 누른다. 그럼 Git 전용(?) CMD창이 뜬다. 짜잔! 가져올 프로젝트의 주소를 알아와야 한다. GitLab에서 올라가 있는 프로젝트에 들어간 뒤 Clone을 누르면 주소가 뜬다. 복사한다. 이제 아까 CMD 창에 명령어를 입력한다. $ git clone '복사한 git주소' 드륵드륵 사용하는 코드 툴을 켜서 프로젝트를 연다. 끝이다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TZnDu/btqW8FZ6i3m/PROzv6fVIPxB6g7HkYUMr1/img.png)
요새 더욱더 집중되고 있는 기술이라고 생각한다. 전에는 연구단계여서 그런지 상용화가 덜 된 느낌이였는데 지금은 사용자의 습관을 반영해주는 네비게이션, 알파고, AI를 통해 지금은 들을 수 없는 옛가수들의 다른노래들 등등 이러한 기술들이 어떻게 가능한걸까? 무슨 원리일지 궁금하다. 그 시작은 기계학습(Machine Learning)이다. 경험을 통해 자동으로 개선/학습하는 컴퓨터 알고리즘의 연구이다. 문뜩, 샤워를 하다가 샴푸로 머리를 감고, 비눗방울을 만들다가 다른 날에 샴푸로 머리를 감고, 바디워시로 몸을 씻다가 비눗방울을 만들어보면서 이상한 생각을 했다. 샴푸와 바디워시를 섞은 비눗방울이 샴푸로만 만든 비눗방울보다 더 잘만들어질까? 이러한 의문이 '가설'이다. 가장 많이 사용되는 예시로는 강아지/고양..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bg20lP/btqWzstBaJC/HwkTrK2uLOUYl505fndlKk/img.png)
Lighthouse란? 웹 앱의 품질 개선하는 오픈 소스 자동화 도구다. 크롬 개발자 모드에 들어가면 확인할 수 있다. Lighthouse를 통해서 PWA 검사를 할 수 있다. 네이버를 검사해보았다. 검사 항목들을 보면 PWA로는 부적절하다고 표기된다. PWA 예제로 가장 유명한 트위터를 검사해보았다. PWA를 인정해주는 모습을 확인할 수 있다. 이러한 조건들을 충족시키면 PWA가 될 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dH4Cql/btqVV4fnRJn/Yz2UpODZSPJY1EBD1zAWy0/img.png)
현재 만들어져있는 이미지 두개를 docker hub에 올리기 위해 docker image를 확인한다. $ docker images docker 로그인을 진행한다. $ docker login docker hub로 push 한다. $ docker push ['프로젝트명']:['태그'] 아씌 왜 안되냐... 구글링 ㄱ 원인은 두가지 1. docker hub 아이디 잘못한거 아니냐? 2. 프로젝트 명 앞에 docker hub 아이디가 안들어가냐? 그럼 맞게 변경해준다. $ docker image tag ['변경전 프로젝트 명']:['변경전 태그'] ['Docker Hub ID']/['프로젝트 명']:['태그'] 다시 push한다. 드르륵 드르륵 dockerhub 페이지에서 확인 굳굳!
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pcyYj/btqURvy0zqz/FXNdnpB9wcc668C17xkdM0/img.png)
http://localhost:5000/ 로 서버세팅을 한 후에 먼저 GET 방식으로 호출을 해보려고 코드를 app.py에 작성해보았다. 이후 postman으로 서버 주소와 app.route를 적어준다. http://localhost:5000/data/get 성공적으로 값이 왔으면 success 값이 출력 될 것이다. GET 방식은 url 뒤에 데이터를 붙여 통신하기 때문에 그 예제에 대해 실습해보았다. 코드를 작성하고, 내가 원하는 데이터 'bast_data'를 url에 붙여서 호출한다. postman으로 결과값을 확인하면 내가 url에 붙여준 데이터가 성공값으로 출력된다. 이번엔 POST 방식으로 값을 받아보려고 한다. POST는 JSON 형식으로 따로 값을 만들어서 보내준다. url 뒤에 붙는 데이..
상황 : AWS ec2 인스턴스를 구성해서 서버로 jupyter lab을 모두가 사용할 수 있게 환경을 만들어놓았다. 어느 순간 jupyter lab이 뻗었다. 너무 많은 부하를 줘서 그렇다고 판단해서 인스턴스를 재부팅하고 다시 jupyter lab을 실행하였다. jupyter lab를 재실행한지 얼마 안되서 서버가 끊겼다. 원인 : aws 인스턴스 cmd 창을 종료하면 당연히 실행중인 jupyter lab이 종료된다...... 해결방안 : jupyter lab을 백그라운드로 돌려준다....
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEZLpi/btqNzqepQYw/mKc5tKkIxtQLLIBR7krLl1/img.png)
kubernetes.io에 접속하니 각종 설명들이 있고, 튜토리얼을 누르니 직접 쿠버네티스를 구동해볼 수 있는 환경이 구축되어 있었다. minikube 버전을 확인하고, minikube를 실행해보았다. 클러스터 정보, 상세정보를 확인한다. 데이터베이스 테이블 보듯이 클러스터 노드를 확인할 수 있다. 실제로 쿠버네티스를 직접 시현해봄으로써 좀더 쿠버네티스를 이해하기 쉬워질 것 같다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/weoYy/btqNCy20wHU/hJnZvDFLkkukLiwaP9k191/img.png)
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 쿠버네티스 설명만 봤을때는 확 와닿지 않는다. 뭔가 어디서나 쉽게라고 표현 하는데 왜 쉬운지 자세히 알아보려했다. Traditional Deployment 서비스를 띄우기 위해서 한 물리 서버에서 여러개의 서비스를 올렸을 때, 서비스들의 리소스 한계를 알 수 없어서 리소스 할당의 문제가 발생했다. 예로 한 서비스가 리소스 차지를 높게 하면 다른 서비스 성능이 저하된다. 이의 해결방안으로 여러 물리 서버를 구성하..