목록Java (116)
오늘은 몰랐으면 내일은 알면 된다
설치같은 경우에는 Notepad++ 홈페이지 들어가서 windows용 다운로드를 진행해주면 되겠다. 어떤 tool이든지 환경설정을 하는 부분이 빠질 수 없는데, notepad++ 도 java 환경설정을 어떻게 해야하는지 살펴보자. 1. 먼저 플러그인 관리로 들어간다. 2. 하단 메뉴에서 NppExec를 체크하고, 설치버튼을 클릭한다. 3. 다시 플러그인 메뉴를 눌렀을 때, NppExec 메뉴가 있으면 끝이다. 소스코드는 F6으로 실행하는 모양이다. ㅍ 4. 간단한 코드를 작성하고 .java 확장자로 저장한다. 5. F6을 눌러서 위와 같이 작성한다. 현재 폴더로 이동->컴파일->run 을 적어놓은 것이다. 작성 완료한 다음에는 Save.. 를 클릭해서 위와 같이 작성하고 Save한다.
여러 사이트를 사용하다가 다음과 같은 기능을 보았을 것이다. 최근에 다국어 지원 관련하여 수정할 일이 생겨서, 알게된 것을 정리할 겸 구현하는 방법 자체도 포스팅 해놓고자 한다. 마땅한 예시를 들 것이 없어서.. 인터파크 홈페이지를 캡처했다. 한국 인터파크 홈페이지에서 language를 English로 변경하면 다음과 같은 글로벌 사이트로 들어간다. 여기를 예시로 들어보자. 여기에서 Language 설정을 바꾸면, 다음과 같이 언어설정이 바뀌는 것을 볼 수 있다. 이런 몇가지의 변수를 넘겨서 Language 처리를 해주는 모양이다. 이러한 내용을 직접 구현해보도록 하자. Spring은 MessageSource 인터페이스를 통해 국제화를 지원한다. 메시지 설정파일(properties)를 작성하여 국가별 로..
간단한 로그인 정도는 구현해봤지만 활용할 수 있는 수준은 아닌 것 같아서 좀 더 살펴보고자 한다. 그림은 출처 유튜브를 참고해서 만들었다. [ Spring Security 개요 ] 보안에는 여러 형태가 있는데, 그 가운데 Spring Security는 애플리케이션 레벨의 보안 프레임워크이다. 간단히 개념적으로만 생각해보면 사용자의 모든 요청이 애플리케이션에 전달되기 전에 중간에 가로채서, 이 사람이 이 작업을 수행해도 되는 사람인지에 대해서 확인하고, 권한이 없는 사용자에 대해서는 접근을 제한한다고 생각하면 된다. 그래서 주로 도식화를 할 때 경찰의 이미지로 표현된다고 한다. [ Spring Security를 사용하는 이유 ] 1. 애플리케이션 보안 프레임워크 - 유연하고, 커스터마이징이 용이하다. : ..
HttpServletRequest 의 getRemoteAddr() 메서드를 통해서 IP 주소를 가져올 수 있다. 하지만 단순히 위와같은 방법으로 가져오게 되면 방화벽, 클라우드를 거쳐오는 경우에는 원하는 값이 나오지 않을 수 있다. Web Server에서 프록시나 로드밸런서를 통해 WAS에 요청을 보내기 때문에 프록시 또는 로드밸런서의 IP를 가져오게 된다고 한다. 그래서 헤더별 분기처리를 해주어야 한다. package com.basic.basic.util; import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframewo..
페이징을 정말 수도없이 많이 했는데 사실은 원래 만들어져있던 pager를 활용해서 수정하는 정도였기 때문에 실질적으로 내가 했다고는 볼 수 없었다. 처음 교육기관에서 페이징에 대한 걸 알았을 때도 선생님이 이해하려고 하지말고 외워~ 라고만 하셔서 혼자 끙끙대면서 코드 해석을 했던 기억이 난다... 문득 이거 처음부터 한다고하면 또 헷갈리는거아냐? 싶어서 종류별로 정리하려고 한다. 목표는 이것만 봐도 페이징 처리를 할 수 있게 되는것이다.(또 까먹을 나를 위해) 첫번째는 PageMaker 클래스를 통해서 페이징 처리를 하는 방식이다. 뷰에서는 jstl을 사용한다. [ Paging 규칙 ] 1. 필요한 값들 : 한페이지에 몇개의 글을 보여줄 것인지, 현재 페이지 번호, 총 게시글 개수 1-1. 총 페이지 개..
아래의 블로그를 참고해서 조금씩 변형했다. offbyone.tistory.com/93 스프링프레임웍 - Spring Security(3) : 사용자/권한 정보 DB사용하기 앞서 "스프링프레임웍 - Spring Security(2) : 커스텀 로그인 화면 및 권한에 따른 접근 제어"에서 로그인 화면을 원하는 형태로 만드는 방법에 대해서 알아 보았습니다. 지금까지의 기본설정과 화면 offbyone.tistory.com 여기서는 MySQL(MariaDB 10.5) 과 MyBatis를 사용할 것이다. 1. 먼저 테이블을 만들어준다.(위의 예제를 참고하였다) Spring security DB 지원 기본구조를 조금 바꾼 것이라고 한다. CREATE TABLE `USERS` ( `USERNAME` VARCHAR(20..
여기에서 이어진다. pieth.tistory.com/48 [Spring] MySQL, Mybatis 연동하기 문득 쌩 프로젝트가 주어져서 처음부터 해보라는 요청을 받으면 어떻게 해야할지가 바로 떠오르지 않았다. 얼추 윤곽은 잡고서 작업을 하는 줄 알았는데 그런 것도 아니었나보다. 그래서 아예 pieth.tistory.com MyBatis까지는 연결했는데, 그 이후에 DAO(Data Access Object)는 어떻게 구현을 해야할까? 아래의 블로그를 참고하였다. kookyungmin.github.io/server/2018/08/13/spring_07/ [Spring] 7.DAO 구현 kookyungmin.github.io 1. root-context.xml의 sqlSessionFactory에 다음의 속성..
예제 및 내용은 아래의 블로그를 주로 참고하였다. offbyone.tistory.com/91 스프링프레임웍 - Spring Security(2) : 커스텀 로그인 화면 및 권한에 따른 접근 제어 앞의 글 "스프링프레임웍 - Spring Security(1) : 기본 설정"에 이어 이번에는 커스텀 로그인 화면을 만드는 방법을 알아보겠습니다. 전체소스는 하단에 추가되어 있습니다. 1. 스프링 시큐리티 태그라 offbyone.tistory.com 1. 스프링 시큐리티 태그 라이브러리 사용을 위한 의존성을 추가한다. org.springframework.security spring-security-taglibs ${spring.security.version} jar compile 2. 커스텀 로그인 화면을 위한 ..
이미 구현된 spring security 관련 소스들을 유지보수하는 것은 해봤지만 직접 구현해본 것이 아니기 때문에 이해가 제대로 된 것 같지는 않았다. 그래서 처음부터 하나씩 구현해보면서 동작과정을 이해해보려고 한다. 간단한 로그인 기능을 구현한 다음 개념들을 잡아가는 식으로 포스팅을 하도록 해보자. 예제는 아래의 블로그를 참고하였다. offbyone.tistory.com/88 스프링프레임웍 - Spring Security(1) : 기본 설정 스프링 시큐리티는 지금까지 직접 구현해왔던 아이디/비밀번호를 입력하고 로그인하여 사용자를 인증(Authentication)하고, 로그인후 프로그램의 각각의 기능에 대한 권한을 체크(Authorization)하는 offbyone.tistory.com 1. 먼저 po..
문득 쌩 프로젝트가 주어져서 처음부터 해보라는 요청을 받으면 어떻게 해야할지가 바로 떠오르지 않았다. 얼추 윤곽은 잡고서 작업을 하는 줄 알았는데 그런 것도 아니었나보다. 그래서 아예 생 프로젝트에서 환경설정부터 하는 방법을 포스팅해두려고 한다. 기준은 Legacy Project이다. 아래의 블로그를 참고하였다. all-record.tistory.com/175 [Spring] 스프링, MySQL, MyBatis 연동 스프링, MySQL, MyBatis 연동 프로젝트 생성 및 관련 설정들은 아래 글을 참고하면 된다. ■ 관련글 [Spring] 스프링 개발환경 설정 프로젝트 생성 후 pom.xml을 연다. 여기에 연동에 필요한 라이브러리를 all-record.tistory.com 1. Maven Reposi..