본문 바로가기

전체 글112

[sql] 모든 제약조건 제거 모든 테이블 제거 쿼리 -- 모든 제약조건 제거 SELECT 'ALTER TABLE dbo.' + TABLE_CATALOG + ' DROP CONSTRAINT' + CONSTRAINT_NAME + ';' AS dropCon INTO #A FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE -- 모든 테이블 제거 SELECT 'DROP TABLE dbo.' + TABLE_NAME AS dropTable INTO #A FROM INFORMATION_SCHEMA.TABLES -- 실행 DECLARE @cnt int = 1 DECLARE @total int; SELECT @total = COUNT(*) FROM #A WHILE @cnt 2021. 11. 11.
[sql] EXECUTE 후 트랜잭션 개수는 BEGIN 및 COMMIT 문 수가 일치하지 않음을 나타냅니다. 이전 개수 = 0, 현재 개수 = 1. MSSQL 프로시저 실행 후 아래와 같은 에러 메시지를 마주할 때가 있다. 실행 프로시저가 BEGIN TRAN을 제대로 COMMIT 또는 ROLLBACK 되지 않았을 때 나타난다. 분명 아래와 같이 BEGIN TRY 로 실행 쿼리문을 잘 감 싸줬고, BEGIN CATCH로 에러도 잘 핸들링 해줬다. 원인은 TRY...CATCH 에 잡히지 않는 실행문이 존재하기 때문이다. 위의 예제에서는 존재하지 않는 테이블에 INSERT 하려는 경우다. 위와 같은 상황을 방지하기 위해 SET XACT_ABORT ON 를 사용할 수 있다. XACT_ABORT ON 인 경우 Transaction-SQL 문이 런타임 오류를 발생시킬 경우 해당 트랜잭션이 종료되고 ROLL BACK 된다. 구문오류와 같은 컴파일 오류는 XACT.. 2021. 11. 8.
중소기업 청년 전세자금대출 100% 연장(중기청 연장) 해당글은 2021. 10. 29 기준으로 작성되었습니다. # 재계약시 전세보증금 2억 넘지 않게 주의 - 전세보증금 2억 이하의 계약에서 최대 1억까지 가능. - 기혼여부, 현재거주여부, 이직여부를 체크한다. - 연장시 전체보증금의 10%상환과 이자율 0.1% 인상 중 선택하게 된다. - 필요 서류와 함께 가까운 지점 아무 곳이나 내방하면 된다. # 연장신청은 전세계약만료일 ~ +24 일 - 연장계약만료일 = 전세계약일 + 30일 - 연장신청기한일 = 연장계약기한일 - 7일 - 재심사에 필요한 기간이 최대 7일정도 필요하기 때문에 연장계약만료일 보다 일주일정도 빨리 제출하도록 안내해준다. [예시] - 전세계약만료일: 2021.10.25 - 연장계약만료일: 2021.11.25 - 연장신청기한일: 2021... 2021. 10. 29.
[sql] cross apply 사용법 뭐지 어떻게 쓰지 - CROSS APPLY : 다른 테이블 이용해서 INNER JOIN 이랑 동일한 기능. SELECT * FROM table_a SS CROSS APPLY ( SELECT * FROM table_a X WHERE SS.col_1 = X.col_1 AND SS.col_2 = X.col_2 AND SS.col_3 = X.col_3 ) XX - INNER JOIN : 위에 CROSS APPLY 사용한 결과와 같은걸 확인할 수 있다. SELECT * FROM table_a SS INNER JOIN table_a X ON SS.col_1 = X.col_1 AND SS.col_2 = X.col_2 AND SS.col_3 = X.col_3 - CROSS APPLY : VALUES 로 데이터 주기(table-value.. 2021. 10. 25.
안드로이드 앱 꺼짐 현상 앱크래시😥 React Native 로 면접지문을 읽고 면접을 촬영한 후 업로드하는 기능을 서비스하는 애플리케이션을 개발했다. "면접지문을 읽을 때 0.01% 의 사용자가 면접지문을 읽는 중 앱이 종료된다는 리포트를 받았다." 주어진 지문 읽는 시간을 카운트하는 기능이기 때문에 초단위로 리랜더링되고 있어 랜더링 최적화 문제도 의심할 수 있지만 앱이 갑자기 종료되는 앱크래시 현상이라 무엇보다 메모리 문제라 가정하였고 프로파일링을 돌려봤다. # 면접지문 읽는 상황 프로파일링 결과 - 지속적으로 GC(Garbage Collector)가 메모리를 회수하고 있다.(조밀한 휴지통 표시) - 메모리 사용량이 줄지 않는다. - 실행환경, 기기환경, 사용환경에 따라 GC가 오작동하거나 GC 회수량을 초과할 경우 앱크래시가 나타날 것.. 2021. 10. 18.
[cmd] 사용중인 포트 PID 찾기(netstat option) 사용중인 포트 PID 찾기 netstat -tnlp usage: netstat [-vWeenNcCF] [] -r netstat {-V|--version|-h|--help} netstat [-vWnNcaeol] [ ...] netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] } -r, --route display routing table -i, --interfaces display interface table -g, --groups display multicast group memberships -s, --statistics display networking statistics (like SNMP) -M, --masquerade display masqueraded c.. 2021. 10. 16.
방화벽 IP PORT 오픈 확인 (열려 있나?) $ nslookup 기본 서버: PAD.aaa.net Address: 10.1.4.254 $ naver.com 권한 없는 응답: 이름: naver.com Addresses: 223.130.200.104 223.130.195.95 223.130.200.107 223.130.195.200 $ telnet 223.130.200.104 443 # 연결 안 될 경우 연결 대상 223.130.200.104... 연결 대상 223.130.200.104...호스트에 연결할 수 없습니다. 포트 4434: 연결하지 못했습니다. # 연결 될 경우 화면 넘어가고 블랙 화면 2021. 10. 15.
[nginx] nginx ssl 적용 방법 기록 centos8 에서 nginx@1.20.1 를 사용했다. 인증서를 발급받은 업체로부터 인증서키와 아파치용, 엔진엑스용으로 인증서를 받았다. 아파치 용도는 서버인증서, 체인인증서, 루트인증서 가 나눠져 있으며 엔진엑스 용도는 세 인증서 합쳐져 있다. - 인증서 파일을 열어보면... 아래와 같이 CERTIFICATE가 하나이거나 두개 이상 들어있는 것을 확인할 수 있다. -----BEGIN CERTIFICATE----- MIIETjCCAzagAwIBAgINAe5fIh38YjvUMzqFVzANBgkqhkiG9w0BAQsFADBMMSAw... -----END CERTIFICATE----- 받은 그대로 엔진엑스 인증서를 설정했지만 적용 되지 않았다. 인증서를 합칠 때 순서가 서버->체인>루트 순서로 되야 하는데 .. 2021. 10. 9.
Axios, Fetch로 온라인/오프라인 상태 체크 가능할까? axios 나 fetch와 같은 네트워크 관련 라이브러리로 온라인 상태 체크 불가능. 서버의 응답이 오지 않는 것은 체크할 수 있지만 이것이 네트워크가 온프라인 상태라는 것은 100% 장담할 수 없으므로 제3의 라이브러리를 이용한 방법을 사용하는 것이 좋다. 브라우저 - Navigator.onLine if (navigator.onLine) { console.log('온라인'); } ReactNative - NetInfo import NetInfo from '@react-native-community/netinfo'; const networkState = await NetInfo.fetch(); if(networkState.isConnected) }{ console.log("온라인") } Axios axi.. 2021. 10. 7.
[mssql] 조회 순번 & 페이징 쿼리 ROW_NUMBER() OVER() OVER() 에 ORDER BY 필수. (SELECT 1) 꼼수. 정렬한 순번이 필요하면 적절한 값 입력. - 조회 순번 SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS rownum FROM myTable; - 페이징 쿼리 DECLARE @PAGE_NO INT = 1 DECLARE @PAGE_ITEM_CNT INT = 10 SELECT rownum, col1, col2, col3, totalCnt FROM ( SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS rownum , col1, col2, col3 , COUNT(*) OVER() AS totalCnt FROM myTable ) tb WH.. 2021. 10. 7.