본문 바로가기

활동/SK네트웍스 Family AI 캠프 2기

SK네트웍스 Family AI 캠프 2기 : 17th week (9월 1주차)

시간이 왜 이렇게 빠르게 흐르는 걸까요?!

맨날 블로그 회고에 시간이 너무 빠르게 흐른다는 얘기만 적어서 반복하기 싫지만!!! 정말로 시간이 빠르게 흘러요!!!

 

저도 얼마 뒤면 추석이란 게 믿기지가 않아요!!!

게다가 최종 프로젝트 시작까지 얼마 안 남았다는 게... 믿기 힘들지만... 받아들여야겠죠...^^

하루하루 열심히 공부한 덕분에 시간이 빨리 흐르는 것이라 생각할래요.

 

남은 기간 동안에도 힘내서 공부하겠습니다!

 

 

● 성취

이전부터 백엔드를 경험해 보고 싶었는데, 이번에 처음으로 django를 배웠습니다!

AI를 다루는 동안에 백엔드 지식도 일부 알고 있으면 좋을 것 같다고 생각했거든요.

 

Python으로 백엔드 지식을 경험한 다음에 서서히 범위를 넓혀야겠습니다.

언어와 프레임워크로 얽매이기 보다는, 시장 흐름을 읽을 줄 알고 적절한 해결방안을 제시할 줄 아는 사람이 되고 싶습니다!

 

아무래도 기존에 AI를 다룬 적 있기 때문에, 앞으로 백엔드를 배우면서 데이터를 기반으로 사고하게 될 것 같습니다.

데이터가 어떤 식으로 저장되는지 열심히 이해해 보도록 노력하겠습니다!

 

tmi에 해당하는 이야기지만, 전산 베이스의 통계를 학습 시작점으로 잡은 건 정말 좋은 선택이었다고 생각합니다.

학과에서 배운 내용 덕분에 데이터 기반으로 사고하는 기반이 생겼거든요.

 

말이 길어졌지만... 이번 주에는 파이썬 백엔드 라이브러리 중 하나인 django를 시작한 것이 가장 큰 성취입니다 ^_^

 

 

● 학습 & 개선

이번 주에는 Linux 가상환경과 django 라이브러리를 베이스로 백엔드 다루는 법을 배웠습니다.

 

django가 아직 익숙하지 않은 관계로 학습과 개선을 나눠서 생각하는 것은 현재 입장에서 무의미한 것 같습니다.

따라서 이번 주는 '학습 & 개선' 파트로 묶어서 설명하겠습니다.

 

아직 django 진도가 남았지만, 배운 부분들과 복습한 내용을 다시 정리한다는 생각으로 작성해 보겠습니다~!

 

 

# 리눅스 파일 권한 확인

리눅스에서는 'ls -al' 명령문을 사용해서 파일 권한을 확인할 수 있어요.

리눅스 CLI 창에서 'ls -al' 명령문을 입력하면 아래와 같은 결과가 나옵니다.

 

저는 python으로 작업을 많이 했기 때문에 python 환경설정과 관련된 파일 및 폴더가 주를 이루네요...^^

 

 

# 리눅스 권한 설정 (숫자 ver.)

사용자 (User) 그룹 (Group) 다른 사용자 (Other)
r w x r w x r w x
4 2 1 4 2 1 4 2 1

 

rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 + 0 = 6
r-x = 4 + 0 + 1 = 5
r-- = 4 + 0 + 0 = 4
-wx = 0 + 2 + 1 = 3
-w- = 0 + 2 + 0 = 2
--x = 0 + 0 + 1 = 1

 

위 숫자 설정을 참고해서 chmod 명령문을 입력합니다.

중요한 내용이라서 패턴을 어느 정도 인지하고 있는 것이 좋아요!

 

# 리눅스 권한 변경

리눅스에서는 권한 변경 시에 'chmod' 명령문을 사용해요.

예시를 통해 리눅스 권한 변경 방식을 알아보겠습니다.

 

• 예시 1

지금 제게 test_1이라는 파일이 하나 있습니다.

사용자, 그룹, 다른 사용자 모두에게 읽고 쓰고 실행할 수 있는 권한을 주고 싶습니다.

이때 chmod 명령문을 어떻게 입력할까요? 아래를 참고해 주세요!

 

chmod 777 test_1

 

 

• 예시 2

이번에는 test_2 파일의 권한을 변경하려고 합니다.

'사용자 : rwx 권한, 그룹 : rx 권한, 다른 사용자 : x권한' 형태로 부여하려고 합니다.

이 경우에는 chmod 명령문을 어떤 식으로 입력할까요? 이번에도 하단을 참고해 주세요!

 

chmod 751 test_2

 

 

# django : URL과 뷰

django를 조금 다뤄보면서 느낀 건데... URL과 뷰 관계를 잘 이해하는 것이 핵심인 것 같더라구요.

그래서 오늘은 이 부분 위주로 정리해 보겠습니다!

 

+) 해당 명령문들을 입력하기 전에 앞서 Python 환경을 조성한 후, django 라이브러리를 설치해야만 합니다!

 

cd ~
mkdir mysite
cd mysite

django-admin startproject config .

 

홈으로 이동 후, mysite 폴더를 만든 다음에 해당 폴더로 진입하세요.

진입이 끝난 후, 해당 디렉터리에서 프로젝트 시작 및 설정 명령문을 입력합니다.

 

django-admin startapp pybo

 

pybo라는 이름의 앱을 생성합니다.

 

# ./config/urls.py 에 입력
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('pybo/', include('pybo.urls')),
]

 

 

urlpatterns 변수를 통해 특정 url 링크와 매칭되는 파이썬 파일을 지정해 줍니다.

'pybo/'로 끝나는 링크를 예시로 들어 보겠습니다.

해당 링크는 pybo 폴더 내부에 있는 urls.py 파일과 매칭됩니다.

 

# ./pybo/urls.py 에 입력
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index),
]

 

위 코드를 입력하면 pybo로 끝나는 링크의 세부 항목 링크들을 지정해 줄 수 있습니다.

여기서는 단순하게 빈 문자열 처리를 함으로써, 세부 항목을 따로 만들지 않았습니다.

 

# ./pybo/views.py 에 입력
from django.http import HttpResponse


def index(request):
    return HttpResponse("안녕하세요 pybo에 오신것을 환영합니다.")

 

pybo 폴더 내부에 있는 views.py에 위와 같이 입력하면, pybo로 끝나는 링크에서 "안녕하세요 pybo에 오신 것을 환영합니다." 문구를 페이지에서 보여줍니다.

 

python manage.py runserver

 

위 코드를 리눅스/아나콘다 등의 CLI 창에 입력함으로써 서버를 구동시킬 수 있습니다.

 

그러면 위 화면처럼 '안녕하세요 pybo에 오신 것을 환영합니다' 문구가 나타납니다!

 

 

백엔드 공부는 처음에 가까워서 아직 낯선 느낌이 드네요...!

그렇지만 이것도 하나씩 공부하다 보면 어느 순간 실력이 올라가 있을 거라 생각합니다 :)

 

처음에는 가볍게 시작하더라도 꾸준하게 하다 보면 어느 순간 백엔드 지식 역시 풍성해지겠지요!!

힘내보겠습니다~!!

 

+) 부족한 부분이 있으면 댓글로 말씀해 주세요! 겸허한 마음으로 더 공부하겠습니다.