본문 바로가기

전체보기101

[Java] 폴더, 하위폴더에 있는 전체 파일이름 추출(가져)오기 평화로운 어느날, 꿀을 빨고 있던 나에게 특명이 떨어졌다.. 서버에 실제로 존재하는 첨부파일과 DB상에 있는 첨부파일을 비교하여 누락된 첨부파일이 없는지 확인 하라는 것이였다.. 아직 애송이 개발자인 나에게 파일처리는 멀게만 느껴지는건 어쩔수가 없나보다. 그러한 이유로 지시를 받는 순간 숨이 막히기 시작했다.. 잠시 고민하다가 어쨌든 텍스트형태로 된 파일이름의 값이 있어야지만 이를 이용하여 DB에 넣어 조인을 해서 비교를 하거나, 엑셀을 이용해 어떻게든 비교할 수 있을 태니 우선 서버상에 있는 첨부파일들의 이름을 텍스트형태로 가져와야 겠다는 생각이 들었는데 문제는 파일이름을 어떻게 가져오냐 였다. cmd창에서 파일이름을 가져오는 방법을 알고는 있었지만 첨부파일마다 파일경로가 다르고(하위폴더에 위치) 무엇.. 2020. 1. 29.
[Linux] tail명령어를 이용하여 실시간으로 로그보기 출처는 정확하지 않지만 인터넷상에서 서버의 90%이상이 리눅스로 되어 있다는 자료를 본 기억이 있습니다. 사실여부는 잘 모르겠지만 리눅스가 전체 서버시장에서 차지하는 비중에 대하여 모르는 개발자는 없으리라 생각합니다. 그러다보니 서버상에서 로그를 보려면 리눅스에서 확인해야 하는 경우가 대부분인데 윈도우의 메모장에 익숙한 사람들에게 리눅스는 생소하다보니 로그를 확인하는데 에러사항이 있습니다. 그래서 오늘은 리눅스에서 tail명령어를 이용하여 실시간으로 로그를 어떻게 확인하는지 포스팅 해보도록 하겠습니다. tail 명령어의 구조 [tail의 기능] 파일의 마지막 부분을 출력 [문법] tail [option] [file] [옵션의 종류] f : 파일의 마지막 10라인을 실시간으로 갱신하여 출력 n : 파일의 .. 2020. 1. 26.
[Linux] vi(vim)에디터 사용방법 리눅스를 이용한 개발 혹은 리눅스서버를 운영하는 개발자라면 반드시 알아야 하는 것중에 한가지가 바로 텍스트 에디터를 사용하는 방법입니다. 윈도우의 경우 메모장이나 혹은 Edit Plus와 같은 툴을 이용하여 텍스트 파일을 보지만 리눅스에서는 vim에디터를 이용하여 텍스트 파일을 확인하거나 수정합니다. 물론 vim에디터 외에도 리눅스에는 여러가지 텍스트편집기가 있지만 가장 많이 사용하는 vim에디터만 다루어보도록 하겠습니다. 참고로 vim에디터는 vi에디터에서 발전된 형태의 에디터로 리눅스에서는 vi에디터로 실행한다 하더라도 vim으로 실행됩니다. vim 에디터 실행 커맨드 라인에 vi 혹은 vim 이라는 키워드를 입력하면 vim에디터가 실행됩니다. 기존의 텍스트 파일을 vim에디터로 실행 실행하고자 하는.. 2020. 1. 26.
[Spring] Web.xml 설정(세팅)하기 스프링에서 사용되는 web.xml파일은 Deployement Descriptor(배포 서술자)라고 불리어 집니다. 결국 어떤 프로젝트를 배포하게 되면 그 프로젝트에 대한 설정에 대한정보를 가지고 있는 파일이라고 이해하면 되는데 기본적인 설정정보를 가지고 있다보니 모든 Spring프로젝트는 실행되기전에 1차적으로 web.xml을 거쳐가게 됩니다. 그래야 어떠한 설정이 있는지 확인하고 그 설정에 맞게 동작하니깐요. 이 포스팅에서는 스프링의 설정값에 대한 정보가 담긴 web.xml파일의 작성법과 각 설정이 어떤한 의미를 가지고 있는지 알아보는 시간을 가지도록 하겠습니다. 공통부분 xml파일이라고 선언하는 부분이며 설정에는 한글이 들어가는 경우가 간혹 있기 때문에 인코딩 속성은 UTF-8을 권장합니다. 태그는 .. 2020. 1. 26.
[Spring] @ResponseBody, @RequestBody와 Ajax, JSON 오늘은 여러 어노테이션 중 @ResponseBody와 @RequestBody에 대해서 알아보고자 합니다. 이 두개의 어노테이션은 가장 대표적인 @Service, @Controller와 같은 대장급(?) 어노테이션을 제외한다면 가장 많이 사용하는 어노테이션이고 또 사용하는 방법도 무척이나 간단하여 한 번 알아두고 기억하고 있는다면 웹 개발에 있어서 많은 도움이 되리라 생각합니다. 우선 이 두개의 어노테이션의 공통 접점은 JSON이라는 데이터 타입입니다. JAVA에서는 JSON이라는 데이터 타입이 없기 때문에 프론트단에서 자바에게 JSON타입의 데이터를 전달해주거나 혹은 반대로 JAVA의 객체데이터를 JSON형태로 프론트단에 전달해야 하는 경우 각각 @RequestBody와 @ResponseBody가 그 역.. 2020. 1. 25.
[Spring] 에서 엑셀파일 생성 후 다운로드 방법 Spring프레임워크에서 엑셀파일 생성 업무프로젝트에서 자주 나오는 서비스중에 단골로 나오는 대표적인 기능이 엑셀파일 기능입니다. DB상에 있는 데이터가 되었던 아니면 다른 데이터이든 엑셀파일 형태로 다운로드를 받아 업무적으로 사용하는 경우가 많기 때문에 현업에서 일을 한다면 반드시 알아야 하는 기능중 한가지라고 생각합니다. 다행이 스프링프레임워크에서는 POI라고하는 좋은 엑셀라이브러리가 있어서 개발자가 보다 손쉽게 개발할수 있습니다만 가끔씩 라이브러리를 가져다가 사용만 하다보니 내 자신이 개발자가 맞나? 라는 의문이 듭니다. 하지만 생산성을 위해서는 이미 있는 좋은 라이브러리를 쓰지 않을 이유는 없다고 생각합니다.(물론 직접만들 능력이 없기도 하지만...) 엑셀에 대한 파일처리는 서버가 가지고있는 정보.. 2020. 1. 13.
[Spring] Security 설정방법 내용작성 제목 org.springframework.security spring-security-web 5.2.1.RELEASE org.springframework.security spring-security-config 5.2.1.RELEASE org.springframework.security spring-security-core 5.2.1.RELEASE org.springframework.security spring-security-taglibs 5.2.1.RELEASE 제목 내용작성 제목 내용작성 제목 내용작성 제목 내용작성 1. Maven 추가 org.springframework.security spring-security-web ${org.springframework-version} org.sp.. 2020. 1. 12.
[Spring] Properties파일 사용하기 Properties파일 사용하기 Spring프로젝트에서 Properties파일을 이용하여 변수를 사용하는 경우에 대해서 알아보겠습니다. 1. Properties 파일작성 #Local db.url=jdbc:mysql://127.0.0.1:3306/study_db db.username=user db.password=1234 2. properties bean등록 3. properties 사용 @Controller public class HomeController { @Value("${db.url}") private String url; @RequestMapping(value = "/", method = RequestMethod.GET) public String home() { return "home"; } } 2020. 1. 12.
[Java] 에서 SHA-256 암호화 하기 SHA-256 암호화 예를들어 회원가입시 입력한 암호는 기본적으로 암호화 하여 저장을 하는것이 좋은데 일반적으로는 수많은 암호화 방식중에 가장 대중적인 SHA(Secure Hash Algorithm)를 많이 사용합니다. SHA는 현재 SHA-1, SHA-2계열이 주로 사용되며 SHA-2계열은 다시 세부적으로 SHA-224, SHA-256, SHA-384, SHA-512로 구분되어 지는데 그중에서 SHA-256이 가장 보편화 되어 사용되고 있습니다. 이 포스팅에서는 JAVA에서 SHA-256으로 암호화하는 코드에 대하여 알아볼 예정이며 당연한 이야기이지만 해시로 한번 암호화한 문자는 복호화가 불가능합니다. 1. 암호화 코드 public static String EncBySha256(String data) .. 2020. 1. 11.