본문 바로가기

분류 전체보기

(167)
[Scouter] scouter-server 콘솔에서 XLog 보는 방법 윈도우 환경에서 scouter-server는 콘솔로 실행하는 방법만 존재한다. 윈도우 서비스로 등록가능하던지 tomcatw.exe 처럼 윈도우 데몬 서비스 매니저가 있으면 참 좋을 것 같지만 현재는 지원이 안되고 있다.(개인적인 욕심이다.?!) 1. scouter-server 실행 후 콘솔에서 엔터를 입력하면 scouter> 명령어 창이 표시된다. 09:15:39.036 [scouter.server.http.HttpServer] INFO org.eclipse.jetty.util.log[192] - Logging initialized @1234ms to org.eclipse.jetty.util.log.Slf4jLog 09:15:39.086 [scouter.server.http.HttpServer] INFO..
[.NET] MSSQL OUTPUT을 사용한 프로시저 사용방법 개인적으로는 권장하지 않지만 OUTPUT를 사용한 프로시저를 실행하거나 개발해야 하는 상황이 발생한다. (MSSQL은 다중테이블 반환이 워낙 간편해서 OUTPUT을 굳이 사용할 필요가 있는가 하는 입장이다.) OUTPUT를 사용하는 프로시저 생성 -- TestProc 테스트 프로시저 생성 CREATE PROC [dbo].[TestProc] @pTestId NVARCHAR(200) = '' , @oResult NVARCHAR(50) = '' OUTPUT , @oMessage NVARCHAR(500) = '' OUTPUT AS SET NOCOUNT ON; -- 파라미터 출력 Print 'TestId : ' + @pTestId -- OUTPUT 지정 SET @oResult = 'OK' SET @oMessage..
[.NET] Java @Deprecated 처럼 .NET에 적용하는 방법 자바에서는 더 이상 사용을 권고하지 않고 추후 삭제될 수 있는 Method를 @Deprecated 처리하는 방법이 존재한다. .NET 에서는 [Obsolete] 를 사용하면 된다. Obsolete 속성에 대한 MS의 공식 사이트 https://docs.microsoft.com/en-us/dotnet/api/system.obsoleteattribute ObsoleteAttribute Class (System) Marks the program elements that are no longer in use. This class cannot be inherited. docs.microsoft.com
SheetJS 라이브러리를 이용하여 엑셀로드시 날짜형식 처리방법 SheetJS 라이브러리를 이용하여 엑셀의 데이터를 쉽게 읽을 수 있고 JSON 형태로 변환할 수 있다. 하지만 날짜형식같은 경우는 엑셀의 날짜형식을 사용하여 숫자로 변환되기 때문에 상당히 번거롭다. MSSQL 를 이용하면 엑셀날짜형식을 date type 으로 변경할 수 있지만 SheetJS API를 이용하면 간단히 변경가능하다. -- 엑셀의 일자 숫자값을 DATETIME 으로 변환하는 MSSQL 쿼리 DECLARE @IN_DATE INT = 44785 SELECT CONVERT(CHAR(10), CAST(@IN_DATE - 2 AS SMALLDATETIME), 23) XLSX.read 사용시 { cellDates: true, dateNF: 'yyyy-mm-dd' } 옵션을 추가하면 해결된다. funct..
iOS 팀즈앱-자바스크립트 prompt 명령어 사용시 앱 종료 버그 iOS 팀즈앱 > 사용자 앱에서 자바스크립트 prompt 명령어 사용시 팀즈 앱이 종료되는 심각한 버그 확인 안드로이드 팀즈에서는 문제가 없지만 iOS에서는 prompt 명령어사용시 앱이 종료가 되어 버린다. // 버그를 유발한 prompt 자바스크립트 코드?! var password = prompt('암호를 입력하세요.', ''); 스택오버플러우 해결방안 - setTimeout를 이용한 딜레이로 해결 https://stackoverflow.com/questions/59394788/how-to-fix-ios-13-x-javascript-prompt-dialog-keyboard-bug-browser-independent iOS 마우이 프로젝트에서도 prompt 문제가 있었던 것으로 파악된다. https:/..
[DataTables] paginate 문자열(previous/next) 지우는 방법 DataTables(https://datatables.net/)을 이용하여 페이징 처리시 문자열표시가 되는 경우가 발생한다. 페이징 버튼이미지를 background 이미지 형태로 사용해서 생기는 문제이며 previous/next 문자열 옵션을 빈칸("")으로 지정하면 문제가 해결된다. // language > paginate 옵션지정 var datatablesOptions = { serverSide: true, ordering: false, autoWidth: false, processing: false, searching: false, retrieve: true, pageLength: 10, info: false, lengthChange: false, destory: true, displayLength..
PostgreSQL 15 출시 PostgreSQL 15가 출시되었다. 13/14버전을 사용해본적이 없는데 벌써 15버전이 출시가 되었다. 2022년 6월 30일 - PostgreSQL 15 Beta 2 릴리즈 눈에 띄는 기능만 정리하자면 1. MERGE SQL 명령어 도입 - https://www.postgresql.org/docs/15/sql-merge.html - MERGE 문과 비슷한 INSERT ON CONFLICT 문이 존재했지만 MERGE 문이 훨씬 직관적이여서 도입된 것 같다.(오라클의 힘인 것인가;;) 2. 백업/복구시 Zstandard 압축 유형 추가 3. JSON 기능 및 함수 추가 - https://www.postgresql.org/docs/15/functions-json.html#FUNCTIONS-SQLJSON-..
[Azure] Blob Storage - 컨테이너/폴더/메타데이터 생성방법(Web/.NET) Azure에서는 파일을 저장하는 Blob Storage 가 있으며 컨테이너를 생성하여 대분류폴더(?!) 처럼 사용할 수 있다. (여기에서의 컨테이너는 도커/쿠버네티스의 컨테이너는 아니다!!) 컨테이너 생성방법(Web UI) 컨테이너 버튼을 클릭하여 생성하면 아주 간단히 생성할 수 있지만 제약조건이 존재한다. 제약조건 컨테이너명 입력시 한글 및 영문대문자는 입력 불가능 영문소문자,숫자,하이픈(-)만 입력가능하며 문자나 숫자로 시작 글자수는 3~63자리만 허용 컨테이너 하위에 컨테이너를 추가할 수 없음. [Azure] 경고문구 이 이름은 소문자, 숫자 및 하이픈만 포함할 수 있으며 문자나 숫자로 시작해야 합니다. 각 하이픈 앞뒤에는 하이픈이 아닌 문자가 있어야 합니다. 또한 이름은 3~63자여야 합니다 컨테..