본문 바로가기

2018/0513

Java에서 UUID 클래스를 사용하여 유일한 식별자 생성하기 Java 5 부터 UUID 클래스를 사용해서 유일한 식별자를 생성할 수 있습니다. 숫자 일련번호를 사용한 식별자도 각각의 데이터를 구분하는데 충분하지만, 다른 데이터를 유추하기 쉽다는 단점이 있습니다. UUID 가 사용될 수 있는곳으로 다음과 같은 곳이 있겠습니다. 1. 업로드된 파일명의 중복을 방지하기 위해 파일명을 변경할 때 사용.2. 첨부파일 파일다운로드시 다른 파일을 예측하여 다운로드하는것을 방지하는데 사용.3. 일련번호 대신 유추하기 힘든 식별자를 사용하여 다른 컨텐츠의 임의 접근을 방지하는데 사용. 사용법을 알아보겠습니다. package com.tistory.offbyone; import java.util.UUID; public class UUIDTest { public static void .. 2018. 5. 24.
Windows 10 에 IIS 와 PHP 7 설치 및 연동하기 개발용으로 Windows 10에 IIS 를 설치하고 PHP 현재 최신 버전인 7.2.5버전을 설치하여 연동해 보겠습니다. Windows 10에 IIS를 설치하는 방법은 "Windows 10에 IIS 설치하기" 를 참조하세요. 1. PHP는 FastCGI 방식으로 IIS와 연동해볼 것입니다. FastCGI 방식을 사용하기 위해서는 "Windows 기능 켜기/끄기" 의 "인터넷 정보 서비스 -> World Wide Web 서비스 -> 응용 프로그램 개발기능" 에서 CGI 를 체크합니다. 2. PHP를 설치합니다. http://php.net에서 윈도우용 바이너리를 다운로드 받아서 설치합니다. FastCGI를 사용하기 위해서는 Non Thread Safe 버전을 다운로드 받습니다. 다운받은 파일은 php-7.2.. 2018. 5. 23.
Windows 10에 IIS 설치하기 Windows 10에 IIS 를 설치하면 asp.net 으로 작성된 웹 애플리케이션을 실행할 수 있습니다. 또한 PHP 와 연동하거나 Tomcat과 연동하여 사용할 수도 있습니다. 1. "설정 -> 앱" 화면에서 오른쪽에 "프로그램 및 기능"을 실행합니다. 또는 Window + R 키를 눌러서 실행창을 띄운후 appwiz.cpl 을 실행합니다. 2. "프로그램 및 기능" 화면에서 "Windows 기능 켜기/끄기" 를 클릭합니다. 3. "Windows 기능 켜기/끄기" 화면에서 필요한 기능을 켭니다. - "인터넷 정보 서비스(Internet Information Service)"를 확장합니다. - "World Wide Web 서비스" 를 켭니다. 여기서는 하위 기능은 기본으로 합니다. - "웹 관리 도구".. 2018. 5. 22.
Windows 10에서 PHP 5.6 실행시 MSVCR110.dll 이 없다는 오류 해결하기 Window 10에서 PHP를 테스트해보려고 설치해서 실행하는 도중 에러가 발생했습니다. http://www.php.net에서 VC11 x64 Non Thread Safe 항목의 php-5.6.36-nts-Win32-VC11-x64.zip파일을 받아서 설치한후 내장웹서버 실행중에 MSVCR110.dll이 없다는 에러가 발생하였습니다. 이 오류는 Microsoft Visual C++ Redistributable 2012가 없어서 발생한다고 합니다. 다음 링크에서 "Visual Studio 2012 업데이트 4용 Visual C++ 재배포 가능 패키지" 에서 필요 소프트웨어를 다운로드할 수 있습니다. 링크를 따라 들어가서 x86(32 bit) 또는 x64(64 bit) 버전중에 자신에게 맞는 파일을 받아 설.. 2018. 5. 16.
AX5UI - toast를 사용한 시스템 메세지 출력하기 AX5UI-toast는 웹 애플리케이션 화면상에서 시스템 메세지를 보여주는 라이브러리입니다. 메세지를 출력하면 화면상의 지정된 장소에 메세지가 지정된 시간동안 보여진 다음에 자동으로 사라집니다. 예제 소스는 글 하단에 첨부하여 두었습니다. 사용하는 방법을 알아보겠습니다. 1. 필요한 라이브러리들- jQuery 1.x 이상이 필요합니다.- ax5core 라이브러리가 필요합니다.- ax5toast 라이브러리가 필요합니다.- ax5toast 스타일 시트가 필요합니다.- 샘플에 나오는 테마와 ICON을 사용하기 위해서는 Font Awesome 스타일 시트가 필요합니다. 2. toast 객체를 생성합니다.$(document.body).ready(function () { var toast = new ax5.ui.t.. 2018. 5. 15.
CSS - float 와 clear 프로퍼티 사용하기 HTML 요소가 화면에 보여지는 기본 방식은 Block 요소인 경우 자동으로 개행되어 아래에 보여지게 되고, Inline 요소인 경우는 오른쪽 옆에 배치되어지고, 화면에 다 보여지지 않으면 아래로 내려가서 배치되어지는 것입니다. CSS의 float 프로퍼티는 HTML 요소가 일반적인 흐름에 따르는 배치를 벗어나서 왼쪽 또는 오른쪽으로 띄우는(float) 효과를 줍니다. clear 프로퍼티는 clear된 요소의 좌우에 float된 요소를 허용하지 않도록 합니다. ※ float 프로퍼티의 값- left : 요소 자신을 포함하고 있는 컨테이너의 왼쪽으로 띄웁니다.- right : 요소 자신을 포함하고 있는 컨테이너의 오른쪽으로 띄웁니다.- none : 요소를 띄우지 않습니다. 기본값 입니다. ※ clear 프.. 2018. 5. 9.
CSS - overflow 속성 사용하기 CSS의 overflow 프로퍼티는 요소내의 컨텐츠가 너무 커서 요소내에 모두 보여주기 힘들때 그것을 어떻게 보여줄지를 지정합니다. 기본적으로 컨텐츠를 포함하고 있는 요소의 크기가 고정되어 있지 않다면 컨텐츠를 모두 포함할 수 있도록 요소의 크기가 커집니다. 크기가 고정 되어 있다면 overflow 프로퍼티에 지정된 값에 따라 보여지게 됩니다. overflow 에 사용할 수 있는 값은 네가지가 있습니다. - visible : 기본 값입니다. 넘칠 경우 컨텐츠가 상자 밖으로 보여집니다. - hidden : 넘치는 부분은 잘려서 보여지지 않습니다. - scroll : 스크롤바가 추가되어 스크롤할 수 있습니다.(가로, 세로 모두 추가 됩니다.) - auto : 컨텐츠 량에 따라 스크롤바를 추가할지 자동으로 결.. 2018. 5. 9.
CSS - position 프로퍼티 사용하기 CSS의 position 프로퍼티는 top, right, bottom, left 프로퍼티로 HTML 요소의 위치를 지정할때 무엇을 기준으로, 어떤 식으로 사용되어질지 그 방법을 지정합니다. postion 프로퍼티에 사용되어지는 다섯가지 값입니다.- static- relative- fixed- absolute- sticky 1. postion: static; position 프로퍼티를 지정하지 않았을 때의 기본값이 static 입니다. 이 상태에서는 top, bottom, left, right 프로퍼티가 동작을 하지 않습니다. HTML요소의 배치는 일반적인 흐름을 따름니다. 내용 2. position: relative; HTML 요소의 postion 프로퍼티를 relative로 설정하면 일반적인 위치(po.. 2018. 5. 9.
Java에서 assert 사용하기 Java에서 단언문 assert는 JDK 1.4 부터 지원합니다. 객체가 아니고 예약어 입니다. 사용법은 두 가지 형식이 있는데, 다음과 같습니다. assert expression1;assert expression1: expression2; 첫 번째는 인자로 boolean으로 평가되는 표현식 또는 값을 받아서 참이면 그냥 지나가고, 거짓이면 AssertionError 예외가 발생합니다. 두 번째는 표현식1이 거짓인 경우 두번째 표현식의 값이 예외 메세지로 보여지게 됩니다. Assertion은 디버깅 용도로 사용되어서 JVM 기본 설정으로 프로그램을 실행하게 되면 assert문은 모두 실행에서 제외 됩니다. assert가 동작하게 하려면 실행시 -ea 옵션을 사용해서 실행합니다. java -ea 클래스명 .. 2018. 5. 4.
JUnit 4 기능 찾아보기 JUnit를 공부하는 중에 사용되는 기능들을 빠르게 찾아보기 위해서 정리를 했습니다. JUnit 4 버전을 기준으로 작성을 하였고, 관련된 JUnit 3에서의 사용법도 조금 적었습니다. 1. 테스트 케이스(TestCase) 만들기 - 메소드에 @Test 아노테이션을 붙이면 됩니다.- JUnit3 에서는 TestCase 클래스를 상속해서 test로 시작하는 메소드를 만들면 됩니다. 2. 픽스쳐 만들기 - @Before, @After 아노테이션으로 사전, 사후 실행될 메소드를 지정합니다. 매 테스트 메소드 마다 전후에 실행됩니다.- @BeforeClass, @AfterClass는 테스트 케이스 클래스에서 처음과 끝에 한번만 실행됩니다. 이 아노테이션이 지정된 메소드는 static 메소드여야 합니다. 그 이유.. 2018. 5. 3.
기계식 키보드 (KB-A106 ARON) 직접 수리하기 오래전에 구입한 기계식 키보드인 KB-A106 ARON 키보드를 사용하고 있습니다. 얼마전부터 아래쪽 화살표키와 키패드의 마이너스(-) 키가 입력되었다, 안되었다 하더니 기어코 아래쪽 화살표키가 죽어 버렸습니다. 좀 오래되었지만 아직도 다른 키들은 기능적으로 이상이 없고, 구입시 가격도 보통 키보드보다는 좀 비쌌던거라 직접 수리하기로 마음 먹었습니다. 수리 계획은 다음과 같습니다. 1. 완전히 죽은 아래쪽 화살표키와 키패드의 마이너스키를 떼어 냅니다.2. 거의 사용되지 않는 Scroll Lock키와 Pause Break 키를 떼어 냅니다.3. 1과 2를 바꿔서 붙입니다. 공구를 준비했습니다. 땜납, 송진, 인두, 납땜제거기, 드라이버, 플라이어가 필요합니다. 키캡 리무버와 스위치 리무버가 있으면 좋지만 .. 2018. 5. 2.
전자정부표준프레임워크 폼 검증(Form validation)하기 전자정부표준프레임워크는 폼 검증에 Jakarta Commons Validator를 사용하고, 이것을 Spring Framework와 연동하기 위해서 spring-modules-validation 을 사용합니다.(https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:security:jakarta_commons_validator) Jakarta Commons Validator는 각종 검증 규칙을 xml 파일로 작성합니다. 이 규칙에 따른 검증은 Java 클래스 및 Javascript로도 제공되어 서버측 검증과 클라이언트측 검증 모두에서 사용되어 집니다. 이글의 예제는 전자정부표준프레임워크의 eGovFrame Web Project에서 생성된 샘.. 2018. 5. 2.
spring-test - 테스트 프로젝트 및 테스트 케이스 기본구조 스프링프레임워크로 만들어질 웹애플리케이션을 spring-test 라이브러리를 사용하여 테스트를 하는 방법을 알아 봅니다. spring-test는 스프링프레임워크 3.2부터 지원되며, 스프링 MVC 컨트롤러에 대한 단위테스트를 지원합니다. 예제로 사용할 프로젝트를 전자정부표준프레임워크 3.6에 있는 템플릿을 사용해 봅니다. 1. 예제 프로젝트 만들기 - 전자정부표준프레임웍 3.7을 사용합니다. "전자정부표준프레임워크 3.7 설치하기" 를 참조하세요. 1.1. File -> New -> eGovFrame Web Project를 선택합니다. 1.2. Project name과 Maven Setting의 Group ID에 "spring_test" 를 입력합니다. Target Runtime은 Apache Tomca.. 2018. 5. 1.