본문 바로가기

전체 글101

[Java] 클라이언트(접속자)의 IP주소 가져오기 클라이언트(접속자)의 IP주소 가져오기 개발을 하다보면 클라이언트의 IP를 확인할 경우가 있습니다. 당연히 Java에서도 이에 대한 기능을 제공하는 클래스가 있는데 이 클래스를 그냥 사용하기에는 몇가지 넘어야 하는 산(?)이 있어서 그에 대해 알아보고자 포스팅을 작성합니다. 1. 사용자 IP가져오기 public String getUserIp() throws Exception { String ip = null; HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); ip = request.getRemoteAddr(); return ip; } 일반적으로.. 2019. 10. 31.
[Java - Spring] Jackson을 이용한 JSON 사용방법 Jackson을 이용한 JSON 사용방법 웹에서 자주사용하는 데이터 타입중에 한가지가 JSON입니다. 문제는 JAVA에서는 JSON을 지원하지 않는 다는 것입니다. 그렇기 때문에 별도의 라이브러리를 추가하여 JSON객체를 컨트롤하는데 대표적으로 Jackson라이브러라와 Gson라이브러리가 있습니다. 둘다 많이 사용하는 라이브러리이긴 하지만 Spring과의 호환성이나 퍼포먼스적인 측면에서 Jackson라이브러리가 더 좋다고 판단하여 Jackson라이브러리 위주로 사용하고 있어 오늘 이에 대해 포스팅해보고자 합니다. 1. Spring에서 Jackson 라이브러리 추가 com.fasterxml.jackson.core jackson-databind 2.10.0 Pom.xml에 Jackson라이브러리를 추가만 하.. 2019. 10. 27.
[Java] Open JDK 설치와 기존 이클립스 환경 변경하기 Open JDK 다운, Open JDK 설치와 기존 이클립스 환경 변경하기 Oracle JDK 유료화 논란으로 이야기가 많습니다. 저 또한 Java를 사용하는 입장에서 민감하게 다가오는 부분이라 여기저기서 정보들을 취합하여 나름대로 결론을 내린 바로는 우선 예외사항이 있겠지만 JDK가 유료화가 된것은 사실이며 개발자의 입장에서 대안책을 찾아야 하는데 그 대안은 Open JDK를 사용하는 것입니다. Open JDK는 사실상 Oracle JDK와 비교하여 기능과 신뢰성면에서 거이 차이점이 없다라는 결론을 내렸는데요 문제는 Open JDK의 종류가 많다는 것이였습니다. 아마존이나 레드햇 등등 여러 업체에서 Open JDK를 이용하여 각자의 JDK를 무료로 배포하고 있었는데 저는 결과적으로 Oracle의 Ope.. 2019. 10. 26.
[Mysql, MariaDB] Group By, Having절 사용하기 작성중 2019. 10. 23.
[Java-Spring] 로그인 Seesion 처리 1. 웹페이지의 로그인 처리방법 웹페이지를 개발할때 로그인 처리는 필수적인 항목이라고 해도 무방할정도로 중요한 기능입니다. 웹에서의 로그인 처리방법은 여기서 이야기할 Session외에도 토큰과 쿠키를 이용하는 방법도 있지만 가장 대중적인 Session으로 처리하는 방법을 먼저 익혀야 한다고 생각합니다. 혹시라도 이제 막 로그인처리에 대한 공부를 하는 상황이라면 거이 대부분 이 Session을 이용한 로그인처리를 한다고 생각하시면 됩니다. 이 포스팅에서는 Session의 개념과 Session을 사용하는 방법 그리고 그 방법을 통해서 어떻게 로그인처리를 하는지 알아보겠습니다. 2. Session이란? Session은 일종의 저장공간입니다. 클라이언트(사용자) 한명이 서버에 접속을 하면 그 클라이언트만의 저장.. 2019. 10. 20.
[Spring] 멀티 파일업로드, 파일다운로드 구현 Spring 설정멀티 파일업로드, 파일다운로드 구현 파일처리는 웹프로젝트를 공부하면서 마주치는 큰 고비중 한가지 입니다. 저의 경우에는 파일처리와 네트워크통신 이 두가지가 가장 저를 힘들게 했는데 오늘 저를 힘들게 했던 파일처리에 대해서 정리해 볼려고 합니다. 파일처리는 크게 파일업로드와 파일다운로드 이렇게 두가지로 나뉘어 집니다. 이제 여기서 세부적으로 들어가면 DB에 파일정보를 입력하는 과정과 보안을 위하여 확장자체크, 용량체크등의 작업을 하고 안정적으로 관리하기 위하여 파일이 저장되는 디렉토리관리, 파일명중복 방지등 부수적으로 해야할 업무들이 많습니다. 이 포스팅에서는 먼저 JSP프론트단의 작업후에 파일업로드를 구현하고 마지막으로 파일다운로드를 구현하는데 그 과정에 있어서 보안적인 부분과 기타 부수.. 2019. 10. 13.
[MariaDB] 윈도우에 설치하기 1. MariaDB 다운로드 마리아DB는 공식 홈페이지에서 받을 수 있습니다. https://downloads.mariadb.org/ Downloads - MariaDB downloads.mariadb.org 원하는 버전을 선택후 다운로드 버튼을 누릅니다. 본인에게 맞는 운영체제의 버전으로 다운로드 받습니다. 저는 윈도우10에 64비트 환경이기 때문에 mariadb-10.4.8-winx64.msi 로 다운로드 받았습니다. 2. MariaDB 설치 설치과정중 중요한 부분만 가지고 왔습니다. 본인이 사용할 root계정의 비밀번호를 입력하고 로컬이 아닌 원격지에서 root계정으로 접근이 가능하게 할지 선택하는 체크박스가 있습니다. 그리고 맨 아래의 체크박스는 UTF-8 캐릭터셋을 지정할지 묻는 선택박스인데 아.. 2019. 10. 12.
[Linux] 리눅스에서 ps명령어로 프로세스 확인하기 1. ps명령어 리눅스에서 현재 실행중인 프로세스 목록을 보여주는 명령가 ps명령어 입니다. 오라클이나 자바 등 프로그램 프로세스들이 정상적으로 작동중인지 확인하는 등 리눅스 관리 전반적으로 아주 많이 사용하는 명령어 이기 때문에 자세히 알아두면 도움이 많이 됩니다. 2. ps명령어 옵션 리눅스의 모든 명령어가 그렇듯 기본 명령어에는 추가적인 옵션이 있습니다. 단순히 ps명렁어만 사용할 경우 아래처럼 단순히 사용자가 실행시킨 프로세스만 보여줍니다. ps 명령어의 자주 사용하는 옵션 옵션 기능 -e 모든 프로세스를 출력한다(숨겨진 프로세스 포함) -f 풀 포맷으로 리스트를 출력한다 -l 롱 포켓으로 리스트를 출력한다(풀 포맷보다 자세함) -p 특정 PID의 프로세스를 보여준다 -u 특정 사용자의 프로세스를.. 2019. 10. 12.
[Window] 에서 하위폴더까지 일괄적으로 확장자 변경방법 1. 기본적인 확장자 변경방법 우선은 특정 폴더내의 모든 확장자를 변경하는 방법에 대해서 알아보겠습니다. 이 방법은 해당폴더 내의 모든 확장자가 변경이 되지만 폴더내의 하위폴더속 파일에는 적용이 되지 않습니다. 명령 프롬프트 창에서 작업을 하고자하는 디렉토리로 이동 후 위와 같은 명령어를 입력하면 됩니다. ren은 rename의 준말로 즉 '이름변경'의 명령어 입니다. 여기서는 .st확장자를 가진 모든 파일의 확장자를 .txt로 변경하는 명령어 입니다. 2. 하위 디렉토리까지 모든 확장자 변경 대부분의 경우 위의 방법으로 해결이 되지만 하위 디렉토리의 파일까지 모두 변경이 필요한 경우가 있을 수 있습니다. 이러한 경우에는 조금 다른 방법을 사용해야하는데요 이 명령어는 하위폴더를 포함하여 *.txt확장자인.. 2019. 10. 9.
[Eclipse] 가용 메모리(Heap Size) 늘리는 방법 1. 들어가며 이클립스를 사용하다보면 메모리가 부족한 경우가 있습니다. 이런 경우에 설정값 변경을 통해서 이클립스에서 사용하는 메모리 용량을 증가시키는 방법에 대해서 알아보겠습니다. 2. 설정방법 이클립스가 설치된 폴더에 가면 eclise.ini이라는 폴더가 있습니다. 만약 sts일 경우 sts.ini 혹은 SpringToolSuite4.ini 등의 이름으로 위치하고 있는데 이 파일을 메모장으로 실행시켜 줍니다. 메모장에서 메모리의 최소 값과 최대값을 수정하고 저장하면 설정은 모두 완료됩니다. -Xms2048m (최소 값) -Xmx2048m (최대 값) 3. Heap영역 보는 방법 메모리의 Heap영역은 늘렸지만 실제로 현재 얼마나 사용하고 있는지 그리고 내가 설정한대로 늘어났는지 확인할 수 있도록 He.. 2019. 10. 6.
[AWS] EC2서버 생성하기 1. EC2 서버란? 이 포스팅에서는 AWS에서 제공하는 여러가지 서비스중 EC2라는 서비스에 대해 설명할려고 합니다. EC2를 쉽게 설명하자면 그냥 서버컴퓨터 1대를 제공하는 서비스로 이해하시면 쉽습니다. 이러한 EC2에 DB가 설치된 상태로 제공하는 서비스를 AWS에서는 RDS라는 이름으로 제공하며 개발자가 그냥 EC2에 직접 DB를 설치하여 EC2를 RDS(DB서버)처럼 사용하거나 WAS서버 혹은 FTP서버등 원하는대로 사용이 가능합니다 말 그대로 컴퓨터 1대를 얻게 된거니깐요. 현재 포스팅에서는 내용이 너무 길어지기 때문에 회원가입이라던가 보안정책 등의 중간과정은 생략하고 바로 EC2서비스를 이용하는 방법에 대해서 알아보겠습니다. 2. EC2 생성 시작하기 전에 우측상단의 지역을 서울로 변경해 줍.. 2019. 10. 6.
[Window] 에서 MobaXterm를 이용하여 (SSH)Linux접근하기 1. 들어가며 개발을 하며 원격으로 서버에 접속하여 업무를 처리해야 하는 경우가 많습니다. 경우에 따라 가상머신으로 접속 하거나 원격지의 컴퓨터의 경우 별도의 원격접속 프로그램을 이용하여 접근을 하여 사용하는데 기존에 사용하던 Putty보다 MobaXterm이 좋다는 이야기를 듣고 이번에 한번 사용해 봤습니다. 전체적인 UI의 가독성뿐만 아니라 탭이 있어서 동시에 여러작업이 가능하고 FTP의 역할도 한다고 하니 사실상 Putty의 의 대체라기 보다는 상위호환의 개념이라고 생각합니다. 2. MobaXterm 설치 https://mobaxterm.mobatek.net/의 공식홈페이지 상단 Download 메뉴에서 설치파일을 다운로드 받습니다. 저는 free버전을 선택했습니다. 설치버전과 포터블 버전이 있는데.. 2019. 10. 6.