출간 기념, Streamlit으로 프로젝트 한방에 끝내기 with 파이썬 개정판 (2024, Sara & Evan)

  • 개정판 책을 출간하였습니다.

book.jpg

Streamlit이란

  • Streamlit은 데이터 분석가가 간단한 코드 몇줄로 빠르게 웹앱을 만들어 줄 수 있는 Python 라이브러리입니다.

누가 읽어야 할까요?

  • 데이터 분석가 : 웹개발은 모르지만 대시보드를 만들어야 하는 분
  • 국비교육 수강중인 비전공자 : Java 웹개발로 머신러닝 플랫폼을 만들어야 하는 분
  • 개별적인 포트폴리오가 필요한 취업준비생 : ML/DL 알고리즘 익히는 것도 어려운데, 웹개발은 언제 배우죠?

데모 페이지

Untitled

django tutorial - pyburger 3

공지

  • 멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.

Untitled

Github에서 프로젝트 내려받기

Untitled

  • 다음 명령어를 실행하여 Local의 적당한 곳에서 다운로드 받는다.

폴더 수정

  • .DS_Store 파일은 삭제한다
  • 폴더명은 pyburger로 변경한다.

Untitled

VS Code로 폴더 열기

  • 아래와 같이 VS Code로 pyburger 폴더를 연다.

Untitled

프로젝트 설정

  • 가상환경을 설정하고 django를 설치한다.
$ virtualenv venv
$ source venv/Scripts/activate
(venv) $ pip install 'django<5'

첫번째 확인사항

  • runserver를 실행하여 정상적으로 작동하는지 확인한다.
(venv) $ python manage.py runserver

Untitled

django tutorial - pyburger 2

공지

  • 멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.

Untitled

별도의 app 추가

  • application을 생성하는 명령어를 활용하여 app을 생성한다.
python manage.py startapp burgers
  • 트리 구조는 다음과 같다.
$ tree -L 2
.
|-- burgers
|   |-- __init__.py
|   |-- admin.py
|   |-- apps.py
|   |-- migrations
|   |-- models.py
|   |-- tests.py
|   `-- views.py
|-- config
|   |-- __init__.py
|   |-- __pycache__
|   |-- asgi.py
|   |-- settings.py
|   |-- urls.py
|   |-- views.py
|   `-- wsgi.py
|-- db.sqlite3
|-- manage.py
|-- templates
|   |-- burger_list.html
|   `-- main.html
`-- templates.zip

새 Application을 Django 등록

  • confing/settings.py 에서 INSTALLED_APPS 리스트에 아래와 같이 추가
INSTALLED_APPS = [
    "burgers", 
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
]

Model 클래스 구현

  • Model 클래스 정의하기 전에 햄버거를 나타낼 수 있는 정보를 몇 가지 정리한다.
    • 이름
    • 가격
    • 칼로리
  • burgers/models.py 에서 아래와 같이 코드를 생성한다.
from django.db import models

# Create your models here.
class Burger(models.Model):
    name  = models.CharField(max_length=20)
    price = models.IntegerField(default=0)
    calories = models.IntegerField(default=0)

데이터베이스 마이그레이션

  • 새로운 테이블을 만들기 위해 다음 명령어를 사용한다.
python manage.py migrate

Untitled

django tutorial - pyburger 1

Django Pyburger - 1, 맛보기

공지

  • 멀티캠퍼스 수업 보조자료로 활용하기 위해 아래 교재 내용을 발췌하였음을 알립니다.

Untitled

Django 설치

  • 터미널에서 django를 설치한다.
pip install 'django<5'

Untitled

Django 버전 확인

  • 터미널에서 Django의 버전을 확인한다.
django-admin --version
4.2.9

Django 프로젝트 생성

  • 다음 명령어를 실행하여 django 프로젝트를 생성한다.
  • djang-admin은 터미널에서 실행할 수 있는 프로그램이며, django 프로젝트를 관리하는 여러 기능들을 가지고 있음
  • startproject는 django 프로젝트의 기반 구조를 만드는 기능
django-admin startproject config .
$ tree -L 2
.
|-- README.md
|-- config
|   |-- __init__.py
|   |-- asgi.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
|-- manage.py
`-- venv
    |-- Lib
    |-- Scripts
    `-- pyvenv.cfg

4 directories, 8 files

개발용 서버 동작 확인

  • 명령어는 다음과 같다.
    • 이 때 manage.py 가 있는 프로젝트 경로에서 실행해야 한다.
python manage.py runserver

Untitled

SQLitebroswer 설치 (M1, Mac)

SQLitebroswer 설치 (M1, Mac)

개요

  • SQLitebroswer 설치를 진행해본다.

설치

Untitled

  • 자신의 OS에 맞는 버전을 선택해 다운로드 후 설치
  • 필자는 Apple Silicon 버전을 선택했다.

Screenshot 2024-01-24 at 12.25.34 AM.png

  • 아래 그림과 같이 추가하면 된다.

Screenshot 2024-01-24 at 12.26.49 AM.png

SQLitebroswer 설치 (Windows 11)

개요

  • SQLitebroswer 설치를 진행해본다.

설치

Untitled

  • 자신의 OS에 맞는 버전을 선택해 다운로드 후 설치
  • 필자는 Standard installer for 64-bit Windows 다운로드 받았다.

Untitled

  • 설치 프로그램을 실행한 후, 아래와 같이 순차적으로 실행한다.

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

끝.

kaggle 한글폰트 적용

개요

  • 캐글에서 한글폰트를 적용하는 방법에 대해 알아본다.
  • 가장 간편한 방법은 폰트를 업로드 한 뒤 업데이트 하는 방식이다.

폰트 확인

  • 폰트는 아래 사이트에서 다운로드 받는다.
  • 사이트 : https://hangeul.naver.com/font
  • 여기에서 나눔글꼴을 다운로드 받았다.

Untitled

폰트 압축풀기

  • 다운로드 폰트를 압축 풀기 하면 매우 다양한 폰트가 확인이 된다.
  • 여기에서 나눔스퀘어 > NanumFontSetup_TTF_SQUARE 파일에서 폰트 목록을 확인한다.

Untitled

폰트 업로드

  • 이제 현재 사용하는 캐글 노트북에 추가한다.
  • 임의의 font 폴더명을 입력했다.

Untitled

  • Create 버튼을 클릭한다.

Untitled

  • 업로드 이후에 폴더에 폰트가 들어간 것을 확인한다.

Untitled

statsmodels를 활용한 회귀분석 (feat. 범주형 데이터)

개요

  • statsmodels를 활용하여 범주형 데이터가 포함된 회귀식을 산정해본다.
  • 범주형 데이터의 특정 값을 변동하는 방법을 배운다.
  • 더불어서 R로 간단한 회귀식도 만들어보자!

강의소개

라이브러리 확인

import statsmodels
import seaborn as sns 
import pandas as pd

print(statsmodels.__version__) 
print(sns.__version__) 
print(pd.__version__)
0.14.1
0.12.2
1.5.3

데이터 불러오기

  • seaborn에서 tips 데이터를 불러온다.
tips = sns.load_dataset('tips')
tips.head()

Untitled

conda vs virtualenv 라이브러리 관리 비교

개요

  • 파이썬에는 가상환경이 다양하게 존재한다.
  • 이 중, conda와 virtualenv 가상환경에서 라이브러리 관리를 어떻게 하는지 비교를 해보도록 한다.

프로젝트 폴더 생성

  • 폴더명은 virtualTest로 명명했다.

Conda

  • 먼저 가상환경을 만들어본다.
conda create -n virtualTest python=3.10

Untitled

  • conda 가상환경에 접속하는 방법은 다음과 같다.
conda activate virtualTest

Untitled

environment.yml

  • 라이브러리 관리를 위해 아래와 같이 샘플 코드를 생성한다.
name: virtualTest
channels:
  - defaults
dependencies:
  - python=3.10
  - numpy
  - pandas
  - pip:
    - streamlit
  • 실행 코드는 아래와 같다.
conda env create -f environment.yml
  • 라이브러리 추가 설치를 한다.
conda install matplotlib
  • 추가된 라이브러리를 추출한다.
conda env export > env_file.yml
  • 파일을 확인하면 아래와 같이 복잡하게 나타난다.

Untitled

(여행) 인천공항 1T Sky Hub Lounge

베트남 나트랑으로 떠나며

7월 유럽여행을 다녀온 이후, 쉴새없이 후반기를 달려왔습니다. 첫번째 멀티캠퍼스에서 강의를 마친 후, 중간 중간 저녁강의 및 토요일 강의를 병행하면서, 어떤 날은 일주일에 70시간 가깝게 소화한 날도 있었습니다. 그래서 약간의 휴가를 줄겸 하던차에 나트랑 여행을 떠나기로 하였습니다. (12월 8일까지 강의를 계속 했지요!). 그러던 찰나에 제가 가진 카드 중 라운지 연 2회 무료 이용권이 있음을 알게 되었습니다. 그래서 가족 여행을 떠나면서 라운지를 꼭 이용하고자 다짐했습니다. 보통 일요일에는 교회를 갑니다. 교회 근처에서 간단한 점심을 먹는데, 이번에는 교회에서 간단한 샌드위치와 아이스 아메리카노만 먹고 공항으로 출발했습니다.