본문 바로가기

전체 글

(47)
하나 또 배웠다. 들어온 업무 중에 논문 초록을 조회하는 버튼이 작동하지 않는다는 요청이 있었다. 버튼을 클릭해 보니 404 에러가 났다. 존재하지 않는 페이지라는 뜻이다. 발품을 팔아 논문을 다루는 웹사이트를 찾았다. 해당 사이트에서 논문 초록 조회 페이지의 url을 딴 후 id 값을 태우는 방식을 적용했다. 논문 조회가 아주 자아아알 됐다. 그런데 한 가지 문제가 있었다. 논문을 조회하는 페이지는 하나가 아니고 여러 군데인데 그 많은 곳에 이전에 작성했던 url이 하드코딩 되어 있었다. 한 곳에서 url을 설정해서 쓰이는 곳에 각각 뿌려주는 방식으로 바꾸기로 했다. UrlController라는 클래스를 하나 만들어서 거기에 url을 static으로 선언하고 해당 url이 필요한 jsp 단에서 스크립틀릿 언어()로 호출..
톰캣 서버 재가동 시 유의사항 운영 서버에 수정한 파일을 반영하면 서버를 재가동 하게 된다. 하지만 가끔씩 재가동이 안될 때가 있다. 그에 대한 해결 방안을 조금이나마 제시하려고 한다. 우선적으로 SSH를 통해 서버를 재가동 할 때는 2개의 창을 켜서 한 쪽에서는 서버의 로그를 살펴보면서 진행하는 것을 권한다. 대체로 서버 재가동이 안되는 이유에 서버가 다 내려가지 않았는데 다시 켰을 경우가 많기 때문이다. 서버의 로그를 보는 방법은 서버의 logs 폴더까지 이동한 후 tail -f catalina.out 명령어를 입력하면 된다. 일단 서버의 bin 폴더가 위치한 경로까지 이동한다. 그 다음 ./shutdown.sh로 서버를 종료시켜준다. 그 다음은 서버가 잘 내려갔는지 확인하는 작업이다. 서버가 다 내려갔는지는 어떻게 알 수 있을까..
SSL 인증서 갱신 방법 톺아보기 SSL이란?? SSL은 "Secure Socket Layer"의 약자로 정보를 안전하게 전송하기 위한 보안 기술이다. 사용자와 웹 사이트 간의 데이터 통신을 암호화하여 데이터를 중간에서 조작하거나 엿보는 행위를 방지하는 역할을 한다. 웹 사이트의 url에서 시작 부분인 https의 s가 SSL을 뜻하는 것이다. 현재는 TLS(Transport Layer Security)라는 SSL의 다음 버전으로 이 역할이 상당 부분 대체되고 있다. SSL 인증서 갱신 방법 cert.pem, key.pem, name-Chain.pem 등의 인증서 파일을 받았을 것이다. 해당 파일들을 임의의 폴더에 잘 저장해 놓는다. - Apache 1.x 는 httpd.conf - Apache 2.0 은 ssl.conf - Apache..
파일질라 queue.sqlite3 전송 대기열 로딩 오류 파일질라를 켤 때마다 새로운 버전으로 업데이트를 하라고 해서 했더니 파일질라를 켜고, 끌 때마다 위와 같은 오류가 발생했다. 구글에 검색을 해보니 이미 이 오류를 경험했고 해결하신 분이 남기신 귀한 자료가 있었다. 해당 자료에서 하라는 대로 해보았다. 오류가 나는 경로는 C:\Users\YoonGH\AppData\Roaming\FileZilla의 queue.sqlite3 파일이었다. 아마 이 경로를 찾으려고 하면 안 보일 것이다. AppData가 숨김 처리 되어 그런 것이니 파일 탐색기의 보기 탭에서 숨긴 항목을 체크하면 보인다. 참고한 글의 작성자 분은 해당 경로로 들어가 문제의 파일을 삭제하셨는데 쫄보인 나는 삭제는 못하고 바탕화면에 살포시 옮겨놓았다. 그리고나서 파일질라를 다시 실행시켜보니 아주 자..
운영 서버에는 왜 .class 파일을 반영해야할까? .java 파일은 개발에 관한 주요한 내용이나 보안 정보가 담겨 있을 수 있다. 이러한 정보가 운영 서버에 노출되면 취약점이 발생할 수 있기 때문에 컴파일 된 .class 파일로 반영을 하는 것이다. 또한, .java 파일이 운영 서버에 담기면 런타임 시에 다시 컴파일이 필요하다는 단점이 생긴다. 이는 성능에도 부정적인 영향을 미칠 수 있기 때문에 이미 컴파일 된 파일인 .class 파일을 반영하여 시스템의 무결성을 유지할 수 있다.
.java 파일은 어떤 과정을 거쳐서 배포가 될까?? 1. 계기 입사 후 처음으로 운영 서버에 수정한 파일을 반영할 기회가 있었다. 이 과정에서 운영 중인 서버에 배포할 때는 .java 파일이 아닌 컴파일 된 형태의 .class 파일을 사용해야 한다는 것을 알게 되었다. 내가 작성한 .java 파일이 어떤 과정을 거쳐서 실제 운영 중인 서버에 올라가는지 되짚어 보고자 이번 글을 작성한다. 2. .java 파일 확장자가 .java인 파일들은 개발자가 작성한 파일들이다. 자바 개발자가 코딩을 한다는 것은 대부분 이 확장자의 파일에서 이루어진다. 사람이 이해할 수 있는 파일이라고 한다. 3. .class 파일 확장자가 .class인 파일들은 바이트 코드로 컴파일 된 파일들이다. .java 파일은 사람들이 이해할 수 있는 파일이지 컴퓨터가 이해할 수 있는 파일이 ..
project clean과 tomcat clean의 차이 이클립스에서 사용할 수 있는 clean은 크게 project clean과 톰캣 서버를 clean 하는 방법, 이렇게 두 가지이다. project clean 먼저, project clean의 경우에는 빌드와 컴파일 후 산출된 .class 파일 등의 내역들을 삭제한 후에 다시 빌드와 컴파일을 진행하는 것이다. 주로 수정한 내용이 적용이 안되거나 자바 파일 등에서 오류가 없는데 프로젝트가 돌아가지 않을 경우에 project clean을 사용한다. 컴파일 됐던 파일들을 전부 삭제하고 다시 만들면서 이전 빌드 시에 꼬였던 것을 다시 푸는 과정이라고 생각하면 쉽다. tomcat clean 톰캣 서버 clean은 프로젝트에는 이상이 없는데 서버에 publishing 하는 과정 중에 뭔가 이상이 있을 때 사용한다. 프..
File 클래스의 length() 메소드 톺아보기 ## 새로운 파일을 생성한다. File file = new File(String parent, String child); ## 이후 파일의 크기를 구하는 length() 메소드를 사용할 수 있다. int size = (int)file.length(); ## 파일의 byte 값이 반환된다는 것을 명심하자.