본문 바로가기

웹개발

자바 엑셀 파일 getLastRowNum() 다를때 마지막 행 설정 자바 POI API 이용 엑셀 파일 이용 시 getLastRowNum() 의 번호가 다를때 위의 엑셀 파일 왼쪽 행의 번호를 보면 32번이 마지막 번호가 실제 쓰는 작업 영역인데 오른쪽의 스크롤을 보면 많은 공백이 남아 있는걸 확인할 수 있습니다. 그래서 자바에서 POI이용 마지막 row number를 갖고올때 32번이 아닌 300번대 이상의 이상한 번호가 나옵니다... 이유는 데이터 영역 이외에도 용량을 차지하고 있어서 입니다. 마지막 행으로 설정하고자 하는 행의 아래 머리글을 선택 후 Ctrl + Shift + ↓(아래 화살표)를 누르면 백만단위의 행이 나오네요... 마우스 우클릭하여 삭제를 하면 오른쪽 스크롤이 확 줄어들은 걸 확인할 수 있고 자바에서도 마지막 행을 원하는 행으로 잡습니다. 더보기
자바 json 데이터 사용 하기 Gson 을 이용하여 json 데이터를 다루는 방법 두가지 입니다. 1. Type 클래스 이용 MyClass[] myArray = gson.fromJson(jsonString, MyClass[].class); 이렇게 배열을 이용하여 사용 가능 하지만 list 타입으로 사용 해야 할 경우 import java.lang.reflect.Type;import com.google.gson.reflect.TypeToken; Type listType = new TypeToken(){}.getType();List myClassList = new Gson().fromJson(jsonString, listType); 위의 형태로 사용 하능합니다. 2. Arrays 이용 또다른 방법으로는 Arrays를 이용하여 MyClas.. 더보기
mysql errcode 28 mysql 쿼리 실행시 Errcode: 28 에러 메세지를 보아하니 디바이스 /tmp 에 저장 공간이 없다는거 같은데... 그래서 서버에 접속해서 du -sh /tmp 명령어를 실행해보니 42G ㅎㄷㄷ 저의 경우는 대충 예상이 가는게 재귀함수 테스트하느라고 많이 돌렸더니 아마 무한 루프에 빠진것들때문인듯 하네요 테스트 서버이니 과감하게 리스타트 service mysql restart 그리고 다시 확인해 보니 용량이 엄청 줄었네요 보통 /tmp 영역은 임시 공간이라 해당 프로그램을 재 시작 하게 되면 공간을 확보 할 수 있다는 군요! 더보기
session store type is 'null' session store type is 'null' 오류 시 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$SessionRepositoryValidator': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No session repository could be auto-configured, check your configuration (session sto.. 더보기
mybatis null 체크 mybatis 쿼리 안에서 null체크하는 자바 함수 사용하기 package com.test.bulkyWeb; import java.lang.reflect.Array; import java.util.List; import java.util.Map; public class CheckParam { public static boolean isEmpty(Object obj){ if( obj instanceof String ) return obj==null || "".equals(obj.toString().trim()); else if( obj instanceof List ) return obj==null || ((List)obj).isEmpty(); else if( obj instanceof Map ) retu.. 더보기
mysql 재귀(recursive) 쿼리, heirarchy 구조 mysql 계층형 재귀 쿼리 사용법 위와 같은 계층형 테이블에서 기준 id값으로 자식 노드를 반환하도록 하는 방법 - 테스트 준비 function test(){ CREATE TABLE RecursionTest ( id INTEGER NOT NULL, name VARCHAR(128) NULL, parent INTEGER NULL, CONSTRAINT pk_RecursionTest PRIMARY KEY (id) ); INSERT INTO RecursionTest (id, name, parent) VALUES (1, 'Root', NULL); INSERT INTO RecursionTest (id, name, parent) VALUES (2, 'Branch A', 1); INSERT INTO RecursionT.. 더보기
properties 파일에 한글 입력하기 - 간단(설치X) 스프링 시큐리티 커스텀 메세지를 위해서 프로퍼티 파일을 셋팅 하던중 Invalid username password 라고 영어로 메세지를 한글로 띄우기 위해서 한글로 쓰니 깨진다... 블로그들을 찾아보니 마켓 플레이스에서 properties editor 검색 후 simple properties editor 를 설치 후 Open With -> SimplePropertiesEditor 라고 써있는데 내 방법의 후 폭풍은 모르나 sts가 점점 무거워져서 이것땜에 설치하기는 싫어서 짱구를 굴려보다가 성공했다 파일 닫고 Open With > Text Editor 로 해당 파일을 연다 한글이 잘 써진다!! 그리고 저장하면 이런 메세지가 뜨는데 Save as UTF-8로 저장한 후에 다시 Open With > Prop.. 더보기
font-awesome 이용 초 간단 로딩 화면 만들기 css 만을 이용하여 로딩 페이지 만들기! 처음에 gif 파일 이용하여 구현했으나 로딩 시에는 gif도 끊기는 현상이 있어서 의미가 없어 결국 css만으로 구현하니 부드럽게 잘 동작 하더군요 font-awesome이 당연히 있어야 font-awesome을 이용하실 수 있겠고요~ http://fontawesome.io/examples/ 홈페이지 exmaples 페이지 중간에 보면 Animated Icons라고해서 옆에 class만 추가하면 위 종류의 5가지 형식의 로딩 아이콘을 만드실 수 있습니다. 정말 잘 만들어 줬네요 font-awesome! 그 다음은 저걸 페이지에 적용 해야 합니다! 태그를 먼저 추가해 주시고요 /* page-loading */ #page-loading { width: 100%; h.. 더보기
스프링부트 배너 및 파비콘 설정(초 간단) 파비콘(영어: favicon, 'favorites + icon') 또는 패비콘이란 인터넷 웹 브라우저의 주소창에 표시되는 웹사이트나 웹페이지를 대표하는 아이콘이다. - 파비콘 설정 스프링 부트의 기본 파비콘인 나뭇잎 모양을 원하는 파비콘으로 변경 저의 경우 팔근육 아이콘 파일을 검색하여 받았으나 원하는 이미지를 파비콘으로 삽입 하기 위해서는 ICO파일로 변환이 필요합니다. http://icoconvert.com/ 웹에서 간단히 ICO파일로 변환 가능한 사이트 입니다. 원하는 이미지를 선택하여 업로드 하면 ICO파일로 받을 수 있습니다. 이제 원하는 파비콘ICO 파일을 위의 경로 src > main > resources > static 경로에 favicon이란 이름으로 놓고 서버를 재시작 하면 원하는 파비.. 더보기
이클립스 소스 코드 복구 기능(history) 복구 할 파일 우클릭 > Team > Show Local History 메뉴에 들어가보면 리비전 시간 확인하여 해당 파일을 불러 올 수 있다! 휴우~ 더보기