일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 수학
- 개발자
- 리트코드
- 웹서버
- sqlalchemy
- 위상 정렬
- FastAPI
- 취업
- 백엔드
- 데이터베이스
- MYSQL
- 아파치
- Django
- 이분 탐색
- 알고리즘
- 백준
- 강한 연결 요소
- alembic
- api서버
- scc
- python
- C언어
- 가우스 소거법
- SQL
- BFS
- 구성적
- 신입
- flask
- 테일러 급수
- 파이썬
- Today
- Total
목록전체 글 (58)
Devlog
개요회사에서 특정 기간 동안 어느 이벤트에 대한 발급 포인트를 일정 기간 동안 2배로 올리라는 업무를 받았습니다. 이벤트 발급 포인트는 데이터베이스에 저장이 되어 있기 때문에 시간에 맞춰 자동으로 DB에 있는 데이터를 업데이트 해야 했습니다. 복잡한 SQL문을 재사용할 수 있는 FUNCTION과 PROCEDURE, 그리고 특정한 상황에 맞춰 작동하는 TRIGGER의 개념까지 알고 있었지만, Batch Process 마냥 특정 시간에 맞춰서 데이터베이스를 조작하는 방법은 전혀 몰랐습니다. 서버가 Python 계열로 개발이 되어 있기 때문에 CeleryBeat라는 Batch Process Tool을 사용해서 특정 시각에 업데이트를 하는 것을 생각해 봤지만, 이게 적용이 되려면 서버를 다시 배포를 해야 했기..
거의 2년만에 해보는 PS 포스팅... 문제난이도: medium문제 링크: https://leetcode.com/problems/factorial-trailing-zeroes/description/Given an integer n, return the number of trailing zeroes in n!.Note that n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1.0과 10000사이의 수 n이 주어졌을 때 n의 팩토리얼인 n!에서 0이 몇개 들어가 있는지 그 갯수를 구하는 간단한 문제 입니다. (단 n = 0일대 0의 갯수는 0입니다) Solution 10의 갯수를 새는 방법은 간단합니다. n! = a * 10^b 라면 0의 갯수는 10의 제곱수인 b가 됩니다...
개요 어느 프레임워크들이 그렇듯, DJango기반의 서비스를 구현함에 있어 여기에 포함되는 데이터베이스는 DJango-ORM으로 관리되는 것이 통상적입니다. 그래야 추후 DB내용이 바뀔 때 ORM 자체 라이브러리 내에서 쉽게 해결을 할 수 있으니까요. 이렇게 ORM 하에 관리되는 Model들을 Managed한 Model이라고 합니다. 말 그대로 관리되고 있는 테이블아라고도 하죠. 그렇지만 가끔식 서비스 외의 데이터베이스에 직접 접근을 해야 할 때가 있습니다. 관리자 페이자가 그 대표적인 예가 되겠군요. 물론 DJango 자체 내에 어드민 페이지 기능을 제공하지만, 이걸 사용하지 않고 따로 DJango로 A부터 Z까지 구축하게 된다면. 메인 데이터베이스는 관리자 페이지의 시점으로부터 외부 데이터베이스가 됩..
useEffect를 사용하개 되면 state값 (useState로 선언된 변수들)이 바뀔 대 마다 이에 대한 대응을 할 수 있게 됩니다. 예를 들어 장바구니에서 내가 구매하기 위해 선택한 항목들을 다시 프로그램을 켜도 유지하고 싶다고 한다면, 항목이 변경될 때마다 항목 리스트를 업데이트 하는 API를 호출해야 합니다. 이때 useEffect를 사용하게 되면 해당 요구사항을 해결할 수 있겠죠 const [selectedItems, setSelectedItems] = useState([]); useEffect(() => { // 대충 항목리스트 업데이트하는 API 호출 axios.post("/url", data=selectedItems...) }, [selectedItems]); 또한 useEffect는 s..
계기 저의 또 다른 개발 블로그(프론트엔드 포트폴리오용)에 소개 페이지를 추가하고 systemctl을 이용해서 재배포를 했더니 분조장을 유발하는 500에러가 터졌습니다 이런 얼탱이없는 사고가 왜 났는지 파악하기 위해 systemctl status명령어를 사용했습니다 파란 불이 켜저있지만 밑에 로그는 빨간불인 것처럼 보이는군요 listOnTimeout 이라는 내용이 있는 걸 보니 뭔가 무한루프를 도는 것 같습니다 하지만 이거 가지고는 원인을 파악할 수가 없죠 로그의 전체 내용을 보아야 할 필요가 있습니다 그러면 어떤 명령어를 입력해야 할까요? 정답은 jouralctl 이라는 명령어를 사용하면 됩니다. 사용법 $ sudo journalctl -u [서비스 이름] 위의 명령어를 입력해먼 해당 서비스에 대한 로..
DJango에서는 기본적으로 DB마이그레이션 기능이 존재합니다. python manage.py makemigrationsmakemigrations 명령어로 DB변경 내역을 파이썬 파일로 자동 작성하고python manage.py migratemigrate 명령어를 사용해서 DB내역을 기반으로 실제 데이터베이스에 마이그레이션을 합니다.그렇다면 Flask또는 FastAPI에서 주로 사용하는 SQLAlchemy에서는 어떻게 마이그레이션을 해야 할 까요?여기도 마찬가지로 Alembic 모듈을 사용해서 DB버전관리를 할 수가 있습니다이번 포스트에서는 Alembic의 사용법을 간단하게 설명하려고 합니다이미 장고로 마이그레이션 기능을 사용한..