쌩로그

삽질기 본문

TroubleShooting & 고민/기타

삽질기

.쌩수. 2023. 11. 21. 23:34
반응형

목록

  1. 포스팅 개요
  2. 본론
      1. 데이터 형식
      2. JSON
      3. 또 JSON
  3. 요약

1. 포스팅 개요

비질란테의 유지태가 말합니다.
"이제부터 내가 너한테 반말을 하겠습니다."

그냥 평소완 다르게 반말로 쓴다는 의미입니다.

현재 프로덕트를 개발 및 구현하는데 있어서 바보같았거나, 인지를 해야되는 부분에 대해서 써보려고 한다.

2. 본론

1. 데이터 형식

데이터 형식은 다양하다만, 일단 현재 사용한 형식은 DataForm, JSON 둘 뿐이다.

나는 데이터 형식에 대해서 어떻게 알고 있었을까...
생각해보면, 그냥 몰랐다...

단지, "JSON은 JSON이고, DataForm은 DataForm이다." 요정도 였다.

그리고, 얼마 전에 올렸지만, 파일을 받을 때는 FormData로 받아야했다...

근데 내가 이상하게 생각했던 게...
"파일은 DataForm으로 받고, 다른 데이터는 JSON으로 받아야되나..??.. 그래야겠지...?" 생각했었다.

하... 불과 34일 전인데 지금 생각하니 어이가 없다..ㅋㅋㅋㅋㅋㅋㅋㅋㅋ~~

그러다가 사수님께... 가르침을 받았다.

"데이터 형식 하나여야 해요~! FormData로 받기로 했으면, FormData만 사용하고, JSON으로 받으려면, JSON만 사용해야 해요!"

매번 가르침을 주시는 사수님 감사합니다...ㅠㅠㅠ

그렇다...
"데이터 형식"이다...

예를 들어, 이력서를 제출한다고 생각했을 때 이력서는 하나만 낸다.
이력서를 두 가지 형식으로 낼 수 없다.
그리고 회사에선 자율형식으로 받거나 자사에서 채택한 양식을 제출하라고 한다.
자사에서 채택한 양식은 그대로 내면 된다.
자율형식이라고 다르지 않다. 하나만 내야한다.
그리고 자사에서 채택한 양식은 그 회사가 그렇게 받기로 결정한 것이다.

마찬가지로 서버에서 데이터를 주고 받을 때, 각 요청의 성격에 따라 달라지겠지만, 결국 한 요청에 하나의 형식으로만 받게 해야되는데,
나는 회사에 두 가지 버전의 이력서를 제출하려고 한 것과 똑같은 생각을 하고 있었다....

글 쓰면서 현타 온다..;;

혹시 이 글을 보시는 뉴비분들...
아.. 아니다.. 신입이시라도 이런 실수는 안 하겠다...만약 하시는 분 계시다면 환영한다...

2. JSON

JSON은 데이터 형식도 데이터 형식인데,
결국 자바에선 문자열이다.

DB에 이쁘게 넣으려고, ObjectMapper 객체로 JSON으로 파싱했고,
그 파싱한 걸 개행하고 탭넣고, 어째저째 쌔빠지게 작업해서 예쁘게 들어가게 했다. ^.^

아마 이 글은 보는 분은 나에게 욕할 거 같다...
완전 바보라고..😂😂😂😂😂

그 지석진이 런닝맨에서 말한 게 있는데,
"시청자 분들 저 욕하지마세요" 라고 했다.
나도 말해본다.
"앞에 계신 분 저 욕하지마세요 모를 수도 있죠..;;"

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
흠.. DataGrip으로 DB를 직접 컬럼으로 확인하다 보니까 아마 Data가 이쁘게 보이길 내가 무의식적으로 바랬나보다...

그런데, 이런 걸 하지 말았어야 했다....

예를 들면 이런 거다.

[{"id": 1,"title": "title"}]

위의 데이터를 아래와 같이 바꿨다.

[
  {
    "id": 1,
    "title": "title"
  }
]

;;;;;;;
DB에 데이터를 가공해서 넣는 게 흠... 적절치 않다는 건 말 안 해도 알 것이다.

그리고, 개행이랑 탭 넣는 게 시간낭비기도 하고, 문자열 연산도 비용이 많이 든다....
그리고 지금 막 생각해보니 저렇게 이쁘게 한다고 해서 이점이 될 만한 것이 없고, 오히려 실이 ...겁나게 많다.

후... 사수님이 욕해주지 않아서 참 감사하다...ㅋㅋㅋ

데이터베이스에 넣는 데이터는 최대한 가공처리하지말자....!!

3. 또 JSON

또 JSON이다.

아까는 DB에 넣는 얘기였지만, 이번에는 DB에서 꺼내와서 줄 때의 이야기다.

DB에서 JSON의 형태로 문자열로 들어갔는데, select한 결과는 당연히 문자열이다.
난 이 JSON을... 하... 배열로 돌려서 요래조래 볶아서 가공해서 줄려고 했었다.
그런데, JSON 자체가 문자열이다...

그럼 JSON으로 프론트에 돌려줄텐데...
응답 데이터 중 String 타입의 변수에 그냥 DB에서 꺼내온 JSON을 넣어서 그대로 주면 되는 일이었다...

그런데... 내가 이를 생각지 못 하고, 굳이 안 해도 되는 요리를 할 뻔했지만, 중간에 사수님이 말려줘서 다행이었다..

내가 나를 돌아보는 글이지만,,, 암 걸릴 거 같다..;;

"JSON은 문자열"
"JSON으로 주고 받는 데이터라면, 그냥 JSON을 주면 된다."

3. 요약

결론 : 부족한게 많다... 채울게 너무 많다... (긍정적으로 생각하자..)채워지고 있긴하다..

728x90
Comments