본문 바로가기
728x90
반응형

Back-end146

[JAVA]파일을 멀티파트로 변환 일반 파일이나, 생성한 파일을 멀티파트로 변환 하는 코드 File file = new File(savePath+"/"+fileName); 저장된 파일을 읽어드리고 DiskFileItem 를 사용하여 변환한다. DiskFileItem fileItem = new DiskFileItem("file", Files.probeContentType(file.toPath()), false, file.getName(), (int) file.length() , file.getParentFile()); InputStream input = new FileInputStream(file); OutputStream os = fileItem.getOutputStream(); IOUtils.copy(input, os); Multipa.. 2022. 4. 18.
[java] 임시 비밀번호 생성 Random / SecureRandom /RandomStringUtils) java.util.Random 클래스는 난수를 생성할 때 seed값으로 시간을 이용합니다. 그래서 동일한 시간에 Random 클래스를 사용하여 난수를 사용하면 동일한 값이 리턴됩니다. 예측 가능한 난수를 사용하는 경우 공격자가 SW에서 생성되는 다음 숫자를 예상하여 시스템을 공격할 수 있습니다. 시큐어코딩 가이드 - SW 보안약점 47개 항목 중 적절하지 않은 난수 값 사용 (Use of Insufficiently Random Values)에 해당됩니다. 반면에 java.security.SecureRandom 클래스는 예측할 수 없는 seed를 이용하여 강력한 난수를 생성합니다. 임시 비밀번호 생성 getRamdomPassword(10)를 호출하면 10 글자의 임시비밀번호가 생성됩니다. import ja.. 2022. 3. 3.
PMD - Programming Mistake Detector PMD Programming Mistake Detector 전자정부 표준 프레임워크 http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev2:imp:inspection 에서 확인가능 합니다. 😎 전자정부 표준프레임워크 표준 Inspection 룰셋 PMD를 이용한 Code Inspection 시 기준이 되는 요소는 룰이며, 전자정부 표준프레임워크에서는 PMD가 제공하는 수 많은 룰 중에서 기본이 될 만한 것들을 간추려 전자정부 표준프레임워크 표준 Inspection 룰셋이라는 이름으로 구성하였다. 전자정부 표준프레임워크의 표준 Inspection 룰셋은 다음의 표와 같은 39개의 룰들로 구성된다. 개별 룰에 대한 상세한 설명은 전자정부 표준 insp.. 2022. 1. 6.
[java]Parameter... 표현 Object... args(동일한 파라메터를 여러개 받을 때, 자동으로 배열처리) 일정하지 않은 개수의 파라미터 (Arbitrary Number of Arguments ) 일정한 형의 변수를 여러 개 전달해야 할 때 사용한다. 메소드 호출시, 일반 파라미터 처럼 넘기고 메소드에서 받은 파라미터는 배열로 사용한다. public class Test{ public static void main(String[] args) { TestClass tc= new TestClass(); } } class TestClass{ public void test(String... strs) { System.out.println(strs[0]);// test1 System.out.println(strs[1]); // test2 } } 2021. 12. 28.
[Spring] @PathVariable 사용법 Request가 들어오는 타입에 따라 ... 받는 방법을 크게 4가지 정도로 나눠서 앞으로 하나씩 살펴보자. URL 변수 (@PathVariable) Query String (@RequestParam) Body Form @PathVariable 이란? REST API에서 URI에 변수가 들어가는걸 실무에서 많이 볼 수 있다. 예를 들면, 아래 URI에서 밑줄 친 부분이 @PathVariable로 처리해줄 수 있는 부분이다. http://localhost:8080/api/user/1234 https://music.bugs.co.kr/album/4062464 사용법 Controller에서 아래와 같이 작성하면 간단하게 사용 가능하다. @GetMapping(PostMapping, PutMapping 등 다 상.. 2021. 12. 28.
@RequestParam과 @PathVariable? 컨트롤러에서 Requestparam으로 파라미터 값을 넘겨받을 때 사용하는 어노테이션 스프링에서는 컨트롤러로 사용할 클래스 상단에 @Controller를 지정합니다. 주로 사용하는 형태의 파라메터를 전달하는 경우입니다. Case 1 ) http://xxx.x.x?index=1&page=2 Case 2 ) http://xxxx.x.x/index/1 Case 1의 경우 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다. Case 2의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다. Spring에서는 이러한 전달인자를 처리하는데 두 가지 방법을 제공합니다. Case 1의 경우 @Requestparam을 사용하는데.. 2021. 12. 28.
GetMapping 어노테이션으로 다중맵핑하기 @GetMapping 어노테이션은 HTTP GET 요청을 처리하는 메서드를 맵핑(@RequestMapping) 하는 어노테이션이다. 메서드(url)에 따라 어떤 페이지를 보여줄지 결정하는 역할을 한다. 참고로 스프링부트에서는 어떤 HTTP 메서드를 사용할지에 따라 RequestMapping 어노테이션을 아래의 어노테이션으로 구분해서 제공한다. RequestMapping 어노테이션으로 사용가능하지만, 목적에 따라 아래 어노테이션으로 대체사용이 가능하다는 이야기이다. @GetMapping : GET 요청을 하는 API의 어노테이션. 데이터를 가져올 때 사용한다. @PostMapping : POST 요청을 하는 API의 어노테이션 데이터를 게시할 때 사용한다. @PutMapping : PUT 요청을 하는 AP.. 2021. 12. 28.
@RequiredArgsConstructor란? / spring / lombok @RequiredArgsConstructor란? final 필드에 대해 생성자를 만들어주는 lombok의 annotation. Spring Framework의 DI(의존성주입) 중 Constructor Injection(생성자 주입)을 임의의 코드 없이 자동으로 설정 @RequiredArgsConstructor 적용 전 @Component public class LombokTest { private final MyService myservice; private final String id; @Autowired public LombokTest(MyService myservice, String id) { this.myservice = myservice; this.id = id; } @RequiredArgsC.. 2021. 12. 28.
[ffmpeg] 동영상 초마다 이미지 변환 command line + java code import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.bytedeco.javacv.FFmpegFrameGrabber; import org.bytedeco.javacv.FrameGrabber.Exception; public class cutVideo { public static void main(String[] args) throws IOException { String path = "C:/case_.. 2021. 12. 14.
728x90
반응형