개발 운영 분리

2019.07.03 10:44 from 웹개발

스프링 프로파일 실행 

 

리눅스 : tomcat/bin 폴더에

 

 

setenv.sh 파일 생성 하여

...더보기

vi setenv.sh

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=prod" 코드 입력(prod profile 실행)

 

vi 명령어

i (삽입) - 코드 붙여넣기 - esc - !wq - enter

 

톰캣 재 실행하면 완료

'웹개발' 카테고리의 다른 글

개발 운영 분리  (0) 2019.07.03
Posted by 건강코더 트랙백 0 : 댓글 0

큰 단위의 숫자나 위와 같은 값일 경우 xml로 컨버팅시 다른 값으로 나와

db에 넣을때 오류가 날때

전체 열을 선택하고

 

데이터 > 텍스트 나누기 > 다음

 

다음

 

 

텍스트를 선택하고 마침

 

데이트 컬럼이 왼쪽으로 정렬되고 xml로 컨버팅시 해당 값이 그대로 출력

Posted by 건강코더 트랙백 0 : 댓글 0

자바 POI API 이용 엑셀 파일 이용 시 getLastRowNum() 의 번호가 다를때 



위의 엑셀 파일 왼쪽 행의 번호를 보면 32번이 마지막 번호가 실제 쓰는 작업 영역인데 


오른쪽의 스크롤을 보면 많은 공백이 남아 있는걸 확인할 수 있습니다.


그래서 자바에서 POI이용 마지막 row number를 갖고올때 32번이 아닌 300번대 이상의 이상한 번호가 나옵니다...




이유는 데이터 영역 이외에도 용량을 차지하고 있어서 입니다.



마지막 행으로 설정하고자 하는 행의 아래 머리글을 선택 후


Ctrl + Shift + ↓(아래 화살표)를 누르면



백만단위의 행이 나오네요...



마우스 우클릭하여 삭제를 하면



오른쪽 스크롤이 확 줄어들은 걸 확인할 수 있고 자바에서도 마지막 행을 원하는 행으로 잡습니다.



Posted by 건강코더 트랙백 0 : 댓글 0

Gson 을 이용하여 json 데이터를 다루는 방법 두가지 입니다.


1. Type 클래스 이용


<textarea name="code" class="brush:js;">

MyClass[] myArray = gson.fromJson(jsonString, MyClass[].class);

</textarea>


이렇게 배열을 이용하여 사용 가능 하지만 list 타입으로 사용 해야 할 경우

<textarea name="code" class="brush:js;">

import java.lang.reflect.Type;

import com.google.gson.reflect.TypeToken;


Type listType = new TypeToken<ArrayList<MyClass>>(){}.getType();

List<MyClass> myClassList = new Gson().fromJson(jsonString, listType);

</textarea>


위의 형태로 사용 하능합니다.


2. Arrays 이용


또다른 방법으로는 Arrays를 이용하여


<textarea name="code" class="brush:js;">

MyClass[] myArray = gson.fromJson(jsonString, MyClass[].class);

List<MyClass> myList = Arrays.asList(myArray );

</textarea>


위와 같이 사용 가능합니다.




출처 : https://stackoverflow.com/questions/5554217/google-gson-deserialize-listclass-object-generic-type

Posted by 건강코더 트랙백 0 : 댓글 0

mysql errcode 28

2018.04.24 13:59 from 웹개발/mysql


mysql 쿼리 실행시 Errcode: 28


에러 메세지를 보아하니 디바이스 /tmp 에 저장 공간이 없다는거 같은데...



그래서 서버에 접속해서 


du -sh /tmp


명령어를 실행해보니 42G ㅎㄷㄷ


저의 경우는 대충 예상이 가는게 재귀함수 테스트하느라고 많이 돌렸더니 아마 무한 루프에 빠진것들때문인듯 하네요




테스트 서버이니 과감하게 리스타트


service mysql restart



그리고 다시 확인해 보니 용량이 엄청 줄었네요



보통 /tmp 영역은 임시 공간이라 해당 프로그램을 재 시작 하게 되면 공간을 확보 할 수 있다는 군요!

'웹개발 > mysql' 카테고리의 다른 글

mysql errcode 28  (0) 2018.04.24
mysql 재귀(recursive) 쿼리, heirarchy 구조  (3) 2018.01.08
MariaDb 설치 - 윈도우, 리눅스  (0) 2017.07.14
[MySQL] SEQUENCE NEXTVAL 구현 프로시져  (0) 2017.07.11
Posted by 건강코더 트랙백 0 : 댓글 0

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 store type is 'null')

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]



appication.properties 파일에 세션 저장 타입을 설정해 주면 해결


spring.session.store-type=none


Posted by 건강코더 트랙백 0 : 댓글 0

mybatis null 체크

2018.01.15 14:04 from 웹개발/자바

mybatis 쿼리 안에서 null체크하는 자바 함수 사용하기




 

마이바티스 xml파일 if 문에 

넣으면 됨

@패키지+클래스이름@메소드(체크할 값)



Posted by 건강코더 트랙백 0 : 댓글 0

mysql 계층형 재귀 쿼리 사용법




위와 같은 계층형 테이블에서 기준 id값으로 자식 노드를 반환하도록 하는 방법


- 테스트 준비





테이블을 만들어주고 테스트 테이블을 만들어 주어 첫번째 구조와 같은 테이블을 생성 하였습니다.



1번 방법



3을 기준으로 자식 노드를 뽑는 쿼리로 실행 결과



계층 구조 

3 > 6 > 7 > 8  


결과 값(id)

6, 7, 8 



2번 방법





마찬가지 3기준 



결과 값은 동일 합니다.


하지만 첫번째는 하위 쿼리 등으로 사용시 동일한 결과 값을 보장 할 수 없기 때문에 


저의 경우 두번째 방법을 사용하였습니다.



참고 사이트 : https://code.i-harness.com/ko/q/13477c0





'웹개발 > mysql' 카테고리의 다른 글

mysql errcode 28  (0) 2018.04.24
mysql 재귀(recursive) 쿼리, heirarchy 구조  (3) 2018.01.08
MariaDb 설치 - 윈도우, 리눅스  (0) 2017.07.14
[MySQL] SEQUENCE NEXTVAL 구현 프로시져  (0) 2017.07.11
Posted by 건강코더 트랙백 0 : 댓글 3

스프링 시큐리티 커스텀 메세지를 위해서 프로퍼티 파일을 셋팅 하던중 


Invalid username password 라고 영어로 메세지를 한글로 띄우기 위해서 한글로 쓰니




깨진다...


블로그들을 찾아보니 마켓 플레이스에서 


properties editor 검색 후 simple properties editor 를 설치 후 


Open With -> SimplePropertiesEditor  


라고 써있는데 내 방법의 후 폭풍은 모르나


sts가 점점 무거워져서 이것땜에 설치하기는 싫어서


짱구를 굴려보다가 성공했다






파일 닫고 Open With > Text Editor 로 해당 파일을 연다



한글이 잘 써진다!!


그리고 저장하면 이런 메세지가 뜨는데



Save as UTF-8로 저장한 후에


다시 Open With > Properties File Editor 로 열면







한글로 잘 되고 알러트 창도 띄워보니 한글이 잘 적용 되었습니다.

Posted by 건강코더 트랙백 0 : 댓글 0

css 만을 이용하여 로딩 페이지 만들기!


처음에 gif 파일 이용하여 구현했으나


로딩 시에는 gif도 끊기는 현상이 있어서 의미가 없어 결국 css만으로 구현하니 부드럽게 잘 동작 하더군요


font-awesome이 당연히 있어야 font-awesome을 이용하실 수 있겠고요~


http://fontawesome.io/examples/



홈페이지 exmaples 페이지 중간에 보면 Animated Icons라고해서 


옆에 class만 추가하면 위 종류의 5가지 형식의 로딩 아이콘을 만드실 수 있습니다.


정말 잘 만들어 줬네요 font-awesome!


그 다음은 저걸 페이지에 적용 해야 합니다!




태그를 먼저 추가해 주시고요



다음으로 CSS 적용하면


로딩 페이지 구성 완료입니다!


로딩 완료 후 에는 



이렇게 두고 언제든 필요할 때 로딩 화면을 띄울 수 있습니다.




Posted by 건강코더 트랙백 0 : 댓글 0