본문 바로가기

[java/kotlin] Spring Boot에서 웹소켓 사용하기 들어가기 웹소켓(websocket)은 브라우저와 웹서버 간에 통신을 할 수 있는 채널을 만드는 기술이다. 기존 HTTP을 사용하는 경우 데이터를 송수신할 때마다 매번 연결하고 끊어지는 작업이 반복된다. 웹소켓은 계속 연결된 상태로 유지되기 때문에 데이터를 더 효율적으로 처리할 수 있다. 웹소켓도 사용하기 위한 자신만의 규약이 있지만 Spring Boot에서 웹소켓을 쉽게 사용하는 방법이 있다. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 웹소켓이란? 웹소켓은 양방향 통신하는 프로토콜(RFC6455)이다. 웹소켓은 80과 443위에서 HTTP 프로토콜과 호환되도록 동작한다. 기존 HTTP 폴링에 비해 부하가 낮고 푸시 방식의 실시간 데이터 전송가능하다. .. 더보기
VisualVM 소개 들어가기 visualvm를 활용한 java 프로파일링을 하기 위한 도구이다. 간단하게 사용하기 유용하기에 소개할려고 한다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ VisualVM이란? java 플로파일링하는 도구로 기본적은 모니터링 기능과 프로파일러를 제공하고 있다. 프로파일러는 CPU, Memory, JDBC, Locks를 지원하고 있다. 다운로드: https://visualvm.github.io/download.html 실행방법 JDK 1.8 이상이 필요 JDK를 찾을 수 없을 경우 직접 경로 입력 가능 $ visualvm --jdkhome "\path\openjdk-17.0.2"VisualVM 2.1.7인 경우 JDK 1.8로는 실행이 안되고 .. 더보기
[Java] spring boot에서 spring security 사용하기 4 - OAuth2 들어가기 OAuth(”Open Authorization”)은 애플리케이션 간에 인증을 공유하는 형태로 별도 인증을 통하여 애플리케이션에 대한 접근권한을 위임하는 개방형 표준이다. 트위터, 페이스북,구글,Github 등 유명 회사에서 제공하고 있다. OAuth에 장점은 별도 회원가입이나 인증 처리을 개발할 필요없고 여러 애플리케이션을 통합하는게 가능하다. 여기서는 OAuth 클라이언트 관점에서 접근하려고 한다. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 기본 구성 Dependency 설정 Pom.xml 파일에 OAuth2 인증을 위해 spring security 외에 추가적인 dependency가 필요하다. org.springframework.boot .. 더보기
[Java] spring boot에서 spring security 사용하기 3 - LDAP 들어가기 LDAP(Lightweight Directory Access Protocol)은 중앙 집중 사용자 정보 저장소와 인증 서비스 형태로 자주 사용된다. 대부분의 예제가 내장 ldap 서버를 사용했지만 실제 외부 서버 연동할 때 다시 어떻게 해야할지 모르는 상황이 된다. 그래서 이글에서는 외부 오픈 ldap 서버를 사용한 ldap 인증을 사용했다. 혹시, ldap을 잘모른다면 먼저 간단하게 공부하는 것을 추천한다.[4] 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 환경 구성 기본 환경 구성을 시작해보자. Dependency 설정 Pom.xml 파일에 LDAP 인증을 위해 spring security 외에 추가적인 dependency가 필요하다. or.. 더보기
[Java] spring boot에서 spring security 사용하기 2 - Authorization 들어가기 Spring Security 두번째 글로 이전에 다룬 인증을 기반으로 사용자 접근제어을 다룰려고 한다. Spring Security에서는 사용자 권한에 따라 접근할 수 있는 URL을 관리할 수 있다. 간단하게 Spring Security의 접근 제어를 살펴볼자. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 접근제어란? 접근 제어란 서비스에 있는 모든 기능을 아무 사용할 수도 있지만, 대부분 권한에 따라 접근을 허용하거나 차단한다. 예를 들어 시스템 사용자에 일반 사용자와 관리자가 있다면, 일반 사용자는 자신의 데이터만 접근할 수 있지만, 관리자는 시스템 전체에 대한 데이터를 접근할 수 있다. Spring Security에서 할당된 사용자 권한을.. 더보기
[Java] spring boot에서 spring security 사용하기 1 - Authentication 들어가기 Spring Security란 Java로 만들어진 스프링 프레임워크 기반의 시큐리티 프레임워크이다. Spring Security는 다양한 표준 인증 프로토콜 및 접근제어를 제공하기 때문에 손쉽게 높은 레벨의 보안 기능을 사용할 수 있다. 실제 사용은 생각보다 쉽지만 적용하기가 쉽지 않다. 이는 어느 하나만 적용해서 사용하는게 아니라 여기저기 적용할 부분이 많고, 설정이 까다롭고 에러가 발생해도 원인을 파악하기 쉽지 않기 때문에 사용하기 어렵다고 생각이든다. 또한 새로운 보안 기능을 추가할 경우 더욱더 갈피를 잡지 못해서 어려움을 격는다. 그렇기 때문에 직접 보안기능을 구현해서 사용하는 경우도 많다. 이 글에서는 Spring boot을 기반으로 Spring Security를 사용한 HTML 폼 사.. 더보기
[java] springboot에서 mongodb 연동하기 들어가기 MongoDB는 nosql로서 간단하게 중소 데이터 규모에 적합한 데이터베이스이다. MongoDB에 가장 큰 특징은 json 형태의 동적 스키마형 문서 데이터 입출력하는 document 형태의 구조를 가진다. Spring boot에서는 아주 간단하게 연동해서 사용할 수 있다. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 환경 구성 MongoDB을 사용하기 위한 Dependency 추가하자. org.springframework.boot spring-boot-starter-data-mongodb 그리고 MongoDB를 접속하기 위한 접속 정보 설정한다. spring.data.mongodb.host = 127.0.0.1 spring.data.mong.. 더보기
[java] java에서 ImageMagick 사용하기 들어가기 자바에 있는 ImageIO를 사용해서 이미지를 간단하게 처리는 코드를 작성하였는데 문제가 발생하였다. PNG 파일을 읽어오데 에러가 발생하였고 확인해보니 ImageIO에서 깨진 PNG 파일을 읽어오는 경우 발생하였다. 인터넷을 검색을 해보았지만, 대부분은 단순 파일 업로드나 이미지를 처리하다가 에러가 발생하면 처리하지 않고 파일로 저장한다. 그래서 다른 라이브러리를 찾아보았지만, 비슷했다. 결국 찾은게 ImageMagick이었다. 자바용으로 jMagic이 있었고 JNI를 사용하여 ImageMagick 라이브러리를 호출하는데 호환성 문제가 있었다. 다음으로 찾은게 im4java이다. 이는 ImageMagick의 명령어를 대신해서 호출해주는 라이브러리이다. 이제 ImageMagick를 하나씩 살펴보.. 더보기

반응형