본문 바로가기

분류 전체보기487

유틸리티 클래스의 정적 메소드로 커스텀 EL 함수 만들기 jstl의 functions EL 함수는 jsp 페이지에서 간편하게 사용할수 있는 fn:replace(), fn:length(), fn:substring() 등의 함수를 제공합니다. 기본적으로 제공되는 기능외에 다른 기능들이 필요하다면 정적 메소드를 가지는유틸리티 클래스를 만들고, 이 정적메소드를 호출하는 커스텀 EL 함수를 만들어서 사용할 수 있습니다. 예제의 전체소는 글 하단에 첨부되어 있습니다. 1. 테스트용 정적 메소드 예제로 만들어 볼 StrUtil 클래스의 replaceAll() 함수는 그냥 String 객체의 replaceAll() 함수를 호출하도록 되어 있습니다. package com.tistory.pentode; public class StrUtil {public static String.. 2018. 4. 20.
JSTL - jsp 페이지에서 jstl을 사용하여 HTML tag 제거하기 웹프로그래밍에서 출력되는 문자열에서 HTML 태그를 제거하고 순수한 문자열만 출력하고 싶을때가 있습니다. jsoup과 같은 라이브러리를 이용해서 서블릿단에서 처리한 다음 jsp단에서 출력해 주는게 일반적이지만 간단히 jsp 페이지에서 처리하는게 필요할 때도 있지 않을까 생각됩니다. 1. 테스트용 예제입니다. 컨트롤러에서 데이터를 jsp 페이지로 보냅니다. HomeController.java 파일 입니다. @RequestMapping(value = "/home.do", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", loc.. 2018. 4. 20.
Tomcat SSL 적용시 https로 자동 리다이렉트 설정하기 요즘은 대부분의 사이트들이 SSL을 사용해서 https:// 로 연결을 합니다. SSL을 사용하던 초창기에는 성능 문제로 로그인, 회원가입 등 주요한 데이터가 전달되는 곳에 부분적으로 적용을 하였는데, 요즘은 서버와 클라이언트의 성능이 좋아져서 사이트 전체에 SSL을 적용하는것이 일반적입니다. 하지만 대부분의 사람들은 http:// 주소를 사용해서 페이지 접근하므로 http 요청을 https 요청으로 리다이렉트 시켜야 합니다. Tomcat 에서 이것을 자동으로 처리하도록 설정하는 방법을 알아보겠습니다. 1. SSL설정을 먼저 합니다. 먼저 SSL 설정이 되어 있다고 가정합니다. 설정이 되고 https:// 로 접근이 된다면 Tomcat 의 server.xml 파일에 다음과 유사하게 설정되어 있을 것입니다.. 2018. 4. 20.
안드로이드 디버깅 Logcat을 이용해서 로그 남기기 모든 프로그래밍에서 디버깅은 빠지지 않는 작업 입니다. 안드로이드 프로그램도 Java를 시용하므로 많이 사용하던 System.out.println(); 을 사용하여 값을 출력해 볼 수 있습니다. 하지만 Android는 Logcat이라는 디버그 메세지를 표시하는 logcat Monitor 를 포함하고 있습니다. 이 Logcat을 이용하여 로그를 남기는 방법을 알아 봅니다. 1. 많이 쓰던 방식 System.out.println(); 이걸로도 원하는 값을 출력할 수 있습니다. 2. Logcat 기본적인 사용법 - Log 객체를 사용하기 위해서 import 합니다. import andorid.util.Log; - 로그 메소드의 첫 번째 인자로 사용할 상수 TAG 를 정의합니다. 메세지들을 구분하는 구분 값으로.. 2018. 4. 20.
jQuery UI autocomplete(입력필드 자동완성) 사용하기 입력 필드에 타이핑을 하면 관련 정보를 보여주고 선택할 수 있는 기능이 많이 사용됩니다. jQuery UI에서 제공되는 autocomplete 기능을 사용해서 이 기능을 구현해 봅니다. 1. 필요한 파일 인클루드하기 jQuery UI 스타일 시트 파일과 jQuery 파일, jQuery UI 파일이 필요합니다. 각각은 다운로드 받아서 사용해도 되고 CDN 을 이용해서 사용해도 됩니다. 이 예제에서는 CDN을 사용했습니다. 2. 기본 기능 사용하기 도시: id가 city 인 입력 필드에 자동완성기능을 만듭니다. - $("#city").autocomplete() : 자동완성기능을 만듭니다.- source: avalibleCity : 타이핑시 보여질 내용 입니다.- select: function(event, u.. 2018. 4. 20.
PHP 오토로드(Auto Load) - 클래스 자동로드 사용하기 이제 PHP 에서도 클래스를 사용해서 객체지향 프로그래밍을 하는 것이 일반적이 되어 가고 있습니다. 보통 클래스는 하나의 파일에 정의하고 클래스를 사용할때 include 해서 사용하게 됩니다. 이 때 클래스가 많아지면 include 하는 코드가 많아지게 됩니다. PHP 5에서 부터는 이러한 클래스를 자동으로 로드하는 기능을 제공합니다. spl_autoload_register() 함수를 사용하여 처리할 수 있습니다. 1. 이번 예제는 폴더 구조는 다음과 같습니다. 폴더 구조는 예제를 위해서 임의로 정한 것이므로 자신이 편한 곳에 사용하면 되겠습니다. - /comm/classes/Apple.php, Banana.php : 샘플 클래스 파일 입니다.- /comm/lib/autoload.php : 클래스를 자동.. 2018. 4. 20.
Windows용 MySQL 백업 배치 파일 만들기 Windows에서 MySQL 데이터베이스를 mysqldump 명령으로 백업하고, 오래된 백업 파일을 삭제하는 배치 프로그램을 만들어 봅니다. @ECHO OFFECHO MySQL 데이터베이스 백업 시작 FOR /F "tokens=1-3 delims=- " %%a IN ('DATE /T') DO (SET dt=%%a-%%b-%%c)FOR /F "tokens=1-4 delims=:." %%a IN ('ECHO %TIME%') DO (SET tm=%%a%%b%%c%%d)SET backupfilename=_%dt%_%tm%.sqlECHO 백업파일명: %backupfilename% mysqldump --routines -uusername -ppassword dbname > E:\data\backup\"dbname%.. 2018. 4. 20.
윈도우즈에서 포트를 점유하고 리스닝 중인 프로세스 알아내기 테스트용으로 Tomcat 을 실행하면 가끔 이미 포트가 사용중이라고 실행하지 못하는 경우가 있습니다. Tomcat이 사용하고자 하는 포트를 다른 프로그램이 이미 사용중인 경우가 대부분 입니다. 윈도우즈에서 포트를 사용중인 프로그램을 확인하는 방법을 알아보겠습니다. 1. netstat 사용 C:\> netstat -a -b -a : 모든 연결된 포드와 리스닝 포트를 보여줍니다. -b : 프로세스 정보를 보여줍니다.(관리자 권한으로 실행해야 함.) -n : 주소와 포트를 숫자 형식으로 보여줍니다. -o : 연결에 관련된 프로세스의 프로세스 ID를 보여준다. 2. resmon.exe 사용 Windows 키 + R 키 를 눌러 실행창에서 resmon.exe 를 실행합니다. 네트워크 탭의 수신대기포트 항목을 보면.. 2018. 4. 20.
Spring + Quartz 주기적으로 작업 실행하기 SpringFramework 4.3.4 버전에서 Quartz 2.3.0 라이브러리를 사용해서 주기적으로 작업을 실행하는 방법을 알아보겠습니다. 전체 소스는 하단에 첨부해 두었습니다. 앞에서 계속 사용해오던 소스라 DB 연결, 엑셀 다운로드 등의 소스가 같이 있는데 필요 없는 부분은 주석처리하고 테스트 해보시면 되겠습니다. 1. pom.xml 파일에 quartz 라이브러리의 의존성을 추가합니다. org.quartz-scheduler quartz 2.3.0 org.springframework spring-context-support 4.3.4.RELEASE 2. 주기적으로 실행될 서비스 메소드를 생성합니다. com.tistory.pentode.service.BoardService.java파일에 메소드 인터페.. 2018. 4. 20.
무료 텍스트 에디터 AcroEdit(아크로에디터) 개인, 기업, 공공기관 어디에서나 무료로 사용할 수 있으며 기능도 많이 쓰이는 유료 에디터인 Edit+(에디터플러스)나 UltraEdit(울트라 에디터) 못지 않은 에디터가 AcroEdit인것 같습니다. 개발일을 하기 시작한 초기부터 유용하게 사용하고 있습니다. http://www.acrosoft.pe.kr 에서 다운로드 받을 수 있습니다. 윈도우즈에 메모장이 있기는 하지만 아크로에디터와 같은 다양한 편집기능이 있는 에디터를 많이 사용합니다. 주로 사용하는 기능들중의 몇가지를 알아보도록 하겠습니다. 1. FTP 로 연결하여 직접 편집하기 메뉴에서 보기 -> 작업창 -> FTP 를 선택하면 FTP로 원격의 파일을 직접 편집할 수 있습니다. sftp가 지원되지 않아서 활용도가 좀 떨어지기는 하지만 급할때 유.. 2018. 4. 20.
Office 365 체험판 자동 갱신 해제 하기 Office 365 체험판을 설치하여 사용해보았습니다. 체험판은 설치시에 카드정보를 입력하고, 체험기간인 30일이 지나면 1년치 비용이 자동 결제 됩니다. 자동 갱신을 해제 하는 방법을 알아보겠습니다. 1. 서비스 및 구독 페이지로 이동합니다. https://account.microsoft.com/services?ref=officesupport 2. 로그인 합니다. 3. 구독한 리스트가 보입니다. 구독한 Office 365 체험판의 오른쪽의 "관리" 를 누릅니다. 4. 상세내용에서 자동 갱신 끄기를 선택합니다. 오른쪽의 변경을 클릭하여 나오는 메뉴에서 "자동 갱신 끄기" 를 클릭합니다. 5. "취소 확인"을 눌러 자동 갱신을 취소합니다. 이제 한달이 지나면 Office 365를 사용할 수 없고, 자동으로.. 2018. 4. 20.
오라클 MERGE INTO 문으로 있으면 UPDATE 없으면 INSERT 한번에 수행하기 테이블에 데이터가 이미 존재하면 업데이트 하고, 존재하지 않으면 입력을 해야 하는 경우가 종종 있습니다. 오라클에서 이런 작업을 한번에 할 수 있는 쿼리가 MERGE INTO 문 입니다. 현실적인 예는 아니지만 간단하게 성적 테이블을 생각해 보겠습니다. 과정코드과 학생코드가 주키이고, 성적 필드를 가지고 있습니다. CREATE TABLE TB_SCORE ( COURSE_ID VARCHAR2(10) NOT NULL, STUDENT_ID VARCHAR2(10) NOT NULL, SCORE NUMBER(5, 2) NULL, CONSTRAINT PK_SCORE PRIMARY KEY (COURSE_ID, STUDENT_ID) ); 1. 동일한 테이블 구조를 가지고 있는 TMP_SCORE 테이블로부터 데이터를 옮기.. 2018. 4. 20.
전자정부표준프레임워크 Tomcat + jndi로 dataSource 사용하기 전자정부표준프레임워크에서 Tomcat 을 사용할때 dataSource를 Tomcat에 설정된 dataSource를 jndi 로 가져와서 사용하는 방법을 알아 봅니다. 이 예는 전자정부표준프레임워크 비즈니스 템플릿에 MySQL을 사용한것 입니다. 1. Tomcat의 server.xml 파일의 Global 리소스 영역에 데이터베이스 연결을 정의합니다. ... 2. Tomcat 의 context.xml 파일에 를 정의합니다. ... 3. 전자정부표준프레임워크의 context-datasource.xml 파일에 기존의 데이터소스를 주석 처리하고, jndi 데이터소스를 지정합니다. 이제 모든 설정이 완료되었습니다. DBCP 의 각 설정 항목들에 대해서는 "전자정부 표준프레임워크 - dataSource (DBCP) .. 2018. 4. 20.
안드로이드 탭 이벤트 처리하기 안드로이드 앱은 다자인과 코드가 분리되어 있습니다. 디자인은 xml 파일로 작성되고 코드는 Java언어로 작성됩니다. 디자인된 위젯들이 사용자와 상호작용하려면 사용자가 화면을 탭하는 이벤트를 처리하여야 합니다. 디자인된 위젯과 코드를 연결하고 이벤트를 처리하는 방법을 알아보겠습니다. 1. 코드에서 다루고자 하는 위젯에 id 를 부여합니다. 이 id가 Java 코드에서 위젯을 찾는 키가 되는 것입니다. 레이아웃 디자이너에서 위젯을 클릭하고 오른쪽의 속성창에서 위쪽의 ID 에 입력하면 됩니다. 이 예제 에서는 버튼에 okBtn 이라는 아이디를 붙였습니다. 다른 방법은 디자이너 하단의 Text 탭을 클릭하여 xml 파일을 직접 수정하는 것입니다. 이때에는 로 적어줍니다. 2. 코드에서 Activity 객체와 .. 2018. 4. 20.
POI를 사용하여 엑셀 출력하기 스프링프레임웍에서 아파치 POI 라이브러리를 사용해서 엑셀을 출력해 봅니다. 이번 예제는 "스프링 프레임웍에서 MyBatis, Oracle 사용하기" 에서 사용한 게시판 목록을 출력하는 것을 이용하여 엑셀로 출력하도록 구성한 것입니다. 전체 예제소스를 글 하단에 첨부하였습니다. 테스트를 위한 데이터베이스 생성 관련해서는 이전 글을 참조하시기 바랍니다. 1. POI 라이브러리 의존성을 pom.xml 파일에 추가하기 - POI 3.17 버전을 사용합니다. org.apache.poi poi 3.17 2. 엑셀 출력 작성하기 - 컨트롤러에 엑셀 출력 부분을 작성합니다. @RequestMapping(value = "/excelDown.do")public void excelDown(HttpServletRespons.. 2018. 4. 20.