개발
-
[이클립스 에러] Document base does not exist or is not a readable directory개발/문제 해결 2019. 1. 14. 16:52
잘 돌아가고 있던 프로젝트인데 다시 서버 스타트를 누르니 에러 발생ㅜㅜ java.lang.IllegalArgumentException: Document base does not exist or is not a readable directory (출처: https://stackoverflow.com/questions/8492454/eclipse-tomcat-error-document-base-does-not-exist-or-is-not-a-readable-director) 다른 천재들의 답변을 종합해본 결과, 잘 돌아가던 프로젝트를 띄우는데 이 에러가 나온다면 톰캣이 잠깐 맛이 가서 그런 것이니 서버 설정과 관련된 부분을 조금씩 건드려주면 되는 것으로 보인다. 해결책 1. 이클립스의 Servers 에서 생..
-
SYS_CONTEXT 함수로 세션정보 추출하기개발/Database 2019. 1. 14. 13:19
세션에 담긴 접속IP주소를 추출하려면 당연히 자바 컨트롤러에서 뽑아내는 것이라고 생각했는데이번 프로젝트를 하면서 DB에서 쿼리로 뽑아낼 수도 있다는 것을 알았다. 지금까지 확인한 바로는 오라클과 티베로에서 SYS_CONTEXT 라는 함수를 사용하여 추출이 가능하다. (출처 : https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions165.htm) 사용법- SYS_CONTEXT('namespace' , 'parameter') - namespace 로 'userenv' 를 입력하면 현재 세션의 환경정보 추출 가능- 예 : IP 주소 추출 시SELECT SYS_CONTEXT('userenv', 'IP_ADDRESS') FROM DUAL;
-
[이클립스] XML 파일을 XML Editor에서 열도록 설정하기개발/Tool 2019. 1. 14. 11:25
전자정부프레임워크에서 기본적으로 XML 파일은 sqlMap Editor로 편집하도록 설정이 되어 있는 것 같다. 그래서 XML 파일을 열면 항상 SQLMAP 탭이 먼저 보이고, 옆의 탭을 클릭해서 쿼리문을 수정하러 들어갔다. 난 그냥 바로 쿼리만 만지면 되는데 굳이 한번 더 클릭을 하기 번거롭기 때문에....이게 맞는지는 모르겠지만 아무튼 XML 파일을 열었을 때 바로 쿼리문이 보이도록 설정을 바꿨다. 위치는 Window > Preferences > General > Editors > File Associations 아래 캡쳐와 같이 File types: 영역에서 *.xml을 선택하고 (없을 시 Add 버튼을 눌러 유형 추가)Associated editors: 영역에서 XML Editor를 선택한 상태에..
-
[이클립스] VM arguments개발/Tool 2019. 1. 11. 15:08
생각해보니 프로젝트 들어갈 때마다 개발 환경을 세팅하면서 아키텍처 담당하시는 분들이 시키는 대로 VM arguments 에 뭘 이것저것 추가하곤 했는데, 그게 뭔지 궁금해하지도 않았다. 지금까지는 생각없이 살았을지언정 앞으로는 그렇게 살면 안되니까 깨작깨작 검색을 해봤다. 일단 VM arguments는 무엇이냐? 이클립스 도큐먼트에 따르면 VM arguments란 주로 JVM의 동작방식을 변경하는 값이라고 한다.(출처 : https://help.eclipse.org/2018-12/index.jsp) 대체로 이클립스 성능 최적화를 위해 힙 메모리 또는 Garbage Collection 정책 설정을 조정하는 값을 VM arguments에 선언해주는 것으로 보인다. 예를 들어 힙 메모리를 256MB로 바꾸려면..
-
[이클립스 에러] No suitable driver found for jdbc 해결개발/문제 해결 2019. 1. 11. 11:45
새로 프로젝트를 받아서 로컬 톰캣 서버에 띄워놓고 작업을 시작하려는 찰나,서버 스타트를 누른지 얼마 되지도 않아 이클립스가 또 에러를 뱉어낸다ㅠㅠㅠㅠ java.sql.SQLException: No suitable driver found for jdbc:log4jdbc:tibero:thin:@ 흐아아아ㅏ아아아아ㅏㅏ아 이런 경우 남들은 보통 1. 접속할 DB IP, 유저, 패스워드 부분에 오타가 없는지 확인하고2. 라이브러리에 jdbc 드라이버가 있는지 확인하고 다시 추가해주고다시 띄워보면 잘 접속이 된다는데...... 지금 띄워야 하는 프로젝트는 아키텍처 관리하시는 분께서 globals.properties 에 접속 정보를 입력한 상태에서 개발 svn에 올려주셔서 1번은 문제가 없는걸 확인했고jdbc 드라이..
-
TABLE Function 이라는 것도 있다개발/Database 2019. 1. 9. 14:20
DB 담당 수석님께서 짜서 던져주신 쿼리를 보다가 난생 처음 보는 신택스를 만나서 검색오늘도 출처는 구루비 (http://www.gurubee.net/lecture/2238) 아직 내용을 완벽하게 이해한 것이 아니라 간단하게 요약만 남기고 끝낸다...흐흑 Table Function - Result Set 전체를 인자 값으로 받아서 결과를 Return 하고자 할 경우 유용하게 사용 가능 - Table Function / Pipelined Table Function - SELECT * FROM TABLE( Row 출력 Function ) 형태로 사용 가능
-
읽기 좋은 코드가 좋은 코드다 / 더스틴 보즈웰, 트레버 파우커개발/자습중 2019. 1. 7. 14:55
아직 개발 경력으로는 걸음마는 커녕 바닥을 기어다니는 수준이지만 선배들이 만들어둔 코드를 보면서 항상 누가 봐도 쉽게 눈에 들어도록 최대한 간결하게 코드를 짜는 것을 목표로 하자고 다짐했다. 그런 의미에서 이 책 "읽기 좋은 코드가 좋은 코드다"는 제목에서부터 내가 지향하는 바를 아주 정확하게 저격한다. 분량도 적당하고 내용도 읽기 쉽게 적절한 예시 코드와 함께 제시되어 있어서 무척 맘에 들었다.추천추천 1. 이름에 정보 담아내기 - 변수, 함수 혹은 클래스 등의 이름을 결정할 때는 이름이 일종의 설명문이 된다고 생각하고 이름에 정보를 담아낼 수 있도록 해야 한다. 즉 구체적이고 명확하며 적절한 길이의 이름을 붙여준다. - 생성자는 대문자로, 평범한 함수는 소문자로 표기하거나 jQuery의 결과를 저장하..