java 에서 문자열을 자를때 일반적으로 subString 을 사용하는데 알아 두워야 할 점은 subString로는 한글 문자열을 자를 수 없다는 것이다. 정확히는 1바이트만 구성된 문자들(숫자, 영문자 등)의 문자열만 자를 수 있다고 보는게 맞다. 그럼 한글은 어떻게 자르나? 원리는 간단하다. 문자열을 바이트형으로 변환한 뒤 각 글자의 길이를 계산하여 처리하면 되는 것이다. 한글은 2바이트 문자이므로 문자열을 하나하나 반복하다가 해당 문자열이 1바이트 문자인지 2바이트 문자인지 확인 후 잘라 주는 것이다. 이때 주의할 점이라면 자르고자 하는 위치가 2바이트 문자열에 위치해 있다면 1바이트 앞으로 끊어서 읽어주면 된다. 간단한 내용이니 코드를 바로 보자. private String subStrBytes(..
SQLCODE : 104 SQLSTATE : 42601 문법이 올바르지 않을 경우 발생 SQLCODE : 204 SQLSTATE: 42704 테이블이 없을때 SQLCODE : 206 SQLSTATE : 42703 컬럼이 존재하지 않을때 SQLCODE : 302 SQLSTATE : 22001 컬럼 사이즈가 문자열의 길이 보다 작을때... SELECT 에서 발생하는 경우가 있다. 특히 ORDER BY 를 조회 할때 페이지 사이즈가 작기 때문에 발생하는 경우가 있는데 (ORDER BY를 생략해 주면 에러가 안난다.) 이럴때 페이즈 사이즈를 늘려 주거나, 읽어 오는 데이터의 길이를 제한해야 한다. SQLCODE : 405 SQLSTATE : 42820 숫자 상수가 너무 길거나, 그 값이 해당 데이터 유형의 범위..
Spring Security 를 적용하고나서 이전에 잘 되던 페이지들이 이유없이 Access Denied 되는 경우가 있다. 특히 무엇인가를 입력하는 화면에서 이런 현상이 발생 했다면 아래의 코드를 입력해 보자 이 코드로 문제가 해결 되었다면 원인은 Spring Security 의 CSRF 설정 때문이다. Spring Security 4.0에서 CSRF 설정이 기본적으로 true로 설정되기 때문이다.
mysql(mariadb)나 oracle 등 각 데이터베이스 제품 별로 like 검색 시 문자열을 조합하는 방법에 약간의 차이가 있다. mysql(mariadb) code like CONCAT('문자열','문자열',....) ex ) code like CONCAT(#{code}, '%') code like CONCAT('%', #{code}, '%') oracle, db2 code like '문자열' || '문자열'.... ex) code like #{code} || '%' code like '%' || #{code} || '%' mssql code like '문자열' + '문자열'... ex) code like #{code} + '%' code like '%' + #{code} + '%'
Spring Security 4.0 부터는 CSRF 설정이 기본으로 true 이다. 이에 따른 유의사항이 있는데 기본적으로 통신시 CSRF 토큰값은 POST방식으로 데이터를 서버에 전송할때 반드시 필요하다. GET 방식일 때는 필요 없다. 최근에 서버와 클라이언트 간의 통신 방법으로 Restful 방식을 많이 사용하는데 게시물 목록 같은 것을 조회 하는 데도 type을 POST로 설정하는 경우가 많다. 최근에 jsp에서 ajax를 써서 Restful 방식의 게시판을 구현하였는데 Spring Security 를 적용하면서 문제가 발생했다. 게시물을 읽어오는 restful 의 type을 post로 설정하면서 발생한 문제였다. 이 방식이 안되는것은 아니지만, 추천할 만한 방식은 아니다. POST 방식은 Spr..
스프링 시큐리티를 적용하던 중 아래와 같은 에러를 만났다. No qualifying bean of type '...' available 문제해결 dataSourceContext.xml 에 mybatis-spring 관련 네임스페이스를 추가해 준다. xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring" http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd 그리고 하단에 mapper 스캔을 위해 아래의 문구를 추가해 준다.

기존에 짜 놓았던 프로그램을 오래간만에 다시 열어 보았더니 아래 그림처럼 빨간색이 엄청 떠 있었다. 기본적으로 제공되야 할 java SDK의 라이브러리들을 제대로 읽어 오지 못하는 것이다. 해결 방법은 intellij에서 참고 하는 SDK 설정을 다시 잡아 주면 된다. 'File > Project Structure...' 로 이동 제 맥북에는 현재 openjdk 11이 설치 되어 있습니다. 따라서 'adopt-openjdk-11' 과 필요한 라이브러리만 남기고 모두 삭제를 합니다. (아래 그림에 있는 11 이라는 라이브러리 openjdk-11 을 가리킵니다. 자동으로 생성되니 신경 안쓰셔도 됩니다,) 설정을 완료하고 [OK]를 클릭하면 뭔가 내부적으로 막 돌아가기 시작합니다. 그리고 잠시 후 빨간 줄이 ..

Installing and launching... 47.2s ══════════════════════════════════════════════════ Error launching app. Try launching from within Xcode via: open ios/Runner.xcworkspace Your Xcode version may be too old for your iOS version. ══════════════════════════════════════════════════ 2020-10-06 06:54:29.967 ios-deploy[3985:55021] [ !! ] Error 0xe8000022: The service is invalid. AMDeviceSecureStartServi..

이 포스팅은 java/spring 스터디에서 IntelliJ로 개발하면서 진행했던 내용을 정리한 것입니다. 스프링 프로파일은 중요한 속성 정보를 별도의 파일로 한 곳에 관리 할 수 있는 방법입니다. 보통 DB와 같은 정보는 중요하므로 별도의 속성 파일을 만들어 관리하는 것이 일반적 입니다. 이번 포스팅에서는 DB의 속성 정보를 분리해 보도록 하겠습니다. 1. 데이터 베이스 속성 설정 파일 생성하기 데이터베이스의 속성을 설정할 설정파일(xml)파일을 생성합니다. 위의 화면과 같이 src\main\resources 아래에 properties 라는 디렉토리를 만듭니다. 그리고 그 안에 datasource_properties.xml 이라는 파일을 생성합니다. datasource_properties.xml 파일의..

인텔리제이로 자바 프로그래밍을 하다보면 'Try-with-resources are not supported at language level 5' 라는 에러를 만나는 경우가 있습니다. 이것은 인텔리제이 내부에서 컴파일 할때 사용하는 JDK의 버전이 낮아서 발생하는 문제입니다. 보통 intellij 의 language level 을 설정하지 않았다면 jdk 버전은 1.5일 것입니다. 하지만 사용하려 했던 try-with-resources 는 jdk 1.7 버전에 등장한 것으로 1.5 에서는 사용이 불가능 합니다. intellij의 Language level은 'File -> Project Structure...' 의 Modules 에서 확인이 가능합니다. 프로젝트 명을 클릭하면 우측에 위와 같은 화면이 나타..

이 포스팅은 java/spring 스터디에서 IntelliJ로 개발하면서 진행했던 내용을 정리한 것입니다. 게시판 만들기를 해볼 것인데 게시글을 저장하기 위한 DB로 MariaDB를 사용할 계획 입니다. MariaDB 설치는 생략합니다. 1. 의존성 추가 우선은 spring 에서 DB를 사용 할 수 있도록 jdbc 드라이버와 MariaDB에 대한 라이브러리를 추가 해야 합니다. 아래의 코드를 pom.xml에 추가해 주어야 합니다. mysql mysql-connector-java 8.0.17 org.mybatis mybatis 3.5.2 org.mybatis mybatis-spring 2.0.2 org.springframework spring-jdbc ${org.springframework-version}..

이 포스팅은 java/spring 스터디에서 IntelliJ로 개발하면서 진행했던 내용을 정리한 것입니다. 1. 프로젝트 생성하기 인텔리제이를 실행하면 가장 먼저 아래의 화면과 마주하게 됩니다. 'Create New Project' 를 클릭합니다. 2. 'Maven' 프로젝트 선택하기 좌측에서 'maven' 프로젝트를 선택하고, 우측에서는 어떤 것도 선택하지 않습니다. 그냥 바로 [Next] 버튼을 클릭하여 넘어 갑니다. 3 'GroupId' 와 'ArtifactId' 설정 GroupId는 'com.freehoon.web' 과 같이 이터넷 주소를 뒤집어 써놓은것과 같은 형태 입니다. 가장 마지막에는 보통 프로젝트 ID와 동일하게 설정을 합니다. ArtifactId는 보통 프로젝트 ID와 동일하게 작성합니..
- Total
- Today
- Yesterday
- 한빛미디어
- 글쓰기
- 아침 글쓰기
- openjdk
- 아침 글쓰기 챌린지
- 개발팁
- 도서
- 회고
- java
- 게시판
- android studio
- 오블완
- spring
- 라즈베리파이3
- Linux
- 아침글쓰기
- 리눅스
- MAC OS STS Spring
- Tip of the day
- 스프링
- Did you know
- 티스토리챌린지
- IntelliJ
- Raspberry pi3
- bootstrap
- 안드로이드 스튜디오
- etf
- spring board
- php mvc
- Spring 게시판
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |