내일배움캠프/TIL

[Spring_4기 본캠프] 1주차 - 팀프로젝트의 마지막으로 | Day 15

austindynasty 2024. 11. 7. 22:39

1. 프로젝트 완성 그리고 발표 준비 

  월요일부터 시작되었던 팀 프로젝트가 발표만을 남기고 완성되었다!

처음 시작할 땐 정말 아는 게 없었는데 완성하고나니 많은 걸 배우게 되어서 신기하다.

 

1) API 개념에 관한 고찰

  API가 인터페이스라는건 알겠는데 대체 뭘 지칭해서 부르는걸까. 어떤 기능을 하고 어떤 메서드를 사용했고 컬렉션이 뭔지도 알겠는데 

도대체 API가 뭘까 하는 궁금증이 계속 있었다. 검색을 해봐도 설명이 너무 추상적이고 'TV를 켜주고 볼륨을 변경해주는 리모컨이 API가 된다' 라는 예시를 봐도 이해할 수가 없었다. 리모컨은 눈에 보이잖아! 

 -> API는 '보이지 않는 손'이다. 

내가 이해한 바로는 API는 보이지 않는 손 같은 존재라는 것이다. 어떠한 기능을 구현하려고 할 때 그에 맞는 메서드를 이용하고, 어떤 경로를 이용해서 작동시킬 지, 이러한 흐름을 어떻게 가져갈지 정한 것 자체가 API라고 이해했다. 

사실 아직도 정확히 API가 무엇인 지는 의문이다. 느낌은 알겠는데 말로 표현할 수가 없는 답답함이 있지만 그래도 API명세를 작성할 수 있는 수준은 되었다.

API에 대해 알아볼 때 굉장히 도움이 되었던 글 하나가 있다. 하단에 첨부해놓을테니 필요한 분들은 꼭 읽어보세요 :)

 

2) 쿼리 파라미터의 편리함

 쿼리 파라미터 : 웹 주소(URL)에 추가하는 정보로, 서버에 특정 조건을 알려주기 위해 사용한다.

 

내가 이해한 바로는, 정보로 가득한 테이블에서 조건을 걸어 내가 원하는 정보만을 필터링 해주는 도구이다. 

쿼리 파라미터는 URL의 끝부분에 붙으며 **물음표(?)**로 시작한다. 뒤에는 키=값 형태로 조건이 표현된다. 

예시) 멤버들의 정보가 있는 컬렉션에서 이름이 철수인 멤버의 정보만을 렌더링하고 싶다. -> /PERSONAL?NAME=철수

&을 통해 여러 조건을 전달할 수도 있다. 이름이 철수이고 나이가 25살인 사람의 정보를 찾고싶다. -> /PERSONAL?NAME=철수&AGE=25

  이번 팀 프로젝트에서 멤버 별 페이지를 만드는데 여러 개의 HTML 문서로 제작된 것이 아니라 하나의 문서에서 특정 멤버의 조건에 일치하는 데이터만을 불러오도록 쿼리 파라미터를 이용해서 페이지를 구현했다. 여러 개의 HTML 문서로 만들어 단순히 붙이는 것보다 쿼리 파라미터를 사용하니 훨씬 더 편리하고 효율적이라는 것을 배우게 되었다.  

 

3) 클래스와 ID 지정의 중요성

  Git을 사용해 어찌저찌 팀원이 작업한 내용물을 받았는데 Git의 사용보다 더 어려운 문제가 있었다. 바로 클래스와 id를 찾는 것이었다. 

사람마다 이름을 지정하는 방법이 모두 다르기 때문에 프로젝트를 시작하기 전에 회의를 통해 클래스와 id를 획일화해야 했는데, 

정하지 않고 나중에 코드를 이해하려니 이해가 안되는 이름도 있었고, 개발자도구를 사용해 직접 찾아보다가 시간도 많이 소요되었다.

내가 작성한 코드 역시 다른 팀원이 받았을 때 이해를 못한 것도 많아서 프로젝트를 진행하기 전에 꼭 클래스와 id를 정해야겠다고 생각했다. 

 

4) JavaScript 의 다양한 기능

  일촌평 기능을 구현하는 것은 다른 팀원 분들이 하셨는데 어떤식으로 작동이 되는 지가 궁금해서 설명을 들었다. 

일촌평은 댓글을 달면 댓글 작성자, 작성자가 설정한 비밀번호, 댓글의 내용, 작성 시간 이렇게 4개의 데이터가 firebase에 업로드 되어서 화면에 최신순으로 정렬되는 방식으로 구축이 되었다. 여기서 삭제를 하려면 작성자가 설정한 비밀번호를 똑같이 입력해야 했는데, 여기서 Javascript if문이 사용되었다고 한다. 비밀번호가 맞으면 삭제되고, 틀리면 삭제되지 않는다. 코드를 봤을 때는 굉장히 어렵게 생각되었는데 설명을 들어보니 Java에서 배운 if문과 비슷하다고 느꼈다. 또한 비밀번호를 입력하는 부분에 prompt() 함수를 사용해 작성자에게 값을 입력받아 출력하도록 했다. 이렇게 입력받은 비밀번호 값은 firebase에 저장되어 나중에 삭제를 하려고 할 때 if문이 true인지 false인지 판단할 때 사용된다. 

  생각해보면 당연한 수순이다. 비밀번호를 설정하고, 비밀번호가 틀리면 접근할 수 없고, 맞다면 삭제된다. 이렇게 당연한 수순을 컴퓨터에서 처리하게 하려면 함수와 메서드를 사용해서 규칙을 알려주는 것이다. 

if문과 반복문은 모든 프로그래밍에 필수불가결하다! 

 

5) 발표 준비

  전부터 발표를 할 때마다 늘 생각했던 것은 발표는 사람들에게 작업물을 설명해주는 것과 같은데 내가 이해하지도 못한걸 설명할 수 없다는 것이었다. 그래서 항상 발표를 맡아 내가 맡은 부분 뿐만 아니라 다른 팀원들이 맡은 부분도 같이 공부하면서 몰랐던 부분에 대해 공부하고 내가 알고있던 것은 다시 확인하는 것을 좋아한다. 

  이번에도 발표를 맡게되어서 정말 감사하게도 내가 몰랐던 JavaScript 함수나 구현 방법, 기능을 많이 알게되었다. 팀에 누가 되지 않고 내 스스로의 발전을 위해 발표 준비를 정말 열심히해서 성공적인 발표가 되기를 바란다! 

 

 

 

[API 관련 꿀정보 ↓ ↓ ↓ ↓ ↓ ↓]

https://dev-yeim.tistory.com/