1.이번 주 발자취 요약
<1>프로젝트 팀원들과 캐치마인드 형식의 프로젝트 완성
>>그림판 구현, 그림 및 정답 등 필요 정보 DB 저장/호출 등 기본 기능 구현 후 추가로
모바일에서 작동할 수 있도록 개선, 검사창에서 정답 안보이게 보완, css 및 인터페이스 개선
<2>git 사용법 및 git assignment 제출
>>pycharm과 git hub, soucetree를 연동하여 git 사용법을 익혔으며, 이제 커밋, 푸시, 풀, 브랜치 만들기 등 주요 기능에 대해 학습하고 프로젝트를 통해 지속적으로 사용해보았음
>>git을 사용하면서 주로 마주치는 conflict를 경험하고 해결하였으며, 아직 soucetree를 사용하지만 soucetree는 버그가 많아 terminal을 이용한 git사용을 연습해야겠음
2. 배우고 기억할 점들
<1>json 파일은 txt파일처럼 읽어오면 str로 인식하기 때문에 불러오는 방식이 다름을 인지해야한다.
<2>html에서 다음 페이지로 prameter 넘기기에는 2가지 방법이 있다
ex)http://sparta-prac-lhb.shop/quizSolve?quizKey=36 로 만들어 준뒤
>>1)const key = window.location.href.split('?')[1];
>>2)<a>태그 사용후 key 값을 넘긴다.
-html에서
<a href = "/quizPresent" title = '문제 출제하기'><button>문제 출제하기</button></a>
-js에서
$('.quizList > ul').append(`<a id="${key}" href = "/quizSolve?quizKey=${key}"><li>
<img src="/static/image/${image}.png"></li></a>`);
>>2)방법은 사이트url에 찍히지 않는 문제가 있어서 1) 방법으로 진행시 ex)처럼 나왔다.
<3>mongoDB 주소를 잘못 적을 시 timeout에러가 발생
<4>데이터 key값은 마지막 입력 값보다 큰 수로 지정
>>1,2,3,4,5 가 있을 때 3을 제거하고 key값을 줄 때 length로 한다면 1,2,4,5,5 가 발생하여 키 값이 꼬이게 됨으로 마지막 값을 호출하여 +1을 해주면 방지할 수 있다.
<5>git에서 main을 함부로 사용하면 안된다.
>>완성했다고 판단하고 main을 사용해도 고치고 추가할 것들은 끊임없이 나온다는 것을 잊지 말자.
<6>파이참 인터프리터 생성시 anaconda3가 껴들어 온다. 지워주고 하나만 사용하자.
<7>javascript 모바일 터치 인식
>>이전까지는 mouse와 관련된 eventlistener로 했다면 이번에는 touch기반 eventlistener도 추가하였다. 하지만 터치의 경우 이전 터치의 좌표가 남아있어서 이전에 땐 좌표와 새로 시작하는 좌표에 일직선으로 선이 그어졌다. 이를 해결하기위해 그리기 전에 포지션을 재조정해줘서 해당 문제를 해결하였다.
3. 이번주의 이론 키워드
<API>
의미 : 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식
설명 : 쉽게 말하면 데이터를 주고 받을 때 형식을 정해서 읽고 쓰기 쉽게 정한 것, 주로 json 형식을 띄고 있다.
장점 : 데이터 접속의 표준화와 편의성, 자동화와 확장성, 적용력
단점 : 보안성과 HTTP방식의 제한, 공식표준의 부재, 실제 구현시 지속적인 유지관리와 지원 제공 필요
open API : 외부 사이트와 자유로운 활용이 가능하다.