Frudy
4k
2019-07-02 09:04:18 작성 2019-07-02 09:07:21 수정됨
2
2621

신입 개발자가 혼자 공부하는 방법 2편


이 글은, 

https://okky.kr/article/597494과 이어지는 글이에요.


1. 디버깅

(1) 스택트레이스 읽기

(2) 예외클래스 확인하기

(3) 예외가 발생한 메소드 확인하기

(4) Jsp 디버깅 꿀팁


2. 원보소스 살펴보기

(1) 개발하는 언어의 원본 소스 사이트 알아두기

(2) 디컴파일해서 살펴보기


3. 구글링 팁

(1) 모르는 것을 영어문장으로 바꿔보기.

(2) 검색은 공식 사이트부터.

(3) 부작용을 조심하기.


ㅡㅡ


1. 디버깅

(4) Jsp 디버깅 꿀팁


jsp 디버깅 하다보면 답답한게있어요.

스택트레이스에,

at org.apache.jsp.test_jsp._jspService(test_jsp.java:112)

에러라인이 이렇게 잡혀있어서 저기를 클릭해보면


이렇게 뜨거든요.


그래서 어쩔수없이 jsp파일이 java로 변환된 위치를 찾아야 하셨죠?

.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

이런 경로를 매번 외우기 힘드신 분들은,


이렇게 바로가기 파일하나 미리 만들어두면. 앞으로 편하실거에요.


2. 원보소스 살펴보기

(1) 개발하는 언어의 원본 소스 사이트 알아두기

http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes

이건 jdk8버전에서 java의 실제 소스가 들어있는 url이에요.


자바에서 기본적으로 제공되는 클래스를 사용할 때,

그 클래스에 대해 의문이 생기면 원본소소를 살펴보고 해결할 수 있는 경우가 많아요.


저같은경우..

1. https://okky.kr/article/596050

2. https://okky.kr/article/588001

총 두번밖에 못해봤어요.


2. 원보소스 살펴보기

(2) 디컴파일해서 살펴보기


위 경로로 찾는게 번거로울때는, 디컴파일해서 살펴볼 수도 있어요.


https://dololak.tistory.com/504

>> 이클립스 쓰시는분들은 이런곳에서 디컴파일러를 보고 설치하시면되요.


다만 주의할점은, 컴파일된 .class 파일을 역으로 디컴파일 하는것이기 때문에,

실제 원본소스와 다를때가 가끔 있어요.


이런게 숙달되면,

https://m.blog.naver.com/PostView.nhn?blogId=tmondev&logNo=220393974518&proxyReferer=https%3A%2F%2Fwww.google.com%2F

이분처럼 디버깅할 수도 있다고 생각해요. 저도 그러고싶어요.


3. 구글링 팁

(1) 모르는 것을 영어문장으로 바꿔보기.

제가 모르는 것을 한국어로 표현한다음 영어문장으로 바꿔보는게 좋은거같아요.


예시)

css에서 text-overflow ellipsis; 속성을 사용했는데 이게 안먹히네?

--> text-overflow ellipsis 작동안됨.



이런식으로 검색하실 수도 있구요,


키워드만으로도 검색하실수도 있어요.

java의 replace(), replaceAll()의 차이를 모르겠다면

replace replaceall difference 이렇게요.


3. 구글링 팁

(2) 검색은 공식 사이트부터.


예를들어, String의 equals()메소드를 검색한다면,

반드시 https://docs.oracle.com/javase/8/docs/api/java/lang/String.html

이렇게 오라클같은 공식문서에 나와있는 equals()설명부터 살펴보셔야해요.


왜냐하면, 구글링에는 생각보다 잘못된 정보가 많아서...

헛수고하실 가능성이 꽤 높아요.


OKKY사이트 같은대에 올라왔다면 신빙성이 그나마 있어요.

잘못된 내용이 있다면 답변에 정정하는 답변이 달렸을거니까요.


하지만 단순 개인블로그라면.... 글쎄요..


3. 구글링 팁

(3) 부작용을 조심하기.


공식사이트 부터 뒤져봐야하는 이유중에 하나이기도 한대요,

어떤 버그가 나서 구글링하면 단순히 임시방편(?)같은 해결책을 줄때가 많아요.


https://okky.kr/article/311337

fender님도 이에 대해 말씀하신적이 있어요.


대충 비유를한다면,


코감기에 걸렸어요 --> 코를 없애세요.

음..비유가 좀 심한거같아요. 아무튼 저런느낌이에요.


저도 이런 에러가 발생해서 결국 구글링 해보니..


대체로 해결방법이...

이렇게 하라네요.


컴퓨터의성능에 따라 적당한 processes값을 계산하는 방법을 알려준것도 아니에요.

그냥 그 값을 사용자가 임의로 지정하라는 듯한 게시글이였어요.


제 입장에서는 상당히 난감하죠.

관련 지식이 없어서, 저 값을 많이 늘렸을 때 생길 부작용에 대해 모르니....


그래서 저는 고민끝에 커넥션풀을 사용해서 해결했었어요.

하지만 구글링에서는 커넥션풀 쓰라는 이야기가 하나도 없었구요.


저도 초급개발자다 보니, 이 부분에 대해서는 더 드릴말씀이 없어요.

그냥 부작용이 있으니 조심하세요! 정도밖에 말씀을 못드릴거같아요.

13
14
  • 댓글 2

  • 살려주세요젭알려
    410
    2019-07-02 10:38:55

    맞아요!!!!!!

    구글링할때 영어로 하면 물론 자료가 쏟아지지만, 

    이상한 자료도 같이 쏟아질때가 있고

    해결방법이 아닌걸 해결방법이라고 올라와있는것도 있고

    답답하긴 하죠 ㅠㅠㅠㅠ


    진짜 그 부분은 조심해야할것같아요 ㅠㅠㅠ 공감하고갑니다. 


    0
  • 행복해지고싶은사람
    680
    2019-07-02 11:16:58
    항상 글 잘보고 갑니다!~
    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.