상세 컨텐츠

본문 제목

2024.01.08 - 개인프로젝트 1차 제출完

projects/node.js

by 서울의볼 2024. 1. 8. 21:58

본문

주말 내내 개인프로젝트 하느라 아무것도 하지 못했음

뿌듯함도 있었으나 이게 맞나 싶기도 하고 오락가락하고 있음

 

일단 간단히 회고 해보자면 필수로 구현해야 하는 기능들은 다 하고 API key도 잘 숨겨서 제출했음

자세한 사항은 하기 참조 바람

1. 오늘의 문제

  1. 뭐 하나 매끄럽게 바로 된 것은 없었지만 그중에서도 단연 손에 꼽자면
  2. (1) 하나의 image URL을 만들기 위해 두(2) 개의 API로부터 데이터를 호출하는데 잘 합쳐지지 않았음
  3. (2) alert로 각 카드 정보에 맞는 id를 호출하는데 이벤트리스너가 모든 카드에 대해 동일한 alertId를 사용했어서 값이 모두 같은 id를 출력함 (걍 다 같은 id가 뜸)
  4. (3) github repository에 업로드 전 민감정보인 API key를 dotenv를 활용하여 숨기고자 시도했으나 실패함

2. 해본 시도

  • (1) async/await 및 promise를 활용하여 비동기으로 호출되는 데이터 정보들을 동기적으로 만들어 조합함. 컨셉은 괜찮았으나 함수 적용이 잘 안되어 GPT의 도움을 좀 받음
  • (2) 생각보다 좀 더 고차원적인 이슈였음. 처음엔 함수가 정확한 태그를 레퍼런스하고 있는지 확인하였으나 근본적인 문제는 다른데 있었음. 여러 하찮은 시도가 있었으나 문제 해결이 안되어 얘도 GPT한테 문의를 좀 했음
  • (3) dotenv를 install하고 apikey 변수를 authorization에 할당했으나 때려죽여도 작동이 안됐음. 나중에 알고보니 이것도 더욱 근본적인 문제가 있었음(후술)

3. 해결 방법

  • 어떻게 해결했는지는 아래 캡처에 자세하게 주석으로 달아둠. 웬만한 이슈는 GPT가 최후의 보루로 해결해주었고, (3)번 문제는 매니저님/튜터님이 도와주심. 좀 더 자세하게 풀어쓰자면, (2)번의 경우 클로저를 통해 각 이벤트리스너가 해당 카드의 정보를 정확히 기억하도록 수정하여야 했음. 이로써 클로저가 외부 함수의 환경을 기억하여 해당 환경에 속한 변수에 접근할 수 있게 해줌
  • (3)번은 dotenv가 노드 기반의 문법이라 말을 안들었던 것으로 판별됨. 이후 config file을 따로 만들어 API key를 파일내 변수로 할당 후 export하고 아래의 app파일에 import/require하려 했으나 이것 또한 노드 기반의 문법이라 안되었음. 튜터님이 같이 봐주시면서 var로 변수 할당을 다시하고 export/import가 아닌 html에 script를 따로 써서 해당 변수를 전역 변수로 만들어 app파일에서도 적용되도록 하였음 --- 대략 이해한거라 설명이 빈약할 수 있음 주의

4. 새롭게 알게 된 것들

  • GPT는 만능이 아님. 하지만 내 인생을 상당 수준 윤택하게 해줌. 이에 심히 걱정되는 부분이, 행여나 자꾸 어려운 문제에 직면할 때 계속 의존하고 스스로 문제해결 하고자 하는 의지가 퇴보될까 무서움
  • 물론 처음엔 혼자 힘으로 최대한 코드를 써봄, 하지만 대게 잘 안되는 경우가 많음. 튜터님이나 매니저님께 물어볼 수 있지만 그들의 시간도 한정적이고 인간적으로 귀찮게 하고싶지 않아 GPT를 그들보다 우선순위로 두고 있음
  • 여기서 학습철학의 재조정 과정에 있음: '혼자 힘으로 최대한'의 정의가 아직 명확하지 않다는 점 (시간 및 노력의 밸런스 최적화 지점), 구글링 및 서칭을 통해 관련 기술 및 사용법을 읽으며 적용해보는데 투입되는 시간량, GPT를 통해 얻고자 하는 답변의 수준 정의, 마지막으로 튜터/매니저님들에게 SOS를 치는 시점 등의 정립이 필요한 상황임
  • 아직 위의 개념들이 혼재되어 있고, 현명한 시간/노력 관리가 무엇인지 모르는 상황에 두서 없이 조금 더 끄적여 보자면,
  • 구글링/서칭의 경우 가성비가 대단히 많이 떨어짐. 내가 아주 어렸을 땐 사전 큰 걸 들고 영어/국어 단어를 찾았음. 그러다 전자사전이 나오고 내가 맨날 아이리버였나 그걸로 쉽게 쉽게 휙휙 찾으니 아부지가 책 사전으로 찾아야 그 과정에서 다른 단어들과 노력에 따른 보상이 큰 법이다~~~ 라는 취지의 말씀을 하신 적이 있음. 하지만 그때도 느끼건데 인간의 한정적인 시간이란 리소스를 최적화 하여 사용하고자 한다면 책 사전으로 단어를 찾는 방식은 시간 대비 깨달음(?이랄까)의 효용이 매우 저질이라 생각됨. 오늘날 돌이켜보면 전자사전이 아닌 책으로 단어를 열심히 찾았다 하더라도 내 인생이 크게 달라졌을까 의문임
  • 사실 나는 각종 서치엔진과 챗GPT의 관계와 역사도 앞서 언급한 책사전과 전자사전의 경험과 비슷하다는 생각을 기본 축으로 하고 있음. 다만 너무 당연한 말이지만 위의 두 예시는 완전히 같을 순 없음. 그래서 새로 나온 챗GPT라는 아이를 현재 개발이라는 대모험 속 정보의 홍수를 어떻게 하면 가장 효율적이고 빠르게 체득할 수 있을지가 고민인 것임
  • 쓰다보니 내 집중력이 요즘 shorts에 절여진 탓에 금방 한계에 봉착하여 쓰면서 흥미로운 글이었지만 이만 줄여야겠음. 내일 뭐 생각에 업데이트가 있으면 이어가든지 하겠음;;;
  •  

'projects > node.js' 카테고리의 다른 글

[Node.js] sparamin 1 - 공사중  (2) 2024.01.31
[Node.js] Spart Store 2  (4) 2024.01.23
[Node.js] Spart Store 1  (1) 2024.01.23
[Node.js] NBC Movie Review 2  (3) 2024.01.16
[Node.js] - NBC Movie Review 1  (1) 2024.01.11

관련글 더보기