01-11 일지
오전 : 5주차 웹 종합 개발 일지 복습
특이사항
일전에 겪었던 서버문제를 다시 겪어보기 위해 기억에 따라 행동해보았지만 정상작동함. 계정 관련 문제였기에 다시 반복해보기도 어려울거라 생각했기에 굳이 재시도는 하지 않음. 하지만 계정에 '관련'해서 어떤 문제가 있었는지 정확한 파악을 못한 것은 아쉽다.
오후 : 오전에 복습한 내용을 숙지하며 일지 작성, 시험대비 족보가 공지에 올라와 확인함.
특이사항
시험대비 족보는 4주차에 봤던 스파르타피디아에 삭제버튼을 추가하는 것으로 나옴. 문제 난이도는 이 수준에서 드라마틱하게 달라질 것 같지는 않아보임.
저녁 : 리액트 관련 영상 일부 시청, 시험대비 족보 선행해보기
특이사항
리액트 관련 영상으로 노마드 코더의 니꼴라스 강사의 영상을 시청했으나, 해당 강의에서는 JS바닐라로 크롬앱 만들기를 볼 것을 적극 권장하였다. C#을 독학하긴 했지만, 유니티 엔진을 굴리는 도구로서 활용했기에 여기서 차이가 날지 불안하여 권장했던 강의도 시청하였다. 내용은 크게 어렵지 않았지만 C#하고 상이한 부분이 있어 시간들여 이 강의까지 봐야할지 내일 중으로 결정해야겠다.
시험대비 족보 선행하는 것은 특이하게 5주차의 버킷리스트를 활용하여 만들기로 결정났다. 아마 서버 연결과 갱신을 직접 시도해본 것이기에 이것에 엮자고 한 것 같은데, 10시 이후에 코드 리뷰를 하기로 결정하였다. 주석처리는 따로 안해도 되겠지? 아직 마무리 중이지만 미리 겪은 문제를 써본다.
태그 에러 - 일상적인 문제다. 집중력 부족
메소드 에러 - delete_one 사용에 있어 문제 발생, 에러 코드는 해당 메소드를 사용한 줄 번호를 가리키며 문제가 있다고만 전달, 해결책은 구글링으로 정보 수집. app.py에 태그 에러가 발생한 것과 index.html에 ID 설정 역시 문제가 있었다. 이 둘을 한꺼번에 살펴야 한다는 것을 깨닫고 이를 수정함.
이제 확실하게 된 것 같았으나 여전히 갱신이 이뤄지지 않음. 개발자 콘솔로 확인해본 결과 이미 해결했던 문제를 다시 언급하고 있었음. 해당 메소드를 살펴보니 되감기하며 수정했던 태그가 원상복귀 되어있었다.
심야 : 시험대비 족보 선행 문제 해결
특이사항
같은 팀원 분이 디비몽고에 갱신되는 정보에 문제가 있음을 알렸다. 각 데이터는 num을 할당하는데, 중간에 값이 삭제되어도 다음 번호가 수정이 안되니 이를 해결해야 한다는 것이었다. 이야 이거 참 문제인데, QA를 빠릿빠릿하게 하는 걸 보니 그 팀원 분은 꼭 프론트 엔드로 가실 것 같다. 여하튼저하튼, 문제를 해결하긴 해야 하는데 문제가 해결이 쉬우면 그게 문제인가. 당장 for문 돌아가는 로직이 다른 언어와 다르단 것부터 인식하고 진행해야 했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@app.route("/bucket/delete", methods=["POST"])
def bucket_delete():
num_receive = request.form["num_give"]
db.bucket.delete_one({'num': int(num_receive)})
buckets_list = list(db.bucket.find())
a = 0;
for i in buckets_list:
a += 1
rows = i['num']
db.bucket.update_one({'num': rows}, {'$set': {'num': a}})
print(rows)
return jsonify({'msg': 'DELETE(삭제) 삭제 완료?'})
|
cs |
이것이 그 해결한 코드이다. 다른 팀원들은 삭제 def를 따로 만들었는지 모르겠지만 나는 3줄 이상의 코드는 객체화를 해야 한다는 사상이 있으니 따로 만들었다. 여기서 for문이 오늘 삽질의 끝을 달렸는데, C#만 봐도 for문이
1
|
for(int i = 0 ; i < 뭐시기뭐시기; i++)
|
cs |
이렇게 진행되면 i는 for문 안에서 하나의 int 변수가 되고 뭐시기뭐시기는 뭐시기뭐시기[i]로 호출하는 것이 보통이다. 근데 파이썬에서는 i 가 곧장 뭐시기뭐시기[i]가 되버리는 것이다! 환장하겠네......이걸 알아내는데 혼자서 약 20분을 소요했다. 혼자 작업할 때 만든 습관, '안 된다면 모든 줄마다 print를 넣어라'를 적극 활용했다. 진짜 모든 줄에 print를 넣었다. 그래서 이게 안 통하는 부분이 그날의 문제아인데, 그렇게 찾아낸 것이다. 그걸 알고난 뒤로는 꽤 쉬웠다. i가 변수가 아니라 buckets_list[i]인걸 알았으니 곧장 이걸 활용하면 되는 것이다. 그렇게해서 해결했는데.....저것도 꽤나 불안불안해 보인다 이제보니, 내일은 저기다 if문 추가해서 좀 더 다듬어보는 것도 좋겠지.
소감
꽤나 바빴다. 다른 팀도 그런지 모르겠지만 우리 팀은 나만 말하는 것 같다. 이러다 혓바닥이 늙어버리는 거 아닌가 걱정이다. 그래도 어쩌겠는가, 팀은 소통을 해야하고 누군가는 대화를 해야지. 그래도 다른 팀원 분들이 대화를 시작하면 곧잘 받아주시니 옆 조 처럼 완전 어색한 순간은 나오지 않고 있다. 좋은 친구들이야.