-
[비공개] 라면 레시피로 쉽게 이해하는 Docker
Docker는 이미지이자 컨테이너다. 세상에서 가장 맛있는 라면을 만드는 식당이 있다. 그 라면을 먹기 위해 식당 앞은 손님들로 장사진을 친다. 하지만 물리적 공간 제한으로 고작 20명만 먹을 수 있다. 나머지는 발걸음을 돌려야 한다. 요리사는 좀 더 많은 사람들에게 라면을 판매할 수 없을까 고민한다. 그는 라면 레시피와 라면 제조기를 판매하기로 마음머고 레시피를 웹 사이트에 게시한다. 라면 제조기는 이 레시피를 입력하면 식당에서 판매하는 라면과 100% 같은 맛과 풍미를 느끼게 요리해 준다. 발걸음을 돌린 손님은 이 레시피를 내려받아 라면 제조기에 입력한다. 5분 뒤에 세상에서 가장 맛있는 라면을 먹을 수 있게 된다. 이제 더이상 라면을 먹기 위해 긴 줄을 설 필요가 없다. Docker는 라면 레시피이자 라면을 만드는 기계다. 어디서나 완벽한 ..추천 -
[비공개] 웹 페이지 조회 건수 보여주기 - docker compose 이용
웹 사이트 접속할 때 조회 건수를 보여주는 페이지를 만들어 보자. 파이썬 flask와 redis를 이용한다. flask는 초경량 웹서버, redis는 간단한 기록을 담당한다. app.py from flask import Flask from redis import Redis import os app = Flask(__name__) redis = Redis(host='redis', port=6379) @app.route('/') def hello(): redis.incr('hits') return f'안녕하세요! 이 페이지는 {redis.get("hits").decode("utf-8")}번 조회되었습니다!\n' if __name__ == "__main__": app.run(host="0.0.0.0", debug=True) flask 웹 서버와 redis를 이용해 조회건수를 보여주는 소스다. requirements.txt flask redis docker 이미지 만들 때 필요한 패키지를 작성한다. Dockerfile FROM python:3.9-slim WORKDIR /app COPY . . RUN pip install -r requirements.txt CMD ["python", "app.py"] docker 구동 시 참고할 정보다. requirements.txt를 읽어 모듈을 설치하고 app.py를 구동한다. docker-compose.yml version: '3'..추천 -
[비공개] 뉴스 기사 추출하는 코드 만들어 줄래? 3탄 docker 결과 파일 ..
지난 포스팅에 뉴스기사 크롤링 소스를 도커에 올려서 실행해 보았다. 한 걸음 더 나아가서 도커 컨테이너가 생성한 크롤링 결과 파일을 확인하고 로컬에 옮겨보자. 크롤링 및 도커 기본 지식이 필요하면 이전 포스팅을 참고하자. 2024.12.27 - [코드리뷰/chatGPT(Python)코드] - 뉴스 기사 추출하는 코드 만들어 줄래? 1탄 (Chatgpt / Claude) 뉴스 기사 추출하는 코드 만들어 줄래? 1탄 (Chatgpt / Claude) 네이버 최신 뉴스 헤드라인을 추출해 보자.일반적으로 웹 데이터를 추출하는 것을 웹크롤링이라 한다. 주로 파이썬을 이용해 웹 페이지 분석 후 필요한 데이터를 가져오는 코드를 작성하는데, iamgus.tistory.com 2024.12.27 - [분류 전체보기] - 뉴스 기사 추출하는 코드 만들어 줄래? 2탄 docker 올려보자 뉴스 기사 추출하는 코드 만들어 줄래? 2탄 docker 올려보자 지난 시간에 ..추천 -
[비공개] 뉴스 기사 추출하는 코드 만들어 줄래? 2탄 docker 올려보자
지난 시간에 인공지능에 지시해 만든 웹 크롤링 프로그램을 docker로 배포해 보자. 2024.12.27 - [코드리뷰/chatGPT(Python)코드] - 뉴스 기사 추출하는 코드 만들어 줄래? (Chatgpt / Claude) 뉴스 기사 추출하는 코드 만들어 줄래? (Chatgpt / Claude) 네이버 최신 뉴스 헤드라인을 추출해 보자.일반적으로 웹 데이터를 추출하는 것을 웹크롤링이라 한다. 주로 파이썬을 이용해 웹 페이지 분석 후 필요한 데이터를 가져오는 코드를 작성하는데, iamgus.tistory.com 장점은 이미지로 배포하고 실행할 때는 컨테이너에 올리기 때문에 호환성 문제와 독립된 환경을 가질 수 있다. 즉, 파이썬 설치하거나 selenium은 같은 패키지 등을 배포하는 작업 없이 docker 이미지에 다 포함시키면 된다. 단점은 docker를 어느정도 이해하고 있어야 한다. 명령어를 익히고 몇 가지 샘플을 만들어 보는 ..추천 -
[비공개] 뉴스 기사 추출하는 코드 만들어 줄래? 1탄 (Chatgpt / Cl..
네이버 최신 뉴스 헤드라인을 추출해 보자. 일반적으로 웹 데이터를 추출하는 것을 웹크롤링이라 한다. 주로 파이썬을 이용해 웹 페이지 분석 후 필요한 데이터를 가져오는 코드를 작성하는데, 웹 페이지 소스코드 분석과 파이썬 크롤링 코드 작성이란 쉽지 않은 관문이 있다. 물론 웹 개발 경험이 있다면 쉽게 코드를 구현할 수 있겠지만 그렇지 않을 경우는 자동화 코드를 만들기 쉽지 않다. 이런 어렵고 복잡한 부분은 인공지능에게 작업하게 하고 우리는 그 결과에 피드백을 제공하면 원하는 결과물을 얻을 수 있지 않을까 생각한다. 인공지능과의 채팅은 누구든 할 수 있으니 말이다. 1. 어떤 데이터를 추출할 것인가? 네이버 뉴스 기사 웹 페이지에 접속해 URL 을 카피하자 > https://news.naver.com/section/104 네이버 뉴스 헤드랑ㄴ 2. 웹 페이지 정보 추출 지..추천 -
[비공개] Docker 이해하는 세상에서 제일 쉬운 예제 만들기 - 도커허브에 ..
Docker를 언제 어디서든 사용하려면 공유 공간에 이미지를 올려야 한다. 디폴트는 도커허브다. https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more. hub.docker.com 도커허브에 사용자 계정을 만들고 이미지 저장소를 이용해 보자. 1. docker hub login 하기 (1) docker hub에 사용자 계정을 만든다. (2) CLI로 docker credential을 생성한다. docker hub id/pwd 인증을 하는 단계로 성공하면 credential이 생성된다. 그다음부터는 인증창 없이 바로 접속된다. docker login docker login 위 docker 사이트 링크를 띄워 인증한다. ctrl + click -> 브라우저 실행하고 입력창에 코드를 넣고 엔터를 친다. 맞으면 login이 성공한다. docker login 2. docker images ..추천 -
[비공개] Docker 이해하는 세상에서 제일 쉬운 예제 만들기 - 기본 명령어 1
Docker 이해하기 위한 세상에서 제일 간단한 프로그램을 만들어 보자. "Hello, Docker World!" 출력하기 Docker를 한 줄로 정의하면, 개발, 실행 환경과 관계없이 언제 어디서든 프로그램을 실행할 수 있고 같은 결과를 가져오는 일종의 가상환경이다. 개발환경과 실행가능한 바이너리/라이브러리까지 모두 하나의 이미지로 만들고 필요할 때 도커에 컨테이너로 구성해 사용한다. 일반적인 가상화 컴퓨팅보다 훨씬 효율적으로 자원을 사용하며 사용법이 간단한다. 실제 만들어 보자. 1. Docker 설치하기 https://www.docker.com/ 접속해 자신의 OS에 맞는 설치파일을 다운로드하여 설치한다. docker 설치 2. docker에서 실행할 간단한 프로그램을 만들자. print("Hello, Docker World!") 파이썬 소스로 만든 "Hello~" 출력문이다. hello.py로 저장하고 py hello.py로 실행해 보자. 3. docker 이미지 설..추천 -
[비공개] 오늘의 뉴스 헤드라인 추출하기 - 도커와 파이썬 크롤러
네이버 뉴스에 접속해 오늘의 헤드라인을 추출해 도커에서 관리해 보자. 파이썬 크롤러를 소스코드를 작성하고 도커로 이미지화하고 필요할 때 컨테이너로 가져와 사용하는 컨셉이다. 물론, 간단한 파이썬 크롤링을 도커로 둘러살 필요는 없지만 어디까지나 도커실습이다. 응용 프로그램을 만들기 위한 실습이라고 보면 될 것이다. 1. 파이썬 코드 (뉴스 크롤링) import requests from bs4 import BeautifulSoup def fetch_headlines(): url = "https://news.naver.com/section/104" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36" } response = requests.get(url, headers=headers) response.raise_for_status() # HTTP 요청이 성공했는지 확인 soup = BeautifulSoup(response.text, "html.parser") # 결과를 저장할 리스트 news_headlines = [] ..추천 -
[비공개] 쿠바네티스 hello world 페이지 만들기
지난 시간에 쿠바네티스 환경 구축 및 간단한 서비스를 만들어 보았다. 이번에는 한 걸음 더 들어가서 웹 사이트에 접속해 hello world가 출력되는 페이지를 만들어 보자. 함께 따라 해보면 쿠바네티스 돌아가는 원리가 보일 것이다. 쿠바네티스트 환경 구축은 이전 포스트 참고하시라. 2024.12.01 - [코드리뷰] - 내 PC에 도커와 쿠바네티스 구축하기 내 PC에 도커와 쿠바네티스 구축하기 가상화 개발이 기본인 세상이다. 도커와 쿠바네티스를 모른다면 클라우드 개발이 불가능하다는 인식을 가져야 한다. 쉬운 이해를 위해 내 pc에 도커와 쿠바네티스를 설치하고 nginx 웹서버를 구 iamgus.tistory.com 로컬에 쿠바네티스를 올리고 hello world 페이지를 위한 서비스를 등록하자. 1. Deployment 생성 nginx-deployment.yaml 파일로 저장한다. 쿠바네티스에 올라갈 deploy yaml파일이다...추천 -
[비공개] 내 PC에 도커와 쿠바네티스 구축하기
가상화 개발이 기본인 세상이다. 도커와 쿠바네티스를 모른다면 클라우드 개발이 불가능하다는 인식을 가져야 한다. 쉬운 이해를 위해 내 pc에 도커와 쿠바네티스를 설치하고 nginx 웹서버를 구축해보았다. [Kubernetesnginx 웹서버 구성하기] 내 노트북에 Kubernetes 환경 구성.pdf 0.25MB추천