728x90
반응형

전체 글 196

[스파르타코딩클럽] 핵심쏙쏙 AWS 1주차 일지

배운 내용💡 넷플릭스에서 AWS를 활용하는 사례에 대해 알아보았다.💡 AWS가 제공하는 서비스들이 엄청 많기 때문에 잘 사용하기 위해서는 먼저 잘 사용하고 있는 회사들이 어떻게 사용하고 있는지 잘 봐야한다.💡 IAM을 활용해보았고, IAM에서 생성한 사용자로 SDK 라이브러리를 활용해보았다.💡 S3의 정적 호스팅 기능을 이용하면 웹서버 없이도 정적페이지를 웹사이트로 만들 수 있다. 1주차 과제S3의 정적 호스팅 기능을 활용하여 웹페이지를 외부에 공개하기 회고평상시에 AWS를 사용할 일이 있을 때마다 인터넷에 올라온 글을 보고 따라해보기만하다가, AWS 강의를 들으면서 직접 공부를 시작해보니 새롭게 알게되는 부분도 많았다. AWS를 잘 활용하기 위해서는 AWS를 잘 활용하고 있는 기업의 사례를 잘..

Boto3를 활용한 AWS S3 파이썬 연동 및 S3 정적호스팅 기능을 활용해 외부에 공개하기(feat. S3 비용 계산)

Boto3을 활용한 Python과 AWS 연동 먼저 터미널에 'pip install boto3'을 입력하여 boto3이라는 패키지를 설치한다. boto3은 aws와 연동하기 위해 사용하는 라이브러리이다. 간단하게 아래 웹페이지에서 파일 업로드 및 저장을 클릭할 경우, AWS S3에 파일이 자동으로 저장되도록 구현할 것이다. 아래는 boto3을 활용하여 파이썬과 AWS S3를 연동하는 코드이다. Flask를 사용하였고, Bucket="{버킷이름}"에서 {버킷이름} 대신 S3와 연동할 버킷 이름을 넣어주면 된다. import boto3 #aws와 연동하기 위해 사용하는 라이브러리 from flask import Flask, render_template, request, jsonify app = Flask(_..

AWS/실습 기록 2021.09.17

IAM을 이용하여 AWS SDK 활용한 S3 파일 업로드하기

IAM이란? IAM은 Identity and Access Management의 약자로, AWS의 리소스에 대한 개별적으로 접근제어와 권한을 가지도록 계정 또는 그룹을 생성, 관리하는 서비스이다. 어떤 IAM 계정은 EC2 서비스만 접근할 수 있도록 권한을 부여하고, 다른 IAM 계정은 S3 서비스만 접근할 수 있도록 권한을 나눌 수 있다. IAM 계정이 없다면 AWS 계정 자체가 모든 서비스에 대한 권한이 있기 때문에 보안상 취약하다. 따라서 IAM 계정을 생성해서 각 IAM 계정에 필요한 권한만 갖도록 설정할 수 있다. 또한 IAM 계정은 access key를 개별적으로 관리할 수 있기 때문에 보안성이 높아진다. 1. IAM 사용자 생성 사용자 추가 먼저 IAM으로 들어간다. 그리고 "사용자"로 들어가..

AWS/실습 기록 2021.09.16

AWS를 사용하는 기업 사례 알아보기 - 넷플릭스

1. 클라우드란 무엇인가? AWS는? 클라우드는 기존의 서버 컴퓨팅 시장을 빠르게 대체하는 산업이다. 클라우드의 성장으로 인해 인프라 아키텍트의 수요가 늘고있고, IT 어떤 분야 보다 임금 또한 가파르게 상승하고 있다. 이전에는 직접 데이터센터나 기계실을 보유하여 온프레미스 환경에서 가동시키던 서버들을 클라우드 상의 가상 인스턴스로 옮기고, 데이터베이스나 네트워크와 같은 클라우스 서비스를 이용하는 형태로 변경되고 있다. 클라우드는 우리가 만든 서비스를 돌아갈 수 있게 해주는 곳이다. 흔히들 웹사이트를 돌리기 위해 필요한 도메인, 서버, 데이터베이스 등등을 제공해 준다. 개발자들 사이에서는 인프라라고 얘기한다. AWS는 수많은 클라우드 서비스 중에 제일 잘나가는 서비스라고 할 수 있다! 2. AWS를 사용..

AWS/실습 기록 2021.09.16

[Docker] 컨테이너 기술과 Docker의 기능, 작동 구조

Docker는 컨테이너 기술을 사용하여 애플리케이션의 실행 환경을 구축 및 운용하기 위한 플랫폼이다. 애플리케이션의 실행에 필요한 것을 하나로 모아, Docker 이미지를 관리함으로써 애플리케이션의 이식성을 높일 수 있다. 이번 글에서는 컨테이너 기술과 Docker의 개요, Docker가 작동하는 구조에 대해 정리한다. 서버 가상화 기술 1. 호스트 가상화(Host Virtualization) • 하드웨어 위에 베이스가 되는 호스트OS를 설치하고, 그 위에 가상화 소프트웨어를 설치한 뒤, 이제 이 가상화 소프트웨어 상에서 게스트OS를 작동시키는 가상화 기술이다. • 가상화 소프트웨어를 설치하여 간편하게 가상 환경을 구축할 수 있기 때문에 개발 환경 구축에 많이 사용. • 하지만 이 방식은 컨테이너와 다르..

Docker 2021.09.14

[Docker] 시스템과 인프라 기초 지식

Docker에 대해 학습하기 전에, Docker를 사용하기 위해 필요한 시스템과 IT 인프라 기초에 대해 정리해보려고 한다. 클라우드의 등장 • 클라우드의 등장으로 시스템 개발의 흐름이 크게 바뀌었다. 자사에서 데이터 센터나 기계실을 보유하여 온프레미스(On-premises) 환경에서 가동시키던 서버들을 클라우드 상의 가상 인스턴스로 옮기고, 데이터베이스나 네트워크와 같은 클라우드 서비스를 이용함으로써 실행 환경의 구축 범위가 극도로 줄어들어 짧은 사이클로 릴리스를 반복하는 스타일로 바뀌었다. 시스템 기반의 구성 요소 1. 하드웨어(Hardware): 시스템 기반을 구성하는 물리적인 요소로서 서버 장비 본체나 데이터를 저장하기 위한 스토리지, 전원 장치 등이 들어감. 2. 네트워크(Network): 시스..

Docker 2021.09.14

파이참(Pycharm)에 KoNLPy 설치 및 에러 발생 시 완벽 해결

Python에서 패키지 설치는 대부분 pip install 패키지명으로 쉽게 다운받을 수 있지만, KoNLPY 설치의 경우 Java 기반으로 만들어져있어 추가적인 작업이 필요하다. 따라서 KoNLPy 패키지 설치 방법 및 에러가 발생할 수 있는 경우를 정리해보려고 한다. 참고로 나는 주피터 노트북이나, cmd 창에서 Python 셸을 띄워서 KoNLPy를 사용했을 때는 오류없이 정상적으로 진행되었지만, Pycharm에서는 아래와 같은 에러가 발생했었다. 만약 에러가 발생했다면, 아래 과정 중 빠진 것이 있는지 잘 살펴보고 확인한다면 해결할 수 있을 것이다. SystemError: java.nio.file.InvalidPathException: Illegal char at index 72: C:\Users..

AI/NLP 2021.08.08

장고(Django) 회원가입 페이지 구현하기, django.contrib.auth 활용

1. 회원가입 페이지로 연결되는 링크 추가 이전 게시물에서 만든 login.html 템플릿에 아래 코드를 추가하여 회원가입 페이지로 연결되는 링크를 추가한다. 로그인 또는 계정을 만드세요. 2. URL 매핑 login.html 템플릿에 {% url 'common:signup' %} 태그를 추가했으므로 이것에 대응되는 URL 매핑을 urls.py에 추가해주어야한다. 아래와 같이 추가해주면 회원가입 링크 클릭 시 views.signup 함수가 실행된다. from django.urls import path from django.contrib.auth import views as auth_views from . import views app_name = 'common' urlpatterns = [ path('l..

Web/Django 2021.08.07

장고(Django) 로그인, 로그아웃 페이지 구현하기, django.contrib.auth 활용

이번에는 로그인, 로그아웃 기능을 구현해볼 것이다. Django에서 로그인, 로그아웃을 도와주는 앱은 django.contrib.auth이다. 이 앱은 프로젝트 생성 시 settings.py에 자동으로 추가된다. INSTALLED_APPS = [ (... 생략 ...) 'django.contrib.auth', (... 생략 ...) ] 1. common 앱 생성 먼저 로그인, 로그아웃 기능을 구현할 앱을 추가해줄 것이다. 현재까지 게시판 기능을 구현한 'notes' 앱만 구현했으므로, 이제는 '공통 기능을 가진 앱'을 추가하여 구현할 것이다. 터미널에 아래와 같이 입력해서 common 앱을 생성하자. > django-admin startapp common 그리고 settings.py에 'common.ap..

Web/Django 2021.08.04

장고(Django) 템플릿 필터 생성 및 적용하기

1. 템플릿 필터 템플릿 필터란 템플릿 태그에서 | 문자 뒤에 사용하는 필터를 말한다. 예를 들어 아래 default_if_none은 템플릿 필터이다. {{ form.subject.value|default_if_none:'' }} 2. 게시물 번호 이전 게시물에서 구현했던 '페이징' 기능에는 아직 문제점이 하나 있다. 모든 페이지에서 게시물 번호가 항상 1부터 시작된다는 점이다. 이제 템플릿 필터를 활용하여 이 문제를 해결해볼 것이다. 먼저, 최근 게시물이 먼저 보여야하므로 게시물의 번호를 역순으로 정렬해야하고, 페이지별 게시물의 번호를 역순으로 정렬하려면 아래와 같은 공식을 적용해야한다. 번호 = 전체건수 - 시작인덱스 - 현재인덱스 + 1 시작 인덱스: 페이지 당 시작되는 게시물의 시작 번호 현재 인..

Web/Django 2021.08.04
728x90
반응형