본문 바로가기

프로그래밍458

Spring Framework 메세지 국제화(다국어 지원) 사용하기 스프링 프레임웍에서 다국어 지원기능을 사용해 보겠습니다. 기본적으로 텍스트로 저장되는 properties 파일을 언어별로 만들어서 사용합니다. 이번에 해볼것은 다음과 같습니다. 1. 메세지 프로퍼티 파일을 작성합니다. 2. 스프링프레임웍에서 사용할 수 있도록 설정을 합니다. 3. 언어를 변경할 수 있도록 구현합니다. 4. 자바코드과 jsp 코드에서 다국어 메세지를 사용하는 방법을 알아봅니다. 파일구조는 다음과 같습니다. /WEB-INF/messges 폴더 아래에 메세지를 담은 파일이 있습니다. message.properties 파일은 기본 파일 입니다. 언어가 맞지 않으면 이것이 선택되어질 것입니다. message_ko.properties 파일은 한국어 메세지 파일 입니다. message_en.prope.. 2018. 4. 2.
PHP 7.1 실행시 VCRUNTIME140.dll 오류 문제 해결하기 테스트 목적으로 PHP 7.1 (php-7.1.0-nts-Win32-VC14-x64) 을 받아서 실행을 해보니 아래와 같은 에러가 발생하였습니다. "컴퓨터에 VCRUNTIME140.dll 이(가) 없어서 프로그램을 시작할 수 없습니다. 프로그램을 다시 설치하여 이 문제를 해결하십시오." 라는 에러 메세지 입니다. PHP의 설치는 zip 파일 받아서 적당한 위치에 풀어만 두면 되는데 다시 설치해서 해결될 문제는 아니란것을 알 수 있습니다. 다운받은 전체 PHP의 zip 파일명을 보면 VC14 라는 단어가 들어 있습니다. 이 VC14 는 Microsoft Visual C++ 2015 버전으로 컴파일 되었다는것을 나타냅니다. Microsoft 에서 이런 경우를 위해서 필요한 dll 파일들만 배포를 합니다. 다.. 2018. 4. 2.
PHP 7 에서 Oracle 연결하기 PHP에서 Oracle 사용할 수 있도록 연결 작업을 해봅니다. PHP의 설치는 "Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB)" 를 참조 합니다. 그때 설치된 PHP 버전은 7.0.13 입니다. XAMPP 로 설치가 되었고, win32 입니다. 테스트 환경도 이때 생성한 프로젝트를 사용하겠습니다. 현재 운영체제는 Window 10 x64 이고, Oracle 은 Express Edition 11g r2 입니다. 이 같은 환경에서 PHP와 Oracle 의 연동을 위해서는 한가지가 더 필요합니다. 바로 Oracle instant client 입니다. php가 win32 이니 instant client도 win32, 11g용을 받아서 설치하겠습니다. 1. Oracle Inst.. 2018. 4. 2.
PDT, Eclipse 플러그인 설치 PHP 개발툴로 이클립스를 사용하기 위해서 PDT(PHP Development Tools) 플러그인 을 설치해 봅니다. 이클립스 설치는 "Eclipse 설치하기" 를 참조 하고, PHP 설치는 "Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB)" 를 참조 하세요. 참조한 "Eclipse 설치하기" 에서는 JEE 용을 설치했기 때문에 이렇게 PHP 플러그인을 설치하면 하나의 이클립스를 JEE, PHP 개발에 사용할 수 있습니다. PHP 만 개발할 것이라면 Eclipse 설치시에 PHP 개발용 Eclipse 를 설치하면 PDT 가 기본으로 설치됩니다. 실제로 업무용 컴퓨터에는 프로젝트 Characterset 별로 다른 Eclipse 를 설치하고, 하나의 이클립스에 Java와 P.. 2018. 4. 1.
안드로이드 스튜디오 설치하기 Android Studio 를 설치하고, 간단한 샘플앱을 에뮬레이터로 실행해 봅니다. 예전에는 Android SDK 를 직접 설치하고, Eclipse 에서 Android용 Plugin 을 설치하여 개발을 했습니다. 오랜만에보니 Android Studio가 나왔다는걸 알게 되었습니다. 게다가 구글이 이클립스쪽은 지원을 하지 않겠다고 했다는 글들이 많이 있었습니다. 그래서 Android Studio를 사용해 보기로 했습니다. Andorid Studio 는 IntelliJ 기반의 IDE 입니다. 특히 외국 서적들을 보면 IntelliJ가 더 좋은 자바 개발툴이라는 말이 많이 있었습니다. 그렇지만 유료여서 사용해 볼 수가 없었습니다. 그런데, IntelliJ 커뮤니티 에디션이 있더군요. 다음 URL 에서 다운로.. 2018. 4. 1.
Burp suite 사용하기 - Repeater 사용 및 매개변수 조작 실습 Burp Suite 의 간단한 사용법을 알아 보겠습니다. 설치는 "취약점 분석툴 Burp Suite Free Edition 설치하기" 를 참고 하세요. 버프슈트를 이용해서 현재 요청을 가로채서 매개변수를 변경하여 봅니다. 이것은 화면에서 자바스크립트등으로 입력값의 길이를 제한해 두었다던가, 숫자등으로 입력값의 타입을 제한 하는등의 노력을 무력화 시킬 수 있습니다. 실제로 코딩에서는 서버측에서도 동일한 체크를 반드시 수행해야만 합니다. "스프링 프레임웍에서 MyBatis, Oracle 사용하기" 에서 사용한 샘플에 테스트 데이터를 추가하고, 글번호를 파라미터로 넘겨서 글 내용을 보는 페이지는 추가하여 테스트 해 봅니다. 보안관련 테스트를 허가받지 않은 사이트에 하면 절대 안됩니다. 1. 샘플 데이터를 입력.. 2018. 4. 1.
스프링 프레임웍에서 MyBatis, Oracle 사용하기 Spring4 + MyBatis + Oracle 을 연동해 봅니다. 앞에서 만들었던 샘플 프로젝트 ( "Spring MVC 샘플 프로젝트 버전3 에서 버전 4로 마이그레이션 하기" ) 를 사용합니다. 1. 먼저 설치한 Oracle 데이터베이스에 유저를 추가하고 테스트용 테이블 을 생성합니다. SYSTEM 계정으로 들어가서 다음 명령으로 사용자를 추가합니다. 아이디와 비밀번호는 xeuser 입니다. GRANT CONNECT, RESOURCE TO xeuser IDENTIFIED BY xeuser; SQL Developer 에서 명령 실행은 실행하고자 하는 쿼리를 블럭으로 선택한 후 F9 또는 Ctrl+Enter 입니다. 이제 생성된 계정으로 들어가서 테스트용 테이블을 생성합니다. CREATE TABLE T.. 2018. 4. 1.
Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB) PHP 7 이 나온지가 좀 되었네요. 지금은 자바 프로젝트 중이라 챙겨보지 못했는데, 이제 프로젝트도 마무리가 되어가니 시간이 좀 나는것 같습니다. 그래서 한번 설치해 보기로 했습니다. PHP 가 Zend의 독점이다가 더욱 성능이 좋은 Facebook의 HHVM(HipHop Virtual Machine)이 나오자 PHP 7 을 내어놓게 되었다고 합니다. 역시 소비자에겐 독점은 좋지 않은가 봅니다. PHP 7의 성능은 페이스북의 HHVM 과 대등하다고 하고, 타입을 지정할 수있게 되었다는 예기를 언뜻 들은것 같습니다. 변경된 기능에 대해서는 다음에 알아보도록 하고 이 글에서는 설치만 해보도록 하겠습니다. PHP 를 윈도우즈에 설치하려면 한가지 고려해야 할 사항이 있습니다. 바로 Thread Safe 버전을.. 2018. 4. 1.
Spring MVC 샘플 프로젝트 버전3 에서 버전 4로 마이그레이션 하기 "Spring Framework을 사용한 웹애플리케이션 개발환경 만들기" 에서 기본 설치했던 샘플 Spring MVC 프로젝트의 Spring Framework 버전은 3.1.1 입니다. 이것을 현재 버전인 4.3.4 으로 변경합니다. 간단히 될 줄 알았는데, 내가 이러려고 STS 플러그인을 설치했나 싶을 정도로 이것저것 걸리는게 많더군요. 메이븐을 좀 더 공부해야 겠다는 생각이 절로 듭니다. 먼저 기본환경을 확인해보고 어떻게 변경할지 본 후 설정을 해 봅니다. 기본 환경 - Spring Framework 3.1.1 - java version 1.6 - Maven compiler source 1.6 target 1.6 - servlet-api 2.5 - jsp-api 2.1 변경 될 환경 - Spring .. 2018. 4. 1.
취약점 분석툴 Burp Suite Free Edition 설치하기 이제 웹프로그래밍에서 Secure Coding 은 필수가 되었습니다. 설계 단계에서부터 보안설계가 들어가고, 그에 따라 코딩 시작부터 보안을 고려해서 코딩을 하게 됩니다. 하지만 늘어나는 공수에 대한 산정은 이런 추세를 아직 따라가고 있지를 못하는것 같아서 안타깝습니다. Burp suite 는 웹 프록시 입니다. 웹브라우저만으로는 통신간의 정보를 상세히 보기가 힘든데, 프록시를 사용하면 클라이언트의 요청정보, 서버의 응답정보를 상세히 확인할 수 있습니다. 또한 서버로 전송되는 정보를 변경하여 취약점 분석에 사용할 수 있습니다. Burp suite 를 설치하기 위해서는 먼저 JRE 가 설치되어 있어야 합니다. 설치되어 있지 않다면 "윈도우에 JDK 8 설치하기" 를 참고하여 설치를 합니다. Burp sui.. 2018. 4. 1.
Spring Framework을 사용한 웹애플리케이션 개발환경 만들기 스프링 프레임웍을 사용하여 프로그램을 개발할 수 있는 환경을 만들어 보겠습니다. http://spring.io 에서 Eclipse와 통합된 String tool Suite 를 제공하고 있습니다. STS도 Eclipse 기반으므로 스프링 프레임웍 외에 필요한 플러그인을 설치하여 자바, PHP 등 개발에 사용할 수 있습니다. 여기서는 설치해둔 Eclipse가 있다는 가정하에 STS를 플러그인 형태로 설치해 보겠습니다 (Eclipse의 설치는 "Eclipse 설치하기" 를 참조하면 되겠습니다). 1. Eclipse 를 실행합니다. 메뉴바에서 Help -> Eclipse Marketplace 를 실행합니다. 2. Find 에 STS 를 입력하고 Go 버튼을 눌러 검색합니다. 검색된 항목중에 Spring Tool.. 2018. 4. 1.
Oracle 11g Express Edition 과 SQL Developer 설치하기 웹프로그래밍에 데이터베이스가 빠질 수 없겠죠. Oracle 11g Express Edition 과 SQL Developer 를 설치해 보겠습니다. 둘다 www.oracle.com 에서 다운 받을 수 있습니다. 다운로드 할 때 라이센스에 동의하고 다운로드 링크를 클릭하면 로그인 하라고 나옵니다. OTN 에 가입해야 합니다. 다운받을 파일은 OracleXE112_Win64.zip 과 sqldeveloper-4.1.5.21.78-no-jre.zip 입니다. JDK 는 이미 설치 했다고 가정하고, sqldeveloper 는 no-jre 로 받습니다. ( JDK 설치는 윈도우에 JDK 8 설치하기 를 참조 하세요. ) Express Editon 은 개발, 프로토타입, 내부 데이터 처리용 으로 사용 가능합니다. 또.. 2018. 4. 1.
Eclipse 설치하기 Java 개발툴 중 가장 많이 사용되는게 Eclipse 일 거라고 생각이 됩니다. 무료에다가 Java, Java EE, PHP, C/C++ 등 거의 모든 개발을 Eclipse 하나로 가능 합니다. 그러고 보니 Eclipse 는 Java 개발툴이 아니라 개발 플랫폼이라고 해야 겠네요. 다음을 따라 하시면 Eclipse 를 설치하실 수 있겠습니다. 이클립스를 사용함에 있어서 한가지 아쉬운 부분이 있다면, 프로젝트 별로 파일 엔코딩을 다르게 지정할 수 있었으면 하는 것입니다. 이클립스는 컨텐츠 타입별로 엔코딩을 지정을 할 수 있는데, 모든 프로젝트에 공통으로 적용이 됩니다. 요즘은 거의 UTF-8 로 작업을 하지만, 예전에 만들어진 애플리케이션 들은 EUC-KR, ISO8859_1로 된것이 많이 있습니다. 그.. 2018. 4. 1.
윈도우에 JDK 8 설치하기 자바로 프로그램 개발을 위해서 JDK의 설치는 필수 입니다. 현재 자바는 8 버전까지 나왔습니다. JDK 1.2 부터 자바 2 라고 불리기 시작해서 JDK 1.4 때까지 자바 2로 불리다가 JDK 1.5 부터는 자바 5 라고 이름이 바꼈습니다. 그 뒤 부터는 계속 한자리로 불리고 있습니다. 자바8 의 가장 큰 특징이라면 람다 표현식(Lambda Expressions)를 지원하는 것이라 할 수 있겠습니다. 1. www.oracle.com 에서 JDK 설치 파일을 다운 받습니다. Java SE 다운로드 페이지에서 Oracle Binary Code License Agreement for Java SE 에 동의한 후 자신의 플랫폼에 맞는 설치 파일을 다운로드 합니다. 여기서는 윈도우즈에 설치할 것이기 때문에 3.. 2018. 4. 1.
Apache Tiles 설정하기 Apache Tiles 설정하기 Spring + Apache Tiles 설치하기 앞의 글 "Spring + Apache Tiles 설치하기" 에서는 타일즈가 적용될 모든 페이지를 tiles.xml 설정파일에서 적어서 처리했습니다. 실제 사용시에는 페이지가 많으므로 이렇게 처리할 수 없을 것입니다. 그러므로 페이지를 고정해서 지정하는것이 아니라 패턴을 주어서 처리할 수 있습니다. 컨트롤러에서 뷰를 지정하는 부분을 보겠습니다. (HomeController.java 파일) @RequestMapping(value = "/boardList.do") public String boardList(Model model) throws Exception { .... return "boardList"; } 뷰를 지정하기 위해.. 2018. 4. 1.