언어 27

HSSFCellStyle 셀 스타일 배경색 지정

특정 분류 값에 따라 배경색을 다르게 주고 싶어서 생각하고 진행했는데 분기도 잘 타고 색 세팅도 잘 되는데 정작 엑셀을 다운로드하면 하나의 색깔만 됨(첫 분기를 타는 색) 그래서 물어물어 해결했다. HSSFCellStyle는 Call by reference라서 하나의 객체로 분기태우며 색을 다르게 세팅해봤자 계속해서 덮어진다.. 그래서 HSSFCellStyle 객체를 2개 만들어서 세팅해주니 완성.. 너무 기본에 무지함을 느낀 경험이었다. * Call by reference란? - 매개변수에 변수의 주소를 전달하여 메소드 내에서 수정한 내용이 메소드 밖에서도 적용되게 하는 기법입니다. Call by value란? - 매개변수를 주어진 값을 복사하여 전달하는 방식으로 메소드 내에서 변경한 값은 메소드 밖의..

언어/JAVA 2022.07.25

해외IP 차단 기능 개발

프로젝트 과업 진행중 진행한 방법을 안 까먹으려고 작성 우선 처음엔 국내 ip 대역폭을 db에 화이트리스트처럼 저장해두고 체크할까하다가 한국인터넷진흥원에 오픈API를 제공하는게 있어서 그거 사용 API 예시는 인터넷 진흥원에 있으니 넘어가고 받아와서 그 후 xml로 응답받은 데이터를 처리하여 원하는 데이터만 뽑는 부분만 적어두려함 DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance(); try{ DocumentBuilder builder = fac.newDocumentBuilder(); try{ // sb는 StringBuilder에 응답받은 xml 데이터를 담고 있는 변수 Document doc = builder.parse(new Input..

언어/JAVA 2022.06.22

시큐어코딩 TOCTOU 해결 방법

최근에 프로젝트 중 시큐어코딩 점검을 해서 걸린 것중에 하나를 까먹지 않기 위해 적어둠 File file = new File(url); if(file.exist()) { //파일이 존재하면 file.delete(); //파일을 지워라 } 하지만 안전하지가 않다고 검출되어 구글링을 찾아보니 위와 같이 삭제하는 것이 아닌 동기화 함수를 사용하여 삭제하는게 안전하다고 한다 ex) File file = new File(url); public synchronized void fileDelete(File file) { file.delete(); ) if(file.exist()) { //파일이 존재하면 fileDelete(file); //파일을 지워라 }

언어/JAVA 2022.02.26

Intellij 환경에서 JPA / Hibernate 설정

appilcation.properties 파일에 작성 Spring은 @Entity 어노테이션이 명시된 클래스를 찾음 - spring.jpa.generate-ddl -> true로 설정시 서버 시작 시점에 DDL문을 생성하여 DB에 적용 - spring.jpa.hibernate.ddl-auto -> 데이터베이스 초기화 전략 설정 1) none : 실행 하지 않음 2) create-drop : SessionFactory가 시작될 때 drop 및 생성을 실행하고, SesisonFactory가 종료될 때 drop을 실행 3) create : SessionFactory가 시작될 때 drop을 실행하고 생성된 DDL을 실행한다. 4) update: 변경된 스키마를 적용 5) validate : 변경된 스키마가 있다..

언어/DB 관련 2021.05.13
728x90
반응형