java

    Interned String in JAVA

    자바(Java)의 문자열(String)은 불변(immutable)하다. String의 함수를 호출을 하면 해당 객체를 직접 수정하는 것이 아니라, 함수의 결과로 해당 객체가 아닌 다른 객체를 반환한다. 그러나 항상 그런 것은 아니다. 아래 예를 보자. public void func() { String haribo1st = new String("HARIBO"); String copiedHaribo1st = haribo1st.toUpperCase(); System.out.println(haribo1st == copiedHaribo1st); } "HARIBO"라는 문자열을 선언한 후, toUpperCase()를 호출하고 있다. 앞서 말대로 불변 객체이기 때문에 toUpperCase()를 호출하면 기존 객체와 ..

    [Error] javax.net.ssl.SSLException

    javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer’s close_notifyapplication에서 db에 접속할 때, 위와 같은 에러 메세지가 나온다면 ssl 기능을 꺼서 접속할 수 있다. jdbc:mysql://localhost:3306에 useSSL=false을 붙여서 접속해보면 에러 없이 접속할 수 있다. jdbc:mysql://localhost:3306?useSSL=false

    그래서, 서블릿(Servlet)이 뭔데?

    그래서, 서블릿(Servlet)이 뭔데? 자바, 스프링 프레임워크를 사용하면서 기존에 개발되어 있는 프로젝트를 그대로 사용했다. 이미 누군가가 잘 만들어놓았고 새로운 프로젝트를 구성할 때에도 기존에 있는 프로젝트를 그대로 사용하면 문제가 없었다. 새로운 기능을 추가하거나 기존에 로직을 변경할 때에도 문제가 없었다. 기능을 구현하기에 어떻게 하는지는 이미 누군가가 만들어 놓았기 때문에 그대로 따라하면 되기 때문이다. 그런데 그러면 나는 개발자라고 할 수 있을까? 적어도 지금까지는 큰 문제가 없었다. 아니 있어도 문제라고 해주는 사람이 없다. 이렇게 고이고 고여 썩은 물이 되어 나중에는 어느 치킨 프랜차이즈가 더 좋을지 고민 하겠지. 누군가가 서블릿에 대해 물었을 때 ‘그게 뭐지’라고 되물어었는데, 이러면 ..