본문 바로가기

전체 글751

[오라클] 검색어 자동완성을 위한 초성, 중성, 종성 분리해서 검색하는 oracle 함수 프로젝트를 하면서 검색어 자동완성을 작업할 일이 있어서 개발을 해봤습니다.네이버나 구글에서 검색어를 입력하면 나오는 그 검색어 자동완성 말이죠. 바로 이건데요.여기서 핵심은 초성, 중성, 종성 검색이 가능해야 한다는 것이었습니다. 즉, 'ㄱ'을 입력하면 'ㄱ'으로 시작하는 모든 게 다 나와야 합니다.'날ㅆ'를 입력하면 '날씨, 날쏘' 등등이 나와야 하구요.'백'으로 검색을 하면 '배경화면'같은 단어들도 나와야 합니다. 어떻게 하면 이런 게 가능할까? 고민하다가검색할 데이터를 초성, 중성, 종성으로 나눠서 따로 저장해놓고검색어도 초성, 중성, 종성으로 나눠서 검색을 하면 되겠다는 생각이 들더군요. 이렇게 DB에 저장할 때 실제 제목과, 검색을 위한 초/중/종성으로 분리한 제목 2가지로 저장을 했습니다.그리.. 2016. 9. 12.
[JSTL] foreach문에서 목록의 위치값을 알려주는 varStatus(index, count, first, last 등) 사용 예제 JSTL에서 forEach문에서 varStatus를 사용해서 목록수나 목록의 현재 index, count 등의 위치값을 사용하는 예제입니다. currentgetCurrent()현재 반복 라운드 아이템indexgetIndex()현재 반복 라운드의 제로 기반(zero-based) 인덱스countgetCount()현재 반복 라운드의 1 기반(one-based) 인덱스firstisFirst()현재 라운드가 반복을 통한 첫 번째 패스임을 나타내는 플래그lastisLast()반복현재 라운드가 반복을 통한 마지막 패스임을 나타내는 플래그begingetBegin()begin 애트리뷰트의 값endgetEnd()end 애트리뷰트의 값stepgetStep()step 애트리뷰트의 값[출처] JSTL forEach index,.. 2016. 9. 9.
[fiddler] 피들러로 로그인 끊김 현상 해결하기 지금 하고 있는 프로젝트에서 admin과 user 사이트가 따로 분리돼 있는데요.admin을 로그인하면 user의 로그인 상태가 끊기고user를 로그인하면 admin의 로그인 상태가 끊기는 현상이 발생합니다. 뭐, 문제가 있다기보다는 그렇게 정책을 정하고 개발을 해놓은거죠.하지만, 개발하는 입장에서는 admin과 user사이트를 왔다갔다 해야하는데그때마다 로그인을 해야하기 때문에 좀 귀찮은 면이 있답니다. 그런데, 이 문제를 해결해주는 방법이 있다고동료 한 분이 fiddler라는 프로그램을 소개시켜줘서 사용해보니 아주 만족할 만해서 설명드립니다. https://www.telerik.com/download/fiddler 여기 들어가셔서 다운로드 받으시면 됩니다. 이메일을 입력하고, 동의하시면 바로 다운로드.. 2016. 9. 9.
[AmChartJS] 프로젝트 하던 중에 괜찮은 JavaScript 챠트가 있어서 소개합니다. 지금 하고 있는 프로젝트에서 Amchart라는 라이브러리로 그래프를 그리고 있는데사용하기도 편리하고 잘 만들어진 챠트 프로그램이라 소개해 드립니다. [API 보기] https://docs.amcharts.com/javascriptcharts[Demo 보기] https://live.amcharts.com/new/edit/ 데모사이트에 들어가보면 이렇게 그래프 및 소스를 볼 수 있게끔 잘 꾸며놓았습니다.상단의 [New +] 버튼을 클릭해서 원하는 그래프를 선택하시고 보시면 됩니다. [Save to filesystem]을 클릭해서 html로 된 소스를 다운로드 받을수도 있습니다.샘플로 이것저것 해보고 싶을 때 정말 편리하겠죠. 챠트가 정말 다양하죠?원하는 챠트는 아마 다 있을거라 생각됩니다. https://l.. 2016. 9. 8.
[전자정부 프레임워크] Error parsing XPath '/sqlMap/select'. Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid '***.***' 전자정부프레임워크로 개인적으로 이것저것 만들어보고 있는데요.iBatis의 include 기능을 사용하는데 자꾸 이런 에러가 발생해서 2시간도 넘게 헤맸습니다 ㅠㅠ Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'moaInclude.pageHeader'at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)at com.ibatis.common.xml.NodeletParser.proce.. 2016. 9. 7.
파워포인트(ppt) 파일 두 페이지를 한면에 인쇄시 여백 공간을 없애기 위해 PDF 파일로 변환해서 인쇄하기 파워포인트 파일을 인쇄할 때 저는 보통 한면에 2장을 인쇄합니다.솔직이 한면에 1페이지를 인쇄하면 너무 낭비라는 생각이 들어서 말이죠.그런데, 한면에 2페이지를 인쇄할 경우 유인물로 설정하게 되는데 그렇게 하면 여백이 너무 많이 생기는 문제가 발생합니다. 이렇게 말이죠. 이럴 때, 가장 간편하고 쉬운 방법이 PDF 파일로 변환을 해서 저장을 하고,PDF 파일을 열어서 인쇄를 하면 여백을 많이 줄일 수 있답니다. PDF로 인쇄를 하면 이렇게 여백이 확 줄어듭니다.어떻게 하면 되는지 설명드리겠습니다. 파워포인트로 된 ppt 파일을 열어서 [다른 이름으로 저장]을 클릭하세요~ 파일 형식을 PDF (*.pdf)로 선택하시고 저장을 합니다. PDF 파일로 저장된 파일을 열어서 [인쇄]를 클릭합니다. 한 면에 인쇄.. 2016. 9. 6.
[java] 자바에서 DecimalFormat으로 소수점 자리수 표시하기 소수점 자리수를 표시하기 위해 DecimalFormat을 사용하면 편리합니다. 그리고, 결과값은 숫자 타입이 아닌 String으로 됩니다. Float val = 12.2345324; DecimalFormat form = new DecimalFormat("#.###"); String dVal = form.format( val ); System.out.println( dVal ); #.### => 12.235 #.## => 12.23 #.# => 12.2 결과값은 이런식으로 출력이 됩니다. 2016. 9. 5.
블로그나 사이트에서 아주 간편하게 이용할 수 있는 코드 강조해주는 사이트 - Color Script(컬러 스크립트) 2015/08/13 - [이것저것/개발에 유용한 것] - 웹사이트나 티스토리같은 블로그에서 코드 강조하기(코드 하이라이트) [highlight.js 라이브러리] 코드 하이라이트로 지금까지 저는 highlight.js를 사용했었는데요.더 편리하게 사용할 수 있는 사이트가 있어서 소개해 드립니다. http://colorscripter.com/ 복잡하게 티스토리나 네이버블로그에서 html을 편집해서 ***.js 파일을 넣고 할 필요가 없습니다.그냥 위 사이트 들어가셔서... 원하시는 코딩을 입력하거나 붙여넣은 다음에...[언어]를 선택하고, [스타일패키지]를 선택한 다음에... 우측 하단의 [클립보드에 복사]를 클릭한 후에블로그 글쓰기 창에 붙여 넣으면 됩니다. 그럼 이렇게 방금 입력한 소스가 그대로 보여집니.. 2016. 9. 1.
[java] 자바에서 파일(File)이름 변경(이동)하기 renameTo()를 사용해서 파일 이름을 바꿀 수 있습니다. 경로가 같을 경우에는 파일이름이 바뀝니다. 경로가 다르다면 파일이 이동되겠죠 public void renameFile(String filename, String newFilename) { File file = new File( filename ); File fileNew = new File( newFilename ); if( file.exists() ) file.renameTo( fileNew ); } * 파일 이름 변경 - 변경전 : /files/image/A.jpg - 변경후 : /files/image/B.jpg * 파일 이동 - 변경전 : /files/image-a/A.jpg - 변경후 : /files/image-b/A.jpg * 파일 .. 2016. 9. 1.
[java] 자바의 http 통신을 위한 HttpURLConnection 소스 예제 import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; import org.codehaus.jackson.JsonParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; imp.. 2016. 8. 19.
[java] 자바에서 String을 json 객체로 변환하는 방법 java에서 String으로 돼 있는 json을 JSONObject로 변환해서 json을 사용하는 샘플예제입니다. 저도 이거 찾느라 한참을 뒤졌네요. import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; String jsonStr = "{" + "code:'1000'," + "name:'포도'" + "}" ; JSONParser parser = new JSONParser(); Object obj = parser.parse( jsonStr ); JSONObject jsonObj = (JSONObject) obj; String code = (String) jsonObj.get("code"); String name = (Str.. 2016. 8. 19.
[스프링] spring에서 org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported in spring 오류 해결방법 org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported in springurl을 호출하니 이런 오류가 났습니다.POST 방식을 지원하지 않는다는 뜻인데요. 해당 url을 매핑하는 @RequestMapping을 확인하니,RequestMethod.GET 이라고 돼 있어서 정말 POST 방식으로의 호출은 지원하지 않는군요. RequestMethod.POST를 지원할 수 있도록 위와 같이 수정해 주시면 깔끔하게 해결됩니다. 2016. 8. 18.
[구글] Gmail 사용시 메일이 도착하면 알림 설정하기 회사 메일로 Gmail을 사용중인데요.메일이 와도 알림이 없어서 늦게 확인하는 경우가 많아서 찾아봤더니 환경설정에서 알림 설정을 할 수 있더라구요. 혹시, 저처럼 메일 알림이 필요하신 분들은 설정해 보세요~ 먼저 Gmail로 들어가시고 [설정] 아이콘을 클릭해서 [환경설정]으로 들어가세요. [새 베일 알림 사용]에 체크를 하시고 [변경사항 저장] 버튼을 클릭하시면 됩니닷~!!! 2016. 8. 8.
[Git] 이클립스에서 Git 사용시 수정된 부분 취소(undo checkout)하는 방법 지금 하고 있는 프로젝트에서 형상관리를 처음으로 Svn이 아닌 Git을 사용하고 있습니다.프로젝트에서 처음 사용하다보니 익숙하지 않은 게 많네요. 특히, 소스를 수정한 다음 다시 원래 소스로 되돌리는 기능인 Undo checkout을 어떻게 하는지 모르겠더라구요.구글링 끝에 짧은 영어로 해석해서 알아냈네요 ㅋ project명에서 마우스 오른쪽 버튼을 클릭하고 [Team > Synchronize Workspace]를 선택합니다.Team Synchronizing 이라는 Perspective로 바뀌면서 변경된 파일들의 목록을 보여줍니다. 바꾸고 싶은 파일만 선택하셔도 되고 저처럼 프로젝트 전체를 원복하고 싶다면 프로젝트명을 선택해서 마우스 오른쪽 버튼을 클릭해 주세요.[Overwrite]을 클릭하시면 소스가 .. 2016. 8. 5.
[이클립스] eclipse에서 빌드할 때 jsp 파일 validating 안하게 설정하기 이클립스를 띄우면 가끔은 validating 한다고 오랫동안 멈춰있는 경우가 있습니다.사실, java 파일은 build하면 다 되는거고, jsp 파일 같은 경우는 특별히 validate 체크를 안해도 상관없는데요. 전자정부 표준프레임워크의 경우, 이렇게 기본적으로 Validate 체크를 하도록 돼 있어서시간을 낭비할 때가 있습니다. 이렇게 jsp 파일 validate 체크한다고 많은 시간을 까먹는 경우가 종종 있습니다.이럴 경우, 설정에서 jsp 파일 validate check를 하지 않도록 변경하시면 됩니다. [Window > Preferences] 클릭하시구요. [Web > JSP Files > Validation] 들어가서 Validate JSP Fragments의 체크박스를 해제하시면 됩니다.적용.. 2016. 8. 4.