728x90
반응형

Minarae's Story 340

[가계부 만들기] Backend - Database #1

이제 본격적인 개발을 진행해볼 것이다. 본격적인 개발을 시작하면서 데이터를 실제로 저장할 데이터베이스를 연결해두어야 한다. 여기서는 app/databases 디렉토리를 생성하고 거기서 관련 코드를 넣을 계획이다. 개발은 vscode IDE를 사용하여서 진행할 것이다. uvicorn으로 프로그램을 실행하면 app 디렉토리 하단에 __pycache__라는 디렉토리가 생성된다. 이 디렉토리가 계속 생성되고 갱신되는데 개발에서 사용하는 디렉토리가 아니다보니 제법 신경이 쓰인다. 그리서 여기서는 해당 디렉토리를 보이지 않도록 처리한다. backend 디렉토리에서 .vscode 라는 디렉토리는 생성하고 settings.json 파일을 생성한다. 이렇게 하고 나면 디렉토리 구조가 다음과 같아 진다. settings...

21세기 대한민국의 민낯

‘尹 절친’ 석동현 “식민지배 받은 나라 중 사죄·배상 악쓰는 건 한국뿐” 석동현 민주평화통일자문회의(민주평통) 사무처장이 7일 정부가 발표한 일제 강제동원(징용) 피해자 ... m.khan.co.kr 김영환 충북지사 "기꺼이 친일파 되겠다"…정부 해법 지지 김영환 충북도지사가 “나는 기꺼이 친일파가 되겠다”며 윤석열 정부 강제징용 피해자 배상 해법을 옹호했다.김 지사(국민의힘)는 7일 자신의 유튜브 채널에 전날 발표된 정부 해법을 옹호하 www.edaily.co.kr 삼일절 일장기 주민 ‘목사’였다…“대일본제국” 설교 한 교회에서 목사로 재직 항의하는 주민 수사 청원, 3·1절에 일장기를 내걸었던 세종시 주민은 한국인 목사였던 것으로 드러났다. 지난 6일 JTBC 보도에 따르면 세종시 한솔동 한 아파트..

도대체 이해할 수 없는 김문수

김문수 “감동 받았다”는 회사, 무노조·휴대폰 압수·임금 40% 경사노위 위원장으로 ‘부적절’ 인식 또 드러내 www.hani.co.kr 이 사람 도대체 이해할 수가 없다. 저런 근무 환경이라면 당장이라도 큰 이슈가 되어야 한다고 생각한다. 무슨 고등학생들도 아니고 핸드폰을 압수해서 사용할 수 없게 한다니!! 무슨 발상이 이런가.. 급한 연락을 받아야 하는 상황이라면 어쩌라는 건가. 그리고 노조가 없다는 것은 자랑이 아니지 않은가. 노조는 헌법에 명시된 노동자의 가장 기본적인 권리이다. 노조가 없다는 것에 감명을 받았다는 것인가. 노동운동가 출신이라는 사람이 어찌 이럴 수 있단 말인가. 아무리 변절을 했다고 하지만 지켜야할 선이라는 것이 있는 것이 아닌가. 이 사람을 볼 때마다 한숨이 절로 나온다. 어찌..

[가계부 만들기] Backend - Initialize

Backend 프로그램을 만들기 위해서 우선 프로그램을 초기화해야 한다. 여기서는 Python 기반의 fastapi를 웹 프레임워크로 사용할 것이며 ORM을 사용하기 위해서 sqlalchemy 라이브러리를 사용할 것이다. 프로젝트는 Backend와 Frontend로 분리해서 개발할 것이지만 어쨌든 같은 디렉토리 안에서 작업하는 것이 개발이 용이할 것이라고 판단하여 account-book 디렉토리를 생성하고 그 하단에 Backend와 Frontend 디렉토리를 생성할 것이다. 다음과 명령어를 통해서 프로젝트 디렉토리를 생성한다.% mkdir account-book % cd account-book % poetry new backend여기서는 프로젝트 의존성 관리를 위해서 poetry를 사용하였으며 이에 대한..

[가계부 만들기] 테이블 설계

엑셀로 가계부를 쓰기 시작했는데 이걸 일일이 쓰려니 상당히 귀찮다. 일일이 손으로 입력하는 것도 귀찮고 생각보다 엑셀이 스마트하지 않고 그래프나 이런 부분이 매번 손으로 입력하는 것이 꽤 귀찮아서 내가 만든 양식을 범용으로 사용할 수 있도록 가계부 프로그램을 만들어볼까 한다. 우선 Backend 쪽 프롣그램을 먼저 개발을 하고 프론트를 붙이는 방향으로 개발을 진행할 예정이다. 개발 언어는 현재 회사에서 사용하고 있는 python의 fastapi를 사용할 것이고 frontend는 React를 사용하며 개인적으로 디자인에 많이 쓰는 bootstrap을 활용할 계획이다. 개발하는 내용들을 여기에 기록을 남기면서 개발을 진행할 것이다. 엑셀에서 작성한 내용은 다음 그림과 같이 정리하였다. 위의 내용을 프로그램으..

선택적 사법

선택적 사법이라는 말이 선명하게 떠오른다. 지난 주, 그리고 이번 주 사회적 이슈가 될 만한 재판 결과가 쏟아져 나왔다. 자녀 입시비리 대부분 ‘유죄’…조국 징역 2년 자녀 입시비리와 ‘유재수 감찰무마’ 혐의로 기소된 조국 전 법무부 장관이 1심에서 징역 2년의... m.khan.co.kr ‘대장동 50억 클럽’ 곽상도 뇌물 무죄 곽상도 전 국회의원(사진)이 대장동 민간업자에게 도움을 주고 아들 퇴직금 명목으로 거액의 뇌물... m.khan.co.kr “곽병채 산재와 김용균 산재는 왜 이렇게 다른가”···원청 무죄에 시민사회 부글 “곽상도 전 의원의 아들은 이명 산재위로금으로 50억을 받는데 한 어머니는 청년 가장의 무참한... m.khan.co.kr 윤미향 의원 ‘정의연 후원금 횡령 의혹’ 1심서 벌금..

[Nextjs] API 기능을 통한 파일 업로드 처리

회사에서 Frontend 개발시에 nextjs를 사용하고 있다. 지금까지 React + nextjs를 공부하고 개발하면서 여러 고비를 넘기면서 개발을 이어왔는데 다시 한 가지 난제에 부딪히게 되었다. nextjs는 SSR(Server Side Rendering)을 지원해주는 프레임워크이지만 어쨌든 이미 로딩된 페이지 안에서의 동작은 브라우저에서 처리되기 때문에 비동기로 호출되는 데이터에 대한 정보는 서버에서는 잡을 수가 없다. 그래서 Nextjs에서는 Page 디렉토리 안에 api로 된 페이지에 대해서는 특별히 서버에서 직접 처리되도록 하여서 서버에서 처리할 수 있도록 기능을 제공한다. 자세한 내용은 아래 nextjs 문서에서 확인할 수 있다. API Routes: Introduction | Next.j..

Programming/Nextjs 2023.02.09

조국의 600만원과 곽상도의 50억원

오늘 곽상도 전 의원의 1심 판결이 나왔다는데 너무 어이가 없고 허탈감이 생겨서 기록두고자 한다. 곽상도, '아들 화천대유 50억' 뇌물 1심 무죄(종합) | 연합뉴스 (서울=연합뉴스) 황재하 이영섭 기자 = 곽상도 전 국회의원이 '대장동 일당'에게서 아들의 퇴직금과 성과금 명목으로 뇌물을 수수한 혐의에 대해 ... www.yna.co.kr 조국은 유죄, 곽상도는 무죄…판결 다른 이유는 ‘경제적 독립’ 곽상도 아들, 화천대유서 퇴직금 등으로 50억원 받아 법원 “아들, 독립 생계 유지…父가 받았다고 볼 수 없어”, 곽상도 전 국회의원의 아들이 ‘대장동 의혹’의 핵심인 화천대유자산관리(화 www.seoul.co.kr 조국의 딸인 받은 장학금 명목의 600만원은 김영란법 위반이라며 징역형을 때린 사법부는 곽..

스타벅스 장애인 바리스타

둘째 아이 병원 스케줄 때문에 서울대병원에 방문했다가 대기 시간이 너무 길어져서 커피가 필요했다. 관계사이니 할인율이 꽤 높아서 근래에 스타벅스를 애용하고 있는 관계로 가장 가까운 스타벅스를 찾아서 방문하였다. 점심시간이라서 사람이 너무 많아서 와이프에게 대기시간이 길어서 커피 사러 왔는데 여기도 사람이 많다는 카톡을 주고 받다가 우연히 스벅 매장을 정리하는 직원의 명찰이 눈에 들어왔다. 그리고 바로 이상하다는 생각이 스쳐지나갔다. 흔히 알고 있겠지만 스벅에서는 이름 대신 바리스타의 영어 이름을 부른다. 그래서 다들 영어 이름으로 된 명찰을 패용하고 있다. 근데 장애인 바리스타들은 명찰이 하나 더 있었다. "장애인 바리스타" 뭔가 이상하다는 생각에 매장 앞에 앉았다가 매장 안으로 들어가봤다. 내가 잘못 ..

My Story/일상 2023.02.07

[Python] Mac에서 개발 환경 구축

이직을 하면서 회사에서 Backend 언어로 Python을 기반으로 fastapi를 사용하게 되었다. Python으로 Object detection을 위한 모델 학습하는 코드는 작성해보았지만 웹서비스를 만들어보기는 처음이다. 예전에는 anaconda를 설치해서 가상 환경에서 개발을 진행하였다. 각 환경별로 패키지를 다르게 설치하고 개발을 했다. 근데 이게 가상환경으로 구동되다보니 아무래도 불편했다. 가상환경을 만들어주는 것도 귀찮고 각 가상환경을 activate 했다가 deactivate 하는 명령어를 입력해야 했고 콘솔도 가상환경의 이름이 붙다보니 쓸데없이 길기만 했다. 이번에 이직해서 python개발 환경을 구축하다보니 pyenv라는 것을 사용하였다. anaconda 같이 각 버전별로 가상환경을 만들..

Programming/Python 2023.02.03
728x90
반응형