에러 해결방법 꿀팁>>>>>>>
(잘못된 습관으로 코딩하는 분들이 계시기도 하셔서,,,사실 에러만 해결해도 코딩시간이 엄청 줄어듭니다. 대부분 다 에러와의 사투를 하고 계시죠, 진짜 코딩하는 시간보다, 코드를 어떻게 짤까하는 시간이 더 걸리고, 그다음에 ,에러를 찾느라 또 시간 엄청 잡아먹고,,,)
-라이브러리나 프레임워크 별로 각양각색의 에러가 있다.
즉, 제가 각각의 에러 해결방법을 알려드릴순 없고, 공통적인 에러를 ,,,에러해결 순서 자체를 알려드릴꼐요.
그래서
제가 직접 에러낸거, 오늘자 코딩하다가 에러난거를 실제로 보면서
여러분들한테 알려드릴꼐요.
============================================================
먼저
1. 언어 단에서, 에러가 나는 경우를 먼저 살펴볼꼐요.
function (x,...y,z){
}
//Uncaught SyntaxError : Function statements require a function name
이런 에러가 낫네요,
문법에러인데요, 지금 함수 이름이 없다고 나오네요,,,
즉,
뭐,,구글 검색해서 찾으셔도 되지만,
에러의 내용이 이미 밑에 나옵니다, 영어공부를 하세요,
영어를 해석할줄알면,읽어보면 왜 에러가 났는지 밑에 다 적혀있습니다.
: 지금 제가 그래프큐엘 예제를 만들고 있는데,,저런 빨간 에러가 났어요,,
일단 그럼 저 빨간 에러(영어)를 읽으셔야되요, (해석,,) 번역기라도 돌려서 읽으세요,,
일단 에러만 읽어도 뭐가 지금 문제인지 바로 느낌이 와요,
Uncaught (in promise) Error : GrapQL error : A unique constraint would be violated on User. Details : Field name = email
at new ApolloError
at Object.next
at notifySubscription
이런식으로 되어있는데요,,
지금 그래프큐엘이 DB쪽 이거든요, 그래서 지금 DB쪽에서 작업하다가 에러가 난건데,
지금 저걸 해석해보면,
지금 DB에다가 고유한 값을 넣어주는 필드가 있는데, 쉽게 말해서 이메일이 중복이다. 라는거죠
그래서 에러가 낫다
여튼 딱 영어를 보면 뭐가 문제인지 알수있다.
에러 메세지를 읽을줄 알아야한다.
그리고 모르겠으면
구글 검색을 하시는데, 팁을 드리자면,
Uncaught (in promise) Error : GrapQL error : A unique constraint would be violated on User. Details : Field name = email
이 전체를 다 복붙해서 검색하지마시고,
on user 이랑 email 을 뺴고 검색을해보세요,
왜냐면 다른 사람들은 뭐 코맨트나 이런거에서 에러가 낫을수 있기때문에,
검색이 잘 안될수 있기떄문에,
다르기떄문에,,,
여튼 유저랑 이메일 을 지우고 검색하시면, 검색결과가 더 자세히 나오실수 있을꺼에요.
그리고
만약 깃헙에서 정보를 찾으셨다면, 깃헙 보실때 팁은요.
답변에 따봉달려있는거 많이 참고하세요, 즉, 추천이 많이 들어간 답변 위주로 보심되여 ㅋㅋ
그리고
라이브러리나 프레임워크의 에러나 뭘 찾으실때, 구글에서 검색을 하지마시고
예를들어 프리즈마에서 에러가 많이 낫는데,
그러면
프리즈마의 깃헙에 들어가보세요,
프리즈마 깃헙에 들어사셔서 상단 왼쪽에 검색 칸에다가 복붙하셔서 검색해보시면 더 잘 나올수가 있다.
깃헙에서 찾으면, 소스코드까지 그대로 나와요,,즉, 에러를 발생기키는 부분까지 소스가 다 나오니까 좋죠
아 에러가 여기서 나오는구나 하고 바로 파악하기 쉽죠.
깃헙홈페이지 엎에 메뉴중에 Issues 눌러보면 , 답변들을 볼수가 있다.
그래서 라이브러리나 , 프레임워크는 구글을 검색해도 좋지만, 일단 깃헙을 질문을 검색해보면 좋아요.
사실 이게 오픈소스 측면에서 보면, 스택오버플로우에 하는게 맞고, 이 이슈는 버그 같은거를 질문하시는거거든요.
뭐,,사람들이 그냥 귀찮아서 자기가 안되는거를 질문하더라고요, 뭐 좋지않은거긴한데 아무튼, 어떤 라이브러리든 이 Issues 에서 검색을 해보세요.
그리고 따봉 많이 받은게 답일 확률이 높다.
그리고
구분이 있는데,
Open(초록색 느낌표) 은 답이 아직 해결받지 않은거고?,
Closed(빨간색 느낌표) 는 답변 해결 받은것이다.
그래서
빨간색 느낌표 Closed 를 찾아 보는게 좋다.
그래서
Open (초록색 느낌표) 일때는 아직 답변해결이 완료가 안됬을 확률이 높아서, 이런 답변들은 직접 코드 소스를 까보시는게 좋다.
(보통 라이브러리나 등등의 소스코드를 까보는걸 두려워하시는데, 용기를 내세요...)
이 소스코드를 까보는 순간부터 여러분들의 실력이 확실히!! 달라져요!!
글고 까보는게 생각보다 쉬워요.
폴더 구조가 복잡해서 , 어렵다 생각하시는데,, 생각보다 쉽거든요..
그래서 도저히 답이 안나오는 구조의 버그다. 생각이 되시면. 포기 하지 마시고, 직접 수정을 하세요.
여러분도 직접 수정을 하실수가 있어요.
직접 수정을 하시는 용기를 내보시는것도 좋아요.
그래서
에러 해결순서를 간단히 정리를 해두었는데요..
-일단 공식문서를 많이 읽어두자.
-오타 조심하자
-깃허브 이슈를 먼저 검색하자.
-스택오버플로우&구글링
-최후의 수단으로 커뮤니티&주변사람들에게 질문.
-소스 직접 수정하기
*참고로 에러난다고 직접 구글링해서 찾아보지도 않고 심지어 에러를 읽어보지도 않고, 그리고 바로 커뮤니티에 질문부터하시는 습관은 최악입니다.제발 주변 사람들한테 에러를 먼저 물어보지 마세요.
사실 가장 빨리 에러를 해결할수있긴한데, 이렇게 하는건 하나도 실력이 안늘어요. 꼼수죠..
이런 분들은 똑같은 에러를 나중에 또 부딫혔을때 , 또 까먹고 또 이런식으로 반복을하는거죠...
즉, 에러가나면 스스로 해결을하는 노력을하고 스스로 정리를 해보는게 중요한데, 그렇게 하지 않는 분들은,,,안타깝죠,,그런분들은 개발실력 절대 안늘어요.
도저히 해결방법이 안나온다 하시면, 직접 소스코드 까보고, 수정도 해보고,,,
고친거 있으면 pull request 한번 날려보고,,
이정도만 할줄알면, 어딜가든 꿀리지않는 개발자거든요.(소스코드 직접 수정할수 있는 정도까지가면요..)
여튼 이정도 까지 한번 가보세요, !!
그리고
요즘은 공식문서가 참 잘되있어요.
요즘은 공식문서 제대로 안쓰면,사람들이 써주지도 않거든요,,
그래서 공식문서 읽어보면 , 트러블 슈팅이라고 있는데, 그런거 읽어보면 왠만한 에러 해결방법 다 나와있어요...
그리고, 대부분의 에러는 다 오타에요.
그래서 오타 쫌만 고치면 되는경우 많아요.
오타는 사실 저도 내고, ,,오타는 뭐 어쩔수없어요,,그냥 운이 나빳다고 생각하세요,ㅋㅋ 오타 찾는게 정말 힘들어서,,ㅜㅜ이거는 뭐 어쩔수 없는거,,
그외는 에러메세지 꼭 읽어보시고,,해결후 꼭 정리하고, 돌려보고,,
사실 에러메세지는 안물어보는게 좋습니다..ㅡㅡ 즉, 최후의 수단으로,,해야되는거,,
여튼 직접 찾는게 좋습니다. 스스로 공부할때는 직접찾아야됩니다.
뭐 이거 지금 당장 해결안하면 회사짤린다 싶을땐 , 물어봐야겠죠 ㅎㅎ
여튼 ,본인을 속이지 마세요.
중요한건
=====================
그외 >>>
-개발자라면 네이버에서 검색하는걸 하지마세요.(네이버에서 검색하시는분은 스스로를 개발자라고 하지마세요)
-공식문서를 자꾸 왜 보라고하면, 솔직히 강좌들, 책들 솔직히 다 오래됬어요, 최신은 무조건 공식문서입니다.