본문 바로가기

전체 글487

안드로이드 스튜디오 Kotlin 프로젝트 만들기 안드로이드 앱을 Kotlin 언어로 만들기 위해서 안드로이드 스튜디오 프로젝트를 만드는 방법입니다. 사용된 안드로이드 스튜디오의 버전은 3.3.2 입니다. 이 버전에서는 언어를 Java와 Kotlin 중에서 선택할 수 있도록 되어 있습니다. 1. Start a new Android Studio project를 선택합니다. 2. Phone and Table -> Empty Activity를 선택합니다. 3. 프로젝트 정보를 입력합니다.언어를 자바와 코틀린중에서 선택할 수 있습니다. - Name : HelloKotlin- Package name : com.tistory.offbyone.hellokotlin- Language : Kotlin 4. 프로젝트가 만들어 졌습니다.자동으로 만들어진 MainActivi.. 2019. 4. 6.
Visual Studio Community 2017 제거하기 오랜만에 Visual Studio Community 2017을 실행해 봤더니, 라이선스가 만료되었습니다. 라고 뜨고 "업데이트된 라이선스 확인"을 눌러도 "라이선스를 다운로드 하지 못했습니다. 네트워크 연결 상태나 프록시 설정을 확인하세요." 라고만 뜨고 실행을 할 수 없습니다. 해결할 방법을 찾지 못해서 삭제를 하려고 하니까 프로그램 추가/제거에 제거 항목이 없었습니다. 이전에 제거하려다 실패한건지도 모르겠는데, 기억이 나지 않네요. 수동으로 제거하는 방법을 찾아 봤습니다. - 다음 파일이 존재하는지 확인해 봅니다 : "%programfiles(x86)%\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe" - 만약 존재한.. 2019. 3. 30.
Eclipse에 Kotlin(코틀린) 플러그인 설치 및 간단한 프로그램 실행해보기 요즘 Kotlin(코틀린)이라는 언어가 인기가 있다고 하네요. 한번 배워보기로 했습니다. Kotlin은 IntelliJ IDE를 개발한 JetBrains에서 2011년에 공개한 프로그래밍 언어라고 합니다. 특이한 점이 JVM 기반의 언어이고, Java와 100% 상호운영이 된다고 하네요. 2017년 구글이 안드로이드의 공식언어로 Kotlin을 추가하여서 더욱 인기가 높아진것 같습니다. 일단 JVM이 있어야 하므로 JDK가 설치되어 있어야 하고, Eclipse도 설치되어 있어야 합니다. 각각 "윈도우에 JDK 8 설치하기"와 "Eclipse 설치하기"를 참고 하세요. 1. Eclipse Kotlin plugin 을 설치합니다. Eclipse를 실행하고, Help -> Eclispe Marketplace.... 2019. 3. 28.
Java Config로 Exception Resolver 설정하기 스프링프레임워크에서 Exception Resolver는 예외가 발생했을때 특정 에러페이지를 보여주고, 예외에 대해서 원하는 HTTP 응답코드를 지정할 수 있습니다. 이 예제는 "스프링프레임워크 에러페이지 만들기"에서의 xml 설정을 Java 설정으로 다시 구현해본 것입니다. 스프링프레임워크에서의 예외처리에 대한 앞의 글을 참조하세요. 글 하단에 전체 예제소스를 추가해 두었습니다. 1. Exception Resolver 설정 입니다. 웹 컨텍스트(WebContextConfiguration.java) 설정에 추가 했습니다./** * 웹 컨텍스트 설정파일 */@Configuration@EnableWebMvc@ComponentScan(basePackages = {"com.tistory.offbyone.web"}.. 2019. 3. 23.
Java Config로 메세지소스(MessageSource) 설정하기(다국어 지원) 스프링프레임워크에서 다국어지 지원을 위한 메세지소스 설정을 Java Config로 해 봅니다. 이번 예제는 "Spring Framework 메세지 국제화(다국어 지원) 사용하기" 에서의 xml 설정을 Java 클래스를 사용한 설정으로 변경한 것입니다. MessageSource의 사용법은 이글을 참조 하세요. 전체 예제소스는 글의 끝에 첨부해 두었습니다. 1. 메세지소스를 생성하는 설정 클래스를 작성합니다. MessageSource 와 언어 변경에 사용될 Locale Resolver를 생성합니다. 여기서는 언어정보를 세션에 저장하도록 SessionResolver를 생성합니다. package com.tistory.offbyone.init; import org.springframework.context.ann.. 2019. 3. 19.
스프링프레임워크 Java config로 MyBatis 사용하기 스프링프레임워크에 MyBatis + MySQL(MairaDB) 환경을 Java Config로 구성해 봅니다. 앞의 글 "Maven 웹 프로젝트에 스프링프레임워크 적용하기"에 추가하여 구성합니다. "스프링 프레임웍에서 MyBatis, Oracle 사용하기"에서의 xml 설정을 Java Config로 옮겨본 것입니다. 데이터베이스는 Oracle 대신에 MariaDB를 사용했습니다. 전체 소스는 글 하단에 첨부 했습니다. 1. pom.xml 파일에 필요한 의존성을 추가합니다. org.springframework spring-jdbc ${org.springframework-version} javax.servlet jstl 1.2 org.apache.commons commons-dbcp2 2.6.0 mysql m.. 2019. 3. 17.
Maven 웹 프로젝트에 스프링프레임워크 적용하기 Maven 웹 프로젝트에 스프링프레임워크를 적용해 보기로 했습니다. 혼자 해보는거니 될 수 있는 한 최신 버전으로 올려봅니다. 스프링프레임워크를 설정하고 시작하는 방법은 xml 을 사용하는 방법과 Java 클래스를 사용하는 방법이 있습니다. 여기서는 클래스를 사용하는 방법으로 적용해봅니다. "스프링프레임웍의 시동" 을 읽어보시면 도움이 되실것입니다. 앞의 "Maven 웹 프로젝트 서블릿 3.1로 업그레이드 하기" 에서 만든 예제에 추가해서 작성합니다. 전체소스는 글 하단에 추가해 두었으니 참고하시가 바랍니다. 1. pom.xml 파일에 프로퍼티를 추가합니다. 프로퍼티는 자주 사용하는 값을 미리 정의해두는 방법입니다. Java 버전은 1.8을 사용하고, 스프링프레임워크 5.1.5.RELEASE 버전을 사용.. 2019. 3. 13.
Maven 웹 프로젝트 서블릿 3.1로 업그레이드 하기 앞에서 작성한 "Eclipse에서 Maven 웹 프로젝트 만들기"는 기본 Maven 템플릿을 사용하는데 JDK 1.5와 서블릿 2.3으로 작성이 됩니다. 이것을 JDK 1.8에 서블릿 3.1 로 올려 봅니다. 1. JDK를 1.8로 변경합니다. 기존의 JDK 1.5를 제거하고 JDK 1.8을 추가합니다. JDK의 추가는 Preferences의 Installed JREs에서 추가해 두면 됩니다. 여러 버전의 JDK를 설치해 둘 수 있습니다. 컴파일러 설정을 1.8로 변경합니다. 프로젝트의 Preferences의 Java Compiler에서 "Enable project specific settings" 를 체크하고 "Use compliance from execution environment 'JavaSE-1.. 2019. 3. 10.
Eclipse에서 Maven 웹 프로젝트 만들기 Eclipse에서 Maven 템플릿을 이용해서 웹 프로젝트를 만드는 방법을 알아 봅니다. 만들어보면 스프링프레임웍을 사용하는 STS 나 전자정부프레임웍의 프로젝트 구조가 Maven 웹 프로젝트 구조와 유사하다는 것을 알 수 있을 것입니다. 1. 메뉴의 File -> New -> Project... 에서 Maven Project를 선택합니다. 2. 프로젝트의 저장위치는 기본값을 사용합니다.- Use default Workspace location 을 체크합니다. 3. 메이븐 템플릿중에서 maven-archetype-webapp을 선택합니다. 4. Maven 기본정보를 입력합니다.자신에게 맞는 정보를 입력하면 됩니다. 보통 Group Id는 도메인을 사용하고, Artifact Id는 프로젝트명을 사용합니다... 2019. 3. 6.
이클립스가 자꾸 멈춘다. AppXray와 "populate auto detected configs" AppXray 검사 와 "populate auto detected configs" 도중에 이클립스가 멈춰 버리는 현상이 자주 발생합니다. 이 기능을 사용하지 않도록 설정하는 방법을 알아봅니다. 1. 이클립스가 AppXray 검사에서 자꾸 멈춰버립니다. AppXray는 OEPE(Oracle Enterprise Pack for Eclipse)에서 제공하는 웹 애플리케이션에서 jsp 파일, java 소스, 리소스번들 파일, 웹 설정 파일들을 분석하는 기술입니다. 이러한 분석 정보를 이용해서 웹 애플리케이션의 많은 레이어들에 걸쳐 파일들의 Validation, 일관성 검증 기능을 제공합니다. AppXray를 사용하지 않도록 설정하는 방법입니다. - Windows -> Preferences 창을 엽니다.- Ora.. 2019. 2. 28.
엑셀 오늘날짜 가져오기 TODAY() 함수 엑셀에서 TODAY() 함수를 사용하여 오늘 날짜를 가져올 수 있습니다. TODAY() 함수가 반환하는 값은 엑셀에서 날짜를 계산 하는데 사용되는 일련번호로 1900년 1월 1일이 일련번호 1이 되고, 매일 1씩 증가하는 값입니다. 이 값을 가진셀이 날짜서식이 되면 날짜 형식으로 표시됩니다. 사용법은 엑셀의 수식입력방법인 = 로 시작하는 식을 작성하면 됩니다. 1. 오늘날짜 가져오기 =TODAY() 결과)2019-02-26 2. 날짜를 더하거나 뺄 수 있습니다. =TODAY() + 5 결과)2019-03-3 3. 년도만 가져오기 =YEAR(TODAY()) 4. 월 만 가져오기 =MONTH(TODAY()) 5. 일자 만 가져오기 =DAY(TODAY()) 6. 문자열로 주어진 특정 날짜와의 차이 일수 구하기.. 2019. 2. 26.
Jsoup을 사용한 화이트 리스트 방식의 XSS(Cross-Site Script)공격 방어 웹 페이지에서 CKEditor 와 같은 HTML에디터를 이용해서 데이터를 입력받아 보여줄때 고려해야 할것으로 XSS(Cross-Site Script)공격이 있습니다. 글을 작성하는 사용자가 HTML을 사용할 수 있도록 허용하게 되면 자바스크립트도 사용할 수 있게 되므로 XSS공격을 쉽게 할 수 있는 환경이 됩니다. HTML코드에서 자바스크립트를 실행할 수 있는 방법은 수도 없이 많으므로 "+ ""; String safeDoc = Jsoup.clean(htmlDoc, Whitelist.basic()); System.out.println(safeDoc); 결과)TEST 화이트 리스트의 basic() 메소드에서는 다음 태그와 속성을 허용합니다. public static Whitelist basic() { re.. 2019. 2. 26.
CKEditor 이미지 업로드시 JSON 응답, jQuery UI Dialog와 같이 사용시 콤보박스 안열리는 현상 해결 이전글 "CKEditor 4 설치와 PHP 연동 하기"에서 CKEditor의 사용법을 알아 보았습니다. CKEditor에서 이미지 업로드 후에 에디터에 이미지를 표시하기 위해서 반환되는 값은 다음과 같은 자바스크립트 입니다. 최근 새 버전을 설치하고 테스트해본 결과 이 반환값이 JSON 값으로 변경된것 같습니다. 1. 이미지 업로드 성공시 반환값 { "uploaded": 1, "fileName": "foo.jpg", "url": "/files/foo.jpg"} - uploaded : 1 로 설정합니다.- fileName : 업로드 된 파일의 이름입니다.- url : 업로드 된 파일의 URL (URL 인코딩 됨)입니다. 이 값을 이용해서 에디터 내부에 업로드된 이미지를 표시합니다. 2. 업로드 성공하였지만.. 2019. 1. 23.
Java에서 JSON 문자열 생성 및 JSON 문자열을 자바 객체로 변환하기 스프링 프레임웍을 사용하면 클라이언트와 JSON 형식의 데이터를 주고 받을 때, Java 객체를 JSON 문자열로 변환하거나, JSON 문자열을 Java 객체로 변환하는 작업은 보통 자동으로 처리되므로 신경쓸 일이 없습니다. 가끔은 이러한 변환 작업을 직접 해야 할 경우가 있습니다. 직접 하는 방법을 알아 봅니다. 1. Jackson 라이브러리를 사용하는 방법 Jackson 라이브러리는 JSON 뿐만 아니라 XML도 변환 해주는 많이 사용되고 있는 라이브러리 입니다. 다음 의존성을 추가해서 사용할 수 있습니다. com.fasterxml.jackson.core jackson-databind 2.8.8 jackson-databind가 jackson-core와 jackson-annotations에 대한 의존성.. 2019. 1. 18.
엑셀 드롭다운 리스트에서 선택해서 값 입력하기(데이터 유효성 검사, 이름 지정) 엑셀의 셀에 값을 입력할때 오류를 방지하기 위해서 지정된 값들 중에서 선택해서 입력할 수 있도록 드롭다운 리스트를 제공하는 방법을 알아 봅니다. 드롭다운 리스트를 만들 셀을 선택한 다음 "데이터 도구 그룹"에서 "데이터 유효성 검사"를 선택합니다. 데이터 유효성 창에서 다음과 같이 입력합니다. - 제한대상 : 목록을 선택합니다.- 공백무시 : 체크하면 공백을 입력할 수 있습니다.- 드롭다운 표시 : 드롭다운 리스트를 만들기 위해서 체크합니다.- 원본 : 선택할 수 있는 데이터를 콤마로 분리해서 입력합니다. 선택된 셀에 데이터를 선택할 수 있도록 드롭다운 리스트가 만들어 졌습니다. 데이터 원본을 콤마로 분리해서 입력하는 것이 아니라 시트내의 일부 데이터를 지정해서 만들수도 있습니다. 이럴 경우 지정된 영역.. 2019. 1. 16.