본문 바로가기

Programing Language/Python12

Flask, Django 비교 FlaskDjango 가벼운 프레임워크 개발자가 거의 모든 것을 설정하고 셋팅해야한다.무거운 프레임워크 수많은 기능들이 이미 개발이 되어 있음따로 ORM이 없기 때문에 SQLAlchemy 등을 사용해야함심플하고 강력한 ORM이 존재 앞으로 더 정리할 예정 2025. 5. 16.
Django 시작, 기초 대부분의 경우 하나의 웹 서비스는 하나의 Django프로젝트로 이루어져 있고, 그 내부에 여러개의 기능(App)으로 구성되어 있다. Django 1. 설치 2. 프로젝트 만들기 3. 프로젝트 실행하기 App 1. 생성, 등록 2. view에 html등록 3. view와 url연결 4. 앱의 url과 프로젝트의 url연결Django1. Django설치$ pip install django 2. Django프로젝트 만들기$ django-admin startproject web_study(프로젝트 이름) Django가 사용할 데이터 베이스를 생성( 기본적으로 Sqlite3 사용 )$ cd web_study$ python manage.py migrate Sqlite3파일이 생성됨 3... 2025. 5. 10.
백엔드 언어별, 동시성 처리 java는 컴파일 언어, 속도 빠름 python, node.js는 인터프리터 언어Javamulti-thread 지원Node.js싱글 스레드 기반이지만, 이벤트 루프를 통한 비동기 처리로 뛰어난 동시성을 제공Python 멀티스레딩과 비동기 프로그래밍을 통해 구현가능 상황에 따라 적절한 방법을 선택해야 함 파이썬은 GIL(Global Interpreter Lock) 때문에 멀티스레딩에 제한이 있다. 하지만 이를 보완하기 위한 다양한 방법들이 있다. GIL은 한 번에 하나의 스레드만이 파이썬 객체에 접근할 수 있도록 제한하는 메커니즘 2025. 5. 9.
Js로 렌더링 되는 html코드의 크롤링( Selenium ) ' 페이지 소스 보기 '와 ' 실제 DOM '의 차이 브라우저의 "페이지 소스 보기"는 서버에서 처음 전달된 HTML만 보여줌JavaScript가 실행된 후 추가적으로 동적으로 생성된 HTML은 DOM에 반영됨 Selenium의 장점 Selenium은 브라우저를 실제로 실행하므로 JavaScript도 실행 Selenium을 사용하면 JavaScript로 동적으로 생성된 요소를 (find_element 또는 find_elements로) 접근할 수 있다.( JavaScript가 실행된 후의 렌더링된 DOM(Document Object Model)을 대상으로 크롤링할 수 있다 ) from selenium import webdriverfrom selenium.webdriver.common.by import By.. 2024. 12. 23.
윈도우 jupyter notebook 설치 윈도우 jupyter notebook 설치1. 파이썬이 설치돼 있는 상태에서 2. 설치pip install jupyter 3. 실행jupyter notebookjupyter notebook --notebook-dir='저장위치( C:\~  )'경로를 입력하지 않으면 현재 경로를 기준으로 실행됨( 파일이 저장될 경로 ) 4. 주피터 노트북이 웹브라우저에서 실행됨 5. 테스트 https://blog.naver.com/songsite123/223049049553 [Python + Jupyter Notebook] 파이썬 + 주피터 노트북 설치하기오늘 포스팅의 최종 목표는 "주피터 노트북" 을 설치하는 겁니다. 주피터 노트북(Jupyter Note...blog.naver.com 2024. 12. 22.
Selenium 01 Selenium에서 DOM 요소를 나타내는 클래스 find_element 또는 find_elements 메서드를 호출한 후 반환된 객체의 Python 표현 Selenium 세션 및 요소 ID에 대한 정보를 포함 StaleElementReferenceException 요소가 더 이상 DOM에 존재하지 않거나 업데이트된 경우에 발생하는 오류입니다. 웹 페이지가 변경되거나 요소가 업데이트될 때 발생할 수 있다. 2024. 12. 21.