일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 알고리즘
- 코딩
- flask
- 깃허브
- List
- DB
- 링크
- docker-compose
- gpu 병렬처리
- 바로학교
- nocookie
- 유튜브
- Google Drive
- 구글 드라이브
- selenium
- G-Suite
- pymongo
- 그리디 알고리즘
- 장고
- venv
- MongoDB
- 리스트
- 탐욕 알고리즘
- python
- 추천 영상
- Django
- 파이썬
- 단축어
- 충북
- 아이폰
- Today
- Total
SSAMKO의 개발 이야기
CT로 현실 문제 해결하기(1) - 정보시스템 관리대장 본문
< CT로 현실 문제 해결하기 >
1. 정보시스템 관리대장
2. '교실배치도' 코드로 표현하기
3. '교실 관리' 프로그래밍 | 파이썬
1. 문제 인식
- 학교의 교실 배치가 매년 조금씩 바뀐다. 예를 들면, 학년 별로 학급 수가 달라서 작년 2학년 교실이 올해는 3학년 교실로 쓰인다.
- '정보시스템 관리대장'에는 '교실', '담당자', '정보시스템 종류', '관리번호'가 입력된다.
- 그리고 각 '정보시스템 기기'마다 태그가 붙여진다.
- 그러므로 교실이 바뀌고, 담당자가 바뀌면 '정보시스템 관리대장', '정보시스템 태그'가 바뀌어야 한다. 매년.
- 매년 이 번거로운 작업을 다시 해야하는데, 귀찮다.
프로그래밍언어인 Perl의 개발자인 Larry Wall은 개발자가 갖춰야 하는 세 가지 미덕 중 '게으름(Laziness)'을 첫 번째로 꼽았다.
2. 전략
- 매년 바뀌지 않을 고유의 값(절대값)으로 대장과 태그를 만들면 되지 않을까?
- 교실의 이름(1학년 4반, 3학년 5반 등)이 아니라 교실의 위치(후관 3층 3번째 교실)로 교실명과 관리번호를 부여하면 어떨까?
- 담당자는 어차피 학교교육계획에 '교실배치도', '담임교사' 및 '업무담당자'가 들어가니까 사람이름이 아닌 직책으로 넣으면 되지 않을까?
3. 해결
3.1. 교실 위치 기반 교실명
- 먼저, 본관과 후관은 각각 F와 R로 나타낸다.(Front, Rear)
- 각 층은 A, B, C, D, ... 알파벳으로 나타낸다.(1층, 2층, 3층, 4층)
- 각 층에 있는 교실을 나타내기 위해 도로명 주소의 표기법을 차용했다.
- 교실배치도를 기준으로 아래쪽(남쪽)은 홀수, 위쪽(북쪽)은 짝수로 번호를 매기기로 했다.
- 번호순서는 교실배치도 기준 왼쪽에서 오른쪽(서쪽 > 동쪽)으로 매겼다.
예를 들어, 급식실은 'RA7', 4-6교실은 'RC9'으로 표현된다. 이렇게 표현하면 매년 교실배치가 바뀌더라도 교실명은 바뀌지 않는다.
또, 교실명을 보면 그 교실이 어디에 있는지 파악하기도 쉽다.
3.2. 담당자
- 담당자도 변수를 이용하듯 이미 내부 문서에 기록되어 있는 담당자의 직책을 이용해 표현하기로 했다.
- 담임교실의 경우에는 '교실담당자', 특별실의 경우에는 '해당업무 담당자' 이렇게 나타냈다.
- '컴퓨터실'처럼 한 교실에 컴퓨터가 여러 대 있는 경우 교실명 뒤에 따로 번호를 붙여 표기했다.
4. 결론
- 장부는 컴퓨터 파일로만 보관하면 되기때문에 이름을 매년 바꾸는게 그렇게 귀찮은 일은 아니다. 하지만, 태그는 매년 학교의 모든 기기에 기존의 태그를 제거하고 새 태그를 붙여야 하기때문에 무척 번거로운 일인데, 이렇게 하면 기기를 교체할 때만 해당 작업을 하면 되기때문에 일이 대폭 줄어든다.
5. 다음 글
다음 포스팅에서는 위 작업에 사용된 CT 개념과 위 작업을 코드로 표현하는 법을 살펴 볼 예정이다.
'Python' 카테고리의 다른 글
api로 받은 정보 telegram으로 보내기 | python (0) | 2020.06.19 |
---|---|
beautifulSoup 불가 페이지 selenium으로 크롤링하기 (0) | 2020.06.04 |
바로학교 출결점검 v2.0 (3) | 2020.04.26 |
바로학교 출결점검 v1.1 | 오류 안내 (7) | 2020.04.23 |
바로학교 출결관리 프로그램 (8) | 2020.04.23 |