0817 SeSAC(새싹) 3기 6일차

this, self는 서로 다른 것이다.

#생성자 없을때
class Movie:
title = "BoseBaby"
audience = 1

def title_edit(self, new_title):
    self.title = new_title

def AudienceNum(self):
    self.audience = self.audience + 1

movie1 = Movie()
print( movie1.title )

movie1.title_edit( "싱크홀" )
print( movie1.title )

print( movie1.audience ) # 결과 : 1

movie1.AudienceNum()
movie1.AudienceNum()

print( movie1.audience ) # 결과 : 3

#생성자 있을때
class Smart_movie:
title = "BoseBaby"
opening = "2021-07-21"
audience = 1

def __init__(self, title, opening):
    self.title = title
    self.opening = opening
    

def AudienceNum(self):
    self.audience = self.audience + 1
    return self.audience

movie2 = Smart_movie( "싱크홀", "2021-08-11" )

print( movie2.title )

print( movie2.AudienceNum() )


class Supermarket:
def init(self, location, name, product, customer):
self.location = location
self.name = name
self.product = product
self.customer = customer

def printLocation(self):
	print(self.location)

def changeCategory(self, new_product):
	self.product = new_product
    
def showList(self):
	print(self.product)
    
def enterCustomer(self):
	self.customer = self.customer + 1
    
def showInfo(self):
	print(self.location, self.name, self.product, self.customer)

lotte = Supermarket("서울", "롯데마트", "과자", 1)

lotte.changeCategory("아이스크림)

lotte.showList() -> 인자가 self면 넘겨줄 거 없음

lotte.enterCustomer()

lotte.showInfo()


from test1 import Supermarket

lotte = Supermarket("서울", "롯데마트", "과자", 1)


import test1

lotte = test1.Supermarket("서울", "롯데마트", "과자", 1)


프레임워크 -> "틀"

Django -> 파이썬 기반 웹 프레임워크

  1. 효율적인 개발을 하는 것을 강제화한다.

"MTV 패턴" -> MVC 패턴

Model -> DB와 관련된 부분
View -> 웹 프론트엔드와 관련된 코드
Controller -> 웹 백엔드와 관련된 코드

Model -> DB와 관련된 부분
Template -> 웹 프론트엔드와 관련된 코드
View -> 웹 백엔드와 관련된 코드

데이터베이스 -> 데이터가 모여있는 곳

  1. 기본적인 보안 설계가 많이 되어있다
  2. 데이터베이스를 설치하지 않아도 자동으로 제공되는 등 A부터 Z까지 다 만들지 않아도 된다.
  3. 파이썬 기반이기 때문에 데이터 분석이나 AI활용에 유리하다.

nodejs(javascript)

대기업/업력이 오래된 기업 : PHP, JAVA
SI업체(외주개발업체), 공기관 : spring
스타트업 nodejs


사용하고 있는 운영체제 -> 우분투
무언가를 설치하는 명령어 -> apt install

apt install python3
apt install python3-pip

pip -> 파이썬과 관련된 패키지(남이 만들어놓은 무언가)를 관리하고 추가/삭제 등을 할 수 있는 프로그램 == 라이브러리

장고도 파이썬과 관련된 패키지

pip3 install Django

<리눅스 명령어>

ls -> 지금 내가 속해있는 폴더에 내용물을 보는 명령어
pwd -> 지금 나의 위치 확인
cd (이동할 폴더) -> 폴더 이동 (cd /var/www/html)
cd .. -> 한단계 상위 폴더로 이동
mkdir (만들 폴더 이름) -> 폴더 생성

vi -> 윈도우의 메모장
vi b.html -> b.html이라는 파일을 열어줄래?

입력하려면 입력모드로 들어가야해 -> esc를 누르고 i를 누르면 됨

저장하고 나가려면 -> esc누르고 :wq! 입력 -> :q 해도 됨

그러면 ls를 입력하면 b.html이 뜸

삭제하고싶은 줄 가서 dd 연타하면 삭제됨 ~ 올 ~


장고

  1. 프로젝트 생성

1개의 프로젝트는 1 이상의 자연수개의 앱으로 구성되어 있어

앱: 각각의 독립된 기능을 수행할 수 있는 단위

django-admin startproject first_homepage -> 장고에 프로젝트 생성 -> 프로젝트 이름과 같은 폴더가 생성이 됨

프로젝트 폴더 안에 앱 폴더가 생성됨

django-admin startapp member -> member라는 app 생성


장고에서 서버를 킬려면

1. 프로젝트 폴더로 이동하세요(그 안에 manage.py가 있어요)
manage.py가 있는 폴더가 프로젝트 폴더

python파일을 실행할 땐 python3로 입력

  1. python3 manage.py runserver 0.0.0.0:(8000)

() 자리에 함부로 넣으면 안되는 숫자도 잇음 -> 80 x


acg -> 어떤 문은 열고 어떤 문은 닫고 관리

프로젝트랑 동일한 이름에 앱 폴더에서 설정을 할 수 있음


파이썬에선 """ 이렇게 해야 주석이다.


vi 명령어

i - 커서위치에서 편집
o - 현재 커서 한줄 추가 + 편집모드

dd - 잘라내기 (dd3-3줄 삭제) 등 사용가능
dw - 한 단어 삭제
yy - 복사 (yy3 - 3줄 복사)
yw - 한단어 복사

p - 붙여넣기
u - 되돌리기
x - 커서안의 문자 하나 삭제

( cd ) 는 폴더 간 이동에 사용됩니다.

cd = cd만 입력하면 최 상단으로 이동하게 된다.
(보통 root)

cd .. = 현재 폴더에서 한단계 위
ex) /var/www/html 이 현 위치라면
-> /var/www로 이동 됨.

cd 폴더이름 = 현재 폴더 안에있는 폴더로 이동
ex) /var/www 폴더 안에 html이라는 폴더가 있다. 라고 가정하면 cd html 을 입력하면 /var/www/html로 들어가게 된다.

pwd = 현재 내가 어디 위치에 있는지 확인한다.

ls = 현재 내 위치 안에 있는 내용물을 보고싶다.


root@yookeunbyul:~# pwd
/root
root@yookeunbyul:~# mkdir ssac-django
root@yookeunbyul:~# ;s
-bash: syntax error near unexpected token `;'
root@yookeunbyul:~# ls
b.html ssac-django
root@yookeunbyul:~# cd ssac-django/
root@yookeunbyul:~/ssac-django# pwd
/root/ssac-django
root@yookeunbyul:~/ssac-django# ld
ld: no input files
root@yookeunbyul:~/ssac-django# django-admin startproject first_homepage
root@yookeunbyul:~/ssac-django# ^C
root@yookeunbyul:~/ssac-django# ls
first_homepage
root@yookeunbyul:~/ssac-django# cd first_homepage/
root@yookeunbyul:~/ssac-django/first_homepage# ls
first_homepage manage.py
root@yookeunbyul:~/ssac-django/first_homepage# django-admin startapp member
root@yookeunbyul:~/ssac-django/first_homepage# ls
first_homepage manage.py member
root@yookeunbyul:~/ssac-django/first_homepage# vi manage.py
root@yookeunbyul:~/ssac-django/first_homepage# python3 manage.py runserver 0.0.0.0:8000

root@yookeunbyul:~/ssac-django/first_homepage# cd first_homepage/
root@yookeunbyul:~/ssac-django/first_homepage/first_homepage# ls
asgi.py init.py pycache settings.py urls.py wsgi.py
root@yookeunbyul:~/ssac-django/first_homepage/first_homepage# vi settings.py
root@yookeunbyul:~/ssac-django/first_homepage/first_homepage# cd ..
root@yookeunbyul:~/ssac-django/first_homepage# ls
db.sqlite3 first_homepage manage.py member
root@yookeunbyul:~/ssac-django/first_homepage# python3 manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader

좋은 웹페이지 즐겨찾기