카테고리 없음

내일배움캠프 10일차

barryjung 2023. 3. 24. 21:18

[오늘 한일]

  • 팀원분에게 지난 프로젝트 노하우 여쭤봄
  • 파이썬 심화강의 수강
  • 깃 특강 수강
  • 개인 과제 발제 > 기초 포맷 작성

 

 

[오늘 배운점]

<발표회에서 궁금했던 점들>

팀원분중 한분이 지난 프로젝트 때 내가 인상깊게 봤던 팀에서 오셨다. 

그래서 오늘 내가 메모해놨던 부분들을 여쭤봤다.

 

여쭤본 내용은 이렇게 세가지이다.

1. 수정기능 구현

2. 유튜브 뮤직

3. 위도와 경도를 참조한 날씨

 

 

1.수정기능 구현의 노하우

결과물에 수정기능까지 완료된 팀중 한 팀이셨는데,

내가 어제 작성해본 연습용 프로젝트와 어떤 차이점이 있을지 궁금했다.

 

수정기능을 두개의 구분동작(세팅과 입력)으로 나눈 것은 같았다.

api도 함수도 두개씩으로 비슷했다.

조금 다른 부분은 세팅할 때 데이터의 작성을 temphtml로 하셨다.

 

temphtml로 하니 내용과 속성값이 필요한 형태로 한번에 바뀌니 좋다고 생각했는데

내가 어제했던, 필요한 대상만 바꾸는 방법이 간결해서 좋아보인다고 하셨다.

(디테일 하게 보자면 동작이 다르니, 구현할 기능에 맞춰 더 적합한 방법을 써야겠다.)

 

반면 큰 차이점도 하나 있는데, 데이터를 특정하는 매개 요소다.

나는 간편하게 이미 포함된 데이터인 이름을 구분값으로 삼았지만,

(사전프로젝트, 1주차 프로젝트 둘다 그렇게 했다)

팀원분은 몽고DB의 ObjectId를 활용하셨다.

 

몽고DB ObjectId는 가져와서 활용하는데는 큰 난제가 있다.

ObjectId를 DB에서 불러오는 것이나 리스트로 작성은 잘 되지만,

Json데이터로 가공할 때(jsonify로) 데이터 타입이 특이해서 바로 가공할 수 없다.

그래서 dump()라는 함수를 이용해 타입을 바꿔줘야 한다.

여기에 관한 자세한 내용은 팀원분의 블로그에 있다.

 

 

2. 유튜브 뮤직 api

실제로 웹페이지 안에서 유튜브 뮤직 음악이 재생된다.

어떻게 하셨는지 궁금했다.

 

여쭤보니, youtube music unofficial 라는 걸 활용하셨다.

여기서 재생 url을 참조해오셨고 (url만으로 재생은 된다.)

모듈설치와 인증정보 파일이 있으면 제목, 아티스트를 불러올수 있다.

해당 api의 웹문서를 보고 작성하셨다고 한다.

 

 

3. 위도와 경도를 참조한 날씨 api

위도와 경도는 직접 입력하는 방법을 썼고,

그 데이터를 가지고 날씨 api를 이용해 날씨를 불러온다고 하셨다.

날씨 api는 open api중 하나를 썼다고 하셨다.

 

 

결론, 이렇게 3가지 궁금했던 부분을 여쭤보고 노하우를 배울수 있었다.

솔직히 아직 내 지식은 아니다.

설명해주신 직후에, 다 해보려고 시도해봤지만 아직은 어려웠다.

다만 방법에 대해 힌트를 얻었으니 알게되는 순간이 당겨지지 않을까 생각한다.

 

 

<깃에 대한 몇가지 포인트>

오늘 깃 특강을 완강했다.

배운 내용과 명령어는 따로 메모 해두었다.

 

 

강의를 따라해보며 깨달은 몇가지 포인트를 적어본다.

Window 깃의 좋은점.

- bash창 프롬프트에 저렇게 파란글씨로 현재 헤드가 가르키는 브랜치를 표시해준다. 아주 좋다.

 

- bash에서 명령어로 병합을 할때, fast-foward 머지를 할수 있다면 알아서 그렇게 한다.

- 그게 아닌 일반 병합이라면, 프롬프트 파란글씨에 MERGING이라고 표시되며 처리를 기다린다.

- 한 개의 작업 디렉토리를 여러개의 저장소랑 연결할 수 있다.

- 반대로 한 개의 저장소로 여러 개의 작업 디렉토리를 만들 수도 있다.

 

- 명령어로 push할때 저장소와 브랜치를 지정하게 된다.

  이때 브랜치 입력을 유의해야한다. 내가 push 하려는 브랜치를 입력한다.

 

  작은 부분이긴 하지만, 해당 브랜치로 checkout을 안해도 다른 브랜치를 push할수 있다.

  메인 브랜치에 있으면서 다른 브랜치를 push할수 있다.

 

  서브 브랜치를 push하면 github에서는 이렇게 표시된다.

각 브랜치들을 push하고 github에 나온 알림이다.