전체 글

웹 애플리케이션/Django(장고)

[Django] 템플릿 include

include base.html에서 layout.html 파일로 해당 코드를 분리합니다 메인페이지 로그인 body 사이에 해당 코드를 삽입합니다. {% include "layout.html" %} 해당 코드는 Django 템플릿 문법 중 하나인 include 태그를 사용한 것입니다. include 태그는 지정된 템플릿 파일을 현재 템플릿에 포함시켜주는 역할을 합니다. 위 코드에서는 "form_errors.html" 템플릿 파일을 현재 템플릿에 포함시켰습니다. 이 기능을 이용하면 반복적으로 사용되는 템플릿 코드를 별도의 파일로 분리하여 관리할 수 있으며, 코드의 재사용성과 유지보수성을 높일 수 있습니다. 이 방법을 응용해서 question_form.html, question_detail.html의 중복된 ..

웹 애플리케이션/Django(장고)

[Django] 화면 꾸미기

웹페이지에 스타일시트 적용하기 1. 설정 파일에 스태틱 디렉터리 위치 추가하기 STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / 'static' ]2. 스태틱 디렉터리 만들고 스타일 시트 작성하기 mkdir statictext area{ width = 100%; } input[type=submit] { margin-top:10px; } 답변을 등록할 때 사용하는 text area를 100%로 넓히고, 버튼 위에 margin을 10px 추가했다. 3. 질문 상세 템플릿에 스타일 적용하기 {% load static %} {{ question.subject }} (..생략..) 스태틱 파일을 사용하기 위해서, 템플릿 맨 위에 {% ..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

[4주차] 트랜잭션

트랜잭션 Atomic하게 실행되어야 하는 SQL들을 묶어서 하나의 작업처럼 처리하는 방법 BEGIN과 END 혹은 BEGIN과 COMMIT 사이에 해당 SQL들을 사용 ROLLBACK 두 가지 종류의 트랜잭션이 존재 AutoCommit False를 쓰면 트랜잭션을 사용할 필요 없으나, AutoCommit True일 때는 정합성 문제를 일으킬 수 있는 SQL을 묶어줘야한다. 레코드 변경을 바로 반영하는지 여부. autocommit이라는 파라미터로 조절가능 autocommit=True 기본적으로 모든 SQL statement가 바로 커밋됨 이를 바꾸고 싶다면 BEGIN;END; 혹은 BEGIN;COMMIT을 사용 (혹은 ROLLBACK) autocommit=False 기본적으로 모든 SQL statement..

AWS

[EC2]AWS EC2 MOBAXTERM 연결

1. SESSION 클릭 2. 정보 입력 AWS EIP : AWS 콘솔 - EC2 - 인스턴스 메뉴 들어가서 접속하고자 하는 탄력적 IP 주소 작성하시면 됩니다. USERNAME : 보통 ubuntu 혹은 ec2-user입니다. 확인 후 작성하시면 됩니다. pem 파일 경로 : pem 파일 경로를 붙여줍니다. 가끔 권한 문제가 발생하면 pem 파일의 권한을 600으로 맞추면 해결됩니다. 3. 접속 확인

AWS

[EC2] AWS EC2 VSCODE 연결

1. VSCode Remote-ssh 설정 VSCODE의 EXTENSION에서 Remote Development를 설치합니다. Remote Development 기능은 각각 SSH, Containers, WSL 3가지 옵션이 있는데, 이번에는 SSH를 사용해서 EC2 인스턴스에 VSCODE를 연결해보겠습니다. 2. Remote-SSH Configuration 설정 Vscode에서 F1키를 누른 뒤, configuration을 검색하고, Remote-SSH:Open Configuration File을 선택합니다. 이후 ssh configuration 파일을 이렇게 수정하면 됩니다. HOST : 원격 서버 접속 시, VSCODE에서 보일 이름입니다. 아무렇게나 지으셔도 됩니다. HOSTNAME : EIP(E..

웹 애플리케이션/Django(장고)

[Django] 관리자 계정 및 페이지, 동적 URL, 별칭

관리자 계정 생성 터미널에서 유저 생성 후, 정보 입력 python manage.py createsuperuser 사용자 이름 : admin 이메일 주소 : admin@mysite.com password : qwer1234 password : qwer1234 y 선택(너무 일상적인 비밀번호입니다) 로그인해보기 : localhost:8000/admin/ admin.py 모델에 Question Class를 등록합니다. from django.contrib import admin from .models import Question # Register your models here. admin.site.register(Question) # Question을 등록해줌 3 view.py / 컬럼리스트 받는 함수 생성..

웹 애플리케이션/Django(장고)

[Django] 앱 생성, 데이터베이스 연동, ORM

config 보안, 세팅 값들 urls.py : 주소에 접근하는 것을 만들 수 있다. settings.py : 한국어 설정 등 앱 만들기 django-admin startapp pybo localhost:8000/pybo로 접속 404 에러 발생, urls에서 코드 조정 from pybo import views # pybo 디렉토리에 있는 views를 가져오기 urlpatterns = [ path('admin/', admin.site.urls), path('pybo/', views.index) # views의 index를 만들기 ] views.py from django.http import HttpResponse # Create your views here. # request를 반드시 써줘야함(사용하지 ..

웹 애플리케이션/Django(장고)

[Django] 시작하기(Conda, VS코드 쉽게)

가상환경 생성하기(With VS코드) 장고 전용 가상환경을 생성합니다. Conda를 활용하면, 가상환경에 다른 파이썬 버전을 적용할 수 있어 쉽게 활용할 수 있습니다. (1) 빈 폴더를 생성합니다. (2) VS 코드로 해당 폴더를 엽니다. (3) 터미널을 실행하여 순차적으로 터미널에 입력합니다 먼저 cmd 내에서 conda 명령어가 실행될 수 있는 환경이어야합니다. 아래 블로그에 정리가 잘 되어있습니다. https://chunggaeguri.tistory.com/entry/Anaconda-cmd%EC%B0%BD%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 conda로 django_py3811 이라는 가상환경을 만듭니다. 파이썬 버전은 3.8.11 입니..

웹 애플리케이션/Django(장고)

[Django] 시작하기(venv 모듈 활용)

1. 장고 개발환경 준비 1_1. 파이썬 가상환경 파이썬 가상환경을 활용하면, 하나의 데스크톱 안에 독립된 가상환경을 여러개 만들 수 있습니다. (1) 가상환경 디렉토리 생성(C;/venvs) mkdir venvs cd venvs (2) 가상환경 만들기 python -m venv mysite venv 모듈을 활용하여, mysite라는 이름의 가상환경을 만듭니다. 작업을 venvs 폴더 아래서 했으면, venvs 디렉토리 아래에 mysite라는 디렉토리가 생성됩니다. (3) 가상환경 진입하기 cd c:\venvs\mysite\Scripts activate mysite의 Scripts에서 activate 명령을 수행합니다. 그러면 cmd 창에서 (mysite)라는 가상환경이 잡힙니다. (4) 가상환경에서 벗..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

[3주차] AIRFLOW

AIRFLOW 에어플로우는 스케줄러, 데이터 파이프라인을 위한 PYTHOON 프레임워크 PYTHON3에서 프로그래밍 방식으로, 파이프라인 설계, 예약 및 모니터링 가능 웹 UI 제공 에어플로우에서의 데이터 파이프라인(ETL)을 "DIRECTED ACYLIC GRAPH(방향 비순환 그래프)", DAG라고 합니다. DAG는 TASK로 구성됩니다. 에어플로우는 하나 이상의 서버로 구성된 클러스터이고, WORKERS와 SCHEDULER로 구성됩니다. 스케줄러는 작업을 여러 WORKERS에게 분산 시킵니다. DAG 와 스케줄링 정보는 기본적으로 DB에 저장됩니다(SQLITE가 기본적으로 운영) 하지만 실제 운영환경에서는 MYSQL 또는 POSTGRESQL을 사용하는 것이 좋습니다(성능, 기능 상의 문제) AIRF..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

[3주차] ETL/데이터파이프라인

비구조화된 데이터 처리하기 LOG 대표적으로 데이터레이크에 저장하는 데이터. 원본 상태로 데이터레이크에 넣어둔 상태에서, 이걸 정제하고 가공해서 데이터웨어하우스에 적재한다. AMZONE S3(STROAGE) 클라우드 판 하드디스크라고 생각하면 좋다. 1테라 바이트당 한달에 만원 꼴. 온갖 종료의 데이터를 별다른 비용 걱정 없이 저장할 수 있다. 이 아마존 S3 같은 것을 데이터레이크(DATA LAKE)라고 한다. 데이터레이크 보존기한이 없는 모든 데이터를 원래 형태대로 보존하는 스토리지, 보통은 데이터 웨어하우스에 비해 몇 배 더 크다 APACHE SPARK, AMAZON ATHENA ATHENA는 BIG DATA SQL로 생각하면 좋다 SPARK도 SPARK SQL 혹은 DATAFRAME으로 판다스처럼..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 제품 소프트웨어 패키징

소프트웨어 패키징 모듈별로 생성한 실행 파일들을 묶어 배포용 설치파일을 만드는 것을 말한다 개발자가 아니라 사용자 중심 작업 순서 기능 식별 모듈화 빌드 진행 사용자 환경 분석 패키징 및 적용 시험 패키징 변경 개선 배포 릴리즈 노트 작성 항목 HEADER(머릿말) : 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 버전 개요 : 해당 릴리즈 버전에서 변경 사항 전체에 대한 간략한 내용 목적 : 해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요 문제 요약 : 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약 재현 항목 : 버그 발견에 대한 과정 설명 수정/개선 내용 : 버그를 수정/개선한 내용을 간단히 설명..

우상욱
데이터엔지니어스터디