Kotlin이란? 코틀린은 2011년 7월 IntelliJ를 만든 JetBrains 에서 최초 공개했다. 다중패러다임 언어이며 자바와 같은 객체지향 특성과 함수형 언어의 특징을 가지고 있다. 자바의 보일러플레이트를 삭제하기 위해 언어 차원에서의 고민이 느껴지고 무엇보다 스프링에서 공식 지원한다. 안드로이드의 공식 지원 언어이기도 하다. 기본문법 java의 문법을 조금이라도 간결하게 표현하기 위해 조금씩 바뀐 모습이 있다. 1. 코틀린에서는 문단의 끝을 알리는 ; (세미콜론)을 사용하지 않는다. 2. primitive type이 없다. (char, int, double 등.. 변수 선언을 var, 상수 선언을 val로 한다.) 3. 변수의 타입이나 메소드의 리턴 타입이 이름 뒤에 따라오는 콜론(:) 뒤에 ..
윈도우 OS환경에서 아무것도 안하고 있는데 다음과 같은 팝업이 주기적으로 뜬다. 다른 기능들을 사용하는데 아무런 문제가 없지만 그래도 주기적으로 이러니 여간 신경쓰이는게 아니다. 오류가 안나게 해보자. 그나저나 WebView2는 뭘까? Microsoft Edge WebView2는 런타임 Edge 엔진을 사용하여 데스크톱 애플리케이션에 웹 기능을 렌더링하는 데 사용되는 런타임 설정이다. 해결방법 : 필자는 WebView2를 지우고 다시 설치를 하니 위와 같은 오류가 사라졌다. WebView2 삭제하기 일단 cmd를 관리자 권한으로 열어준다. 그리고 cmd에서 WebView2 설치경로를 찾아간다. 그럼 setup.exe 파일을 발견할 수 있다. C:\Program Files (x86)\Microsoft\Ed..
2021년 Top 10 안에 3개의 새로운 카테고리가 등장했고, 이름 변경 및 통합이 이루어졌다. 그걸 이어받아 2022년에 업데이트된 주의해야 할 주요 보안 취약점은 다음과 같다. (크게 4년에 한번씩 바뀌고 매년 조금씩 업데이트 되는 구조라고 이해하면 된다. 잘 나온 원문을 번역 돌렸으니 이해를..) THE OWASP TOP 10 LIST 2022 1. Broken Access Control 액세스 제어는 사용자가 지정된 권한의 범위를 넘어서는 작업을 수행하지 못하도록 하는 전략을 구현합니다. 액세스 취약성 때문에 인증되지 않았거나 원하지 않는 사용자가 분류된 데이터 및 프로세스 및 사용자 권한 설정에 액세스할 수 있습니다. 예를 들면 JWT(JSON Web Token) 액세스 제어 토큰을 사용하여 ..
hidden은 화면에 보이지 않기 때문에 XSS를 굳이 방어해야 하나 하는 생각이 들수도 있지만 분명히 이곳도 XSS에 대한 방어를 해야 하는 부분이다. (웬만한 보안 검사를 하면 이 부분에 대해 방어해놓지 않을경우 조치하라고 나온다.) Hidden Input value XSS 방어 ... JSTL의 function tag를 사용하였다. fn:excapeXml() 을 통해 XML마크업 문자로 인식될 문자열을 삭제한다. 끝!
새로운 프로젝트 환경설정을 하다가 뜻대로 잘 안되어 살펴보니 Node.js 버전에 문제가 있는것 같다. Node.js 버전은 NVM (node version manager) 를 사용해서 바꿀 수 있다. NVM 설치 GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go. A node.js version management utility for Windows. Ironically written in Go. - GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironic..
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..
Spring을 처음 본게 2.5 버전인가 그랬는데 어느덧 6.0이 나온다고 한다. 2.5일때는 모든걸 XML으로 설정하곤 했었는데 6.0에서는 이 XML을 아마 지원하지 않을것 같다. 10년만에 참 많은 부분이 바뀐듯 하다. 출시일 2021년 12월 6.0 M1(milestone) 버전을 공개했다. 그리고 2022년 7월에는 RC1(release candidate) 버전을 출시하고 대망의 GA(general availability) 버전은 2022년 10월에 출시된다고 한다. 또 공부해야할게 늘고... migration 해야 할일도 생기겠지... 변경점 (5.3 vs 6.0) 5.3 버전에서 6.0 버전으로 갈때 변경된다고 한 점은 다음과 같다. Java 17 based on XML 구성 형식은 지원이 ..