본문 바로가기

전체 글722

728x90
반응형
[Spring/MyBatis] Null 값 허용하기 문제 정의 및 현상 MyBatis를 활용해서 개발을 하다보면 SQL(Structured Query Language) 실행 중에 아래와 같은 문구를 만날 때가 있다. 원인은 여러가지가 있겠지만 그 원인 중 하나가 SQL 내의 변수값에 NULL이 있는 경우를 본 글에서는 살펴본다. JDBC-590704:Unsupported SQL type. 위와 같은 문구가 발생하는 경우 사용하는 SQL 내 변수 값 중에 NULL이 있는지 확인해서 NULL이 있는데 아래와 같은 문구가 발생하면 본 글의 해결방법으로 해결이 가능할 확률이 높다. 전역으로 NULL 값 허용 SQL 변수 값에 NULL이 허용되도록 MyBatis 설정을 전역적(Global)으로 설정하는 방법은 아래의 문구를 MyBatis 설정에 입력하는 것이다. .. 2022. 8. 22.
이클립스 Git 플러그인으로 GitHub에 로그인 하는 방법 GitHub 정책이 바뀌어서 GitHub 웹사이트 로그인 계정의 아이디와 비밀번호로는 GitHub에 접속할 수 없다. 정책이 바뀌기 전처럼 이클립스 Git 플러그인으로 로그인하려고 하면 분명히 아이디와 비밀번호를 제대로 입력했는데도 아래의 사진과 같은 창이 계속 나타난다. 해결하는 방법은 다음과 같다. 1. 로그인용 토큰 생성 비밀번호 대신에 사용할 토큰(Token)을 만들어야 한다. GitHub 홈페이지에서 'Setting' - 'Developer settings' - 'Personal access tokens' 페이지로 이동한다. 'Personal access tokens' 페이지로 가면 'Generate new token'이라는 버튼이 있는데 클릭한다. 토큰을 구분할 때 쓸 비고(Note)와 유효기.. 2022. 8. 19.
[넥사크로14] 서비스 추가 방법 자바의 패키지명처럼 화면을 구분하는 단위를 넥사크로에서는 서비스라고 한다. 넥사크로에서 서비스를 추가하는 방법은 2가지가 있으며 프로젝트 서비스 파일을 텍스트 에디터로 직접 열어서 수정하는 방법과 GUI(Graphical User Interface)를 활용해서 서비스를 추가하는 방법이 있다. 1. 텍스트 에디터로 서비스 추가 먼저 넥사크로 스튜디오를 닫는다. 넥사크로 프로젝트 루트 경로에 가면 'default_typedef.xml'가 있다. 이 파일을 텍스트 에디터로 'Services' 요소(Element)를 아래의 사진처럼 찾고 적절하게 'Service' 요소를 생성하고 저장한다. 2. GUI로 서비스 추가 'Project Explorer'에서 프로젝트의 'TypeDefinition'을 더블클릭하면 '.. 2022. 8. 19.
[넥사크로 14] 내장 웹 브라우저에서 글자가 깨지는 경우 넥사크로 기반 기존 프로젝트를 활용해서 신규 프로젝트를 개발 중인데 내장 웹 브라우저에서 글자가 깨지는 경우를 발견했다. 크롬 등의 다른 웹 브라우저로 확인하면 글자가 깨지지 않았는데 확인해보니 font 관련 문법 오류가 있어서 발생하는 문제였다. (타업체에서 오래 전부터 사용한 라이브러리를 제공 받은거라 CSS 문법 오류는 없겠지 싶었는데 오산이었다) 넥사크로 개발자 가이드의 CSS 문법 문서를 참고해서 아래처럼 설정하니 내장 웹 브라우저는 물론 외부 웹 브라우저(크롬 등)에서도 잘 동작했다. font:bold antialias,11,Malgun Gothic; 참고문서 [1] "7.2.4 CSS Class의 적용", 넥사크로플랫폼 14 개발자 가이드 14.0.1.3900, 투비소프트. @원문보기 2022. 8. 19.
오즈 쿼리 디자이너로 티베로 6에 연결하기 오즈 쿼리 디자이너에는 기본적으로 데이터베이스 벤더 이름에 'tibero'와 'tibero5'가 있다. 하지만 이를 활용해서 티베로에 접속하려고 하면 접속이 되지 않는다. 그 이유는 티베로(Tibero) JDBC가 오즈 쿼리 디자이너에 내장되어 있지 않기 때문이다. 그러므로 오즈 쿼리 디자이너로 티베로6에 연결하고 싶다면 티베로 JDBC를 오즈 쿼리 디자이너에 인식시켜야 한다. 방법은 다음과 같다. 1. 오즈 쿼리 디자이너 라이브러리 폴더에 티베로 JDBC 넣기 아래의 사진처럼 티베로6 JDBC를 오즈 쿼리 디자이너 설치 경로의 'lib' 폴더에 넣는다. 필자의 경우 경로가 'C:\Program Files (x86)\FORCS\OZ Report 8.0\OZ Query Designer 8.0\lib' 였다.. 2022. 8. 18.
VMWare 에서 Edge 브라우저의 화면이 깨질 때 해결하는 방법 문제 증상 아래의 사진처럼 VMWare의 가상화 환경에서 Edge(이하 엣지) 브라우저(Browser)를 사용하면 화면이 깨져보일 때가 있다. 이를 해결하기 위한 가장 쉬운 방법은 하드웨어 가속을 해제하는 것이다. 하드웨어 가속 비활성화 방법 하드웨어 가속을 해제하기 위해 아래의 주소를 엣지 브라우저의 주소창에 입력한다. edge://settings/system 아래의 사진처럼 시스템 설정이 나타날텐데 '가능한 경우 하드웨어 가속 사용'을 클릭하여 비활성화한다. 브라우저를 재시작하면 아래의 사진처럼 정상적으로 GUI가 나타나는 것을 확인할 수 있다. 2022. 8. 17.
Visual Studio Code를 Node.js의 통합개발환경(IDE)로 쓰자 Node.js를 편리하게 개발하기 위해서는 통합개발환경(Integrated Development Environment, IDE)을 구성하는 것이 필요하다. 통합개발환경으로 내가 추천하는 것은 Visual Studio Code이다. 무료로 사용가능하며 풍부한 확장 도구가 있어서 사용하기가 편리하기 때문이다. Node.js 통합개발환경을 Visual Studio Code로 구성하는 방법은 아래와 같다. 동영상 설명 2강. Visual Studio Code를 Node.js의 통합개발환경(IDE)으로 구성하자 1. Visual Studio Code 다운로드 아래의 주소로 가서 Visual Studio Code를 아래의 사진에 나타난 박스를 클릭하여 다운로드 한다. Visual Studio Code 다운로드 주소.. 2022. 8. 16.
RWIS(Road Weather Information System, 도로기상정보체계) 소개 RWIS 정의 RWIS(Road Weather Information System, 도로기상정보체계, 도로기상정보시스템)는 강수량 등의 기상정보와 대기 및 도로면 상태를 실시간 수집하는 시스템 RWIS 의의 국토의 70% 이상이 산지로 구성된 우리나라의 지형적인 특징으로 인해 도로의 대규모 비탈면, 고성토부, 교량 등의 구조물 관리소요가 계속해서 늘어나고 있고 이 구조물이 자연재해로 인하여 손상되어 인명 및 재산 피해가 발생할 가능성이 커지고 있다. 특히 지구 온난화 등의 이유로 우리나라는 국지성 호우와 기습적인 폭설이 더 자주 발생하는 상황이다. 이러한 피해를 예방하고 최소화하는 시스템을 구축하기 위해서는 도로의 기상을 실시간으로 수집하는 시스템인 RWIS가 필요하다. 참고문서 [1] "도로기상 정보의 .. 2022. 8. 12.
이클립스에서 톰캣(Tomcat)이 IPv4 주소만 사용하도록 설정 톰캣이 IPv4 주소만 사용하도록 설정하는 이유 가장 많이 사용되는 네트워크 주소체계로 IP(Internet Protocol)을 흔히 말한다. IP 주소에는 IPv4와 IPv6라는 두 가지 버전의 주소체계가 있는데 톰캣(Tomcat)의 경우 둘 다 지원한다. 하지만 이미 개발되어 있는 응용 프로그램이 IPv4만 지원한다면 톰캣이 IPv4 주소만 사용하도록 강제할 필요가 있다. 그렇지 않으면 주소 길이 등의 문제로 해당 응용 프로그램이 온갖 오류가 발생할 것이고 정상적인 동작을 수행할 수 없을 것이다. 톰캣이 IPv4 주소만 사용하도록 설정하는 방법 톰캣을 실행할 때 옵션으로 아래의 내용을 입력하면 된다. 본 글에서는 이클립스(Eclipse) IDE(Integrated Development Environm.. 2022. 8. 12.
[CentOS] 프로세스가 사용 중인 포트 확인 포트(Port)가 이미 점유되어 있어서 사용하지 못 하는 경우 어떤 프로세스가 해당 포트를 사용하고 있는지 확인하는 것이 필요하다. 아래의 명령어를 입력하면 현재 사용 중인 포트와 프로세스 정보가 나타난다. netstat -tulpn | grep LISTEN 2022. 8. 12.
이클립스에서 'Project Facets'를 강제로 지정하는 방법 이클립스(Eclipse)에서는 아래의 사진처럼 간혹 공식적으로 지원하는 버전이 제한되서 'Project Facets'를 GUI에서 설정하지 못 하는 경우가 있다. 하지만 특정 환경에서 개발을 해야한다면 강제로 설정할 필요가 있다. 그런 경우 아래의 사진처럼 프로젝트 폴더에서 '.settings'라는 폴더로 이동하여 'org.eclipse.wst.common.project.facet.core.xml'을 텍스트 에디터로 열어서 수정하면 된다. 텍스트 에디터로 facet 파일을 열면 아래의 사진처럼 설정들이 나온다. 수정하기 전에 꼭 이클립스를 종료하여야 한다. 2022. 8. 11.
티베로(Tibero) 버전 확인 방법 티베로의 버전을 확인하는 방법은 여러가지가 있지만 나는 쿼리(Query, 질의어)로 확인하는 것을 선호한다. 쿼리로 티베로 버전을 확인하는 방법은 아래와 같다. 티베로 버전 확인 쿼리 티베로에 접속하여 아래의 쿼리를 실행하면 아래의 사진처럼 티베로 버전이 나온다. SELECT * FROM vt_version; 2022. 8. 11.
윈도우 11 오른쪽 클릭에서 더 많은 옵션을 기본적으로 표시하게 설정 윈도우 11의 오른쪽 클릭은 좀 다른가? 신규 PC는 윈도우 11을 쓰는 추세이다보니 나도 윈도우 11 단말기가 하나 생겼다. 윈도우 11에서 우클릭을 하면 윈도우가 요약해서 보여주는 것이 기본값인데 대부분의 소프트웨어들이 윈도우 11 특유의 기능을 지원하지 않고 있기 때문에 내가 필요한 프로그램의 기능이 숨겨져서 나오는 문제가 있었다. 이를 해결하기 위해 아래의 방법으로 윈도우 10을 쓸 때 처럼 우클릭 관련 모든 기능이 바로 나오도록 설정하였다. '더 많은 옵션 표시'를 기본값으로 수정하는 방법 위의 사진처럼 명령 프롬프트를 관리자 권한으로 실행하여 아래의 명령어를 입력하면 아래의 사진처럼 우클릭시 모든 기능이 나타난다. reg.exe add “HKCU\Software\Classes\CLSID\{86.. 2022. 8. 10.
GitLab CI/CD 비활성화 방법 GitLab의 CI/CD GitLab에 소스코드를 올리다보면 GitLab의 CI/CD 기능 활성화가 기본값인 경우가 있다. 특정 프로젝트에서는 CI/CD가 필요하지 않을 수 있으며 적절한 설정이 되어 있지 않은 경우 오류 메시지를 접할 수 있다. CI/CD 비활성화 방법 아래의 사진처럼 'Settings' - 'General' - 'CI/CD' 페이지로 이동하여 기능을 비활성화하면 된다. 2022. 8. 10.
Git GUI 도구 TortoiseGit 라이선스를 알아보자 Git의 GUI(Graphical User Interface) 도구로 TortoiseGit가 있다.TortoiseGit은 GPL(General Public License) 라이선스(License)를 따르며 누구나 무료로 사용할 수 있다. 참고문서 [1] "About TortoiseGit", TortoiseGit. @원문보기 [2] "[칼럼] GPL 라이선스의 이해, 공개SW 가이드/보고서", 공개SW포털, 2018년 9월 19일. @원문보기 2022. 8. 9.
[이클립스] 톰캣(Tomcat) 인코딩(Encoding) 및 메모리(Memory) 설정 인코딩과 메모리를 설정해야하는 이유 톰캣(Tomcat)이 사용할 인코딩(Encoding)과 메모리(Memory)를 명시적으로 선언하여야 개발할 때 문제가 발생하지 않는다. 인코딩이 맞지 않으면 의도와 다른 데이터가 입력 혹은 출력될 수 있고 사용하는 메모리 크기가 적절하게 선언되지 않으면 톰캣이 메모리 부족 등의 이유로 죽을(Down)수도 있다. 인코딩 및 메모리 설정 방법 본 글에서는 이클립스를 기준으로 톰캣을 설정하는 것을 설명한다. 위와 같이 사진에서 'Open launch configuration'을 클릭하여 톰캣 설정화면으로 이동한다. 인자(Arguments) 탭(Tab)으로 이동한 후 아래의 명령어를 참고하여 위의 사진처럼 입력하고 'OK' 버튼을 누른다. 톰캣 메모리 영역 크기 설정 -Xms.. 2022. 8. 9.
이클립스(Eclipse)가 톰캣(Tomcat) 8.0까지만 지원할 때 상위버전 톰캣을 지원하는 방법 문제 설명 및 해결 방법 아래의 사진처럼 이클립스(Eclipse)가 톰캣(Tomcat) 버전을 8.0까지만 지원하는 경우 해결 방법은 여러가지가 있다. 파일을 열어서 옵션을 직접 수정하는 방법도 있지만 이 글에서는 이클립스 서버 런타임 플러그인을 업데이트하여 상위 버전 톰캣을 지원하는 방법을 설명한다. 아래의 사진처럼 이클립스 'Help' - 'Install New Software...'를 클릭하여 소프트웨어 설치화면으로 이동한다. 'Work with'에 'https://download.eclipse.org/releases/neon'를 입력하면 아래와 같은 화면이 나오는데 'JST Server Adapters' 관련 플러그인을 모두 선택하고 'Next' 버튼을 눌러서 업데이트를 한다. ※ 이클립스 버전에.. 2022. 8. 9.
스프링(Spring) 프로젝트에서 메이븐(Maven)의 생명주기(lifecyle) 관련 문제가 발생할 때 문제 발생 최근에 스프링(Spring, 전자정부) 프로젝트에서 메이븐(Maven) 관련 오류가 발생했었다. 오류 메시지는 아래와 같았는데 문제 해결이랑 전혀 관계 없는 메시지라서 한참을 헤맸다. Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-plugin:3.1:runtime Cause: invalid END header (bad central directory offset) 문제 해결 스프링 프로젝트의 메이븐 환경을 해제한 다음 기존 메이븐 저장소(Repository)를 비우고 다시 메이븐 환경을 프로젝트에 활성화한 후 메이븐 업데이트(Update)를 수행하니 해결.. 2022. 8. 9.
[CentOS 7] Forever 4.0.3 설치 Node.js(이하 노드) 프로그램은 오류가 발생하는 경우 종료되는 경우가 흔하다. 그러므로 종료되어도 자동으로 재실행되는 방법이 잘 활용되는데 자동으로 노드 프로그램을 재시작하는 프로그램인 Forever를 많이 쓴다. Forever를 설치하는 방법은 다음과 같다. Forever 설치 아래의 명령어로 입력하여 Forever를 NPM(Node Package Manger)로 설치한다. npm install forever -g 설치한 Forever 버전 확인 아래의 명령어를 입력하여 설치한 Forever 버전을 확인한다. forever --version Forever로 자동 재실행할 프로그램 설정 아래의 명령어를 입력하여 자동으로 재실행할 프로그램을 설정한다. forever start [실행할Node.js프로.. 2022. 8. 8.
[Windows 10] Node.js 설치하기 윈도우에서 Node.js를 설치하는 방법은 아래와 같다. 동영상 설명 1강. 윈도우에 Node.js를 설치하자 Node.js 다운로드 아래의 Node.js 다운로드 페이지로 가서 원하는 버전을 다운로드 받는다. 가장 무난하게 설치하는 방법은 설치형(.msi)을 다운받아서 설치하는 것이다. 하드웨어와 운영체제 상황에 따라 적절하게 선택하여 다운로드 받는다. 윈도우 10 64비트를 쓰는 일반적인 PC라면 아래의 PC에서 형광색으로 강조한 것을 다운로드 받으면 설치할 수 있다. Node.js 다운로드 페이지 주소: https://nodejs.org/en/download/ 필자의 경우 개발하는 환경과 운영하는 환경을 Node.js 16.15.0으로 맞췄기 때문에 아래의 주소로 가서 원하는 버전을 다운로드 받았다.. 2022. 8. 8.