728x90
반응형

전체 글 193

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

장고(Django) Paginator을 활용하여 페이징 기능 구현하기

1. 대량 테스트 데이터 만들기 - 장고셸 사용 페이징(Paging) 실습을 위해 먼저 대량의 테이터를 만들 것이다. python manage.py shell 명령어로 장고셸을 실행해고 다음과 같이 한줄씩 입력한다. 이제 장고 셸을 종료하고 로컬 서버를 실행해보면 아래와 300개 이상의 데이터가 한 페이지에 보여진다. 따라서 이러한 문제를 해결하기 위해 페이징(paging) 처리가 반드시 필요하다. 2. views.py - Paginator 클래스 활용 장고에서 페이징을 처리하기 위해선 Paginator 클래스를 사용해야한다. 아래와 같이 Paginator 클래스를 사용하여 index 함수에 페이징 기능을 적용한다. from django.shortcuts import render, get_object_o..

Web/Django 2021.08.04

장고(Django) GET과 POST를 활용하여 폼(Form) 작업하기

1. 질문 등록하기 버튼 생성 폼 실습을 하기 위해 먼저 질문 등록하는 부분을 구현해주어야한다. 먼저 question_list.html에 "질문 등록하기"버튼을 만들어준다. 이 버튼을 클릭할 경우 question_create 별칭에 해당하는 URL이 호출되므로 해당 URL 별칭을 가진 URL 매핑을 추가해야한다. 질문 등록하기 2. URL 매핑 추가 /notes/urls.py에 다음과 같이 url 매핑을 추가한다. 해당 url이 요청되었을 경우 views.question_create 함수가 호출되므로 이제 views.py에서 question_create 함수를 작성해주어야한다. urlpatterns = [ (... 생략 ...) path('question/create/', views.question_cr..

Web/Django 2021.08.03

Django(장고) static 디렉터리와 템플릿 상속 및 include 태그 사용

Django의 static 1. static 디렉터리 추가 static 디렉터리는 스타일시트 파일을 저장하는 곳이다. templates 디렉터리와 마찬가지로 static 디렉터리도 settings.py 파일에 등록해주어야한다. STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / 'static', ] 2. 스타일시트 작성 및 템플릿에 스타일 적용 static 디렉터리에 style.css 파일을 다음과 같이 간단하게 작성해보았다. textarea의 넓이를 100%로, "답변 등록" 버튼 상단에 100 픽셀의 여백을 설정했다. textarea { width:100%; } input[type=submit] { margin-top:10px; } 이제 question..

Web/Django 2021.08.03
728x90
반응형