분류 전체보기 189

GRPC (1) - grpc란 무엇일까요?

출처 : grpc.io/docs/what-is-grpc/introduction/ (영어, 어려움) 출처 : blog.naver.com/n_cloudplatform/221751268831 (한국어, grpc가 나오게 된 과정) 1. HTTP/2 GRPC란 google 에서 만든 google remote procedure call의 준말입니다. 회사에서 사용하기로 해서 공부를 해 보기로 했습니다. GRPC가 나오기 전에, Server - Client model, Socket, RPC, REST 등 여러 프로토콜이 있었는데, 이 모든 프로토콜의 문제는 HTTP/1.1 을 사용한다는 점이었습니다. http/1.1 과 http/2.0의 차이는 상당히 큰데, 그림으로 보시는 것 과 같이 http/2 는 비동기 통신..

Network/protocols 2020.12.29

SFTP 사용법과 사용하는 이유

보통 linux 서버에 접속할 때 ssh를 사용합니다. 파일을 전송할 때는 scp를 사용합니다만, ssh를 외우고 있는 사람도 scp 커맨드를 다 외우고 있지는 않은 경우가 많습니다. 특히 scp는 연결되어 있는 상태에서 하다 보니깐 모든 커맨드를 외워서 해야하기 때문에 바로바로 debugging을 하기가 힘든 경우가 많아서 여러 커맨드를 할 때 불편합니다. 그럴 때 SFTP를 사용하면 편합니다. 윈도우라면 PUTTY 를 사용하는 것도 좋은 방법일 수 있을 것입니다. www.digitalocean.com/community/tutorials/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server (영어. 자세함) hongci.tistory.com/..

Linux/Ubuntu 2020.12.18

컨테이너 업데이트와 Docker Compose

출처 : subicura.com/2017/01/19/docker-guide-for-beginners-2.html Container Update 지금까지 도커를 왜 사용하는지, 도커가 왜 좋은지, 그리고 도커의 사용방법에 대해서 알아보았습니다. 하지만 도커가 이미지에서 컨테이너를 만드는 방법이라면, 이미지에서 컨테이너를 만들때마다 Fresh한 컨테이너가 계속 생성될 텐데, 그 데이터는 어떡하나요? 이를 방지하기 위해 쌓아놨던 데이터는 AWS S3같은 스토리지에 저장하거나, 아님 호스트의 데이터 볼륨을 이용하여 저장하여야 합니다. 이를 위해 run 명령어에 -v 를 추가해서, 추가해줍니다. # before docker run -d -p 3306:3306 \ -e MYSQL_ALLOW_EMPTY_PASSWOR..

Cloud/Docker 2020.12.10

linux log 생성하기

m.blog.naver.com/ice0423/221932781410 리눅스에서 로그는 정말 중요한 도구입니다. 리눅스 자체에서 echo를 사용하여 출력을 할 수도 있고, python 파일을 실행할 때 print를 하는것도 파일에 저장할 수 있다면 그걸 나중에 볼 수 있기 때문에, 훨씬 좋다고 봅니다. 로그를 저장하는 방법은 간단합니다. > 한개는 파일 생성, (덮어쓰기) >> 두개는 파일 에 붙여쓰기 입니다. $ python3 file.py > file.log # file.log 있을 경우 지우고 새로 생성 $ python3 file.py >> file.log # file.log 있을 경우 그 이후 붙여씀 joonyon.tistory.com/98 쉽게 설명한 nohup 과 &(백그라운드) 명령어 사용법 ..

Linux/Ubuntu 2020.12.08

도커(docker) 기본 commands

출처 : subicura.com/2017/01/19/docker-guide-for-beginners-2.html 컨테이너 목록 확인하기 (ps) docker ps [-a] ps는 실행 중인 컨테이너 목록, -a 옵션은 실행 중이지 않은 컨테이너 목록도 보여줍니다. 컨테이너 중지하기 (stop) $ docker stop [OPTIONS] CONTAINER [CONTAINER...] option은 별거 없고 container id를 여러 개를 띄어쓰기를 이용해서 입력하면 됩니다. $ docker ps # get container ID $ docker stop ${TENSORFLOW_CONTAINER_ID} $ docker ps -a $ show all container 도커 id 는 64자리인데, 앞에 4자..

Cloud/Docker 2020.12.07

도커(docker) version, run으로 여러가지 컨테이너 실행하기

출처: subicura.com/2017/01/19/docker-guide-for-beginners-2.html docker version 버전을 확인합니다 (client와 Server 정보가 출력됩니다) 도커는 Client와 Server역할을 동시에 수행할 수 있습니다. 도커 커맨드를 입력하면 도커 클라이언트가 도커 서버로 명령을 전송하고 결과를 받아 터미널에 출력합니다. docker run 컨테이너를 실행합니다. 이미지가 저장되어 있는지 확인하고 이미지가 없다면 다운로드 (pull)한 후 컨테이너를 생성하고 시작합니다. docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 자주 사용하는 옵션들입니다. 옵션설명 -d detached mode 흔히 말하..

Cloud/Docker 2020.12.07

도커(docker) 설치하고 실행하기

subicura.com/2017/01/19/docker-guide-for-beginners-2.html 리눅스에 도커 설치하기 curl -fsSL https://get.docker.com/ | sudo sh 도커는 기본적으로 리눅스 컨테이너이기 때문에 이렇게 설치하는게 제일 쉽다. sudo 없이 사용하기 docker 는 기본적으로 root 권한이 필요하기 때문에, root가 아닌 사용자가 sudo 없이 사용하려면 해당 사용자를 docker그룹에 추가합니다. 만약 없다면 docker group을 만들어주고, $sudo groupadd docker groups 치면 어떤 group 이 있는지 알 수 있다. $sudo usermod -aG docker $USER # 현재 접속중인 사용자에게 권한주기 $sudo..

Cloud/Docker 2020.12.04

도커(docker)의 기본개념(basics)

전에 일했던 회사에서, LEMP 스택(linux, nginx, mysql, php)을 사용하면서 서버환경의 중요성과 까탈스러움을 알게 되었고, 개발환경과 실제 환경의 차이를 없애기 위해서 가상머신을 사용했습니다. 최대한 실제환경을 똑같이 하기 위해서, Virtual Machine(VirtualBox)과 Vagrant를 사용하였으며, Virtual machine인 만큼 잘 작동하였습니다. 물론, Simulated 된 가상환경을 사용하기도 하고. MAMP나 Laravel Valet 등의 php에 특화된 툴을 사용하기도 하였는데, Virtual machine이 아닌 관계로 에러가 나는 경우가 가끔 있었습니다. 하지만 Virtual Machine의 단점은, 너무 느리다는 점이었습니. 그런 면에서 Docker는 ..

Cloud/Docker 2020.12.04

Gradle이란?

Spring을 개발하다보면 계속 나오는 용어 중 하나가 Gradle, Maven, Groovy, Ant, 등이 있다. 여느때 처럼 잘 정리되어 있는 링크 하나 깔고 가도록 하자. blog.naver.com/rnd5691/222108089028 [Gradle] #1.Gradle 개요 및 Maven과의 차이점 1.GradleGradle는 Maven 처럼 빌드 도구이며, Ant와 Maven을 개선해서 나온 비교적 최신 빌드 도구이... blog.naver.com Gradle이란? Gradle은, Apache Ant 및 Apache Maven의 개념을 기반으로 하는 오픈 소스 빌드 자동화 도구이다. Groovy 기반의 DSL(Domain Specific Language)로 작성되어 있어, 동적인 빌드가 가능하다..

스프링과 스프링 부트의 차이

sas-study.tistory.com/274 [번역글] 스프링 vs 스프링 부트 차이 비교하기! DZone이라는 사이트에서 번역해서 가져온 글입니다. 간단히 읽어보시고 원문을 읽어보고싶으시면 아래 url로 들어가셔서 바로 보시면 될것 같습니다. 참고문 정도로 보시면 좋겠습니다. 원문 : htt sas-study.tistory.com 언제나 그렇지만 위의 링크에 잘 정리가 되어있다. 요약하자면, 스프링은 자바의 웹개발 프레임워크 중에서 가장 인기있고 많이 쓰이는 프레임워크이다. 특히 우리나라에서는 거의 압도적이라고 볼 수 있다. 내가 웹개발자로 취업하려고 했을 때도, 중소기업에서는 PHP, Javascript 를 쓰는 경우가 왕왕 있었지만, 결국 대기업은 95% 이상이 Java를 사용하고, 중견기업도 반..