개발 37

Spring YAML 샘플

부모 자식의 구분은 들여쓰기를 통해 이루어진다. (tab 이 중요) 같은 부모를 가지는 자식 노드들은 들여쓰기가 정확히 일치해야 한다. 틀리면 에러다. 일일이 설명이 귀찮아서 동일한 설정 정보를 [.properties , .yml] 로 등록 [1] 흔히들 사용하는 .properties 를 이용한 설정 정보 spring.profiles.active: standalone spring.http.multipart.enabled: true spring.http.multipart.max-file-size: 100MB spring.http.multipart.max-request-size: 100MB spring.datasource.type: com.zaxxer.hikari.HikariDataSource spring...

개발/스프링 2020.11.19

Bitmap 에서 백그라운드 투명처리

현재의 상황을 설명하면 사용자로부터 입력받는 서명 이미지를 화면에 디스플레이 해줄 것인데 이게 배경까지 같이 나오면서 화면에 보여주어야 하는 정보까지 덮어쓰게 되는 현상이 발생 .. 간단한 옵션으로 처리가 될줄 알고 찾아 보았는데 의외로 간단하지 않았다. 현 화면상의 Image뷰에 암만 (1) , (2)옵션을 주어도 않되어서 답답함에 찾아보니 이것저것 주절이 주절이 뭔가 설명하는게 있기는 하지만 안드로이드는 주전공이 아니기에 디스플레이 될 bitmap 이미지정보를 받아와서 각 픽셀을 컨트롤 하는 것으로 찾아서 수정 완료 private Bitmap makeTransparent(Bitmap bit) { int width = bit.getWidth(); int height = bit.getHeight(); B..

TCPING 웹상에서의 로컬 , 원격 네트워크 정보 확인

ping.eu/port-chk/ Online Ping, Traceroute, DNS lookup, WHOIS, Port check, Reverse lookup, Proxy checker, Bandwidth meter, Network calculator, Netw Online Ping, Traceroute, DNS lookup, WHOIS, Port check, Reverse lookup, Proxy checker, Bandwidth meter, Network calculator, Network mask calculator, Country by IP, Unit converter ping.eu 원격지의 각종 정보를 확인할수 가 있다. Ping : ip 확인 Traceroute : 서버에서 대상 호스트까지 패..

개발/IT정보 2020.11.11

Spring 어노테이션 정리

어노테이션 설명 @SuppressWarnings 컴파일러가 일반적으로 경고하는 내용 중 이 내용은 제외시킬 때 사용 @Entity 퍼시스턴스화 될 클래스를 선언 @Table DB에 있는 테이블과 맵핑 시킨다. @Data 각 필드의 setter, getter가 자동 생성 @EqualsAndHashCode Equals 와 hashCode 함수를 만들어 줌 @JsonIgnoreProperties 클래스 내에 없는 필드가 json에 존재할 때 에러 방지 설정 @GeneratedValue primary 컬럼에 고유값을 자동으로 생성 부여 @Id 이 클래스의 어느 속성이 유일한 식별자 인지를 가리킴 @Enumerated Java Enum class를 표현 @Column 컬럼 길이, 널 값, 제약과 같은 세부사항을 ..

개발/스프링 2020.11.09

Spring 스케줄러(자동배치) 설정

이미 여러가지 다수의 프로젝트에서 이용했지만 할떄마다 시간설정 정보가 아리송해서 직접 정리하면 좀 괜찮아 지지 않을까 하여 직접 포스팅을 하게 되었습니다. //스케쥴링 할 메소드위에 @Scheduled 입력 @scheduled(cron=" ") @Scheduled(cron="0 0 05 * * ?") => 매일 5시에 실행 @Scheduled(cron="0 0 02 2,20 * ?") => 매월 2일,20일 새벽2시에 실행 항목 (연도 정보는 옵셔널한 정보) * : 모든 값 ? : 특정 값 없음 - : 범위 지정에 사용 , : 여러 값 지정 구분에 사용 / : 초기값과 증가치 설정에 사용 L : 지정할 수 있는 범위의 마지막 값 W : 월~금요일 또는 가장 가까운 월/금요일 # : 몇 번째 무슨 요일 2..

개발/스프링 2020.11.09

네트워크 pscp , scp 파일 송수신

*파일을 송신 할때 : PSCP - pscp -r [전체경로(파일명포함)] [계정정보]@xxx.xxx.xxx.xxx:[업로드파일의 경로] ex) pscp -r C:\Users\test.jar root@127.0.0.1:/home/test *파일을 수신 받을때 : SCP - scp -P 22 -r [계정정보]@127.0.0.1:[서버전체경로(파일명포함)] [로컬경로] ex) scp -P 22 -r root@127.0.0.1:/home/test/down/ C:\user\test * option정보 '-r' : 폴더전송시 '-P' : 특정포트를 지정

개발/IT정보 2020.11.09

Mysql 배치작업(이벤트)

정기적으로 진행이 되어야 하는 작업이 있어서 어플리케이션에서 진행을 할까 하다가 어차피 해야 하는 일이 특정 데이터의 집계를 등록 및 수정을 해야 하는 일이기에 DB 에서 이벤트를 활용하여 진행하기로 결정!!! 당연한 말이겠지만 여타 다른 DB 들도 마찬가지 겠지만 시스템이 자체적으로 진행을 하야 하는 배치 업무가 어느단계에서 진행하느냐에 따라서 해당 권한을 가지고 작업을 진행하는 매체를 지정하는 것이 좋을 것 같다. DELIMITER $$ ALTER DEFINER=`XXXX`@`%` EVENT `evt_bill` ON SCHEDULE EVERY 1 MONTH STARTS '2020-10-01 04:00:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT '매달 1일 새벽 ..

Linux 파일 압축 해제

1 . tar - tar 압축 $tar -cvf [압축명.tar] [압축대상] ex) $tar -cvf test.tar test.txt - tar 압축해제 $tar -xvf [압축해제명.tar] ex) $tar -xvf test.tar - tar.gz 압축 $tar -zcvf [압축명.tar] [압축대상] ex) $tar -zcvf test.tar.gz test.txt - tar.gz 압축해제 $tar -zxvf [압축해제명.tar.gz] ex) $tar -zxvf test.tar.gz * 옵션 [-f] : 파일 이름을 지정 (기본 옵션) [-c] : 파일을 tar로 압축 (기존 파일 덮어 쓰기) [-x] : 파일 압축을 해제 [-p] : 파일 권한을 저장 [-v] : 파일을 압축하거나 풀때 과정을 화면..

개발/리눅스 2020.10.29

Tomcat Crontab을 활용한 톰캣 로그관리

logrotate 로 관리하는 방법도 있지만 뭔가 원하는데로 입맛대로 되지 않아서 직접 crontab을 이용해서 관리 간단한 shell 스크립트만 작성할줄 알면 어려운것도 아니라서 또 까먹을까봐 기록해둠 * 현재의 shell 환경에서 등록 된 crontab을 확인 crontab 옵션 (수정시 VI editor 명령어와 동일) -e : 수정 -l : 목록확인 -r : 삭제 */home/ec2-user/tomcatlog_logrotate.sh 내용 메일 새벽에 실행이 되기에 BASE_DAY 에 어제 날짜로 설정 catalina.out , localhost_access_log 로그만 적용 된것이며 BASE_DAY 명칭으로 압축하고 기존의 파일은 삭제 용량이 무한대로 쌓이는 catalina.out 은 초기화! ..

개발/톰켓 2020.10.28

Activity 라이프사이클 맛보기 정리

우연치 않은 기회에 다시 안드로이드를 손댈 일이 있어서 개발 하다가 알고 넘어 가야 할 기본지식이 있어서 기록한다. 프로세스가 돌고 돌아서 종료가 될때까지 메모리 관리 및 여러가지가 있겠지만 자바와 크게 다르게 본다면 액티비티 (Activity)의 생명주기(Life Cycle) 를 알면 될것 같다. 안드로이드에서는 각각의 화면에 대한 개념을 액티비티라고 정의 하고 각 화면마다 라이프 세이클이 진행이 된다. 프래그먼트(Fragment)라는 녀석도 있지만, 어플리케이션이 기본적으로 동작하기 위해선 무조건 하나이상의 액티비티가 있어야한다. 이 프래그먼트라는 녀석은 결국 액티비티위에서 자신의 생명이 좌지우지 되기때문에 프래그먼트의 생명주기가 어플리케이션의 생명주기라고 볼 수 없고, 액티비티의 생명주기가 더 맞다..

Calendar 날짜 확인

Calendar cal = Calendar.getInstance(); "현재 년: " + cal.get(Calendar.YEAR) "현재 월: " + (cal.get(Calendar.MONTH) + 1) "현재 일: " + cal.get(Calendar.DAY_OF_MONTH) "현재 시: " + cal.get(Calendar.HOUR_OF_DAY) // 24시간제 "현재 시: " + cal.get(Calendar.HOUR) // 12시간제 "현재 분: " + cal.get(Calendar.MINUTE) "현재 초: " + cal.get(Calendar.SECOND) "현재 초의 1000분의1초: " + cal.get(Calendar.MILLISECOND)); "현재 요일: " + cal.get(Cale..

개발/자바 2020.10.26

Maven 사용시 클린후 인스톨시 에러 날때

잘돌아가던 이클립스에서 톰캣 실행 시 갑자기 class를 찾지 못한다는 오류가 발생하면서, 서버가 정상적으로 실행되지 않는 문제가 한번씩 생기는데... 2019. 4. 3 오전 11:18:51 org.apache.catalina.core.StandardContext listenerStart 심각: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClass..

개발/자바 2020.10.23

Mssql split 함수로 구현

대체 왜 이런 함수가 기본으로 없는거요? /* ------------------------------------------------------------ * Split 함수 * SELECT dbo.fn_split( '123-4567' , 1 , '-' ) ------------------------------------------------------------ */ ​ CREATE FUNCTION [dbo].[fn_split] ( @str varchar(1000), @spliter varchar(5), @idx int ) RETURNS varchar(1000) AS BEGIN DECLARE @NextString NVARCHAR(40) DECLARE @Pos INT DECLARE @NextPos INT..

Oz 레포트 스케줄러 TIF 이미지 생성시 품질 및 용량 설정 정보

최근 실 개발업무에서 이미지 용량대비 품질에 대한 이슈가 있어서 몇글자 적어 본다. 생성되는 이미지의 종류는 다양하게 있는데 그중 오늘 얘기 할것은 TIFF 이미지 생성시에 관해서 말해보겠다. 점차 많은 정보를 이미지로 저장하면서 많은 용량에 대한 리소스 소비를 줄이고자 최근들어 많이 선호하는 이미지 정보인듯하다. oz의 이미지생성 스케줄러에게 이미지 생성 요청을 할때 tiff.sizemode 옵션이 있는데 [ size , dpi , zoom ] 이 세가지 옵션 선택가능 size : 생성되는 이미지의 가로 * 세로 픽셀정보를 직접 설정 ( ) 당연히 가로세로 픽셀이 증가할수록 이미지의 성능은 좋아지고 용량도 늦어난다. dpi : 의미부터 알고가자 " Dots per Inch의 약자이다. 실제 크기 1인치..

개발/오즈 2020.10.23

Mysql 인자값의 최소,최대 값 반환함수

날짜 관련 업무를 많이 하다보니까 종종?? 많이 사용하는 함수 인데 사용하려고 할때마다 둘의 기능이 아리송하여 정리를 해두겠습니다. # LEAST( p ) : 최소값 ex) SELECT LEAST(34.0, 3.0, 5.0, 767.0); --> 3.0 반환 SELECT LEAST("A", "B", "C"); --> A반환 # GREATEST( p ) : 최대값 ex) SELECT GREATEST(34.0, 3.0, 5.0, 767.0); --> 767.0 반환 SELECT GREATEST("A", "B", "C"); --> C반환 인자로 받아들이는 변수중에서 가장 최소값 , 최대값을 리턴해주는 함수입니다.

Mysql DB 생성 / 사용자생성 / 권한주기

•create database 데이터베이스명; ex) CREATE DATABASE test; SHOW DATABASES; •create user '아이디'@'%' identified by '비밀번호' ex) CREATE USER 'test'@'%' IDENTIFIED BY 'test'; •grant all privileges on 데이터베이스명.* to '계정명'@'IP주소' identified by '비밀번호'; ex) GRANT ALL PRIVILEGES ON test.* TO 'test'@'%' IDENTIFIED BY 'test'; FLUSH PRIVILEGES; •mysql -u '아이디' -p 'DB명' ex) mysql -u 'testId' -p 'testDb' 이후에 비번 입력창에서 입력하..

Mysql 날짜기본함수 정리

* 일단 기본적인 현재 시간정보 확인 쿼리 SELECT NOW(), SLEEP(2), NOW(); SELECT SYSDATE(), SLEEP(2), SYSDATE(); 위에 두개는 뭐가 다를까 그냥 찾아 보다가 알게 된것.. SYSDATE() : 함수 호출 시간 NOW() : 쿼리 수행 시간 - SYSDATE() , NOW() : 현재 날짜 , 시간 - CURRENT_DATE() , CURDATE() , DATE( p ) : 현재 날짜 - CURRENT_TIME() , CURTIME() , TIME( p ) : 현재 시간 - LAST_DAY( p ) : 해당월의 마지막 날짜정보 - DAYOFMONTH( p ) : 해당 월에 몇번째 날짜인지 정보 - DAYOFYEAR( p) : 해당 연도의 몇번째 월인지 ..