Back-End

· Back-End
검색을 해보다가 tomcat 의 구조에 대해 잘 정리해주신 글이 있길래  공부겸 정리해보려고 합니다. https://cheershennah.tistory.com/111 톰캣 tomcat 구조 파악하기.톰캣 구조 파악하기. web 서버http 프로토콜 기반으로 web client (browser) 로부터의 요청을 서비스하는 기능을 담당하는 프로그램. ex) apache ..역할: html, image, xml 등에 대한 처리 담당 web Application 서버cheershennah.tistory.com tomcat톰켓은 jsp환경을 포함하고 있는 servlet 컨테이너이다.서블릿 컨테이너는 사용자 입장에서 서블릿을 유지하고 호출하여 실행하는 쉘이다.톰켓은 크게 3가지 컨테이너로 구분한다.1. Stand..
리눅스 서버에서 ssl 인증서 만료일 확인하는 방법! 사용하는 서버마다 경로가 다를텐데 보통 /etc 하위에 넣는 것으로 보입니다. 만료일 확인 만료일 확인 [~~~ /etc/ssl/certs]$ openssl x509 -enddate -noout -in /etc/ssl/certs/ca-bundle.crt notAfter=Dec 31 09:37:37 2030 GMT 인증서 전체 유효기간 확인 인증서 전체 유효기간 확인 [~~~ /etc/ssl/certs]$ openssl x509 -dates -in /etc/ssl/certs/ca-bundle.crt notBefore=May 5 09:37:37 2011 GMT notAfter=Dec 31 09:37:37 2030 GMT
도커 컨테이너 확인명령어 docker ps 도커 접속 명령어 docker exec -it 도커ps에서나온name /bin/bash ex) docker exec -it ds_bank /bin/bash 도커 컨테이너에서 호스트로 파일 복사 docker cp 도커명:도커안에경로 호스트경로 ex) docker cp ds_bank:/app/AA /fsfile/AA
맨날 짜져 있는 쉘 스크립트만 보다가 갑자기 쉘하나는 짜서 서버 셋팅을 해야 해서... 급 서치하면서 처음으로 짜본 파일 백업하는 쉘 스크립트 #!/bin/bash # 백업할 대상 파일 original_AA="/file/model/AA" original_BB="/file/model/BB" # 날짜를 붙여서 백업 backup_AA="/file/model/backup/AA_$(date '+%Y%m%d')" backup_BB="/file/model/backup/BB_$(date '+%Y%m%d')" #위 코드대로라면 하루에 2번 이상 실행시 같은 파일의 이름이 존재하므로 #파일을 덮어쓰게 된다. 그래서 같은 이름의 파일이 존재하는지 확인하고 #존재한다면 파일 이름에 시간까지 붙여 백업하도록 작성 echo "A..
서버에서 다른 서버로 방화벽이 뚫려있는지 확인 할 수 있는 방법을 배워서 기록해 둘겸 정리! echo > /dev/tcp/1.2.3.4/3316 1.2.3.4 대신 확인할 서버 IP입력 하고 3316 대신 확인할 서버 PORT 번호 입력하면 됌. 빈 echo를 날리는 것이라고 하는데 바로 반응이 와서 뭔가 입력할수 있게 되면 방화벽이 뚫려 있는것! 뭔가 아무 반응도 없으면 방화벽이 안뚫려 있는 것!
리눅스에서 메모리 확인하는 명령어가 free 인데 free -h 를 실행하면 total, used, free, shared, buff/cache, available Mem : 62Gi, 29Gi, 28Gi, 37Mi, 4.9Gi, 32Gi Swap: 7.9Gi, 81Mi, 7.8Gi 등 메모리 사용현황을 확인 할수 있습니다. 본인의 경우에는 한 솔루션에서 OOM(out of memory)이 난 상황이라 해당 솔루션셋팅 xml에 들어가서 여기에 8G로 잡혀있던걸 16G로 수정후 다시 free -h 를 실행해서 total, used, free, shared, buff/cache, available Mem : 62Gi, 38Gi, 19Gi, 37Mi, 4.9Gi, 24Gi Swap: 7.9Gi, 81Mi, 7..
ORA-00911:문자가 부적합합니다. ORA-00911:invalid character 이런 에러가 나서 쿼리를 자세히 보는데 아무리 봐도 틀린 게 없어서 검색해 봤는데 SELECT * FROM 테이블명; 이렇게 세미콜론이 붙어 있는지 확인해 보고 세미콜론이 있으면 제거해주면 해결!
1. hostname -I 명령어 입력 hostname -I 2. ifconfig ifconfig ifconfig | grep 'inet' ifconfig는 네트워크 인터페이스의 설정을 보여줍니다. inet: IP 주소(IPv4) inet6: IP 주소(IPv6) 3. ip addr ip addr ip addr | grep 'inet' ifconfig와 마찬가지로 네트워크 인터페이스의 설정을 확인할 수 있습니다. inet: IP 주소(IPv4) inet6: IP 주소(IPv6)
tail -f A.log | grep 'TIMESTAMP' | grep '12' grep 명령어는 리눅스에서 로그를 볼 때 자주 사용하는 명령어로 여러 옵션을 알아두면 좋을 것이라고 생각이 들어서 정리해 봤습니다! 실시간으로 로그를 보려면 tail -f 명령어 사용 이미 찍힌 로그들 확인하려면 cat 명령어 사용 gerp 명령어 OR 조건 1. -E 옵션을 붙여서 | 로 구분해주면 됩니다. tail -f A.log | grep 'Exception|ERROR' -> A.log 에서 'Exception' OR 'ERROR'가 있는 로그 출력 2. 아래와 같이 로그 2개를 동시에 grep 잡을 수도 있습니다 cat A.log -f B.log | grep -E 'Exception|ERROR' -> A.log 와..
PostgreSQL 에서는 INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'); INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'), INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'); 이런식으로 했던 기억이 있어서 MySQL 에서도 같겠거니 하고 해봤더니 SQL Error [1064] [42000] : You have an error in your SQL syntax; ~ 에러가 난다... 문법 에러라고 하니 구글링 해서 방법을 찾아보니 INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES ('값1','값2'), ('값1','값2'), ('값1','값2'); 이런식으로 insert 를 하면 된다고..
· Back-End
DB2 SQL ERROR sqlcode=-302 sqlstate=22001 테이블 컬럼의 사이즈가 Insert/Update 하려는 데이터의 사이즈보다 작을 때 발생.. 기존에 있는 컬럼의 사이즈와 Insert/Update 하려는 데이터들의 크기를 비교해 보면 해결가능! ​
CentOS에서 로그인 시 bash-4-2$ 가 나올때조치 방법 login as: root root@~~~'s password: Last login: Thu Dec 2 09:29:21 2021 from 172-10-200-123.lightspeed.rcsntx.sbcglobal.net bash-4.2$ 홈디렉토리에 설정파일이 잘못되어서 나오는 현상인데 홈디렉토리를 만들던지 있는 홈 디렉토리에 가서 /etc/skel/ 안에 있는 설정파일들을 가져와서 권한설정을 해주고 cp -rp /etc/skel/.b* /home/sample chown -R sample.sample /home/sample 다시 접속해 보면 bash-4.2$이 나오지 않는것을 확인 가능합니다.
데이터 중에 select 필드명 from 테이블명 이렇게 확인해보면 이런 식의 데이터가 출력되는 것이 있었다. 일단 0을 제거하기 위해서 이렇게 입력하면 select regexp_replace( 필드명 , '[0]','','g') from 테이블명 20이 나와야 하는 데이터도 2로 출력이 되어버려서 1~9까지의 숫자의 앞에 부분을 제외해야 해서 select regexp_replace( 필드명 , '[^1-9]+','') from 테이블명 위와 같이 입력하니 원하는 데이터를 출력하였다. 이제 이 데이터를 가지고 가공 작업을...
문자열 자르기 (substring) - 문법 : substring ( 문자열, 시작점, 시작문자열갯수 ) SELECT substring('RPOT_1234'::varchar,1,4) 구분자로 자르기 (split_part) - 문법 : split_part( 문자열, 구분자, 순서 ) select split_part('2021-08-23'::varchar, '-', 1); -- 2021 select split_part('2021-08-23'::varchar, '-', 2); -- 08 select split_part('2021-08-23'::varchar, '-', 3); -- 23
참고 : https://www.postgresqltutorial.com/postgresql-upsert/ 일단 샘플 예제를 만들기 위해 DROP TABLE IF EXISTS customers; CREATE TABLE customers ( customer_id serial PRIMARY KEY, name VARCHAR UNIQUE, email VARCHAR NOT NULL, active bool NOT NULL DEFAULT TRUE ); 이렇게 테이블을 만들어 주고 INSERT INTO customers (name, email) VALUES ('IBM', 'contact@ibm.com'), ('Microsoft', 'contact@microsoft.com'), ('Intel', 'contact@intel..
-- ====================================================================== -- SP 이름: 문자열 마스킹(F_MaskingText) -- ====================================================================== DROP FUNCTION IF EXISTS F_MaskingText(text, text, text, text) CASCADE; CREATE OR REPLACE FUNCTION F_MaskingText( i_pattern text , i_txt text , i_conv_txt text , i_option text ) RETURNS character varying AS $BODY$ DECL..
t_table 에 있는 column 을 FUNCTION을 이용해서 선택하고 싶을 시 사용할 수 있는 EXECUTE format CREATE OR REPLACE FUNCTION FunctionName ( i_id character varying , i_row_seq integer , i_column character varying ) RETURNS refcursor AS $BODY$ DECLARE v_ref_cur_data refcursor := 'v_ref_cur_data'; v_id character varying := i_id; v_row_seq integer := i_row_seq; v_column character varying := i_column; BEGIN OPEN v_ref_cur_data..
확인 방법 $ which watch /usr/bin/watch 사용법 $ watch --help Usage: watch [options] command Options: -b --beep beep if command has a non-zero exit -c --color interpret ANSI color and style sequences -d --differences[=] highlight changes between updates -e --errexit exit if command has a non-zero exit -g --chgexit exit when output from command changes -n --interval seconds to wait between updates -p --p..
컬럼들의 데이터를 합치는 방법 위와 같이 t_user_info 테이블에 phc란 아이디와 phc 5.0 이라는 이름이 있는데 아래의 두가지 방법으로 컬럼데이터를 합칠수 있습니다. || (버티컬바) 이용 select user_id || ' - ' || user_nm from t_user_info where user_id = 'phc' Concat select Concat(user_id, ' - ', user_nm) from t_user_info where user_id = 'phc'
- 광속거북이 -
'Back-End' 카테고리의 글 목록