목록Language/Python (16)
에라모르겠다(‘◇’)?

from datetime import datetime from dateutil.relativedelta import relativedelta start_year = 2020 end_year = 2023 for year in range(start_year, end_year + 1): for month in range(1, 13): # 해당 월의 첫 번째 날짜 계산 start_date = datetime(year, month, 1) # 해당 월의 다음 달 첫 번째 날짜 계산 next_month = start_date + relativedelta(months=1) # 다음 달 첫 번째 날짜에서 하루를 빼고, 이를 해당 월의 마지막 날짜로 설정 end_date = next_month - relativedelta..

업무 중 리스트를 순차적으로 돌면서 처리해야 할 데이터의 양이 많아서 엄청나게 오랜 시간의 속도가 걸리는 작업을 했던 경험이 있었다..ㅠ 그래서 멀티프로세싱을 사용하여 병렬 작업 처리를 하니까 작업 속도가 훨씬 빨라져 제대로 기억하기 위해 정리 ! * 멀티프로세싱이란 ? 멀티프로세싱은 하나 이상의 프로세스를 동시에 실행하여 작업을 병렬로 처리하는 기술. 각 프로세스는 독립적으로 실행되며, 각각의 프로세스는 다른 메모리 공간을 가지고 있음. * 멀티프로세싱이 유용하게 쓰이는 상황 - CPU 집약적인 작업 : CPU를 많이 사용하는 작업(예: 계산 작업, 데이터 처리 등) = > 멀티프로세싱으로 처리하면 성능 향상을 기대 할 수 있음 , 프로세스가 별도의 CPU 코어를 사용하기 때문에 작업 병렬 처리 가능 ..

actions 을 이용한 keys.PAGE_DOWN을 이용한 스크롤이 있는 페이지 데이터 크롤링 ! URL : https://shopping.naver.com/living/homeliving/home 네이버 쇼핑은 무한 스크롤이 있는 웹 페이지라서 크롤링 하게 되면 전체 요소가 나타나지 않음 따라서 스크롤링(PAGE DOWN) 하면서 데이터 정보 가져오기 ! from django.shortcuts import render from rest_framework.decorators import api_view from rest_framework.response import Response from selenium import webdriver from selenium.webdriver.chrome.option..

아마도 대부분 포털 사이트의 로그인은 아이디 입력하는 곳은 input type= text이고 비밀번호 입력하는 곳은 input type = password 버튼 클릭하는 부분은 button type = submit 일거다! 그래서 이 코드로 다음 로그인 ,네이버 로그인 둘 다 url만 바꿔주면 가능함 비슷한 페이지가 있다면 거기도 가능할것임,,아마도 from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.action_chains import A..

- request sample { "name" : "Lemon", "num" : 2, "partition" : { "value_info" : "Yellow" } } from django.shortcuts import render from rest_framework.decorators import api_view from rest_framework.response import Response from django.db import connections # Create your views here. @api_view(['POST']) def test(request): table_name = request.data.get('name',None) data_num = request.data.get('num',No..

1. other app / views.py from django.http import HttpResponse from .kafka_producer_consumer import send_to_kafka # 다른 app의 views.py에서 kafka에 message를 보내는 함수 호출 def other_view(request): send_to_kafka('test','hello') return HttpResponse("Message sent to Kafka") 2. send_to_kafka from kafka import KafkaProducer, KafkaConsumer def send_to_kafka(topic, message): producer = KafkaProducer( bootstrap_serv..

■ 스케줄러 선택 -BlockingScheduler: 스케줄러가 프로세스에서 실행 중인 유일한 것일 때 사용 -BackgroundScheduler: 아래의 프레임워크를 사용하지 않고 애플리케이션 내 백그라운드에서 스케줄러를 실행하려는 경우에 사용합니다. -AsyncIOScheduler: 애플리케이션이 asyncio 모듈을 사용하는 경우 사용 -GeventScheduler: 애플리케이션이 gevent를 사용하는 경우 사용 -TornadoScheduler: Tornado 애플리케이션을 구축하는 경우 사용 -TwistedScheduler: Twisted 애플리케이션을 구축하는 경우 사용 -QtScheduler: Qt 애플리케이션을 구축하는 경우 사용 ex ) views.py ■ 작업 예약 시 트리거 date:..

- chat/templates/chat/room.html 생성 - room.html {{ room_name|json_script:"room-name" }} - chat/views.py에 아래 코드 추가 def room(request, room_name): return render(request, "chat/room.html", {"room_name": room_name}) - chat/urls.py에 아래 코드 추가 # chat/urls.py from django.urls import path from . import views urlpatterns = [ #... path("/", views.room, name="room"), ] - 채팅 방 생성 but 메시지 입력하면 오류 뜸 콘솔 보면 이런 오류가..