tqdm이라는 것이 있습니다.
터미널의 텍스브 모드에서 간단하게 특수기호를 이용해서 프로그레스파를 반들어주는 것을 볼 수 있습니다.
파이썬 패키지 중에 tqdm이라는 것이 있는데 tqdm은 터미널커맨드도 지원하고 파이썬 코드내에서도 쓸 수 있습니다.
쉽고 편하고 깔끔합니다. 그림을 보세요.
자세한 내용은 tqdm의 github을 참고하세요.
tqdm이라는 것이 있습니다.
터미널의 텍스브 모드에서 간단하게 특수기호를 이용해서 프로그레스파를 반들어주는 것을 볼 수 있습니다.
파이썬 패키지 중에 tqdm이라는 것이 있는데 tqdm은 터미널커맨드도 지원하고 파이썬 코드내에서도 쓸 수 있습니다.
쉽고 편하고 깔끔합니다. 그림을 보세요.
자세한 내용은 tqdm의 github을 참고하세요.
데이터과학과 젠킨스 무슨 관계인지 궁금할 수 있습니다.
Jenkins는 소프트웨어를 지속적으로 빌드하고 배포하기위한 CI/CD 도구이기 때문입니다.
젠킨스에는 스케줄러가 있는데 데이터프로세싱을 할때 스케줄러로 사용하기에는 젠킨스가 너무 좋습니다.
우분투 리눅스에 Jenkins “젠킨스”를 설치하는 방법입니다.
젠킨스는 두가지 릴리즈(배포) 버전을 제공합니다.
Long Term Support Relase 롱텀서포트 릴리즈
Weekley Release 위클리 릴리즈
롱텀서포트 릴리즈는 나중에 업데이트하지 않고도 오래동안 쓸 수 있는 매우 안정적인 버전이지만 업데이트가 잘 안됩니다.
위클리 릴리즈는 일주일에 한 번씩 업데이트되는 최신 버전이지만 버그도 있을 수 있고 조금 불안한 구석이 있습니다.
안전하게 롱텀서포트를 설치하는게 낫습니다.
리눅스 쉘 명령어 세트입니다. 5줄로 되어 있는데 앞의 3줄은 한 세트입니다. 3개의 세트로 된 명령을 연달아 실행해 주면 설치가 됩니다.
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
OpenJdK라는 것을 설치하면 됩니다.
sudo apt install openjdk-11-jdk
쉽고 빨리 배우는 후루룩 개발 시리즈입니다.
Docker “도커”라는 것이 있습니다.
개발 세계에서 말하는 도커는 배가 정박하는 그 도커가 아닙니다.
도커를 흔히 컨텐이너라고 부릅니다. 화물 실어 나를때 배에 싣는 큰 쇠로된 상자인 컨테이너와 같은 것은 아니지만 개념은 비슷합니다.
1대의 서버에 전혀 다른 소프트웨어를 설치해서 사용하다보면 서로 궁합이 안 맞아서 한쪽이 설치가 안되거나 작동이 안되는 일이 발생합니다.
필요한 소프트웨어들을 버에 설치할 때 같이 필요한 소프트웨어들이 엄청 많이 필요할 수 있습니다.
몇 세트를 설치하다보면 이제 세트들끼리 서로 충돌을 하는 소프트웨어들이 생깁니다. 뭐 이런일들입니다.
세트A: ”b가 설치되어 있으면 나는 작동못해”
세트B: “b는 나한테 꼭 필요해”
이 외에도 여러가지 복잡한 일들이 생깁니다. 이 문제를 해결할 수는 있지만 소프트웨어 세트가 복잡하고 많고 오래될 수록 점점 지옥이 되갑니다.
그래서 하나의 서버에 전혀 다른 서버인 것처럼 환경자체를 가상으로 구별하고 마치 다른 소프트웨어가 설치되어 있지 않은 것처럼 깨끗하게 분리할 수 있는 방법이 개발되었습니다.
이걸 영어로 virtualziation “버추얼라이제이션”이라고 하고 우리말로는 “가상화” 라고 합니다.
도커는 가상화 소프트웨어입니다. 즉 서버의 환경을 분리해주는 것입니다.
물론 가상화는 이것보다는 설명할 것이 더 많습니다만 우선 여기까지만 이해하세요.
도커를 CI/CD에도 쓰면 좋습니다.
별것 아닌것 같지 개발자를 편하게 해주는 것입니다.
문과능력자, 예능능력자 위한 개발 쉽게 이해하기 시리즈
개발자 용어로 CI/CD 라는 것이 있습니다.
“씨아이 씨디”라고 발음합니다. 콤팩트디스크 아닙니다.
CI/CD는 Continuous Integration / Cotinuous Deployment의 약어입니다.
CI = Continuous Integration 는 지속적 통합
CD = Continuous Deployment 는 지속적 배포
입니다.
용어가 어려워 보이지만 알고보면 별거 아닙니다.
소스코드를 소프트웨어가 실행되도록 구현체를 반드는 것을 빌드라고 합니다. 빌드를 소스코드를 고칠때마다 계속해서 실행해서 언제라도 소프트웨어를 배포할 수 있게 준비하는 것을 CI라고 부릅니다. 소스코드를 고쳐서 저장소에 업데이트할 때마다 자동으로 소프트웨어가 빌드됩니다.
그리고 자동으로 빌드된 소프트웨어가 자동 또는 반자동으로 서비스에 배포되는 것을 CD라고 합니다.
소스코드 고침 -> 빌드 됨 -> 자동으로 테스트 해줌 -> 빌드에서 오류가 발생하면 경고 메세지가 나타남 -> 다시 빨리 고침
가상 환경 준비 -> 빌드된 소프트웨어가 잘 작동하는지 테스트 -> 오류이면 경고 -> 패쓰 후에 자동으로 서비스에 적용 또는 제품소프트웨어 배포
서비스 업체(구글이나 네이버, 페이스북 같은데들)은 소프트웨어를 빌드한 후에 잘 작동하는지 실험하는 것도 큰 일이고 부담이 됩니다. 이것을 자동화해서 소프트웨어가 빌드될때마다 잘 작동하는지 지속적으로 테스트하고 테스트가 완료되면 자동으로 배포해서 최신으로 유지합니다.
다 개발자들 편하고 장애(에러)가 생기는 것을 줄이기 위한 것입니다.
이런 일을 해주는 시스템을 만들고, 구축하고, 관리하는 사람을 요즘은 DevOps “데브옵스”라고 부릅니다.
Development Operations의 약어입니다. 즉 개발환경을 운영하는 사람을 말합니다.
브런치에 TCP 를 쉽게 배울 수 있는 좋은 글이 올라와서 소개드립니다.
TCP/IP 인터넷 네트워크 프로토콜에 대해서 아주 쉽게 배울 수 있는 자료인 것 같아서 추천합니다.
전 브런치나 이 글의 저자와 아무런 관련이 없어요. 😐
링크를 눌러서 이동하세요.