Computer Science/BackEnd 57

점프 투 장고 #2-3 | 장고 기본 요소(데이터 저장, 스태틱, 부트스트랩, 템플릿 상속, 폼) 익히기

[참고] 2-06 데이터 저장 - 점프 투 장고 (wikidocs.net) 2-06 데이터 저장 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/2-06](https://github.com/pahkey/jump2django/tr ... wikidocs.net 데이터 저장 답변 등록 폼 URL 매핑 뷰 함수 답변 저장 답변 조회 - 답변 등록 폼 {{question.subject}} {{question.content}} {% csrf_token %} 질문 상세 템플릿에 답변을 저장할 수 있는 폼을 만들어주었다. - form 사이에 - textarea와 input을 추가함 - textarea는 답변내용을 입력하는 곳 - input은 답변을 저장하는 버튼 - 이때 cs..

점프 투 장고 #2-2 | 장고 관리자, 조회와 템플릿, URL 별칭 익히기

[참고] 2-03 장고 관리자 - 점프 투 장고 (wikidocs.net) 2-03 장고 관리자 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/2-03](https://github.com/pahkey/jump2django/tr ... wikidocs.net 장고 관리자 장고는 관리자 전용 페이지를 지원한다. /admin 페이지에서 슈퍼 유저를 생성하고, /admin 페이지를 이용해 모델을 관리하고 검색하는 기능을 추가해보자! 슈퍼 유저 장고 관리자 화면 모델 관리 모델 검색 step 1. 슈퍼 유저 생성 터미널에서 python manage,py createsuperuser로 슈퍼 유저를 생성한다. python manage.py createsuperuser Use..

점프 투 장고 #2 | 장고 URL, 뷰, ORM, 모델 익히기

[참고] 2장 장고의 기본 요소 익히기! - 점프 투 장고 (wikidocs.net) 2장 장고의 기본 요소 익히기! 이 장에서는 장고 개발을 하는 데 필요한 기본 내용을 모두 다룰 것이다. 여러분이 앞으로 만들 '파이보'가 완성된 빌딩이라면 이 장은 기초 공사에 해당한다. 기초 공사를 탄 ... wikidocs.net 예제로 배우는 파이썬 프로그래밍 - DB 설정과 Migration (pythonstudy.xyz) URL과 뷰 urls.py views.py 장고의 개발 흐름 url 분리 장고 URL이란? 장고 URL을 만들어보자. 장고 url에 원하는 url을 만들고, url에 일치하는 뷰를 연결해주는 것이다. views.py의 views 함수는 urls에서 view로 매핑해준다. 로컬 호스트인 127..

점프 투 장고 #1 | 벡엔드 프레임워크, 장고 시작하기

[참고] 1-03 장고 개발 환경 준비하기 - 점프 투 장고 (wikidocs.net) 장고란 무엇인가? 장고(Django)는 파이썬으로 만들어진 웹 프레임워크이다. 웹 사이트를 빠르게 개발할 수 있도록 웹 사이트 개발에 필요한 회원가입, 로그인, 로그아웃, 쿠키, DB 등의 기능을 미리 만들어둔 것이 웹 프레임워크이다. 장고는 The web framework for perfectionists with deadlines. 라는 문구를 가지고 있다. 그만큼 빨리 개발할 수 있게 해주는 웹 프레임워크라고 한다. 파이썬 가상환경 준비하기 환경 : WSL sudo apt-get update sudo apt install python3.8-venv 파이썬 가상환경에 장고를 설치하기 위해, 파이썬 venv 가상환경..

Backend 기초 #3 | API, Rest API란? (Application programming interface)

API Application Programming Interface API란? API는 두 소프트웨어가 통신할 수 있게 해주는 일종의 매커니즘이다. API는 데이터를 어떤 방식으로 요청할 수 있는지(요청), 어떤 데이터를 제공받을 수 있는지(응답) 등을 정한다. 예를 들면, 기상청 소프트웨어와 휴대폰의 날씨 앱을 예시로 들 수 있다. 휴대폰 날씨 앱에서 기상청 소프트웨어가 가지고 있는 기상 데이터를 기상청 API를 통해 받아오는 식이다. API 아키텍처는 주로 클라이언트와 서버로 설명된다. 클라이언트는 휴대폰 날씨 앱과 같이 데이터를 받아오기 위해 요청을 보내는 측을 말하고, 서버는 기상청 소프트웨어처럼 요청 받은 내용을 처리하는 측을 의미한다. REST API REST API는 웹에서 가장 많이 사용되..

Backend 기초 #2 | 쿠키(Cookie), 세션(Session)이란?

웹 상에서 클라이언트와 서버가 정보를 주고 받는 방식을 규정하는 HTTP는 비연결 프로토콜(Connectionless Protocol), 비상태 프로토콜(Stateless protocol) 특성으로 인해 페이지의 상태를 기억하지 못한다. 이 때문에 사용자는 웹페이지에 접속할 때마다 새롭게 로그인하는 등 이전에 수행했던 작업을 반복해야할 수 있다. 이를 극복하기 위해 쿠키(Cookie)와 세션(Session)이 등장한다. 쿠키(Cookie)와 세션(Session)은 모두 웹 통신에서 필요한 정보를 저장하기 위한 방식이다. 쿠키(Cookie) 쿠키(Cookie)는 서버에 요청해서 사용자 PC에 저장하는 client의 정보/상태 등의 데이터를 의미한다. 쿠키(Cookie)에 포함되는 데이터에는 사용자 ID, ..

Backend 기초 #1 | HTTP HyperText Transfer Protocl이란?

HTTP HyperText Transfer Protocol은 웹 상에서 정보를 주고받는 방식을 정하는 프로토콜(규칙)이다. 주로 HTML 문서를 주고 받는 데 쓰이는 HTTP는 클라이언트와 서버가 통신하는 방식을 정한다. 클라이언트(웹 브라우저)는 HTTP를 통하여 서버에 필요한 정보를 요청(Request)하고, 서버는 클라이언트의 요청에 응답(Respond)하여 필요한 데이터를 클라이언트에게 전달한다. HTTP는 일정한 메시지의 포맷을 가지고 있다. 클라이언트가 서버에 보내는 요청 메시지(Request) 기본적으로 Request + URL + header + body의 꼴을 취한다. 예를 들면, GET /images/logo.gif HTTP/1.1 GET https://naver.com 와 같이 사용할..

# 2 | PyQt5를 이용해서 레이아웃 배치하고 꾸미기

목표 : 원하는 배치도 형태 1. 첫번째 화면 실행 화면 소스 코드 # 모듈을 불러옵니다. import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import QCoreApplication, QDate, Qt from PyQt5 import QtSql # 메인 클래스를 계획합니다. class MyApp(QMainWindow, QWidget): # UI 화면을 초기화해줍니다. def __init__(self): super().__init__() self.date = QDate.currentDate() # 오늘 날짜를 받아옵니다. self.initUI() # UI에 포함될 구성요소의 기본적인 설정을 수행해줍니다...

#1 | PyQt5를 이용해서 화면 구성하기

1. PyQt5란? PyQt5는 파이썬을 위한 GUI 라이브러리입니다. 다음 링크에 들어가면, 파이썬을 이용해서 GUI 프로그램을 만드는 방법을 자세히 배울 수 있습니다 :) PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램 - Codetorial 2. 소스 코드 # 모듈을 불러옵니다. import sys from PyQt5.QtWidgets import qApp, QAction,QApplication, QWidget, QPushButton, QToolTip, QMainWindow, QDesktopWidget from PyQt5.QtGui import QIcon, QFont from PyQt5.QtCore import QCoreApplication, QDate, Qt # 메인 클래스..

프로그램 소개 사이트 개발 #2 | 사이트맵 작성, 화면 설계도, 화면별 프로세스, DB 설계 | 기획

앞선 포스팅 프로그램 소개 사이트 개발 #1 | 웹 개발에 대한 이해, 기획 (tistory.com) 목차 프로젝트 계획서 사이트 맵 작성 화면 설계 화면별 프로세스 설계 DB 설계 프로젝트 계획서 개요 * 프로그램 소개 사이트를 개발한다. 프로그램 소개 내용은 차차(?) 정한다. * 사용자 사이트에 가입할 수 있다. 게시판에 글을 작성하면서 자료를 업로드할 수 있다. 업로드시 학생 / 교사를 구분해준다. 문서의 일부를 드래그해서 코멘트를 달거나, 댓글을 달거나, 공감을 표시할 수 있다. 마이페이지에서는 참여 온도가 부여된다. * 관리자 공지사항에 글을 게시할 수 있다. 사용자 DB 조회 가능함 * 프로젝트는 (Html, CSS, JavaScript), (Python)를 사용한다. * 데이터베이스로는 M..