분류 전체보기 109

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

오랜만의 면접준비

경력면접이라 기술질문이 많을거 같은데..너무나 약하다 기술질문에..그래서 대충이나라 정리해서 올려둬보자.. 1. spring 프레임워크 - 간단히 말하면 개발을 좀더 편하고 안정적으로 하기위해 만든 툴 - aop(관점지향 프로그래밍, Aspect Oriented Programming) -> 개발코드에선 비즈니스 로직에만 집중하고, 실행될 때 앞,뒤 원하는 지점에 공통적으로 반복되는 코드(로그,트랜잭션, 테스트 메소드등..) 들을 실행하게 하는 방식 - di(의존성 주입, dependency injection) -> 객체를 직접 생성하는 것이 아니라 외부에서 생성 후 주입시키는 방식 - ioc(제어의 역전, inversion of control) -> 객체를 사용자가 만드는게 아니라 스프링에게 위임하여 만..

면접 질문 2022.05.08

시큐어코딩 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
728x90
반응형