본문 바로가기

분류 전체보기

[파이썬] Django로 게시판 만들기(1) 웹사이트의 기본인 게시판기능을 Django를 활용하여 만들어보겠습니다. 게시판에는 게시판 글 읽기,수정,삭제,추가 기능이 있으며, 댓글을 달수 있고 댓글 추가, 댓글 삭제, 수정 기능을 포함하였습니다. 모델의 경우, 데이터베이스를 만든후 class BoardTab(models.Model): name = models.CharField(max_length = 20) passwd = models.CharField(max_length = 20) mail = models.CharField(max_length = 30) title = models.CharField(max_length = 100) cont = models.TextField() bip = models.GenericIPAddressField() bdat.. 더보기
[파이썬] 페이징 처리 Paginator란? 페이지네이터(paginator)는 대량의 데이터를 페이지 단위로 나누어 표시하고, 사용자가 페이지를 전환할 수 있도록 하는 기능입니다. 이를 통해 웹 애플리케이션에서 많은 양의 데이터를 관리하고 사용자에게 효과적으로 제공할 수 있습니다. 예를 들어, 게시판 글 목록을 페이지별로 나누어 표시하거나 검색 결과를 여러 페이지로 나누어 표시하는 등의 경우에 Paginator를 사용하면 이러한 작업을 간단하게 할 수 있습니다. Django에서의 사용법 from django.core.paginator import Paginator은 Django에서 페이징 처리를 위한 핵심 모듈을 불러오는 코드입니다. 이 모듈은 큰 데이터셋을 여러 페이지로 나누고 각 페이지에 일정한 수의 항목을 표시하기 위한 .. 더보기
[파이썬] Django CRUD Spring의 JPA와 마찬가지로, Django는 기본적으로 CRUD (Create, Read, Update, Delete) 기능을 제공합니다. 이러한 기능은 Django의 모델 및 뷰를 사용하여 쉽게 구현할 수 있습니다. CRUD기능이란? 1. Create (생성): 모델을 정의하고 이를 기반으로한 폼을 생성하여 새로운 레코드를 데이터베이스에 추가하는 기능, 이를 통해 사용자가 웹 애플리케이션에서 새로운 항목을 만들 수 있습니다. 2. Read (읽기): 데이터베이스에서 정보를 검색하는 기능, 뷰를 통해 이러한 정보를 가져와서 템플릿에 표시할 수 있습니다. 3. Update (수정): 기존 레코드를 업데이트하는 기능, 폼을 사용하여 기존 데이터를 수정하고 데이터베이스에 저장할 수 있습니다. 4. Del.. 더보기
[파이썬] DB 연동하기(원래 있던 DB의 데이터 로드) 이번에는 원래있던 데이터베이스로부터 데이터를 로드하는 방식을 보여드리겠습니다. 저는 현재 eclipse에서 Django를 사용하고 있습니다. RDBMS의 경우 mariadb를 사용할 것입니다. 먼저 Pydev Django Project를 생성한 후, setting.py에서 데이터베이스를 설정해줍니다. # Database # https://docs.djangoproject.com/en/4.2/ref/settings/#databases DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "test", 'USER': '사용자명', 'PASSWORD': 'DB비밀번호', 'HOST': 'localhost', 'PORT': '' } }.. 더보기
[파이썬] DB 연동하기 (Remote) Django를 사용하여 원격 데이터베이스에 연결하는 방법에는 원격 데이터베이스에 데이터를 추가하고 이용하는 방법과 이미 있는 데이터베이스에서 데이터를 불러오는 방식 이 두가지가 있습니다. 이 포스팅에서는 전자의 방식에 대해서 설명해보도록 하겠습니다. 저같은 경우는 eclipse에서 mariadb를 활용하고 있기에 Pydev Django Project를 형성시, 기본적으로 생성되는 settings.py에 데이터베이스 구성을 변경해주었습니다. DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "사용하고자 하는 데이터베이스", 'USER': '사용자이름', 'PASSWORD': '사용자패스워드', 'HOST': 'localhost.. 더보기
[파이썬] 웹 스크래핑 멀티 프로세싱을 이용한 웹스크래핑 requests와 BeautifulSoup을 사용하여 웹 페이지를 가져오고 파싱 pip install requests beautifulsoup4 코드예시 import requests from bs4 import BeautifulSoup as bs import time from multiprocessing import Pool # 스크래핑 대상 컨텐츠: https://beomi.github.io/beomi.github.io_old/ # 하이퍼 링크 읽어오기 def get_links(): data = requests.get("https://beomi.github.io/beomi.github.io_old/").text soup = bs(data, 'html.parser') p.. 더보기
[파이썬] 멀티프로세싱(multiprocessing) Python은 GIL(Global Interpreter Lock) 정책으로 인해 기본적으로 스레드를 사용한 병렬 처리가 제한되어 있습니다. 따라서 여러 스레드가 동시에 실행되지 않고 하나의 스레드에서만 실행됩니다. 이러한 제한을 극복하기 위해 Python은 multiprocessing 모듈을 제공합니다. 이를 사용하여 여러 프로세스를 생성하고 각각의 프로세스에서 병렬로 작업을 수행할 수 있습니다. 멀티 프로세싱이란? 멀티프로세싱(Multiprocessing)은 컴퓨터 프로그램이 여러 개의 프로세스를 동시에 실행하여 병렬로 작업을 처리하는 방법을 가리킵니다. 각 프로세스는 독립적인 메모리 공간을 가지며, 각각이 별도의 작업을 수행할 수 있습니다. 이 방법은 다수의 중앙 처리 장치(CPU)를 활용하여 여러 .. 더보기
[파이썬] 소켓프로그래밍-간단한 채팅프로그램 구현 import socket import threading # 서버 소켓 생성 및 바인딩 ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ss.bind(('192.168.0.26', 5555)) # 서버의 IP 주소와 포트를 지정합니다. ss.listen(5) # 클라이언트의 연결 요청을 기다립니다. print('채팅 서버 서비스 중........') users = [] # 연결된 클라이언트들을 저장할 리스트 # 클라이언트와 채팅을 수행하는 함수 def chatUser(conn): name = conn.recv(1024) # 클라이언트로부터 이름을 받아옵니다. data = '^^ ' + name.decode('utf-8') + '님 입장' print(data.. 더보기