Kotlin이란? 코틀린은 2011년 7월 IntelliJ를 만든 JetBrains 에서 최초 공개했다. 다중패러다임 언어이며 자바와 같은 객체지향 특성과 함수형 언어의 특징을 가지고 있다. 자바의 보일러플레이트를 삭제하기 위해 언어 차원에서의 고민이 느껴지고 무엇보다 스프링에서 공식 지원한다. 안드로이드의 공식 지원 언어이기도 하다. 기본문법 java의 문법을 조금이라도 간결하게 표현하기 위해 조금씩 바뀐 모습이 있다. 1. 코틀린에서는 문단의 끝을 알리는 ; (세미콜론)을 사용하지 않는다. 2. primitive type이 없다. (char, int, double 등.. 변수 선언을 var, 상수 선언을 val로 한다.) 3. 변수의 타입이나 메소드의 리턴 타입이 이름 뒤에 따라오는 콜론(:) 뒤에 ..
hidden은 화면에 보이지 않기 때문에 XSS를 굳이 방어해야 하나 하는 생각이 들수도 있지만 분명히 이곳도 XSS에 대한 방어를 해야 하는 부분이다. (웬만한 보안 검사를 하면 이 부분에 대해 방어해놓지 않을경우 조치하라고 나온다.) Hidden Input value XSS 방어 ... JSTL의 function tag를 사용하였다. fn:excapeXml() 을 통해 XML마크업 문자로 인식될 문자열을 삭제한다. 끝!
Java version에 따라 추가된 새로운 기능에 대한 좋은 자료가 있어서 퍼왔다. 빨간색으로 강조한건 아래 예제도 있다. 사용 예제도 이해하기 쉽게 써놓은 글이 있어서 퍼왔다. 버전 (Preview-Production) 기능 종류 설명 8 Lambda Expression 및 Method Reference 도입 Language anonymous inner class 표현 간략화 (함수형 표현) 인자로 method reference를 전달 (함수형 표현) 8 Collections & Streams Language Collections에서 Streams API를 사용하여, 이전의 반복문이 아닌 함수형 구현 8 Interface Default Method 도입 Language interface 내부에서 de..
작년 말쯤 나온 JDK17 버전이 LTS 버전으로 나오고 또 Spring 6가 JDK17 base인걸 공지하면서 곧 JDK17이 많이 사용될것 같다. 사실 JDK8 버전 이후부터는 나오는 주기도 빨라지고 혁신적인 점이 없어서 새로운 Java version에 대한 관심도가 많이 떨어졌다. Maven 프로젝트 JDK 8 에서 JDK 11로 migration 요즘 JAVA 버전이 참 정신없이 나오고 있다. 6개월에 한번씩 버전업데이트라니... 유료화 되면서 구독형 라이센스니 뭐니 해가지고 신경써야 되는게 늘었다... 개발환경을 구성해야 하는 입장에서 oingdaddy.tistory.com 예전에 8에서 11로 migration 가이드는 작성을 한적이 있다. 이번 글은 실제 소스 migration이 아니라 11..
앞서 jsp to freemarker 전환에 대해 문법 외의 부분을 알아보았다. Jsp 에서 Freemarker 로 전환하기 (w. springboot & tiles) [1] Jsp와 Freemarker는 모두 template engine이다. 둘의 가장 큰 차이라고 생각되는 부분은 JavaEE에 종속적이냐 그렇지 않느냐의 차이인것 같다. 그리고 spring 진영에서 정식으로 지원을 하느냐 아니냐도 분 oingdaddy.tistory.com 이번에는 문법적인 측면은 어떤 부분이 다른지 살펴보자. 주석 jsp freemarker tag library 선언 jsp freemarker jstl tag 같은 경우는 freemarker에 내장되어 있는 기능으로 사용하면 된다. tiles나 spring 같은 경우는..
Jsp와 Freemarker는 모두 template engine이다. 둘의 가장 큰 차이라고 생각되는 부분은 JavaEE에 종속적이냐 그렇지 않느냐의 차이인것 같다. 그리고 spring 진영에서 정식으로 지원을 하느냐 아니냐도 분명 큰 차이이다. 다들 알다시피 spring 진영에서는 Jsp를 정식지원하지 않는다. 이런 부분과 SPA가 유행을 하며 Jsp는 분명 쇠퇴기를 겪고 있다. 요즘 유행하는 SPA 적용 여건은 안되고 그렇다고 Jsp도 못쓰는 상황이면 Freemarker가 대안이 될 수 있다. 이것끼리 전환을 하는게 무슨 의미가 있나 싶을수도 있지만 그런 요건이 있었고 이걸 필요로 하는 사람도 있을것이다. 일단 필자의 환경은 springboot 2.5.x version 과 tiles 3.0.x ver..
Freemarker를 사용하며 tiles 및 spring과 같이 taglib가 필요한 경우가 있다. 그냥 Jsp에서 사용하던대로 이런식으로 url을 매핑하여 작성하면 이렇게 ftl 파일에서 taglib를 사용하기 위해 다음과 같이 작성을 하였는데 다음과 같은 오류가 발생하였다. FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!) Error while looking for TLD file for "http://tiles.apache.org/tags-tiles"; see cause exception. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign til..
Springboot에서 지원을 하는 Template Engine은 Thymeleaf, Freemarker, Velocity 등이 있다. 이중 freemarker로 프로젝트 구성을 하게 되었다. freemarker 자체만으로 Tiles에서 하는 화면 구성을 해줄수도 있지만 기존의 잘 짜여진 tiles 구조와 설정 등을 그대로 들고 오기 위해 freemarker와 tiles를 결합한 구성이 필요했다. 생각보다는 쉽지 않았다. 1. dependency 추가 pom.xml org.springframework.boot spring-boot-starter-web org.apache.tiles tiles-freemarker 3.0.8 org.apache.tiles tiles-extras 3.0.8 org.apache..