본문 바로가기
728x90
반응형

Java46

[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.
[JAVA] FFmpeg로 동영상 재생 시간 추출하기(WINDOW) JAVA에서 FFmpeg을 사용하여 동영상 재생시간을 추출하려고 한다. 자바에서 영상을 읽어서 재생시간을 얻는 방법이다. FFmpeg 를 사용하면 동영상 컨트롤이 가능 하지만, 단점은 내 로컬에 다운을 받아야한다. 실질적 프로젝트 경우 서버에 따로 다운받아야하는 번거로움이 있다. xuggler 방법을 을 사용해서 영상 길이등, 영상의 정보를 추출하는 방법도있다. 블로그 에 포스팅 했다. 이방법을 사용하려면 여기로 (xuggler 또한.. 단점이 있다.) 먼저 https://ffmpeg.zeranoe.com/builds/에서 다운로드 한다. 다운받은 zip파일을 C드라이브에 압축 해제한다. 환경 변수 설정을 한다. 필자 경로는 C:\ffmpeg-20191109-0f89a22-win64-static\bin .. 2021. 11. 24.
[JavaScript] reload() 메서드 - 페이지 새로고침 😎캐시에서 페이지 가져와 새로고침 (= false 옵션) [예제1] HTML과 스크립트 분리 새로고침 [예제2] HTML과 스크립트 일체 캐시새로고침 ※ location.reload() 메서드 기본값이라, false는 생략 가능. 😎서버에서 페이지 가져와 새로고침. (= true 옵션) 새로고침 서버새로고침 😎reload() 정의 - 페이지 새로고침 (= 리로드) - 모든 주요 브라우저 지원 😎reload() 구문 location.reload(forceGet) [매개변수] forceGet 선택. 새로고침 방법 지정. (= 리로드 타입 지정) false : 캐시에서 가져와 현재페이지 새로고침. (기본값.) true : 서버에서 가져와 현재페이지 새로고침. 2021. 11. 16.
[JAVA] JSONObject key 값이 null 일때 해결 방법 우리는 JSON parser/ object 등으로 제이슨 처리를 한다. { "gender" : "남성" } 이러한 데이터는 쉽게 if(jsonObject.get("gender").equals("남성")){ // key값이 gender인 json Object 의 값 체크가 가능 } 키값을 넣고 체크 가능하다. 그치만 Key값이 null일때, { "gender" : null } 널값을 가진 키라면 널포인트 익셉션 이 발생한다. if(jsonObject.get("gender").equals("남성")){ //널포인트 발생 }else if(jsonObject.get("gender").equals(null)){ //error }else if(jsonObject.get("gender").equals("null")).. 2021. 11. 15.
[Java] POI 정리 Workbook wb = null; Sheet sheet = null; Row row = null; Cell cell = null; // 셀 병합 sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 2));// 가로병합 sheet.addMergedRegion(new CellRangeAddress(1, 2, 1, 1));// 세로병합 // 틀고정 sheet.createFreezePane(1, 2);// 1열, 2행 고정 // 셀 스타일 CellStyle style = wb.createCellStyle(); // 가로 정렬 style.setAlignment((short)1);// 가로 정렬 왼쪽 style.setAlignment((short)2);// 가로 정렬 중간.. 2021. 8. 10.
[ Java ] TOLOWERCASE(), TOUPPERCASE(), TRIM() 자바 String 관련 함수 중 영문자를 전부 대문자로 또는 소문자로 변경 하는 함수와 인자값으로 입력된 문자열의 앞뒤 공백을 제거 하는 함수에 대한 정리 ■ String toUpperCase() 대상 문자열을 모두 대문자로 변환합니다. String str1 = "hello java"; System.out.println(str1.toUpperCase()); hello java 라는 문자열이 모두 소문자로 되어 있습니다. 이를 toUpperCase() 함수를 이용하여 대문자로 변환 하겠습니다. 실제 코드는 아래와 같습니다. "hello java".toUpperCase(); 모든 문자열을 대문자로 변환하기 때문에 결과는 아래와 같습니다. HELLO JAVA ■ String toLowerCase() 대상 문자.. 2021. 6. 14.
[Java] 문자열 붙이기(Concat, StringBuffer(Append)) 사용법 & 예제 자바에서는 문자열을 붙이는 방법이 여러가지 있습니다. String a = "첫번째 텍스트입니다. "; String b = "두번째 텍스트입니다. "; System.out.println(a+b); //결과값 : 첫번째 텍스트입니다. 두번째 텍스트입니다. 대부분 이런식으로 문자열에다가 + 를 시키는 방법으로 문자열을 합치지만 +연산자가 내부적으로 어떻게 돌아가는지는 전혀 모르고들 계시죠? 이번 포스팅에서는 자바String클래스의 문자열 붙이기 함수인 Concat과 Append 함수를 활용하여 문자열을 붙이는 방법에 대해 알아보도록 하겠습니다. Concat Concat과 +연산자는 같은 문자열을 합치는 기능을 합니다. 하지만 동작하는 방식이 다른데요. Concat은 합친 문자열을 String으로 생성해줍니다... 2021. 6. 3.
[Java] 문자열 자르기(Substring, Split) 사용법 & 예제 SubString 문자열 자르기하면 가장먼저 생각나는 함수입니다. 문자열 함수에 익숙해지시면 SubString함수와 다른함수들을 섞어서 정말 다양하게 활용할 수 있는데요. 사용법에 대해 한번 알아보도록 하겠습니다. 활용예제로는 마지막 3글자 자르기, 특정문자 이후의 문자열자르기, 특정(단어) 부분만 자르기 를 준비했습니다. 우선 문자열을 자르기에 앞서 문자열이 어떻게 배치되어있는지 Index값부터 살펴야 문자열을 자를 수 있겠죠? String 클래스 자체가 char을 여러개 붙여놓은 효과를 주기때문에 String 클래스의 해당 Index값은 다음과 같습니다. String = char배열이라고 생각하셔도 무방합니다. 사용법 //사용법 String.substring(start) //문자열 start위치부터 .. 2021. 6. 3.
[eclipse] Maven 프로젝트 생성하기 메이븐이란 아파치에서 라이브러리를 편하게 다운로드하고 추가하고 버전 관리하기 위해 사용하는 것을 말한다. 프로젝트 하나에 무수한 라이브러리를 하나하나 다운받아 추가하고 필요없는건 지우고 하는일은 굉장히 고될것이다... 스프링 프로젝트를 하다보면 자연스럽게 pom.xml에서 메이븐을 사용하고 있었을 것인데, 가끔 자바에서만 테스트하기 위해 메이븐 프로젝트로 java파일들을 만들어서 백단에서 돌아가는 데이터를 확인할 일들이 있다. 이럴때 메이븐 심플 프로젝트를 만들어서 유용하게 사용하고 있다. 이번엔 몽고DB 데이터 조회 및 작업을 해보기 위해 생성하게 되었는데 생성방식도 포스팅한다. 그럼 메이븐 프로젝트를 생성해보자. 생성하기 1. 먼저 이클립스에서 탐색기에 오른쪽 클릭을 하고 New - Maven Pro.. 2021. 6. 2.
728x90
반응형