일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- test drive development
- pyside6 ui
- django role based
- uiload
- django erp
- optimization page
- Self ERP
- django test
- tensorflow
- 재고 관리
- QApplication
- qwindows.dll
- 페이지 최적화
- materialized
- pip 오류
- django
- 파이썬
- 장고
- django rank
- qpa_plugin
- pyside6
- 중량 관리
- channels
- query 최적화
- Python
- pip 설치
- orm 최적화
- django drf
- 장고로 ERP
- ERP
- Today
- Total
취미삼아 배우는 프로그래밍
Django로 ERP 근황 본문
딱 한분, Django로 ERP만드는 프로젝트를 보고 댓글 주신 분이 계셨다.
그래서 그 근황에 대해 적어보고자 한다.
댓글을 주신 글은 너무 옛날 글이기 때문에, 그 뒤에는 수많은 작은 프로젝트들이 있었다가 사라졌다. 물론 개인프로젝트기 때문에 시간날린거 말고는 아무런 데미지가 없다.
0. 고찰 -1
아무래도 Django로 ERP라는 주제는 너무나 포괄적인 주제였다. 저 글을 쓸 당시 장고를 접한지 딱 한 달? 두 달 됐을 때였었던것 같다. 엄청 큰 목표를 잡고 한 페이지 또는 두 페이지만 만들자! 라고 생각을 하고 시작했다.
그래서 딱 두 페이지 만들고 접었다. 접으려고 접었던건 아니고, 아무래도 사이즈가 너무 커지다보니, 되려 숨이 턱 막혔다. 이젠 무얼 해야하나 싶을 때, 직장선배가 이거 한 번 만들 수 있겠냐 해가지고 원자재 관리 사이트를 만들어봤다.
1. 웹소켓 활용 사이트
당시 이제막 장고로 로그인 할 줄 아는 정도였는데, 필요한 기능은 웹소켓을 활용한 부분이었다.
제작기간은 대충 한 달 정도 걸린것 같다. 저기에 있는 테이블들은 모두 웹소켓으로 처리해서 압출량 및 요청수량 등에 대해서 실시간으로 반응한다. 굉장히 힘들었다.
2. 고찰 -2
어렵게 어렵게 만들고 났더니 안쓴덴다. 응 고마워. 이게 되는구나 하고 끝났다. 그래서 직장선배한테 아 *발 이게 뭐에요. 하고 욕했다. 남는건 여운과 배포돼 남아있는 헤로쿠 사이트 뿐. 나는 그 어떤 실적조차 남기지 못한 채 드랍된 경험과 떨어진 머리숱만 남겨야 했다.
만들고 보니 그렇다. 웹형 ERP를 혼자 만드는건 도대체 사람 혼자서 할 짓은 아니었다. 나라는 개인은 한 번에 한 가지 기능밖에 못 만든다.
그래, 조그만한것들을 여러개 만들어서 빌드업 시키자. 그래서 붙잡히는대로 소규모 프로젝트들을 더 진행했다. 홈페이지 만드는것만 있는게 아니고, 여러 데스크탑 프로그램들도 만들었다.
3. 출고관리 시스템
이때쯤 사고가 터진다. 타공장에 근무하던 직장선배가 교통사고를 당해 혼수상태에 빠지고, 나는 대뜸 아무런 인수인계를 받지 못한 햇병아리 관리자로 타공장에 대타출동을 한다. 한동한 대타로 뛸 공장 내 본청 생산 관리자는 오직 나 뿐.. 내가 왕인(햇병아리) 그곳에서 나홀로 내가 원래 하던 업무와 그곳의 업무를 찾아다가 하기 시작했다. 주로 하게된 업무는 원자재와 자재의 반출 반입인데, 이게 너무나 원시적이었다.
직영 외국인 근로자가 물건을 상차했다고 이렇게 아래와 같이 메모를 준다. 그러면 나는 이 메모를 보고 송장을 끊고 중량을 다 더해서 적어줘야한다. 바쁘디 바쁜 업무 속에서 단순 더하기만 하다가 스트레스 받고 죽을 수도 있겠구나 생각이 들었다. 적어주는 친구한텐 미안하지만 글씨를 알아보기 어려웠다. 그도 그럴게 얘네는 한글을 옆면부터 쓴다..
이게무야,,, 그래서 만들었다.
제작기간은 한 3일정도 소요에 불편한거 수정 추가 2-4일 정도 소요됐었던것 같다. 총 1주일 전후. 너무 대충만들어서 디자인이고 뭐고 걍 없지만, 이거면 된다고 연수생 친구가 그랬다. 지금도 잘 쓰고 있다. 진짜 간단하게 만들었는데 생각보다 아웃풋과 능률이 예상보다 크게 올라서 놀랬다. 이놈이 아이폰을 써서 아이폰 맞춤 폼을 만든다고 애먹었다. 사실 만들어달라고 한 사람이 이 연수생 친구였다.
4. 마감 관리 시스템
이리저리 교사인 친구의 학교 게시판 홈페이지도 만들어주고나니, 마감업무가 하나, 둘 나한테 넘겨지기 시작했다. 마감업무는 확실히 없는게 좋다. 주말에 집에서 마감쳐야한다.
그렇게 해서 마감 업무 한 개 및 개인 업무 도움 사이트를 만들었다. 내가 맡은 업무 전용 도우미 사이트다.
별건 없고 파일하나 올리면 로직에 맞게 이것저것 처리해주고 다시 업로드해주는 사이트다. 확실히 이 업무에 대해선 이 사이트로 정말 시간을 아꼈다. 어디 나가서도 폰으로 올릴 수 있다.
그렇게 시간은 흘러,,
5. 생산 정산 시스템
시간이 또 조금 흐르고 부장님께서 대뜸 나한테 정산업무를 하라 얘기하신다.
너 이제 정은 쟤고 너는 부로 할거니까 잘 배워둬라.
어 .. 부장님 제 의사는 닥ㅊ터 인가요
그래서 원래 하던사람한테 쭈뼛쭈볏 가서 이걸 슬쩍 얘기를 들어보니 가관이다. 매일매일 하루 작업량에 대해서 5개 업체로부터 작업내역을 받고 그 내용을 한 파일로 스택(Stack)스택 해서 작업량이 틀린건 없는지, 오타는 없는지등에 대해 검수하고 수량 혹은 면적이 틀렸다면 알려주는등 이게 무슨 21세기 사람로봇이 하는 일인가 싶었다.
그래 우리가 공장에는 사람로봇이긴 하지. 먼저 하던 분도 마감때쯤 되면 로보트처럼 맨날 늦게 남아서 이거했었다.
근데 내 업무도 적은게 아닌데 이걸 곧이 곧대로 받은대로 하자니 배알이 땡긴다. 내가 무슨 죄를 지어서 이렇게 일복이 터지나.. 그래도 어쩌겠나 싶기도 하고 했다.
이번건 협력업체와 함께 써야 하기 때문에 아예 디자인을 배제해 버리면 내 미적 감각과 사회적 위치가 다소 공격받을 수 있기 때문에 디자인에 조금은 신경을 써야했다.
Materialize는 디자인이 썩 괜찮았다. Nav 바도 상당히 깔끔하고 마음에들고 애니메이션도 과하지 않으면서 색에대한 지원도 풍부했다. 그치만 장고가 Div, Form 등이 BootStrap에 맞춰져 있기 때문에 쪼금 불편해서 만드는데 속도가 안 난다. 그래서 이번거는 BootStrap을 사용해 진행했다.
가장 유용하게 사용했던건 부트스트랩 레이아웃 빌더였다.
Bootstrap 4 Interface Builder | LayoutIt!
LayoutIt! is a interface builder for CSS Grid and Bootstrap that wants to be the kick-off for your front-end developments.
www.layoutit.com
그래서 대충
이런식으로 총 면적, 총 집계등의 데이터가 나오게 된다. 중간중간에 회식이 엄청 많았었는데, 술먹고와서 코딩하다가 큰일날뻔 했던 적이 많았다. 여러분 술먹고 집에오면 그냥 주무세요.
배포는 아마존에 했는데 이래저래 어렵기도 했다. 무엇보다도 openpyxl이 생각보다 무겁고 Row 데이터들이 한 달에 5만행 6만행 정도 되기 때문에 램1기가 무료 티어로는 진행조차할 수가 없었다. 그래서 저건 매달 3만원 정도 돈이 들어간다. ㅠㅠ
6. 마치며
근 1년간의 자체적인 하드 트레이닝을 거쳐 이제 ERP프로젝트를 건너볼 수는 있게 됐는데, 비보가 들려왔다. TF팀을 만들어 기존 ERP를 뜯어고친다고 한다. 근데 또 내가 거기에 속하게 됐다.(...)
'파이썬(장고)' 카테고리의 다른 글
Django로 개인 업무(ERP) 홈페이지 만들기-2 (0) | 2020.11.03 |
---|---|
Django로 개인 업무(ERP) 홈페이지 만들기-1 (0) | 2020.11.02 |
Django REST Framework - Authentication(인증, 로그인, 뷰) (0) | 2020.07.17 |
Generator를 사용해 다양한 깊이의 json 파싱 방법 (0) | 2020.05.15 |
django - materialized css form 사용하기 (0) | 2020.03.30 |